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