[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: [matt-nb5-mips64] src/sys/arch/mips/mips
On Aug 24, 2009, at 9:09 AM, Jason Thorpe wrote:
On Aug 23, 2009, at 9:04 PM, Matt Thomas wrote:
Module Name: src
Committed By: matt
Date: Mon Aug 24 04:04:53 UTC 2009
src/sys/arch/mips/mips [matt-nb5-mips64]: mipsX_subr.S
SyscallCall exception didn't save the temporaries which libc no
So now it saves them.
This seems wrong... the syscall trap is like making a function call,
so the temporaries should be expected to be clobbered. If the
syscall stubs don't like this, they should make use of callee-saved
What am I missing?
That the syscall needs the arguments and stack pointer unchanged from
the start of syscall stub. Thus if the syscall needs to store things,
it's limited t using the temporary registers. And MIPS NewABI makes
the global pointer callee-saved so it has to be saved somewhere. And
that place is a temporary register. If the trap nukes the
temporaries, that would be bad.
Main Index |
Thread Index |