summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/prefix/lkrnprefix.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/i386/prefix/lkrnprefix.S')
-rw-r--r--src/arch/i386/prefix/lkrnprefix.S10
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