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
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)                                      \