diff options
Diffstat (limited to 'src/arch/i386/prefix/lkrnprefix.S')
-rw-r--r-- | src/arch/i386/prefix/lkrnprefix.S | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/arch/i386/prefix/lkrnprefix.S b/src/arch/i386/prefix/lkrnprefix.S index 008c79ef..f87ef85a 100644 --- a/src/arch/i386/prefix/lkrnprefix.S +++ b/src/arch/i386/prefix/lkrnprefix.S @@ -193,6 +193,9 @@ run_ipxe: movw %ax, %ss movw $0x7c00, %sp + /* Retrieve command-line pointer */ + movl %es:cmd_line_ptr, %edx + /* Install iPXE */ call install @@ -206,6 +209,13 @@ run_ipxe: lret .section ".text16", "awx", @progbits 1: + /* Set up %ds for access to .data16 */ + movw %bx, %ds + + /* Store command-line pointer */ + movl %edx, cmdline_phys + + /* Run iPXE */ pushl $main pushw %cs call prot_call |