# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1193083571 -3600
# Node ID 118a21c66fd53a08d7191159e5b2888f8d9e4ad2
# Parent 24c2745f939ff1bb221b0a753c2a0cbc8b21da97
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
---
xen/arch/x86/boot/head.S | 2 +-
xen/arch/x86/boot/trampoline.S | 1 -
xen/arch/x86/boot/video.S | 8 ++++----
xen/include/asm-x86/config.h | 2 +-
4 files changed, 6 insertions(+), 7 deletions(-)
diff -r 24c2745f939f -r 118a21c66fd5 xen/arch/x86/boot/head.S
--- a/xen/arch/x86/boot/head.S Mon Oct 22 14:26:45 2007 +0100
+++ b/xen/arch/x86/boot/head.S Mon Oct 22 21:06:11 2007 +0100
@@ -167,7 +167,7 @@ 1: stosl /* low mappings cover up
mov $trampoline_end - trampoline_start,%ecx
rep movsb
- mov $0x98000,%esp
+ mov $0x90000,%esp
call cmdline_parse_early
/* Jump into the relocated trampoline. */
diff -r 24c2745f939f -r 118a21c66fd5 xen/arch/x86/boot/trampoline.S
--- a/xen/arch/x86/boot/trampoline.S Mon Oct 22 14:26:45 2007 +0100
+++ b/xen/arch/x86/boot/trampoline.S Mon Oct 22 21:06:11 2007 +0100
@@ -22,7 +22,6 @@ 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:
/* 0x0000: unused */
.quad 0x0000000000000000
diff -r 24c2745f939f -r 118a21c66fd5 xen/arch/x86/boot/video.S
--- a/xen/arch/x86/boot/video.S Mon Oct 22 14:26:45 2007 +0100
+++ b/xen/arch/x86/boot/video.S Mon Oct 22 21:06:11 2007 +0100
@@ -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 -r 24c2745f939f -r 118a21c66fd5 xen/include/asm-x86/config.h
--- a/xen/include/asm-x86/config.h Mon Oct 22 14:26:45 2007 +0100
+++ b/xen/include/asm-x86/config.h Mon Oct 22 21:06:11 2007 +0100
@@ -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) \
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|