TODO revision 1.28
1 /* $NetBSD: TODO,v 1.28 2018/12/17 20:13:46 palle Exp $ */ 2 3Things to be done: 4 5common: 6- make %g6 point to curcpu 7- make %g7 point to curlwp 8- change run-time checks for cpu type to function pointers 9 10sun4u: 11- GENERIC.UP kernel hangs on v445 (missing interrupt?) 12 13sun4v: 14 - current status: The kernel boots and starts the init process (pid 1) 15 which spawns /sbin/sh (pid 2). This is forked as a new /sbin/sh (pid 3) 16 which crashes, probably due to MMU DPROT issues. 17 Looks like the user process tries to write to the stack as part of a save 18 instruction since cansave is zero. This causes a DMMU PROT trap (0x6c) which 19 calls sun4v_tl0_dtsb_prot which calls sun4v_datatrap which calls TRAP_SETUP(). 20 This macro has code that does a save instruction, again to the user stack, 21 which again causes a MMU DPROT trap... 22- 64-bit kernel support 23- 32-bit kernel support 24- libkvm 25- ofwboot: tlb_init_sun4v() hardcodes number of slots to 64 26- locore.s: sun4v_datatrap missing implementation for trap level 1 27- check build without SUN4V defined 28- replace relevant references to %ver with GET_MAXCWP 29- pmap_mp_init(): sun4v missing handling 30- replace constructs like "wrpr %g0, PSTATE_KERN, %pstate" with NORMAL_GLOBALS 31- replace constructs line "wrpr %g0, PSTATE_INTR, %pstate" with ALTERNATE_GOBALS 32- sun4v tsb no need to lock... per cpu... anyway... 33- ci_tsb_desc->td_ctxidx: -1 or 1? 34- MP support - currently bypassed in pmap_bootstrap() for sun4v 35- vpci.c/vpcivar.h: cleanup FIXMEs 36- interrups not handled properly (com at ebus only...) 37- mpt(4) complains: mpt0: Phy 0: Link Status Unknown 38- man pages for drivers imported from OpenBSD lke vpci, vbus, cbus, vdsk, ldc etc. 39- vdsk and ldc drivers: code maked with OPENBSD_BUSDMA - make the bus_dma stuff work properly 40- vbus.c: handle prom_getprop() memory leaks 41- locore.s: rft_user (sun4v specific manaul fill) - seems to work, but is it good enough (compared to openbsds rft_user? 42 - platforms tested so far: 43 -- qemu sun4v/niagara - crash in init process relaed to fork (stack?) 44 -- T2000 - mmu fault somewhere 45 -- T5 - stickcmpr is not properly initialized ??? 46