TODO revision 1.36
11.36Spalle/* $NetBSD: TODO,v 1.36 2021/02/27 18:29:38 palle Exp $ */ 21.1Spalle 31.1SpalleThings to be done: 41.1Spalle 51.5Spallecommon: 61.5Spalle- make %g6 point to curcpu 71.5Spalle- make %g7 point to curlwp 81.8Spalle- change run-time checks for cpu type to function pointers 91.5Spalle 101.1Spallesun4u: 111.10Spalle- GENERIC.UP kernel hangs on v445 (missing interrupt?) 121.1Spalle 131.1Spallesun4v: 141.34Spalle - current status 151.34Spalle T5 ldom with 2 VCPU and 4GB: 161.34Spalle The kernel boots and starts userland when booting miniroot.fs. 171.35Spalle The sysinst tool starts properly and is functional. 181.35Spalle Installation is not possible, since no driver currently exists 191.35Spalle for the ldom network interfaces, but openbsd vnet and vsw drivers are 201.35Spalle possible to integrate and this work is progressing. 211.34Spalle OpenBoot (properly trashed registers). 221.34Spalle T2000 ldom with 8 VCPU and 4GB: 231.34Spalle On this platform it crashes in /sbin/init doing an access() call where %o0 is corrupted (zero) 241.1Spalle- 64-bit kernel support 251.1Spalle- 32-bit kernel support 261.2Spalle- libkvm 271.2Spalle- ofwboot: tlb_init_sun4v() hardcodes number of slots to 64 281.17Spalle- locore.s: sun4v_datatrap missing implementation for trap level 1 291.5Spalle- check build without SUN4V defined 301.13Spalle- replace relevant references to %ver with GET_MAXCWP 311.6Spalle- pmap_mp_init(): sun4v missing handling 321.6Spalle- replace constructs like "wrpr %g0, PSTATE_KERN, %pstate" with NORMAL_GLOBALS 331.6Spalle- replace constructs line "wrpr %g0, PSTATE_INTR, %pstate" with ALTERNATE_GOBALS 341.7Spalle- sun4v tsb no need to lock... per cpu... anyway... 351.7Spalle- ci_tsb_desc->td_ctxidx: -1 or 1? 361.14Spalle- MP support - currently bypassed in pmap_bootstrap() for sun4v 371.12Spalle- vpci.c/vpcivar.h: cleanup FIXMEs 381.30Sskrll- interrupts not handled properly (com at ebus only...) 391.18Spalle- mpt(4) complains: mpt0: Phy 0: Link Status Unknown 401.20Spalle- man pages for drivers imported from OpenBSD lke vpci, vbus, cbus, vdsk, ldc etc. 411.20Spalle- vdsk and ldc drivers: code maked with OPENBSD_BUSDMA - make the bus_dma stuff work properly 421.22Spalle- vbus.c: handle prom_getprop() memory leaks 431.25Spalle- locore.s: rft_user (sun4v specific manaul fill) - seems to work, but is it good enough (compared to openbsds rft_user? 441.36Spalle- openfirmware interface 451.36Spalle bounce handlng could need rework 461.36Spalle - only #if __arch64__ independent for SUN4V, as OF for all ultrasparcs is 471.36Spalle plain 32bit code too (and this #if only because the point below becomes 481.36Spalle always false otherwise) 491.36Spalle - only bounce if the address is >= 1UL<<32 501.36Spalle - perhaps apply the lock to OF calls in general, not only the bounce'd ones 511.36Spalle (in other words: let's protect the OF context with the lock, not 521.36Spalle only the bounce buffer contents). 531.36Spalle - Are there any other bounce-worthy OF calls? If so, apply handling 541.36Spalle to all of them now 551.36Spalle - consider method used by Solaris/OpenSolaris/Illumos (look for PROM_32BIT_ADDRS in 561.36Spalle the Illumos codebase) 571.27Spalle - platforms tested so far: 581.33Spalle -- qemu sun4v/niagara - reaches the point where the kernel needs to mount a root fs 591.27Spalle -- T2000 - mmu fault somewhere 601.27Spalle -- T5 - stickcmpr is not properly initialized ??? 61