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