Home | History | Annotate | Line # | Download | only in doc
TODO revision 1.25.2.3
      1  1.25.2.3  pgoyette  /* $NetBSD: TODO,v 1.25.2.3 2018/12/26 14:01:43 pgoyette 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.25.2.1  pgoyette  - current status: The kernel boots and starts the init process (pid 1) 
     15  1.25.2.3  pgoyette    which spawns /sbin/sh (pid 2). This is forked as a new /sbin/sh (pid 3)
     16  1.25.2.3  pgoyette    which crashes, probably due to MMU DPROT issues.
     17  1.25.2.3  pgoyette    Looks like the user process tries to write to the stack as part of a save
     18  1.25.2.3  pgoyette    instruction since cansave is zero. This causes a DMMU PROT trap (0x6c) which
     19  1.25.2.3  pgoyette    calls sun4v_tl0_dtsb_prot which calls sun4v_datatrap which calls TRAP_SETUP().
     20  1.25.2.3  pgoyette    This macro has code that does a save instruction, again to the user stack,
     21  1.25.2.3  pgoyette    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.25.2.2  pgoyette  - platforms tested so far:
     43  1.25.2.2  pgoyette  -- qemu sun4v/niagara - crash in init process relaed to fork (stack?)
     44  1.25.2.2  pgoyette  -- T2000 - mmu fault somewhere
     45  1.25.2.2  pgoyette  -- T5 - stickcmpr is not properly initialized ???
     46