summaryrefslogtreecommitdiff
path: root/DuetPkg/BootSector/st32_64.S
diff options
context:
space:
mode:
authorrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2012-01-10 04:30:33 +0000
committerrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2012-01-10 04:30:33 +0000
commit69b1c0214f61bc6f57f8ed1dfc2eb1f436ab423e (patch)
tree93624b588aff06bf2246a791e811b0d3d50ae49c /DuetPkg/BootSector/st32_64.S
parentdee34318467c96af32cd123b0082e8498173e24a (diff)
downloadedk2-platforms-69b1c0214f61bc6f57f8ed1dfc2eb1f436ab423e.tar.xz
DuetPkg BootSector: Clean up .S files for 64-bit Duet for GCC build.
Partly contributed by Sergey Isakov [isakov-sl@bk.ru]. Signed-off-by: rsun3 Reviewed-by: niruiyu git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12921 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'DuetPkg/BootSector/st32_64.S')
-rw-r--r--DuetPkg/BootSector/st32_64.S21
1 files changed, 12 insertions, 9 deletions
diff --git a/DuetPkg/BootSector/st32_64.S b/DuetPkg/BootSector/st32_64.S
index f1ebf67d18..465b1cf9b2 100644
--- a/DuetPkg/BootSector/st32_64.S
+++ b/DuetPkg/BootSector/st32_64.S
@@ -1,6 +1,6 @@
#------------------------------------------------------------------------------
#*
-#* Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
+#* Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
#* 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
@@ -27,6 +27,10 @@
.equ BLOCK_SHIFT, 9
.org 0x0
+
+.global _start
+_start:
+
Ia32Jump:
jmp BootSectorEntryPoint # JMP inst - 3 bytes
nop
@@ -138,11 +142,11 @@ CheckEm64T:
movw $18,%cx
jmp PrintStringAndHalt
CheckEm64TPass:
-jumpFarInstruction:
+JumpFarInstruction:
.byte 0xea
-jumpOffset:
+JumpOffset:
.word 0x200
-jumpSegment:
+JumpSegment:
.word 0x2000
@@ -446,7 +450,7 @@ A20GateEnabled:
#
# Enable Protect Mode (set CR0.PE=1)
#
- movl $cr0, %eax # Read CR0.
+ movl %cr0, %eax # Read CR0.
orl $0x1,%eax # Set PE=1
movl %eax, %cr0 # Write CR0.
.byte 0x66
@@ -518,7 +522,7 @@ In32BitProtectedMode:
#
# Enable paging to activate long mode (set CR0.PG=1)
#
- movl $cr0, %eax # Read CR0.
+ movl %cr0, %eax # Read CR0.
.byte 0xf
.byte 0xba
.byte 0xe8
@@ -1114,9 +1118,8 @@ MemoryMap: .long 0,0,0,0,0,0,0,0
.long 0,0,0,0,0,0,0,0
.long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- .long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- #.org 0x0fe0 #Just for pass build
+ .org 0x0fe0
MyStack:
# below is the pieces of the IVT that is used to redirect INT 68h - 6fh
# back to INT 08h - 0fh when in real mode... It is 'org'ed to a
@@ -1148,7 +1151,7 @@ MyStack:
iret
- #.org 0x0ffe #Just for pass build
+ .org 0x0ffe
BlockSignature:
.word 0xaa55