ia64/xen-unstable
changeset 16192:118a21c66fd5
x86: small boot-time changes:
* use memory 0x8c000-0x90000 to avoid trampling the area above
0x90000 -- some bootloaders may leave droppings in that region
* reserve 2kB for vga mode table -- limit of 128 VESA modes could
overflow the original 1kB allocation
* remove unnecessary alignment of trampoline GDT
* use memory 0x8c000-0x90000 to avoid trampling the area above
0x90000 -- some bootloaders may leave droppings in that region
* reserve 2kB for vga mode table -- limit of 128 VESA modes could
overflow the original 1kB allocation
* remove unnecessary alignment of trampoline GDT
author | Keir Fraser <keir@xensource.com> |
---|---|
date | Mon Oct 22 21:06:11 2007 +0100 (2007-10-22) |
parents | 24c2745f939f |
children | b28ae5f00553 |
files | xen/arch/x86/boot/head.S xen/arch/x86/boot/trampoline.S xen/arch/x86/boot/video.S xen/include/asm-x86/config.h |
line diff
1.1 --- a/xen/arch/x86/boot/head.S Mon Oct 22 14:26:45 2007 +0100 1.2 +++ b/xen/arch/x86/boot/head.S Mon Oct 22 21:06:11 2007 +0100 1.3 @@ -167,7 +167,7 @@ 1: stosl /* low mappings cover up 1.4 mov $trampoline_end - trampoline_start,%ecx 1.5 rep movsb 1.6 1.7 - mov $0x98000,%esp 1.8 + mov $0x90000,%esp 1.9 call cmdline_parse_early 1.10 1.11 /* Jump into the relocated trampoline. */
2.1 --- a/xen/arch/x86/boot/trampoline.S Mon Oct 22 14:26:45 2007 +0100 2.2 +++ b/xen/arch/x86/boot/trampoline.S Mon Oct 22 21:06:11 2007 +0100 2.3 @@ -22,7 +22,6 @@ trampoline_realmode_entry: 2.4 idt_48: .word 0, 0, 0 # base = limit = 0 2.5 gdt_48: .word 6*8-1 2.6 .long bootsym_phys(trampoline_gdt) 2.7 - .align 8 2.8 trampoline_gdt: 2.9 /* 0x0000: unused */ 2.10 .quad 0x0000000000000000
3.1 --- a/xen/arch/x86/boot/video.S Mon Oct 22 14:26:45 2007 +0100 3.2 +++ b/xen/arch/x86/boot/video.S Mon Oct 22 21:06:11 2007 +0100 3.3 @@ -15,10 +15,10 @@ 3.4 3.5 #include "video.h" 3.6 3.7 -/* Scratch space layout. */ 3.8 -#define modelist (0x3000) 3.9 -#define vesa_glob_info (modelist + 1024) 3.10 -#define vesa_mode_info (vesa_glob_info + 1024) 3.11 +/* Scratch space layout: +0x3000 to +0x4000. */ 3.12 +#define modelist (0x3000) /* 2kB (256 entries) */ 3.13 +#define vesa_glob_info (modelist + 0x800) /* 1kB */ 3.14 +#define vesa_mode_info (vesa_glob_info + 0x400) /* 1kB */ 3.15 3.16 /* Retrieve Extended Display Identification Data. */ 3.17 #define CONFIG_FIRMWARE_EDID
4.1 --- a/xen/include/asm-x86/config.h Mon Oct 22 14:26:45 2007 +0100 4.2 +++ b/xen/include/asm-x86/config.h Mon Oct 22 21:06:11 2007 +0100 4.3 @@ -93,7 +93,7 @@ 4.4 4.5 #define CONFIG_DMA_BITSIZE 32 4.6 4.7 -#define BOOT_TRAMPOLINE 0x94000 4.8 +#define BOOT_TRAMPOLINE 0x8c000 4.9 #define bootsym_phys(sym) \ 4.10 (((unsigned long)&(sym)-(unsigned long)&trampoline_start)+BOOT_TRAMPOLINE) 4.11 #define bootsym(sym) \