Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/arch/pmax/stand/common



On Nov 25, 2010, at 2:20 PM, Simon Burge wrote:

> Matt Thomas wrote:
> 
>> On Nov 25, 2010, at 9:00 AM, Antti Kantee wrote:
>> 
>>> On Fri Nov 26 2010 at 01:50:11 +0900, Izumi Tsutsui wrote:
>>>> but shouldn't we fix stub first, then discuss pros and blah of the change?
>>>> Current binaries have not worked at all on MIPS1 since the last December.
>>> 
>>> Like I said, I don't have strong feelings about this.
>>> 
>>> If you want to fix stubs, go for it!
>>> (there's no need for a discussion after that, anyway, since the issue
>>> is decided and fixed)
>> 
>> Please don't.  I've changed the mips1 syscall handler to save t0-t2
>> just like the mips3+ handler does.
> 
> Why is it necessary to save three extra regs for every syscall, when
> only two syscalls actually use t0?  Callers of the syscalls don't expect
> t0-t3 to be saved.

Because N32/N64 requires that $gp be caller saved/restored.  Normally this
would be done on the stack but we can't do that since that would mess up
accessing stack based arguments.  So the other alternative is to save it
in a temporary register.

> Also, why go to the effort of saving t0-t2 and not t3 as well?  Surely
> that violates POLA?

Because it was wasn't needed.


Home | Main Index | Thread Index | Old Index