diff options
Diffstat (limited to 'src/arch/x86/prefix/undiloader.S')
-rw-r--r-- | src/arch/x86/prefix/undiloader.S | 16 |
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 |