diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2011-07-16 13:13:12 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2011-07-16 13:15:27 -0400 |
commit | 533b6286cbc5a01e8aaafc2a8393a7d109f81958 (patch) | |
tree | 5d051ff2edeb3f62b982d5fcc4761bf9dd5448e7 /src/romlayout.S | |
parent | 77b8536e5c9908fbe99c88d01462a36a3deb05b1 (diff) | |
download | seabios-533b6286cbc5a01e8aaafc2a8393a7d109f81958.tar.gz |
Run option rom visible PMM code in 32bit mode instead of 16bit mode.
Use call32() to jump into handle_pmm(). This reduces the amount of
16bit code needed.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/romlayout.S')
-rw-r--r-- | src/romlayout.S | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/romlayout.S b/src/romlayout.S index fbc5cb30..5983a4a7 100644 --- a/src/romlayout.S +++ b/src/romlayout.S @@ -264,8 +264,10 @@ entry_pmm: pushw %ds movw %ss, %cx // Move %ss to %ds movw %cx, %ds - leal 28(%esp), %eax // %eax points to start of args - calll handle_pmm + movl $_cfunc32flat_handle_pmm, %eax // Setup: call32(handle_pmm, args, -1) + leal 28(%esp), %edx // %edx points to start of args + movl $-1, %ecx + calll call32 movw %ax, 12(%esp) // Modify %ax:%dx to return %eax shrl $16, %eax movw %ax, 4(%esp) |