diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2014-10-21 03:19:55 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2014-10-27 10:56:54 -0400 |
commit | 283ae1f07949c463cbba0b8cd20f703a8c1389b6 (patch) | |
tree | 9ee4f8f02feb3d51c8ca85f558e33ca6e4203f1a /src | |
parent | cf436225a6a7c9d4351f1c3639dea787d9d70f4f (diff) | |
download | seabios-hppa-283ae1f07949c463cbba0b8cd20f703a8c1389b6.zip seabios-hppa-283ae1f07949c463cbba0b8cd20f703a8c1389b6.tar.gz seabios-hppa-283ae1f07949c463cbba0b8cd20f703a8c1389b6.tar.bz2 |
Don't clobber %ax on ENTRY_INTO32 macro
There's no need to clobber %ax in ENTRY_INTO32. Now that %eax isn't
clobbered, use ENTRY_INTO32 in entry_csm.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src')
-rw-r--r-- | src/entryfuncs.S | 5 | ||||
-rw-r--r-- | src/romlayout.S | 10 |
2 files changed, 4 insertions, 11 deletions
diff --git a/src/entryfuncs.S b/src/entryfuncs.S index 679b1fc..8438604 100644 --- a/src/entryfuncs.S +++ b/src/entryfuncs.S @@ -135,10 +135,9 @@ .endm // Reset stack, transition to 32bit mode, and call a C function. - // Clobbers %ax .macro ENTRY_INTO32 cfunc - xorw %ax, %ax - movw %ax, %ss + xorw %dx, %dx + movw %dx, %ss movl $ BUILD_STACK_ADDR , %esp movl $ \cfunc , %edx jmp transition32 diff --git a/src/romlayout.S b/src/romlayout.S index cca4e43..4ebbdee 100644 --- a/src/romlayout.S +++ b/src/romlayout.S @@ -431,14 +431,8 @@ entry_csm: shll $4, %eax addl %esp, %eax - // Change to BUILD_STACK_ADDR stack - xorl %ebx, %ebx - movw %bx, %ss - movl $BUILD_STACK_ADDR, %esp - - // Jump to 32bit mode and call handle_csm(bregs) - movl $_cfunc32flat_handle_csm, %edx - jmp transition32 + // Change to BUILD_STACK_ADDR stack and call handle_csm(bregs) + ENTRY_INTO32 _cfunc32flat_handle_csm DECLFUNC __csm_return .code32 |