summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2014-08-26 15:53:46 +0200
committerMichael Brown2014-08-26 16:17:34 +0200
commit8b64cc7fba868ddec45895382eb52df005f4f319 (patch)
tree985c99fabf25e44b3a02d11b6e09b0ef0d82de97
parent[prefix] Halt system without burning CPU if we cannot access the payload (diff)
downloadipxe-8b64cc7fba868ddec45895382eb52df005f4f319.tar.gz
ipxe-8b64cc7fba868ddec45895382eb52df005f4f319.tar.xz
ipxe-8b64cc7fba868ddec45895382eb52df005f4f319.zip
[prefix] Report both %esi and %ecx when opening payload fails
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/arch/i386/prefix/libprefix.S3
-rw-r--r--src/arch/i386/prefix/mromprefix.S4
2 files changed, 6 insertions, 1 deletions
diff --git a/src/arch/i386/prefix/libprefix.S b/src/arch/i386/prefix/libprefix.S
index aae07354f..7c1ece791 100644
--- a/src/arch/i386/prefix/libprefix.S
+++ b/src/arch/i386/prefix/libprefix.S
@@ -746,6 +746,9 @@ a20_death_message:
xorw %di, %di
movl %esi, %eax
call print_hex_dword
+ call print_space
+ movl %ecx, %eax
+ call print_hex_dword
movw $payload_death_message, %si
call print_message
2: /* Halt system */
diff --git a/src/arch/i386/prefix/mromprefix.S b/src/arch/i386/prefix/mromprefix.S
index c4e4ca06f..97ddd591e 100644
--- a/src/arch/i386/prefix/mromprefix.S
+++ b/src/arch/i386/prefix/mromprefix.S
@@ -99,6 +99,7 @@ find_mem_bar:
jle 1f
stc
movl $0xbabababa, %esi /* Report "No suitable BAR" */
+ movl rom_bar_size, %ecx
jmp 99f
1: movw $4, %bp
@@ -157,7 +158,8 @@ find_mem_bar:
call pci_write_config_dword
/* Locate our ROM image */
-1: addr32 es cmpw $0xaa55, (%eax)
+1: movl $0xaa55, %ecx /* 55aa signature */
+ addr32 es cmpw %cx, (%eax)
je 2f
stc
movl %eax, %esi /* Report failure address */