/* $NetBSD: TODO,v 1.35 2021/02/27 18:19:57 palle Exp $ */ Things to be done: common: - make %g6 point to curcpu - make %g7 point to curlwp - change run-time checks for cpu type to function pointers sun4u: - GENERIC.UP kernel hangs on v445 (missing interrupt?) sun4v: - current status T5 ldom with 2 VCPU and 4GB: The kernel boots and starts userland when booting miniroot.fs. The sysinst tool starts properly and is functional. Installation is not possible, since no driver currently exists for the ldom network interfaces, but openbsd vnet and vsw drivers are possible to integrate and this work is progressing. OpenBoot (properly trashed registers). T2000 ldom with 8 VCPU and 4GB: On this platform it crashes in /sbin/init doing an access() call where %o0 is corrupted (zero) - 64-bit kernel support - 32-bit kernel support - libkvm - ofwboot: tlb_init_sun4v() hardcodes number of slots to 64 - locore.s: sun4v_datatrap missing implementation for trap level 1 - check build without SUN4V defined - replace relevant references to %ver with GET_MAXCWP - pmap_mp_init(): sun4v missing handling - replace constructs like "wrpr %g0, PSTATE_KERN, %pstate" with NORMAL_GLOBALS - replace constructs line "wrpr %g0, PSTATE_INTR, %pstate" with ALTERNATE_GOBALS - sun4v tsb no need to lock... per cpu... anyway... - ci_tsb_desc->td_ctxidx: -1 or 1? - MP support - currently bypassed in pmap_bootstrap() for sun4v - vpci.c/vpcivar.h: cleanup FIXMEs - interrupts not handled properly (com at ebus only...) - mpt(4) complains: mpt0: Phy 0: Link Status Unknown - man pages for drivers imported from OpenBSD lke vpci, vbus, cbus, vdsk, ldc etc. - vdsk and ldc drivers: code maked with OPENBSD_BUSDMA - make the bus_dma stuff work properly - vbus.c: handle prom_getprop() memory leaks - locore.s: rft_user (sun4v specific manaul fill) - seems to work, but is it good enough (compared to openbsds rft_user? - platforms tested so far: -- qemu sun4v/niagara - reaches the point where the kernel needs to mount a root fs -- T2000 - mmu fault somewhere -- T5 - stickcmpr is not properly initialized ???