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