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 - 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
@@ -207,7 +207,7 @@ PrintString:
movw $0xb800, %ax
movw %ax, %es
movw $0x7c0, %ax
movw %ax, %ds
movw %ax, %ds
movw $6, %cx
movw $160, %di
rep
@@ -288,15 +288,15 @@ Halt:
Halt:
jmp Halt
StartString:
StartString:
.byte 'B', 0x0c, 'S', 0x0c, 't', 0x0c, 'a', 0x0c, 'r', 0x0c, 't', 0x0c
ErrorString:
ErrorString:
.byte 'B', 0x0c, 'E', 0x0c, 'r', 0x0c, 'r', 0x0c, 'o', 0x0c, 'r', 0x0c
# ****************************************************************************
# LBA Offset for BootSector, need patched by tool for HD boot.
# ****************************************************************************
.org 0x01fa
LBAOffsetForBootSector:
.long 0x0
@@ -304,7 +304,7 @@ LBAOffsetForBootSector:
# ****************************************************************************
# Sector Signature
# ****************************************************************************
.org 0x01fe
SectorSignature:
.word 0xaa55 # Boot Sector Signature