TODO revision 1.26
1$NetBSD: TODO,v 1.26 2008/02/02 15:39:49 tsutsui Exp $
2
3To do list (in some particular order)
4XXX 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 DESKstation 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 MI R10000 support)
52
53    o	SNI RM200PCI/RM300/RM400/RM600 support
54
55
56    o	parse ARC BIOS configuration information and use it
57
58    o	increase MAXPHYS to 64KB
59	(XXX why is it limited to 32KB?)
60
61    o	fix kernel start address
62	(maybe requires bootloader support)
63
64    o	allocate PICA_TL_BASE dynamically
65
66    o	remove inb/outb
67
68    o	remove UADDR
69
70    o	fix mem_clusters[] usage.
71
72    o	intrcnt[] name cleanup, use MI evcnt(9)
73
74    o	test and merge soren's clean up about proc0.p_addr.
75
76    o	redesign interrupt handler framework.
77	i/o bus devices should have sane IPL, but currently doesn't.
78
79    o	make CLKF_INTR() work.
80
81    o	it is better to always disable the MIPS3 internal timer interrupts
82	(i.e. MIPS_INT_MASK_5) if it is not needed for the system.
83	those are the points which should be fixed:
84	mips_idle: li t0, (MIPS_INT_MASK | MIPS_SR_INT_IE)
85	machdep.c: curpcb->pcb_context[11] = MIPS_INT_MASK | MIPS_SR_INT_IE;
86	spl0()
87	splnone()
88
89    o	XXX at least 2000/06/07 version is already quite unstable
90	on PICA and NEC Image RISCstation. (but almost OK on Magnum)
91	Userland commands dumps	core randomly.
92	This version is before _MIPS_PADDR_T_64BIT changes
93	and MIPS3_TLB_WIRED_UPAGES changes.	
94
95	"vm_page_zero_enable = FALSE" makes this problem disappeared.
96	(vm_page_zero_enable = FALSE by default on all archs w/ UBC, now)
97
98	currently, page zero in the idle loop is also disabled on
99	untested platforms like DESKstation rPC44/Tyne and SNI for safety.
100
101	    XXX what's the current status of uvm_pageidlezero()?
102
103
104    o	resolve "XXX"
105
106
107(following entries might be MI MIPS items)
108
109    o	Move the RO and WIRED attribute from the pte to the pv table.
110	This saves four instructions in the tlb miss handler.
111
112    o   Can we have 32 double registers?
113
114    o	64bit kernel/userland
115
116    o	omit __SWAP_BROKEN in <mips/types.h>
117
118    o	clean up ALEAF/NLEAF/NON_LEAF/NNON_LEAF in userland.
119
120Lots of other things.....
121