DuetPkg BootSector: fix bugs in .S files so that 32-bit and 64-bit DUET can boot to Shell with boot sector binaries built by GCC.

There is also a bug in bs32.asm/bs32.S that the space between the code and the 0xAA55 ending signature is not enough to hold the 2 debug strings. It is fixed by shortening the strings.

Signed-off-by: rsun3
Reviewed-by: niruiyu


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12930 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
rsun3
2012-01-13 06:29:44 +00:00
parent e8ef42833f
commit e7c4ef5ed4
6 changed files with 58 additions and 57 deletions

View File

@@ -1,6 +1,6 @@
#------------------------------------------------------------------------------
#*
#* Copyright (c) 2006 - 2011, 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
@@ -54,7 +54,7 @@ _start:
xorw %ax, %ax # AX = 0x0000
movw $0x7c00, %bx # BX = 0x7C00
movw $0x600, %bp # BP = 0x0600
movw RelocatedStart, %si # SI = Offset(RelocatedStart)
movw $RelocatedStart, %si # SI = Offset(RelocatedStart)
movw $0x200, %cx # CX = 0x0200
subw %si, %cx # CS = 0x0200 - Offset(RelocatedStart)
leaw (%bp,%si,), %di # DI = 0x0600 + Offset(RelocatedStart)