TODO revision 1.23 1 1.23 tsutsui $NetBSD: TODO,v 1.23 2005/11/15 15:00:15 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.11 soda - make CLKF_INTR() work.
104 1.11 soda
105 1.23 tsutsui o it is better to always disable the MIPS3 internal timer interrupts
106 1.23 tsutsui (i.e. MIPS_INT_MASK_5) if it is not needed for the system.
107 1.9 soda those are the points which should be fixed:
108 1.9 soda mips_idle: li t0, (MIPS_INT_MASK | MIPS_SR_INT_IE)
109 1.9 soda machdep.c: curpcb->pcb_context[11] = MIPS_INT_MASK | MIPS_SR_INT_IE;
110 1.9 soda spl0()
111 1.9 soda splnone()
112 1.10 soda
113 1.17 tsutsui o XXX at least 2000/06/07 version is already quite unstable
114 1.17 tsutsui on PICA and NEC Image RISCstation. (but almost OK on Magnum)
115 1.17 tsutsui Userland commands dumps core randomly.
116 1.17 tsutsui This version is before _MIPS_PADDR_T_64BIT changes
117 1.17 tsutsui and MIPS3_TLB_WIRED_UPAGES changes.
118 1.1 jonathan
119 1.17 tsutsui "vm_page_zero_enable = FALSE" makes this problem disappeared.
120 1.17 tsutsui (vm_page_zero_enable = FALSE by default on all archs w/ UBC, now)
121 1.11 soda
122 1.17 tsutsui currently, page zero in the idle loop is also disabled on
123 1.17 tsutsui untested platforms like DESKstation rPC44/Tyne and SNI for safety.
124 1.11 soda
125 1.17 tsutsui XXX what's the current status of uvm_pageidlezero()?
126 1.11 soda
127 1.4 soda
128 1.17 tsutsui o resolve "XXX"
129 1.5 soda
130 1.4 soda
131 1.17 tsutsui (following entries might be MI MIPS items)
132 1.11 soda
133 1.17 tsutsui o Move the RO and WIRED attribute from the pte to the pv table.
134 1.17 tsutsui This saves four instructions in the tlb miss handler.
135 1.15 soda
136 1.17 tsutsui o Can we have 32 double registers?
137 1.15 soda
138 1.17 tsutsui o 64bit kernel/userland
139 1.15 soda
140 1.17 tsutsui o omit __SWAP_BROKEN in <mips/types.h>
141 1.11 soda
142 1.11 soda o clean up ALEAF/NLEAF/NON_LEAF/NNON_LEAF in userland.
143 1.1 jonathan
144 1.1 jonathan Lots of other things.....
145