TODO revision 1.25 1 $NetBSD: TODO,v 1.25 2007/03/04 09:09:10 tsutsui Exp $
2
3 To do list (in some particular order)
4 XXX some entries might be obsolete.
5
6 o sysinst
7 maybe MD fdisk partitioning support is required to load files
8 from FAT partition on ARC BIOS prompt.
9
10 o install notes
11
12
13 o use MI driver
14
15 - make fd driver MI, and share it with other ports
16 (contact christos about MI fd driver)
17
18 - use MI bha driver instead of home grown btl
19 XXX needs fixes of DESKstation support
20
21 o VXL framebuffer support (Magnum, RISCstation 2200)
22
23 o com_jazzio.c
24 - clock handling clean up (obtain from ARC BIOS)
25 - fifo disabling may be only needed on some Magnum?
26
27 o remove pccons and switch to wscons completely
28 (XXX what's the problem to remove pccons?)
29
30 o AD1848 audio support
31
32 o missing MI devices
33 ses?, vcoda, ...
34
35
36 o Xserver
37
38 - VXL Magnum, RISCstation 2200
39 - vga/S3 PICA, Image RISCstation - OpenBSD's?
40 - vga/cirrus RISCserver 2200, Express5800/240 R4400 EISA
41 - vga/??? DESKstation Tyne, rPC44
42 - TGA RISCstation 2250, Express5800/230 R4400 PCI
43
44 o Find out why bitmap load to S3-928 flashes screen. (X server)
45 Know why (enable linear mode). Need S3 info.
46
47
48 o repair DESKstation support
49 - requires bounce buffer bus_dma for Tyne
50 XXX - too small bounce buffer size (128KB)
51
52 o Olivetti M700 support
53
54 o NEC Express5800/230 R10000 PCI (NEC-J95) support
55 (needs MI R10000 support)
56
57 o SNI RM200PCI/RM300/RM400/RM600 support
58
59
60 o parse ARC BIOS configuration information and use it
61
62 o increase MAXPHYS to 64KB
63 (XXX why is it limited to 32KB?)
64
65 o fix kernel start address
66 (maybe requires bootloader support)
67
68 o allocate PICA_TL_BASE dynamically
69
70 o remove inb/outb
71
72 o remove UADDR
73
74 o fix mem_clusters[] usage.
75
76 o intrcnt[] name cleanup, use MI evcnt(9)
77
78 o test and merge soren's clean up about proc0.p_addr.
79
80 o redesign interrupt handler framework.
81 i/o bus devices should have sane IPL, but currently doesn't.
82
83 o make CLKF_INTR() work.
84
85 o it is better to always disable the MIPS3 internal timer interrupts
86 (i.e. MIPS_INT_MASK_5) if it is not needed for the system.
87 those are the points which should be fixed:
88 mips_idle: li t0, (MIPS_INT_MASK | MIPS_SR_INT_IE)
89 machdep.c: curpcb->pcb_context[11] = MIPS_INT_MASK | MIPS_SR_INT_IE;
90 spl0()
91 splnone()
92
93 o XXX at least 2000/06/07 version is already quite unstable
94 on PICA and NEC Image RISCstation. (but almost OK on Magnum)
95 Userland commands dumps core randomly.
96 This version is before _MIPS_PADDR_T_64BIT changes
97 and MIPS3_TLB_WIRED_UPAGES changes.
98
99 "vm_page_zero_enable = FALSE" makes this problem disappeared.
100 (vm_page_zero_enable = FALSE by default on all archs w/ UBC, now)
101
102 currently, page zero in the idle loop is also disabled on
103 untested platforms like DESKstation rPC44/Tyne and SNI for safety.
104
105 XXX what's the current status of uvm_pageidlezero()?
106
107
108 o resolve "XXX"
109
110
111 (following entries might be MI MIPS items)
112
113 o Move the RO and WIRED attribute from the pte to the pv table.
114 This saves four instructions in the tlb miss handler.
115
116 o Can we have 32 double registers?
117
118 o 64bit kernel/userland
119
120 o omit __SWAP_BROKEN in <mips/types.h>
121
122 o clean up ALEAF/NLEAF/NON_LEAF/NNON_LEAF in userland.
123
124 Lots of other things.....
125