Browse Source

[romprefix] Fix incorrect pointer offset in undiloader.S

Commit 2422647 ("[prefix] Allow prefix to specify an arbitrary maximum
address for relocation") introduced a regression into the UNDI ROM
loader by preserving an extra register on the stack without modifying
the %sp-relative addresses used in the routine.

Fix by correcting the %sp-relative addresses to allow for the extra
preserved variable.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Frediano Ziglio 11 years ago
parent
commit
9df238a8aa
1 changed files with 2 additions and 2 deletions
  1. 2
    2
      src/arch/i386/prefix/undiloader.S

+ 2
- 2
src/arch/i386/prefix/undiloader.S View File

@@ -23,8 +23,8 @@ undiloader:
23 23
 	popw	%ds
24 24
 	/* UNDI loader parameter structure address into %es:%di */
25 25
 	movw	%sp, %bx
26
-	movw	%ss:18(%bx), %di
27
-	movw	%ss:20(%bx), %es
26
+	movw	%ss:22(%bx), %di
27
+	movw	%ss:24(%bx), %es
28 28
 	/* Install to specified real-mode addresses */
29 29
 	pushw	%di
30 30
 	movw	%es:12(%di), %bx

Loading…
Cancel
Save