Home | History | Annotate | Line # | Download | only in doc
TODO revision 1.46
      1 /* $NetBSD: TODO,v 1.46 2022/01/05 16:01:54 andvar 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  (primary ldom is Solaris 11.4 SRU30)::
     16        - kernel boots from miniroot.fs via ldom disk (vdsk)
     17 	   - ldom virtual network interface (vnet) is working
     18 	     (verified by exiting sysinst and issuing a ping command)
     19 	   - the sysinst tool starts, disk setup is working, network configuration is working,
     20 	     but after the selected (minimal) sets have been downloaded and installed
     21 		 the 'sh MAKEDEV all' command hangs.
     22 	 T2000 ldom with 8 VCPU and 4GB:
     23 	   - crashes in /sbin/init doing an access() call where %o0 is corrupted (zero)
     24 	 S7 ldom with 8 VCPU and 16GB (primary ldom is Solaris 11.4 SRU33):
     25 	   - same status as T5 ldom
     26 - 64-bit kernel support
     27 - 32-bit kernel support
     28 - libkvm
     29 - ofwboot: tlb_init_sun4v() hardcodes number of slots to 64
     30 - locore.s: sun4v_datatrap missing implementation for trap level 1
     31 - check build without SUN4V defined
     32 - replace relevant references to %ver with GET_MAXCWP
     33 - pmap_mp_init(): sun4v missing handling
     34 - replace constructs like "wrpr %g0, PSTATE_KERN, %pstate" with NORMAL_GLOBALS
     35 - replace constructs line "wrpr %g0, PSTATE_INTR, %pstate" with ALTERNATE_GOBALS
     36 - sun4v tsb no need to lock... per cpu... anyway...
     37 - ci_tsb_desc->td_ctxidx: -1 or 1?
     38 - MP support - currently bypassed in pmap_bootstrap() for sun4v
     39 - vpci.c/vpcivar.h: cleanup FIXMEs
     40 - interrupts not handled properly (com at ebus only...)
     41 - mpt(4) complains: mpt0: Phy 0: Link Status Unknown
     42 - man pages for drivers imported from OpenBSD lke vpci, vbus, cbus, vdsk, ldc etc.
     43 - vdsk and ldc drivers: code maked with OPENBSD_BUSDMA - make the bus_dma stuff work properly
     44 - vbus.c: handle prom_getprop() memory leaks
     45 - locore.s: rft_user (sun4v specific manual fill) - seems to work, but is it good enough (compared to openbsds rft_user?
     46 - openfirmware interface
     47     bounce handlng could need rework
     48       - only #if __arch64__ independent for SUN4V, as OF for all ultrasparcs is
     49         plain 32bit code too (and this #if only because the point below becomes
     50         always false otherwise)
     51       - only bounce if the address is >= 1UL<<32
     52       - perhaps apply the lock to OF calls in general, not only the bounce'd ones
     53         (in other words: let's protect the OF context with the lock, not
     54         only the bounce buffer contents).
     55 	  - Are there any other bounce-worthy OF calls? If so, apply handling
     56 	    to all of them now
     57       - consider method used by Solaris/OpenSolaris/Illumos (look for PROM_32BIT_ADDRS in
     58 	    the Illumos codebase)
     59  - platforms tested so far:
     60  -- qemu sun4v/niagara - reaches the point where the kernel needs to mount a root fs
     61  -- T2000 - mmu fault somewhere
     62  -- T5 - stickcmpr is not properly initialized ???
     63