Messages in this thread Patch in this message | | | Date | Sat, 11 Nov 2006 00:17:25 -0500 (EST) | From | Steven Rostedt <> | Subject | [PATCH] make x86_64 boot gdt size exact (like x86). |
| |
Andi,
Here's another patch that is basically a copy from x86's boot/setup.S. It makes the GDT limit the exact size that is needed. I tested this with the same Xen test that broke the original 0x8000 size, and it booted just fine.
Note, If you already pushed my previous patch. This patch should easily be applied by manually removing the extra zero.
-- Steve
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Index: linux-2.6.18-hack/arch/x86_64/boot/setup.S =================================================================== --- linux-2.6.18-hack.orig/arch/x86_64/boot/setup.S +++ linux-2.6.18-hack/arch/x86_64/boot/setup.S @@ -836,13 +836,15 @@ gdt: .word 0x9200 # data read/write .word 0x00CF # granularity = 4096, 386 # (+5th nibble of limit) +gdt_end: + .align 4 + + .word 0 # alignment byte idt_48: .word 0 # idt limit = 0 .word 0, 0 # idt base = 0L gdt_48: - .word 0x8000 # gdt limit=2048, - # 256 GDT entries - + .word gdt_end - gdt - 1 # gdt limit .word 0, 0 # gdt base (filled in later)
# Include video setup & detection code - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |