diff options
author | Keir Fraser <keir@xensource.com> | 2007-10-25 09:43:42 +0100 |
---|---|---|
committer | Keir Fraser <keir@xensource.com> | 2007-10-25 09:43:42 +0100 |
commit | 9fec701806f4a61705e75fcee03d590f58562126 (patch) | |
tree | fd84cbb1f35fa24d70748214c09158fd99958a71 /xen/arch/x86/boot/trampoline.S | |
parent | 437891b12b76a6f835b0b657d300537c34f21aab (diff) | |
download | xen-9fec701806f4a61705e75fcee03d590f58562126.tar.gz xen-9fec701806f4a61705e75fcee03d590f58562126.tar.bz2 xen-9fec701806f4a61705e75fcee03d590f58562126.zip |
x86: GDTR must be reset after using real-mode BIOS services. Some
BIOSes clobber GDTR. While we're here reset IDTR too, although it's
not really necessary.
Signed-off-by: John Byrne <john.l.byrne@hp.com>
Sigend-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/arch/x86/boot/trampoline.S')
-rw-r--r-- | xen/arch/x86/boot/trampoline.S | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S index 95a9d013de..6ffaa811ef 100644 --- a/xen/arch/x86/boot/trampoline.S +++ b/xen/arch/x86/boot/trampoline.S @@ -168,6 +168,10 @@ trampoline_boot_cpu_entry: /* Disable irqs before returning to protected mode. */ cli + /* Reset GDT and IDT. Some BIOSes clobber GDTR. */ + lidt bootsym(idt_48) + lgdt bootsym(gdt_48) + /* Enter protected mode, and flush insn queue. */ xor %ax,%ax inc %ax |