summaryrefslogtreecommitdiffstats
path: root/src/arch/x86/prefix/undiloader.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/prefix/undiloader.S')
-rw-r--r--src/arch/x86/prefix/undiloader.S16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/arch/x86/prefix/undiloader.S b/src/arch/x86/prefix/undiloader.S
index 530b48e8..1d77110e 100644
--- a/src/arch/x86/prefix/undiloader.S
+++ b/src/arch/x86/prefix/undiloader.S
@@ -35,7 +35,8 @@ undiloader:
movw %es:12(%di), %bx
movw %es:14(%di), %ax
movl image_source, %esi
- movl decompress_to, %edi
+ call undiloader_source
+ xorl %edi, %edi
orl $0xffffffff, %ebp /* Allow arbitrary relocation */
call install_prealloc
popw %di
@@ -57,3 +58,16 @@ undiloader:
popl %edi
popl %esi
lret
+
+/* Update image source address for UNDI loader
+ *
+ * Parameters:
+ * %esi : Image source address
+ * Returns:
+ * %esi : Image source address
+ */
+ .section ".prefix", "ax", @progbits
+ .globl undiloader_source
+ .weak undiloader_source
+undiloader_source:
+ ret