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