TODO revision 1.36 1 1.36 palle /* $NetBSD: TODO,v 1.36 2021/02/27 18:29:38 palle Exp $ */
2 1.1 palle
3 1.1 palle Things to be done:
4 1.1 palle
5 1.5 palle common:
6 1.5 palle - make %g6 point to curcpu
7 1.5 palle - make %g7 point to curlwp
8 1.8 palle - change run-time checks for cpu type to function pointers
9 1.5 palle
10 1.1 palle sun4u:
11 1.10 palle - GENERIC.UP kernel hangs on v445 (missing interrupt?)
12 1.1 palle
13 1.1 palle sun4v:
14 1.34 palle - current status
15 1.34 palle T5 ldom with 2 VCPU and 4GB:
16 1.34 palle The kernel boots and starts userland when booting miniroot.fs.
17 1.35 palle The sysinst tool starts properly and is functional.
18 1.35 palle Installation is not possible, since no driver currently exists
19 1.35 palle for the ldom network interfaces, but openbsd vnet and vsw drivers are
20 1.35 palle possible to integrate and this work is progressing.
21 1.34 palle OpenBoot (properly trashed registers).
22 1.34 palle T2000 ldom with 8 VCPU and 4GB:
23 1.34 palle On this platform it crashes in /sbin/init doing an access() call where %o0 is corrupted (zero)
24 1.1 palle - 64-bit kernel support
25 1.1 palle - 32-bit kernel support
26 1.2 palle - libkvm
27 1.2 palle - ofwboot: tlb_init_sun4v() hardcodes number of slots to 64
28 1.17 palle - locore.s: sun4v_datatrap missing implementation for trap level 1
29 1.5 palle - check build without SUN4V defined
30 1.13 palle - replace relevant references to %ver with GET_MAXCWP
31 1.6 palle - pmap_mp_init(): sun4v missing handling
32 1.6 palle - replace constructs like "wrpr %g0, PSTATE_KERN, %pstate" with NORMAL_GLOBALS
33 1.6 palle - replace constructs line "wrpr %g0, PSTATE_INTR, %pstate" with ALTERNATE_GOBALS
34 1.7 palle - sun4v tsb no need to lock... per cpu... anyway...
35 1.7 palle - ci_tsb_desc->td_ctxidx: -1 or 1?
36 1.14 palle - MP support - currently bypassed in pmap_bootstrap() for sun4v
37 1.12 palle - vpci.c/vpcivar.h: cleanup FIXMEs
38 1.30 skrll - interrupts not handled properly (com at ebus only...)
39 1.18 palle - mpt(4) complains: mpt0: Phy 0: Link Status Unknown
40 1.20 palle - man pages for drivers imported from OpenBSD lke vpci, vbus, cbus, vdsk, ldc etc.
41 1.20 palle - vdsk and ldc drivers: code maked with OPENBSD_BUSDMA - make the bus_dma stuff work properly
42 1.22 palle - vbus.c: handle prom_getprop() memory leaks
43 1.25 palle - locore.s: rft_user (sun4v specific manaul fill) - seems to work, but is it good enough (compared to openbsds rft_user?
44 1.36 palle - openfirmware interface
45 1.36 palle bounce handlng could need rework
46 1.36 palle - only #if __arch64__ independent for SUN4V, as OF for all ultrasparcs is
47 1.36 palle plain 32bit code too (and this #if only because the point below becomes
48 1.36 palle always false otherwise)
49 1.36 palle - only bounce if the address is >= 1UL<<32
50 1.36 palle - perhaps apply the lock to OF calls in general, not only the bounce'd ones
51 1.36 palle (in other words: let's protect the OF context with the lock, not
52 1.36 palle only the bounce buffer contents).
53 1.36 palle - Are there any other bounce-worthy OF calls? If so, apply handling
54 1.36 palle to all of them now
55 1.36 palle - consider method used by Solaris/OpenSolaris/Illumos (look for PROM_32BIT_ADDRS in
56 1.36 palle the Illumos codebase)
57 1.27 palle - platforms tested so far:
58 1.33 palle -- qemu sun4v/niagara - reaches the point where the kernel needs to mount a root fs
59 1.27 palle -- T2000 - mmu fault somewhere
60 1.27 palle -- T5 - stickcmpr is not properly initialized ???
61