[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86: Allow BOOT_TRAMPOLINE to be changed without needing manual
# HG changeset patch # User Keir Fraser <keir@xxxxxxxxxxxxx> # Date 1193035465 -3600 # Node ID 3b481059a54d363e914d86fb78850475ff9ce56e # Parent 7231d971f78c5771655df44eb3a69837de0b701d x86: Allow BOOT_TRAMPOLINE to be changed without needing manual modification of the trampoline GDT. Adjust trampoline base to 0x94000. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> --- xen/arch/x86/boot/trampoline.S | 23 ++++++++++++++++------- xen/include/asm-x86/config.h | 2 +- 2 files changed, 17 insertions(+), 8 deletions(-) diff -r 7231d971f78c -r 3b481059a54d xen/arch/x86/boot/trampoline.S --- a/xen/arch/x86/boot/trampoline.S Sat Oct 20 09:30:00 2007 +0100 +++ b/xen/arch/x86/boot/trampoline.S Mon Oct 22 07:44:25 2007 +0100 @@ -22,13 +22,22 @@ idt_48: .word 0, 0, 0 # base = limit = idt_48: .word 0, 0, 0 # base = limit = 0 gdt_48: .word 6*8-1 .long bootsym_phys(trampoline_gdt) + .align 8 trampoline_gdt: - .quad 0x0000000000000000 /* 0x0000: unused */ - .quad 0x00cf9a000000ffff /* 0x0008: ring 0 code, 32-bit mode */ - .quad 0x00af9a000000ffff /* 0x0010: ring 0 code, 64-bit mode */ - .quad 0x00cf92000000ffff /* 0x0018: ring 0 data */ - .quad 0x00009a090000ffff /* 0x0020: real-mode code @ 0x90000 */ - .quad 0x000092090000ffff /* 0x0028: real-mode data @ 0x90000 */ + /* 0x0000: unused */ + .quad 0x0000000000000000 + /* 0x0008: ring 0 code, 32-bit mode */ + .quad 0x00cf9a000000ffff + /* 0x0010: ring 0 code, 64-bit mode */ + .quad 0x00af9a000000ffff + /* 0x0018: ring 0 data */ + .quad 0x00cf92000000ffff + /* 0x0020: real-mode code @ BOOT_TRAMPOLINE */ + .long 0x0000ffff | ((BOOT_TRAMPOLINE & 0x00ffff) << 16) + .long 0x00009a00 | ((BOOT_TRAMPOLINE & 0xff0000) >> 16) + /* 0x0028: real-mode data @ BOOT_TRAMPOLINE */ + .long 0x0000ffff | ((BOOT_TRAMPOLINE & 0x00ffff) << 16) + .long 0x00009200 | ((BOOT_TRAMPOLINE & 0xff0000) >> 16) cpuid_ext_features: .long 0 @@ -142,7 +151,7 @@ 1: mov $(BOOT_TRAMPOLINE>>4),%a mov %ax,%es mov %ax,%ss - /* Stack grows down from 0x93000. Initialise IDT and enable irqs. */ + /* Stack grows down from +0x3000. Initialise IDT and enable irqs. */ mov $0x3000,%sp lidt bootsym(rm_idt) sti diff -r 7231d971f78c -r 3b481059a54d xen/include/asm-x86/config.h --- a/xen/include/asm-x86/config.h Sat Oct 20 09:30:00 2007 +0100 +++ b/xen/include/asm-x86/config.h Mon Oct 22 07:44:25 2007 +0100 @@ -93,7 +93,7 @@ #define CONFIG_DMA_BITSIZE 32 -#define BOOT_TRAMPOLINE 0x90000 +#define BOOT_TRAMPOLINE 0x94000 #define bootsym_phys(sym) \ (((unsigned long)&(sym)-(unsigned long)&trampoline_start)+BOOT_TRAMPOLINE) #define bootsym(sym) \ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |