Home | History | Annotate | Line # | Download | only in doc
TODO revision 1.42
      1  1.42  palle /* $NetBSD: TODO,v 1.42 2021/06/13 17:02:14 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.38  palle        - kernel boots from miniroot.fs via ldom fisk (vdsk)
     17  1.38  palle 	   - ldom virtual network interface (vnet) is working
     18  1.38  palle 	     (verified by exiting sysinst and issuing a ping command)
     19  1.38  palle 	   - the sysinst tool starts, disk setup is working,
     20  1.42  palle 	     but the process crashes when selecting network installation method.
     21  1.42  palle 		 The %i,%l and %o registers are corrupted, after a call to the libcurses
     22  1.42  palle 		 wrefresh() function.
     23  1.42  palle 		 If the sysinst insallation source is local directory, an error in the
     24  1.42  palle 		 ldsk device driver is triggered when a DATA/NACK/DRING_DATA event is received.
     25  1.42  palle 		 The current implementation does not hande this exception properly.
     26  1.34  palle 	 T2000 ldom with 8 VCPU and 4GB:
     27  1.40  palle 	   - crashes in /sbin/init doing an access() call where %o0 is corrupted (zero)
     28  1.40  palle 	 S7 ldom with 8 VCPU and 16GB (primary ldom is Solaris 11.4 SRU30):
     29  1.40  palle 	   - during autoconfiguration of vnet devices the call to hv_vintr_setenabled()
     30  1.40  palle 	     returns error code 7 (EBADTRAP?)
     31   1.1  palle - 64-bit kernel support
     32   1.1  palle - 32-bit kernel support
     33   1.2  palle - libkvm
     34   1.2  palle - ofwboot: tlb_init_sun4v() hardcodes number of slots to 64
     35  1.17  palle - locore.s: sun4v_datatrap missing implementation for trap level 1
     36   1.5  palle - check build without SUN4V defined
     37  1.13  palle - replace relevant references to %ver with GET_MAXCWP
     38   1.6  palle - pmap_mp_init(): sun4v missing handling
     39   1.6  palle - replace constructs like "wrpr %g0, PSTATE_KERN, %pstate" with NORMAL_GLOBALS
     40   1.6  palle - replace constructs line "wrpr %g0, PSTATE_INTR, %pstate" with ALTERNATE_GOBALS
     41   1.7  palle - sun4v tsb no need to lock... per cpu... anyway...
     42   1.7  palle - ci_tsb_desc->td_ctxidx: -1 or 1?
     43  1.14  palle - MP support - currently bypassed in pmap_bootstrap() for sun4v
     44  1.12  palle - vpci.c/vpcivar.h: cleanup FIXMEs
     45  1.30  skrll - interrupts not handled properly (com at ebus only...)
     46  1.18  palle - mpt(4) complains: mpt0: Phy 0: Link Status Unknown
     47  1.20  palle - man pages for drivers imported from OpenBSD lke vpci, vbus, cbus, vdsk, ldc etc.
     48  1.20  palle - vdsk and ldc drivers: code maked with OPENBSD_BUSDMA - make the bus_dma stuff work properly
     49  1.22  palle - vbus.c: handle prom_getprop() memory leaks
     50  1.25  palle - locore.s: rft_user (sun4v specific manaul fill) - seems to work, but is it good enough (compared to openbsds rft_user?
     51  1.36  palle - openfirmware interface
     52  1.36  palle     bounce handlng could need rework
     53  1.36  palle       - only #if __arch64__ independent for SUN4V, as OF for all ultrasparcs is
     54  1.36  palle         plain 32bit code too (and this #if only because the point below becomes
     55  1.36  palle         always false otherwise)
     56  1.36  palle       - only bounce if the address is >= 1UL<<32
     57  1.36  palle       - perhaps apply the lock to OF calls in general, not only the bounce'd ones
     58  1.36  palle         (in other words: let's protect the OF context with the lock, not
     59  1.36  palle         only the bounce buffer contents).
     60  1.36  palle 	  - Are there any other bounce-worthy OF calls? If so, apply handling
     61  1.36  palle 	    to all of them now
     62  1.36  palle       - consider method used by Solaris/OpenSolaris/Illumos (look for PROM_32BIT_ADDRS in
     63  1.36  palle 	    the Illumos codebase)
     64  1.27  palle  - platforms tested so far:
     65  1.33  palle  -- qemu sun4v/niagara - reaches the point where the kernel needs to mount a root fs
     66  1.27  palle  -- T2000 - mmu fault somewhere
     67  1.27  palle  -- T5 - stickcmpr is not properly initialized ???
     68