On Thu Nov 25 2010 at 14:05:28 +0000, Izumi Tsutsui wrote: > Module Name: src > Committed By: tsutsui > Date: Thu Nov 25 14:05:28 UTC 2010 > > Modified Files: > src/sys/arch/pmax/stand/common: startprog.S > > Log Message: > Fix botch on mips64 merge: > - use correct offsets to pass args to loaded kernel in __mips_o32 case > > Now NetBSD/pmax kernel properly boots, but init(8) still doesn't start > on GXemul emulating R3000 3MAX.
One remaining problem (which was debugged by Alessandro Forin) is that the post-mips64 brk/sbrk syscall stubs depend on "syscall" retaining t0, and the kernel doesn't do that. I have this in my local tree and it makes a mips1 platform boot with new userland. See if it helps on pmax too: --- locore_mips1.S 8 Nov 2010 18:09:38 -0000 1.68 +++ locore_mips1.S 25 Nov 2010 14:15:39 -0000 @@ -418,7 +418,7 @@ NESTED_NOPROFILE(mips1_SystemCall, CALLF sw a3, FRAME_A3(k1) lw a0, CPUVAR(CURLWP) # 1st arg is curlwp mfhi v1 - #sw t0, FRAME_T0(k1) # no need to save temp regs + sw t0, FRAME_T0(k1) # no need to save temp regs #sw t1, FRAME_T1(k1) #sw t2, FRAME_T2(k1) #sw t3, FRAME_T3(k1)