Home | History | Annotate | Line # | Download | only in arc
TODO revision 1.15
      1  1.15      soda $NetBSD: TODO,v 1.15 2001/06/13 15:41:53 soda Exp $
      2   1.2   thorpej 
      3   1.1  jonathan To do list (not in any particular order).
      4  1.12      soda 
      5  1.12      soda     o	XXX at least 2000/06/07 version is already quite unstable
      6  1.12      soda 	on PICA and NEC Image RISCstation. (but almost OK on Magnum)
      7  1.12      soda 	Userland commands dumps	core randomly.
      8  1.12      soda 	This version is before _MIPS_PADDR_T_64BIT changes
      9  1.12      soda 	and MIPS3_TLB_WIRED_UPAGES changes.	
     10  1.14      soda 
     11  1.14      soda 	"vm_page_zero_enable = FALSE" makes this problem disappeared.
     12  1.15      soda 	(vm_page_zero_enable = FALSE by default on all archs w/ UBC, now)
     13  1.14      soda 
     14  1.14      soda 	currently, page zero in the idle loop is also disabled on
     15  1.15      soda 	untested platforms like DESKstation rPC44/Tyne and SNI for safety.
     16   1.1  jonathan 
     17   1.9      soda     o	XXX sudden hang up in a few minutes or dozens of minutes.
     18   1.9      soda 	2000 Mar 17 -current is OK. Mar 29 is NG.
     19   1.9      soda 
     20   1.1  jonathan     o	Move the RO and WIRED attribute from the pte to the pv table.
     21   1.1  jonathan 	This saves four instructions in the tlb miss handler.
     22   1.1  jonathan 
     23  1.11      soda     o   Boot. Standalone boot program instead of booting the kernel directly.
     24   1.1  jonathan 
     25   1.5      soda     o   Find out why bitmap load to S3-928 flashes screen. (X server)
     26   1.4      soda 	Know why (enable linear mode). Need S3 info.
     27   1.4      soda 
     28   1.4      soda     o   Can we have 32 double registers?
     29   1.4      soda 
     30   1.4      soda     o	64bit kernel/userland
     31   1.4      soda 
     32  1.11      soda     o	NEC RISCstation 2200 support
     33   1.5      soda 
     34  1.15      soda 	-   VXL framebuffer
     35  1.15      soda 	-   VGA framebuffer or character generator
     36  1.15      soda 	-   oosiop
     37   1.5      soda 
     38  1.15      soda     o	repair DESKstation support
     39  1.11      soda 
     40  1.11      soda 	-   requires bounce buffer bus_dma for Tyne
     41  1.15      soda 		XXX - too small bounce buffer size
     42  1.11      soda 
     43  1.15      soda     o	Olivetti M700 support
     44  1.11      soda 
     45  1.15      soda     o	NEC Express 5800/230 R10000 version support
     46  1.11      soda 
     47  1.15      soda     o	SNI RM200PCI support
     48  1.11      soda 
     49  1.15      soda     o	sysinst
     50  1.11      soda 
     51  1.15      soda     o	install notes
     52  1.11      soda 
     53  1.15      soda     o	www: diskless HOW-TO port-arc specific part.
     54  1.11      soda 
     55  1.15      soda     o	Xserver
     56  1.11      soda 
     57  1.11      soda 	-   VXL		magnum, some RISCserver 2200
     58  1.11      soda 	-   vga/S3	pica, Image RISCstation - OpenBSD's?
     59  1.11      soda 	-   vga/cirrus	some RISCserver 2200
     60  1.11      soda 	-   vga/???	DESKstation Tyne, rPC44
     61  1.11      soda 	-   TGA		RISCserver 2250
     62  1.11      soda 
     63  1.15      soda     o	X clients
     64  1.11      soda 	probably pmax binary is good enough.
     65   1.5      soda 
     66  1.15      soda     o	remove inb/outb
     67   1.8  nisimura 
     68  1.15      soda     o	remove UADDR
     69   1.9      soda 
     70  1.15      soda     o	redesign interrupt handler framework.
     71  1.15      soda 	i/o bus devices should have sane IPL, but currently doesn't.
     72  1.13      soda 
     73  1.15      soda 	also, current MIPS interrupt handler has overblocking and
     74  1.15      soda 	other problems as follows:
     75   1.9      soda 
     76   1.9      soda 	-   SR_INT_IE should be enabled before calling hardclock().
     77   1.9      soda 	    Since this is not done currently, spllowersoftclock()
     78   1.9      soda 	    on hardclock() doesn't have effect, and softclock() is
     79   1.9      soda 	    handled with all interrupt disabled in this case.
     80   1.9      soda 		-> overblocking, possibly causes missing hardclock()
     81   1.9      soda 
     82   1.9      soda 	-   MIPS3_CLKF_BASEPRI() doesn't work correctly,
     83   1.9      soda 	    when MIPS_INT_MASK_5 (== MIPS_INT_MASK_CLOCK) is disabled.
     84   1.9      soda 		-> micro optimization on hardclock() doesn't work.
     85   1.9      soda 		   but currently this may make hardclock() latency better
     86   1.9      soda 		   due to above SR_INT_IE problem.
     87   1.9      soda 	    s/MIPS_INT_MASK/MIPS3_INT_MASK/ makes this work, although tricky.
     88   1.9      soda 
     89   1.9      soda 	-   if (ipending & INT_MASK_REAL_DEV) == 0,
     90   1.9      soda 	    softnet() and softclock() are handled with all interrupt disabled.
     91   1.9      soda 		-> overblocking, possibly causes missing hardclock()
     92   1.9      soda 
     93   1.9      soda 	-   softclock() is handled with softnet() disabled.
     94   1.9      soda 		-> slightly overblocking
     95   1.9      soda 
     96   1.9      soda 	-   `netisr' handling in netintr() implies potential race condition.
     97  1.15      soda 	    The access to `netisr' should be protected by splnet().
     98  1.15      soda 	    Currently this is not real problem due to above overblocking.
     99   1.9      soda 
    100   1.9      soda 	    `ssir' handling on many mips ports has same problem.
    101   1.9      soda 	    It should be protected by splnet() or splserial() or splhigh()
    102   1.9      soda 	    (depends on the highest interrupt level which sets `ssir').
    103   1.9      soda 	    Since `ssir' is accessed not only by setsoftnet() but also
    104   1.9      soda 	    by setsoft(), setsoftnet() should protect `ssir' by splserial()
    105   1.9      soda 	    or something. (i.e. priority level which setsoft() will be called)
    106   1.9      soda 	    Probably, it is better to split `ssir' variable for each
    107   1.9      soda 	    priority level.
    108  1.15      soda 	    Also, _clearsoftintr() should be called before `ssir' access.
    109   1.9      soda 	    currently this is not real problem due to above overblocking.
    110   1.9      soda 
    111  1.10      soda 	-   INT_MASK_REAL_DEV should be removed
    112  1.10      soda 
    113  1.11      soda 	-   make CLKF_INTR() work.
    114  1.11      soda 
    115  1.15      soda 	-   generic software interrupt
    116  1.15      soda 
    117  1.11      soda 	-   major rework, possibly by software emulated spl.
    118  1.11      soda 		splserial()/splsoftserial()
    119  1.11      soda 
    120   1.9      soda     o	it is better to always disable MIPS_INT_MASK_CLOCK.
    121   1.9      soda 	those are the points which should be fixed:
    122   1.9      soda 	mips_idle: li t0, (MIPS_INT_MASK | MIPS_SR_INT_IE)
    123   1.9      soda 	machdep.c: curpcb->pcb_context[11] = MIPS_INT_MASK | MIPS_SR_INT_IE;
    124   1.9      soda 	spl0()
    125   1.9      soda 	splnone()
    126  1.10      soda 
    127  1.10      soda 	-   MIPS_INT_MASK_CLOCK should be removed in someway
    128   1.1  jonathan 
    129   1.4      soda     o	fix kernel start address
    130   1.1  jonathan 
    131  1.11      soda     o	allocate PICA_TL_BASE and SONICBUF dynamically
    132  1.11      soda 
    133  1.11      soda     o	fix mem_clusters[] usage.
    134  1.11      soda 
    135  1.11      soda     o	test and merge soren's clean up about proc0.p_addr.
    136  1.11      soda 
    137   1.4      soda     o	parse ARC BIOS configuration information and use it
    138   1.4      soda 
    139   1.5      soda     o	omit __SWAP_BROKEN in <mips/types.h>
    140   1.5      soda 
    141   1.4      soda     o	fix implementation of DELAY(), clean up clock implementation
    142   1.4      soda 
    143  1.11      soda     o	increase MAXPHYS to 64KB
    144  1.11      soda 
    145  1.15      soda     o	wscons / VXL framebuffer
    146  1.15      soda 
    147  1.15      soda     o	wscons / VGA framebuffer (merge bjy's driver)
    148  1.15      soda 
    149  1.15      soda     o	wscons / VGA character generator (fix initialization on RISCserver)
    150  1.15      soda 
    151   1.5      soda     o	asc.c scsi clock/NCR53CF94 handling clean up
    152   1.5      soda 
    153  1.11      soda     o	if_sn.c
    154  1.11      soda 
    155  1.11      soda 	-   bus_dma'fy
    156  1.11      soda 	-   bus_space'fy
    157  1.11      soda 	-   split frontend and backend
    158  1.11      soda 	-   make this MI, and share with mac68k, newsmips/apbus
    159   1.4      soda 
    160  1.15      soda     o	com_jazzio.c
    161  1.15      soda 
    162  1.15      soda 	-   clock handling clean up (obtain from ARC firmware)
    163  1.15      soda 	-   fifo disabling may be only needed on some Magnum?
    164   1.5      soda 
    165  1.15      soda     o	intrcnt[] name cleanup, use evcnt
    166  1.11      soda 
    167  1.15      soda     o	oosiop (NCR 53c700 driver) by Urata-san
    168  1.15      soda 	for NEC RISCserver 2200, RISCstation 2200 and RISCstation 2250.
    169   1.5      soda 
    170   1.6      soda     o	audio driver
    171   1.6      soda 
    172   1.4      soda     o	use MI driver
    173   1.4      soda 
    174   1.4      soda 	-   use MI ncr53c9x driver instead of home grown asc
    175   1.4      soda 
    176   1.4      soda 	-   use MI bha driver instead of home grown btl
    177   1.4      soda 
    178   1.4      soda 	-   make fd driver MI, and share it with i386
    179   1.4      soda 	    (contact christos about MI fd driver)
    180   1.1  jonathan 
    181   1.4      soda 	-   make pccons MI, and share it with i386,
    182   1.4      soda 	    or simply eliminate pccons
    183   1.5      soda 
    184  1.15      soda     o	LKM support on MIPS
    185   1.5      soda 
    186   1.6      soda     o	and missing MI devices
    187  1.15      soda 		ses?, vcoda, ...
    188   1.5      soda 
    189  1.11      soda     o	bus_dmamap_sync: Hit_Invalidate and Hit_Write_Back cache operation
    190  1.11      soda 
    191  1.11      soda     o	clean up ALEAF/NLEAF/NON_LEAF/NNON_LEAF in userland.
    192  1.11      soda 
    193  1.11      soda     o	resolve "XXX"
    194   1.1  jonathan 
    195   1.1  jonathan Lots of other things.....
    196