x86: small boot-time changes:
authorKeir Fraser <keir@xensource.com>
Mon, 22 Oct 2007 20:06:11 +0000 (21:06 +0100)
committerKeir Fraser <keir@xensource.com>
Mon, 22 Oct 2007 20:06:11 +0000 (21:06 +0100)
 * 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

xen/arch/x86/boot/head.S
xen/arch/x86/boot/trampoline.S
xen/arch/x86/boot/video.S
xen/include/asm-x86/config.h

index 8107eef44e9472fb9726dca881c01a9ec9f0ef35..168bedefd4124852da04446580392d2905f57d28 100644 (file)
@@ -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. */
index ab4c46e7281ebfe4d460c62274bcbb0a466eb6dd..95a9d013de44b5629ea8b17f035f881fbcdee55d 100644 (file)
@@ -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
index d27fb12330ae797408cde627d6fe0d0e341912dc..b1fe52c56c1bb52328a29fd7ad67449315c9cd67 100644 (file)
 
 #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
index 669d0e0ea5b61be5fbf97ba32739fac2199dd026..68b5da881b6abaa3f4ecc5b1b855c764fe3d575c 100644 (file)
@@ -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)                                      \