TODO revision 1.28 1 1.28 palle /* $NetBSD: TODO,v 1.28 2018/12/17 20:13:46 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.26 palle - current status: The kernel boots and starts the init process (pid 1)
15 1.28 palle which spawns /sbin/sh (pid 2). This is forked as a new /sbin/sh (pid 3)
16 1.28 palle which crashes, probably due to MMU DPROT issues.
17 1.28 palle Looks like the user process tries to write to the stack as part of a save
18 1.28 palle instruction since cansave is zero. This causes a DMMU PROT trap (0x6c) which
19 1.28 palle calls sun4v_tl0_dtsb_prot which calls sun4v_datatrap which calls TRAP_SETUP().
20 1.28 palle This macro has code that does a save instruction, again to the user stack,
21 1.28 palle which again causes a MMU DPROT trap...
22 1.1 palle - 64-bit kernel support
23 1.1 palle - 32-bit kernel support
24 1.2 palle - libkvm
25 1.2 palle - ofwboot: tlb_init_sun4v() hardcodes number of slots to 64
26 1.17 palle - locore.s: sun4v_datatrap missing implementation for trap level 1
27 1.5 palle - check build without SUN4V defined
28 1.13 palle - replace relevant references to %ver with GET_MAXCWP
29 1.6 palle - pmap_mp_init(): sun4v missing handling
30 1.6 palle - replace constructs like "wrpr %g0, PSTATE_KERN, %pstate" with NORMAL_GLOBALS
31 1.6 palle - replace constructs line "wrpr %g0, PSTATE_INTR, %pstate" with ALTERNATE_GOBALS
32 1.7 palle - sun4v tsb no need to lock... per cpu... anyway...
33 1.7 palle - ci_tsb_desc->td_ctxidx: -1 or 1?
34 1.14 palle - MP support - currently bypassed in pmap_bootstrap() for sun4v
35 1.12 palle - vpci.c/vpcivar.h: cleanup FIXMEs
36 1.16 palle - interrups not handled properly (com at ebus only...)
37 1.18 palle - mpt(4) complains: mpt0: Phy 0: Link Status Unknown
38 1.20 palle - man pages for drivers imported from OpenBSD lke vpci, vbus, cbus, vdsk, ldc etc.
39 1.20 palle - vdsk and ldc drivers: code maked with OPENBSD_BUSDMA - make the bus_dma stuff work properly
40 1.22 palle - vbus.c: handle prom_getprop() memory leaks
41 1.25 palle - locore.s: rft_user (sun4v specific manaul fill) - seems to work, but is it good enough (compared to openbsds rft_user?
42 1.27 palle - platforms tested so far:
43 1.27 palle -- qemu sun4v/niagara - crash in init process relaed to fork (stack?)
44 1.27 palle -- T2000 - mmu fault somewhere
45 1.27 palle -- T5 - stickcmpr is not properly initialized ???
46