diff options
Diffstat (limited to 'arch/x86/cpu/start16.S')
-rw-r--r-- | arch/x86/cpu/start16.S | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/x86/cpu/start16.S b/arch/x86/cpu/start16.S index 474efe4df5..54f4ff6662 100644 --- a/arch/x86/cpu/start16.S +++ b/arch/x86/cpu/start16.S @@ -13,8 +13,6 @@ #include <asm/processor-flags.h> #define BOOT_SEG 0xffff0000 /* linear segment of boot code */ -#define a32 .byte 0x67; -#define o32 .byte 0x66; .section .start16, "ax" .code16 @@ -33,8 +31,8 @@ start16: wbinvd /* load the temporary Global Descriptor Table */ -o32 cs lidt idt_ptr -o32 cs lgdt gdt_ptr +data32 cs lidt idt_ptr +data32 cs lgdt gdt_ptr /* Now, we enter protected mode */ movl %cr0, %eax @@ -46,10 +44,8 @@ o32 cs lgdt gdt_ptr ff: /* Finally restore BIST and jump to the 32-bit initialization code */ - movw $code32start, %ax - movw %ax, %bp movl %ecx, %eax -o32 cs ljmp *(%bp) +data32 cs ljmp *code32start /* 48-bit far pointer */ code32start: |