X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=DuetPkg%2FBootSector%2Fstart16.S;h=a4cb151c77007dbe2f63b59cda994b09b8a2b23a;hb=69b1c0214f61bc6f57f8ed1dfc2eb1f436ab423e;hp=f0ff82a829a0e8cf46d7697650abb11b2810ccd0;hpb=fd549a4db9c562587652c23884bab5a4f3631d10;p=mirror_edk2.git diff --git a/DuetPkg/BootSector/start16.S b/DuetPkg/BootSector/start16.S index f0ff82a829..a4cb151c77 100644 --- a/DuetPkg/BootSector/start16.S +++ b/DuetPkg/BootSector/start16.S @@ -1,7 +1,7 @@ #------------------------------------------------------------------------------ #* -#* Copyright 2006 - 2007, Intel Corporation -#* All rights reserved. This program and the accompanying materials +#* Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
+#* This program and the accompanying materials #* are licensed and made available under the terms and conditions of the BSD License #* which accompanies this distribution. The full text of the license may be found at #* http://opensource.org/licenses/bsd-license.php @@ -18,7 +18,7 @@ #.MODEL small .stack: .486p: - .code: + .code16 .equ FAT_DIRECTORY_ENTRY_SIZE, 0x0020 .equ FAT_DIRECTORY_ENTRY_SHIFT, 5 @@ -26,9 +26,11 @@ .equ BLOCK_MASK, 0x01ff .equ BLOCK_SHIFT, 9 - .org 0x00 -.global _start + .org 0x00 + +.global _start _start: + Ia32Jump: jmp BootSectorEntryPoint # JMP inst - 3 bytes nop @@ -396,7 +398,7 @@ Timeout8042: A20GateEnabled: - + movw $0x0008, %bx # Flat data descriptor # # DISABLE INTERRUPTS - Entering Protected Mode # @@ -417,11 +419,6 @@ A20GateEnabled: movl %cr0, %eax orb $1, %al movl %eax, %cr0 - - movl $0x008, %eax # Flat data descriptor - movl $0x00400000, %ebp # Destination of EFILDR32 - movl $0x00070000, %ebx # Length of copy - JUMP: # jmp far 0010:00020000 .byte 0x66 @@ -442,7 +439,7 @@ Empty8042Loop: # data ############################################################################## - .align 0x2 + .p2align 1 gdtr: .word GDT_END - GDT_BASE - 1 # GDT limit .long 0 # (GDT base gets set above) @@ -450,9 +447,8 @@ gdtr: .word GDT_END - GDT_BASE - 1 # GDT limit # global descriptor table (GDT) ############################################################################## - .align 0x2 + .p2align 1 -.global GDT_BASE GDT_BASE: # null descriptor .equ NULL_SEL, .-GDT_BASE @@ -528,7 +524,7 @@ GDT_BASE: GDT_END: - .align 0x2 + .p2align 1 @@ -544,9 +540,8 @@ idtr: .word IDT_END - IDT_BASE - 1 # IDT limit ############################################################################## #idt_tag db "IDT",0 - .align 0x2 + .p2align 1 -.global IDT_BASE IDT_BASE: # divide by zero (INT 0) .equ DIV_ZERO_SEL, .-IDT_BASE @@ -841,7 +836,7 @@ IDT_BASE: IDT_END: - .align 0x2 + .p2align 1 MemoryMapSize: .long 0 MemoryMap: .long 0,0,0,0,0,0,0,0