[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Eliminate hard coded items from i386 __xen_guest section
# HG changeset patch # User cl349@xxxxxxxxxxxxxxxxxxxx # Node ID c93c6b392ce54e1f6e6b95529a90741b6b8b41e1 # Parent 946a45f07351a4ed399f96eb3d6867bfa28af6a2 Eliminate hard coded items from i386 __xen_guest section to allow the new VMSPLIT_* Kconfig options to work, and to avoid problems when the position of the hypercall page changes. From: Jan Beulich <JBeulich@xxxxxxxxxx> Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx> diff -r 946a45f07351 -r c93c6b392ce5 linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S --- a/linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S Mon Feb 20 15:18:38 2006 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S Mon Feb 20 16:08:27 2006 @@ -1,23 +1,11 @@ + +.text #include <linux/config.h> - -.section __xen_guest - .ascii "GUEST_OS=linux,GUEST_VER=2.6" - .ascii ",XEN_VER=xen-3.0" - .ascii ",VIRT_BASE=0xC0000000" - .ascii ",HYPERCALL_PAGE=0x104" /* __pa(hypercall_page) >> 12 */ -#ifdef CONFIG_X86_PAE - .ascii ",PAE=yes" -#else - .ascii ",PAE=no" -#endif - .ascii ",LOADER=generic" - .byte 0 - -.text #include <linux/threads.h> #include <linux/linkage.h> #include <asm/segment.h> +#include <asm/page.h> #include <asm/thread_info.h> #include <asm/asm-offsets.h> #include <xen/interface/arch-x86_32.h> @@ -190,12 +178,47 @@ .org 0x3000 ENTRY(default_ldt) -.org 0x4000 +#define HYPERCALL_PAGE_OFFSET 0x4000 +.org HYPERCALL_PAGE_OFFSET ENTRY(hypercall_page) - -.org 0x5000 +.skip 0x1000 + /* * Real beginning of normal "text" segment */ ENTRY(stext) ENTRY(_stext) + + +/* + * __xen_guest information + */ +.macro bigutoa value + utoa (\value) >> 12 + .ascii "000" +.endm +.macro utoa value + .if (\value) >= 16 + utoa (\value) >> 4 + .endif + .if (\value) % 16 < 10 + .byte '0' + (\value) % 16 + .else + .byte 'A' + (\value) % 16 - 10 + .endif +.endm + +.section __xen_guest + .ascii "GUEST_OS=linux,GUEST_VER=2.6" + .ascii ",XEN_VER=xen-3.0" + .ascii ",VIRT_BASE=0x" + bigutoa __PAGE_OFFSET + .ascii ",HYPERCALL_PAGE=0x" + utoa ((__PHYSICAL_START+HYPERCALL_PAGE_OFFSET)>>PAGE_SHIFT) +#ifdef CONFIG_X86_PAE + .ascii ",PAE=yes" +#else + .ascii ",PAE=no" +#endif + .ascii ",LOADER=generic" + .byte 0 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |