From: Keir Fraser Date: Mon, 22 Oct 2007 20:06:11 +0000 (+0100) Subject: x86: small boot-time changes: X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14845^2~8 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=92c2f8054e9ef54fc218989c83c53591dc9dcbce;p=xen.git 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 --- diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S index 8107eef44e..168bedefd4 100644 --- a/xen/arch/x86/boot/head.S +++ b/xen/arch/x86/boot/head.S @@ -167,7 +167,7 @@ __start: mov $trampoline_end - trampoline_start,%ecx rep movsb - mov $0x98000,%esp + mov $0x90000,%esp call cmdline_parse_early /* Jump into the relocated trampoline. */ diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S index ab4c46e728..95a9d013de 100644 --- a/xen/arch/x86/boot/trampoline.S +++ b/xen/arch/x86/boot/trampoline.S @@ -22,7 +22,6 @@ trampoline_realmode_entry: idt_48: .word 0, 0, 0 # base = limit = 0 gdt_48: .word 6*8-1 .long bootsym_phys(trampoline_gdt) - .align 8 trampoline_gdt: /* 0x0000: unused */ .quad 0x0000000000000000 diff --git a/xen/arch/x86/boot/video.S b/xen/arch/x86/boot/video.S index d27fb12330..b1fe52c56c 100644 --- a/xen/arch/x86/boot/video.S +++ b/xen/arch/x86/boot/video.S @@ -15,10 +15,10 @@ #include "video.h" -/* Scratch space layout. */ -#define modelist (0x3000) -#define vesa_glob_info (modelist + 1024) -#define vesa_mode_info (vesa_glob_info + 1024) +/* Scratch space layout: +0x3000 to +0x4000. */ +#define modelist (0x3000) /* 2kB (256 entries) */ +#define vesa_glob_info (modelist + 0x800) /* 1kB */ +#define vesa_mode_info (vesa_glob_info + 0x400) /* 1kB */ /* Retrieve Extended Display Identification Data. */ #define CONFIG_FIRMWARE_EDID diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h index 669d0e0ea5..68b5da881b 100644 --- a/xen/include/asm-x86/config.h +++ b/xen/include/asm-x86/config.h @@ -93,7 +93,7 @@ #define CONFIG_DMA_BITSIZE 32 -#define BOOT_TRAMPOLINE 0x94000 +#define BOOT_TRAMPOLINE 0x8c000 #define bootsym_phys(sym) \ (((unsigned long)&(sym)-(unsigned long)&trampoline_start)+BOOT_TRAMPOLINE) #define bootsym(sym) \