X-Git-Url: http://git.onelab.eu/?p=linux-2.6.git;a=blobdiff_plain;f=arch%2Fi386%2Fkernel%2Fhead-xen.S;h=ddfa0c5194c2089fa147307a6f0dfbaa2703341a;hp=25ce03247b21fbdb8169d68bb9c0ba2976cfc594;hb=16c70f8c1b54b61c3b951b6fb220df250fe09b32;hpb=4e76c8a9fa413ccc09d3f7f664183dcce3555d57 diff --git a/arch/i386/kernel/head-xen.S b/arch/i386/kernel/head-xen.S index 25ce03247..ddfa0c519 100644 --- a/arch/i386/kernel/head-xen.S +++ b/arch/i386/kernel/head-xen.S @@ -1,7 +1,7 @@ .text -#include +#include #include #include #include @@ -9,6 +9,7 @@ #include #include #include +#include /* * References to members of the new_cpu_data structure. @@ -138,6 +139,7 @@ ENTRY(cpu_gdt_table) .quad 0x0000000000000000 /* 0xf0 - unused */ .quad 0x0000000000000000 /* 0xf8 - GDT entry 31: double-fault TSS */ +#ifdef CONFIG_XEN_COMPAT_030002 /* * __xen_guest information */ @@ -157,12 +159,8 @@ ENTRY(cpu_gdt_table) .ascii ",XEN_VER=xen-3.0" .ascii ",VIRT_BASE=0x" utoa __PAGE_OFFSET -#ifdef CONFIG_XEN_COMPAT_030002 .ascii ",ELF_PADDR_OFFSET=0x" utoa __PAGE_OFFSET -#else - .ascii ",ELF_PADDR_OFFSET=0x0" -#endif /* !CONFIG_XEN_COMPAT_030002 */ .ascii ",VIRT_ENTRY=0x" utoa (__PAGE_OFFSET + __PHYSICAL_START + VIRT_ENTRY_OFFSET) .ascii ",HYPERCALL_PAGE=0x" @@ -179,3 +177,24 @@ ENTRY(cpu_gdt_table) #endif .ascii ",LOADER=generic" .byte 0 +#endif /* CONFIG_XEN_COMPAT_030002 */ + + + ELFNOTE(Xen, XEN_ELFNOTE_GUEST_OS, .asciz, "linux") + ELFNOTE(Xen, XEN_ELFNOTE_GUEST_VERSION, .asciz, "2.6") + ELFNOTE(Xen, XEN_ELFNOTE_XEN_VERSION, .asciz, "xen-3.0") + ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE, .long, __PAGE_OFFSET) +#ifdef CONFIG_XEN_COMPAT_030002 + ELFNOTE(Xen, XEN_ELFNOTE_PADDR_OFFSET, .long, __PAGE_OFFSET) +#else + ELFNOTE(Xen, XEN_ELFNOTE_PADDR_OFFSET, .long, 0) +#endif /* !CONFIG_XEN_COMPAT_030002 */ + ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .long, startup_32) + ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .long, hypercall_page) + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel") +#ifdef CONFIG_X86_PAE + ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz, "yes") +#else + ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz, "no") +#endif + ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz, "generic")