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