1$NetBSD: TODO,v 1.31 2019/04/07 03:49:24 rin 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     fix mem_clusters[] usage.
63
64    o     redesign interrupt handler framework.
65
66    o     it is better to always disable the MIPS3 internal timer interrupts
67          (i.e. MIPS_INT_MASK_5) if it is not needed for the system.
68          those are the points which should be fixed:
69          mips_idle: li t0, (MIPS_INT_MASK | MIPS_SR_INT_IE)
70          machdep.c: curpcb->pcb_context[11] = MIPS_INT_MASK | MIPS_SR_INT_IE;
71          spl0()
72          splnone()
73
74    o     XXX at least 2000/06/07 version is already quite unstable
75          on PICA and NEC Image RISCstation. (but almost OK on Magnum)
76          Userland commands dumps       core randomly.
77          This version is before _MIPS_PADDR_T_64BIT changes
78          and MIPS3_TLB_WIRED_UPAGES changes.
79
80          "vm_page_zero_enable = FALSE" makes this problem disappeared.
81          (vm_page_zero_enable = FALSE by default on all archs w/ UBC, now)
82
83          currently, page zero in the idle loop is also disabled on
84          untested platforms like DESKstation rPC44/Tyne and SNI for safety.
85
86              XXX what's the current status of uvm_pageidlezero()?
87
88
89    o     resolve "XXX"
90
91
92(following entries might be MI MIPS items)
93
94    o     Move the RO and WIRED attribute from the pte to the pv table.
95          This saves four instructions in the tlb miss handler.
96
97    o     clean up ALEAF/NLEAF/NON_LEAF/NNON_LEAF in userland.
98
99Lots of other things.....
100