|
@@ -98,6 +98,7 @@ find_mem_bar:
|
98
|
98
|
cmpw $PCI_BAR_5, %di
|
99
|
99
|
jle 1f
|
100
|
100
|
stc
|
|
101
|
+ movl $0xbabababa, %esi /* Report "No suitable BAR" */
|
101
|
102
|
jmp 99f
|
102
|
103
|
1: movw $4, %bp
|
103
|
104
|
|
|
@@ -157,15 +158,17 @@ find_mem_bar:
|
157
|
158
|
|
158
|
159
|
/* Locate our ROM image */
|
159
|
160
|
1: addr32 es cmpw $0xaa55, (%eax)
|
160
|
|
- stc
|
161
|
|
- jne 99f
|
162
|
|
- addr32 es cmpl $_build_id, build_id(%eax)
|
163
|
161
|
je 2f
|
|
162
|
+ stc
|
|
163
|
+ movl %eax, %esi /* Report failure address */
|
|
164
|
+ jmp 99f
|
|
165
|
+2: addr32 es cmpl $_build_id, build_id(%eax)
|
|
166
|
+ je 3f
|
164
|
167
|
addr32 es movzbl 2(%eax), %ecx
|
165
|
168
|
shll $9, %ecx
|
166
|
169
|
addl %ecx, %eax
|
167
|
170
|
jmp 1b
|
168
|
|
-2:
|
|
171
|
+3:
|
169
|
172
|
|
170
|
173
|
/* Copy payload to buffer, or set buffer address to BAR address */
|
171
|
174
|
testl %esi, %esi
|