TODO revision 1.34 1 /* $NetBSD: TODO,v 1.34 2021/02/22 10:30:57 palle Exp $ */
2
3 Things to be done:
4
5 common:
6 - make %g6 point to curcpu
7 - make %g7 point to curlwp
8 - change run-time checks for cpu type to function pointers
9
10 sun4u:
11 - GENERIC.UP kernel hangs on v445 (missing interrupt?)
12
13 sun4v:
14 - current status
15 T5 ldom with 2 VCPU and 4GB:
16 The kernel boots and starts userland when booting miniroot.fs.
17 The sysinst tool starts properly and requests terminal type.
18 Upon entering characters on the console, a crash occurs inside
19 OpenBoot (properly trashed registers).
20 T2000 ldom with 8 VCPU and 4GB:
21 On this platform it crashes in /sbin/init doing an access() call where %o0 is corrupted (zero)
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 - interrupts 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 - reaches the point where the kernel needs to mount a root fs
44 -- T2000 - mmu fault somewhere
45 -- T5 - stickcmpr is not properly initialized ???
46