Home | History | Annotate | Line # | Download | only in arc
TODO revision 1.10
      1  1.10      soda $NetBSD: TODO,v 1.10 2000/05/09 07:30:14 soda Exp $
      2   1.2   thorpej 
      3   1.1  jonathan To do list (not in any particular order).
      4   1.1  jonathan 
      5   1.9      soda     o	XXX sudden hang up in a few minutes or dozens of minutes.
      6   1.9      soda 	2000 Mar 17 -current is OK. Mar 29 is NG.
      7   1.9      soda 
      8   1.1  jonathan     o	Move the RO and WIRED attribute from the pte to the pv table.
      9   1.1  jonathan 	This saves four instructions in the tlb miss handler.
     10   1.1  jonathan 
     11   1.1  jonathan     o   Boot. Standalone boot program instead of booting the kernel directly?
     12   1.1  jonathan 
     13   1.5      soda     o   Find out why bitmap load to S3-928 flashes screen. (X server)
     14   1.4      soda 	Know why (enable linear mode). Need S3 info.
     15   1.4      soda 
     16   1.4      soda     o   Can we have 32 double registers?
     17   1.4      soda 
     18   1.4      soda     o	64bit kernel/userland
     19   1.4      soda 
     20   1.5      soda     o	repair DeskStation and Algor support
     21   1.5      soda 
     22   1.5      soda 	-   64bit device physical address space for Tyne (see OpenBSD pmap.c)
     23   1.5      soda 
     24   1.5      soda 	-   requires bus_dma
     25   1.5      soda 
     26   1.4      soda     o	source code structure is quite obsolete,
     27   1.4      soda 	general clean up is needed as nisimura-san suggested.
     28   1.4      soda 	especially:
     29   1.4      soda 
     30   1.4      soda  	-   introduce struct platform and remove ugly ``switch (cputype)''
     31   1.4      soda 	    in many places.
     32   1.4      soda 
     33   1.7  nisimura 	-   redesign interrupt handler framework to be flexible for
     34   1.7  nisimura 	    possible variations; must be sane and useful for R4030/R4230
     35   1.7  nisimura 	    'local' devices and any combinations with ISA/EISA/PCI
     36   1.7  nisimura 
     37   1.7  nisimura 	-   implement and use bus_dma, keeping in mind TLB assisted VDMA
     38   1.7  nisimura 	    that R4030/R4230 chip provides
     39   1.1  jonathan 
     40   1.4      soda 	-   clean up bus_space implementation, remove inb/outb
     41   1.8  nisimura 
     42   1.8  nisimura 	-   try to interporate HZ; may be possible for R4030/R4230 system
     43   1.8  nisimura 	    or 'hardclock() by R4000' system.  Clock resolution of 100Hz
     44   1.8  nisimura 	    without any interporation is substandard
     45   1.9      soda 
     46   1.9      soda     o	overblocking on interrupt handler, and related problems
     47   1.9      soda 
     48   1.9      soda 	-   SR_INT_IE should be enabled before calling hardclock().
     49   1.9      soda 	    Since this is not done currently, spllowersoftclock()
     50   1.9      soda 	    on hardclock() doesn't have effect, and softclock() is
     51   1.9      soda 	    handled with all interrupt disabled in this case.
     52   1.9      soda 		-> overblocking, possibly causes missing hardclock()
     53   1.9      soda 
     54   1.9      soda 	-   MIPS3_CLKF_BASEPRI() doesn't work correctly,
     55   1.9      soda 	    when MIPS_INT_MASK_5 (== MIPS_INT_MASK_CLOCK) is disabled.
     56   1.9      soda 		-> micro optimization on hardclock() doesn't work.
     57   1.9      soda 		   but currently this may make hardclock() latency better
     58   1.9      soda 		   due to above SR_INT_IE problem.
     59   1.9      soda 	    s/MIPS_INT_MASK/MIPS3_INT_MASK/ makes this work, although tricky.
     60   1.9      soda 
     61   1.9      soda 	-   if (ipending & INT_MASK_REAL_DEV) == 0,
     62   1.9      soda 	    softnet() and softclock() are handled with all interrupt disabled.
     63   1.9      soda 		-> overblocking, possibly causes missing hardclock()
     64   1.9      soda 
     65   1.9      soda 	-   softclock() is handled with softnet() disabled.
     66   1.9      soda 		-> slightly overblocking
     67   1.9      soda 
     68   1.9      soda 	-   `netisr' handling in netintr() implies potential race condition.
     69   1.9      soda 	    `netisr' access should be protected by splnet().
     70   1.9      soda 	    currently this is not real problem due to above overblocking.
     71   1.9      soda 
     72   1.9      soda 	    `ssir' handling on many mips ports has same problem.
     73   1.9      soda 	    It should be protected by splnet() or splserial() or splhigh()
     74   1.9      soda 	    (depends on the highest interrupt level which sets `ssir').
     75   1.9      soda 	    Since `ssir' is accessed not only by setsoftnet() but also
     76   1.9      soda 	    by setsoft(), setsoftnet() should protect `ssir' by splserial()
     77   1.9      soda 	    or something. (i.e. priority level which setsoft() will be called)
     78   1.9      soda 	    Probably, it is better to split `ssir' variable for each
     79   1.9      soda 	    priority level.
     80   1.9      soda 	    also, _clearsoftintr() should be called before `ssir' access.
     81   1.9      soda 	    currently this is not real problem due to above overblocking.
     82   1.9      soda 
     83  1.10      soda 	-   INT_MASK_REAL_DEV should be removed
     84  1.10      soda 
     85   1.9      soda     o	it is better to always disable MIPS_INT_MASK_CLOCK.
     86   1.9      soda 	those are the points which should be fixed:
     87   1.9      soda 	mips_idle: li t0, (MIPS_INT_MASK | MIPS_SR_INT_IE)
     88   1.9      soda 	machdep.c: curpcb->pcb_context[11] = MIPS_INT_MASK | MIPS_SR_INT_IE;
     89   1.9      soda 	spl0()
     90   1.9      soda 	splnone()
     91  1.10      soda 
     92  1.10      soda 	-   MIPS_INT_MASK_CLOCK should be removed in someway
     93   1.1  jonathan 
     94   1.4      soda     o	fix kernel start address
     95   1.1  jonathan 
     96   1.4      soda     o	merge new wscons
     97   1.1  jonathan 
     98   1.4      soda     o	parse ARC BIOS configuration information and use it
     99   1.4      soda 
    100   1.5      soda     o	omit __BROKEN_CONFIG_UNIT_USAGE
    101   1.5      soda 
    102   1.5      soda     o	omit __SWAP_BROKEN in <mips/types.h>
    103   1.5      soda 
    104   1.4      soda     o	fix implementation of DELAY(), clean up clock implementation
    105   1.4      soda 
    106   1.5      soda     o	asc.c scsi clock/NCR53CF94 handling clean up
    107   1.5      soda 
    108   1.4      soda     o	if_sn.c ether address handling clean up
    109   1.4      soda 
    110   1.5      soda     o	com_lbus.c clock handling clean up
    111   1.5      soda 
    112   1.5      soda     o	implement NCR 53c700(?) driver for NEC RISCserver 2200
    113   1.5      soda 	based on amiga siop driver?
    114   1.5      soda 
    115   1.6      soda     o	audio driver
    116   1.6      soda 
    117   1.4      soda     o	use MI driver
    118   1.4      soda 
    119   1.4      soda 	-   use MI ncr53c9x driver instead of home grown asc
    120   1.4      soda 
    121   1.4      soda 	-   use MI bha driver instead of home grown btl
    122   1.4      soda 
    123   1.4      soda 	-   make sonic driver MI, and share it with mac68k, newsmips/apbus
    124   1.4      soda 
    125   1.4      soda 	-   make fd driver MI, and share it with i386
    126   1.4      soda 	    (contact christos about MI fd driver)
    127   1.1  jonathan 
    128   1.4      soda 	-   make pccons MI, and share it with i386,
    129   1.4      soda 	    or simply eliminate pccons
    130   1.5      soda 
    131   1.6      soda 	-   LKM
    132   1.5      soda 
    133   1.6      soda     o	ARC boot device name -> NetBSD root device conversion
    134   1.5      soda 
    135   1.6      soda     o	and missing MI devices
    136   1.6      soda 		ses?, lkm, vcoda, ...
    137   1.5      soda 
    138   1.6      soda     o	way to specify serial console
    139   1.5      soda 
    140   1.5      soda     o resolve "XXX"
    141   1.1  jonathan 
    142   1.1  jonathan Lots of other things.....
    143