]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/BootSector/start32.S
ArmPkg/ArmCortexA9Lib RVCT: remove incompatible GCC include
[mirror_edk2.git] / DuetPkg / BootSector / start32.S
index c8faf266df95fc2e83eb5ae5efe452f95741a864..dc683f585b212246cd99a5feabc14e59daa9adf3 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 - 2012, 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, 0x020\r
 .equ                        FAT_DIRECTORY_ENTRY_SHIFT, 5\r
@@ -311,11 +311,11 @@ Halt:
 ErrorString: \r
         .byte 'S', 0x0c, 'E', 0x0c, 'r', 0x0c, 'r', 0x0c, 'o', 0x0c, 'r', 0x0c, '!', 0x0c\r
 \r
-        # .org     0x01fa  # Will cause build break\r
+        .org     0x01fa\r
 LBAOffsetForBootSector: \r
         .long   0x0\r
 \r
-        # .org    0x01fe   # Will cause build break\r
+        .org    0x01fe\r
         .word   0xaa55\r
 \r
 #******************************************************************************\r
@@ -328,7 +328,7 @@ LBAOffsetForBootSector:
 .equ                 WRITE_DATA_PORT_CMD, 0x0d1  # 8042 command to write the data port\r
 .equ                 ENABLE_A20_CMD, 0x0df       # 8042 command to enable A20\r
 \r
-# .org     0x200  # Will cause build break\r
+        .org    0x200\r
         jmp start\r
 Em64String: \r
         .byte 'E', 0x0c, 'm', 0x0c, '6', 0x0c, '4', 0x0c, 'T', 0x0c, ' ', 0x0c, 'U', 0x0c, 'n', 0x0c, 's', 0x0c, 'u', 0x0c, 'p', 0x0c, 'p', 0x0c, 'o', 0x0c, 'r', 0x0c, 't', 0x0c, 'e', 0x0c, 'd', 0x0c, '!', 0x0c\r
@@ -413,7 +413,7 @@ Timeout8042:
 \r
 \r
 A20GateEnabled: \r
-\r
+        movw    $0x0008, %bx                # Flat data descriptor\r
 #\r
 # DISABLE INTERRUPTS - Entering Protected Mode\r
 #\r
@@ -434,11 +434,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
@@ -459,7 +454,7 @@ Empty8042Loop:
 # data\r
 ##############################################################################\r
 \r
-        .align 0x2\r
+        .p2align 1\r
 \r
 gdtr:    .word GDT_END - GDT_BASE - 1   \r
         .long 0                     # (GDT base gets set above)\r
@@ -467,7 +462,7 @@ gdtr:    .word GDT_END - GDT_BASE - 1
 #   global descriptor table (GDT)\r
 ##############################################################################\r
 \r
-        .align 0x2\r
+        .p2align 1\r
 \r
 GDT_BASE: \r
 # null descriptor\r
@@ -544,7 +539,7 @@ GDT_BASE:
 \r
 GDT_END: \r
 \r
-        .align 0x2\r
+        .p2align 1\r
 \r
 \r
 \r
@@ -560,7 +555,7 @@ idtr:            .word IDT_END - IDT_BASE - 1
 ##############################################################################\r
 \r
 #idt_tag db "IDT",0     \r
-        .align 0x2\r
+        .p2align 1\r
 \r
 IDT_BASE: \r
 # divide by zero (INT 0)\r
@@ -856,7 +851,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