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