diff options
author | Graeme Russ <graeme.russ@gmail.com> | 2010-08-22 16:25:59 +1000 |
---|---|---|
committer | Graeme Russ <graeme.russ@gmail.com> | 2010-09-13 07:20:02 +1000 |
commit | 797960fda18688fc309bb12c98912fa6eb508733 (patch) | |
tree | 7403f29e46d87505fab4f0a4b4deaea153e531a7 /arch/i386/cpu | |
parent | a806ee6fae19a615fb806a6f01e5398b087e898a (diff) |
x86: Fix x86 Cold Boot
Commit 077e1958ca4afe12d88043b123ded058c51b89f7 broke the ability of the
x86 port to boot from a cold-reset by removing the initial IDT. Re-
instate the initial IDT to allow cold-booting of x86 boards
Diffstat (limited to 'arch/i386/cpu')
-rw-r--r-- | arch/i386/cpu/start16.S | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/i386/cpu/start16.S b/arch/i386/cpu/start16.S index 3e8b2cc5c4..ebe5835841 100644 --- a/arch/i386/cpu/start16.S +++ b/arch/i386/cpu/start16.S @@ -45,6 +45,7 @@ board_init16_ret: wbinvd /* load the temporary Global Descriptor Table */ +o32 cs lidt idt_ptr o32 cs lgdt gdt_ptr /* Now, we enter protected mode */ @@ -68,6 +69,10 @@ code32start: .long _start /* offset */ .word 0x10 /* segment */ +idt_ptr: + .word 0 /* limit */ + .long 0 /* base */ + /* * The following Global Descriptor Table is just enough to get us into * 'Flat Protected Mode' - It will be discarded as soon as the final |