TODO revision 1.40
1/* $NetBSD: TODO,v 1.40 2021/03/30 20:23:45 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 15 T5 ldom with 2 VCPU and 4GB: 16 - kernel boots from miniroot.fs via ldom fisk (vdsk) 17 - ldom virtual network interface (vnet) is working 18 (verified by exiting sysinst and issuing a ping command) 19 - the sysinst tool starts, disk setup is working, 20 but the process crashes when selecting network installation method (trap 0x34 ALIGN is received) 21 T2000 ldom with 8 VCPU and 4GB: 22 - crashes in /sbin/init doing an access() call where %o0 is corrupted (zero) 23 S7 ldom with 8 VCPU and 16GB (primary ldom is Solaris 11.4 SRU30): 24 - during autoconfiguration of vnet devices the call to hv_vintr_setenabled() 25 returns error code 7 (EBADTRAP?) 26- idle handling - call hypervisor trap (openbsd code...??) 27- 64-bit kernel support 28- 32-bit kernel support 29- libkvm 30- ofwboot: tlb_init_sun4v() hardcodes number of slots to 64 31- locore.s: sun4v_datatrap missing implementation for trap level 1 32- check build without SUN4V defined 33- replace relevant references to %ver with GET_MAXCWP 34- pmap_mp_init(): sun4v missing handling 35- replace constructs like "wrpr %g0, PSTATE_KERN, %pstate" with NORMAL_GLOBALS 36- replace constructs line "wrpr %g0, PSTATE_INTR, %pstate" with ALTERNATE_GOBALS 37- sun4v tsb no need to lock... per cpu... anyway... 38- ci_tsb_desc->td_ctxidx: -1 or 1? 39- MP support - currently bypassed in pmap_bootstrap() for sun4v 40- vpci.c/vpcivar.h: cleanup FIXMEs 41- interrupts not handled properly (com at ebus only...) 42- mpt(4) complains: mpt0: Phy 0: Link Status Unknown 43- man pages for drivers imported from OpenBSD lke vpci, vbus, cbus, vdsk, ldc etc. 44- vdsk and ldc drivers: code maked with OPENBSD_BUSDMA - make the bus_dma stuff work properly 45- vbus.c: handle prom_getprop() memory leaks 46- locore.s: rft_user (sun4v specific manaul fill) - seems to work, but is it good enough (compared to openbsds rft_user? 47- openfirmware interface 48 bounce handlng could need rework 49 - only #if __arch64__ independent for SUN4V, as OF for all ultrasparcs is 50 plain 32bit code too (and this #if only because the point below becomes 51 always false otherwise) 52 - only bounce if the address is >= 1UL<<32 53 - perhaps apply the lock to OF calls in general, not only the bounce'd ones 54 (in other words: let's protect the OF context with the lock, not 55 only the bounce buffer contents). 56 - Are there any other bounce-worthy OF calls? If so, apply handling 57 to all of them now 58 - consider method used by Solaris/OpenSolaris/Illumos (look for PROM_32BIT_ADDRS in 59 the Illumos codebase) 60 - platforms tested so far: 61 -- qemu sun4v/niagara - reaches the point where the kernel needs to mount a root fs 62 -- T2000 - mmu fault somewhere 63 -- T5 - stickcmpr is not properly initialized ??? 64