diff options
Diffstat (limited to 'src/romlayout.S')
-rw-r--r-- | src/romlayout.S | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/romlayout.S b/src/romlayout.S index a3ba965e..028d1e8d 100644 --- a/src/romlayout.S +++ b/src/romlayout.S @@ -321,10 +321,11 @@ entry_pmm: pushl %edx pushw %es pushw %ds - movw %ss, %cx // Move %ss to %ds + movl %ss, %ecx // Move %ss to %ds movw %cx, %ds + shll $4, %ecx movl $_cfunc32flat_handle_pmm, %eax // Setup: call32(handle_pmm, args, -1) - leal 28(%esp), %edx // %edx points to start of args + leal 28(%esp, %ecx), %edx // %edx points to start of args movl $-1, %ecx calll call32 movw %ax, 12(%esp) // Modify %ax:%dx to return %eax |