Signed-off-by: Kevin O'Connor kevin@koconnor.net --- src/romlayout.S | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/src/romlayout.S b/src/romlayout.S index 42f8761..b1628ef 100644 --- a/src/romlayout.S +++ b/src/romlayout.S @@ -384,6 +384,7 @@ entry_elf:
.code16gcc
+// UEFI Compatibility Support Module (CSM) entry point EXPORTFUNC entry_csm entry_csm: // Backup register state @@ -408,22 +409,20 @@ entry_csm: movl $_cfunc32flat_handle_csm, %edx jmp transition32
- .code32 - DECLFUNC __csm_return + .code32 __csm_return: - movl %eax, %ebx - movl $2f, %edx + movl $1f, %edx jmp transition16big .code16gcc
// Switch back to original stack -2: movzwl BREGS_code+2(%ebx), %eax - movl %eax, %ecx +1: movzwl BREGS_code+2(%eax), %edx + movl %edx, %ecx shll $4, %ecx - subl %ecx, %ebx - movl %eax, %ss - movl %ebx, %esp + subl %ecx, %eax + movl %edx, %ss + movl %eax, %esp
// Restore register state and return. POPBREGS