> Actually, I'm not sure on "for sure".  If we define the kernel to
> retain t regs over syscall, there is no need to touch the syscall stubs.
> The problem is essentially that the old stub did this:
> 
> brk:
>   syscall
>   la t0 _C_LABEL
>   sw v0 0(t0)
> 
> and the new one:
>   
> brk:
>   la t0 _C_LABEL
>   syscall
>   sw v0 0(t0)

http://cvsweb.NetBSD.org/bsdweb.cgi/src/lib/libc/arch/mips/sys/brk.S.diff?r1=1.16&r2=1.17

---

-       lw      v0, _C_LABEL(__minbrk)

+       PTR_LA          t0, _C_LABEL(__minbrk)
+       PTR_L           v0, 0(t0)

        syscall

-       sw      a0, _C_LABEL(__curbrk)
-       move    v0, zero

+       PTR_S           a0, 0(t0)
+       move            v0, zero

---

Should we still preserve t0 for __minbrk??

---
Izumi Tsutsui

Reply via email to