$NetBSD: TODO,v 1.31 2019/04/07 03:49:24 rin Exp $ To do list (in some particular order) XXX some entries might be obsolete. o use MI driver - make fd driver MI, and share it with other ports (contact christos about MI fd driver) - use MI bha driver instead of home grown btl XXX needs fixes of DESKstation support o VXL framebuffer support (Magnum, RISCstation 2200) (Note nowadays QEMU supports Magnum 4000 with VXL) o com_jazzio.c - clock handling clean up (obtain from ARC BIOS) - fifo disabling may be only needed on some Magnum? o AD1848 audio support o missing MI devices ses?, vcoda, ... o Xserver - VXL Magnum, RISCstation 2200 - vga/S3 PICA, Image RISCstation - OpenBSD's? - vga/cirrus RISCserver 2200, Express5800/240 R4400 EISA - vga/??? DESKstation Tyne, rPC44 - TGA RISCstation 2250, Express5800/230 R4400 PCI (TGA support in XalphaNetBSD just works, but needs XOrg'fy) o Find out why bitmap load to S3-928 flashes screen. (X server) Know why (enable linear mode). Need S3 info. o repair DescStation support - requires bounce buffer bus_dma for Tyne XXX - too small bounce buffer size (128KB) o Olivetti M700 support o NEC Express5800/230 R10000 PCI (NEC-J95) support (needs info about interrupt, jazzio device address etc.) o SNI RM200PCI/RM300/RM400/RM600 support (Linux/MIPS seems to have some info) o parse ARC BIOS configuration information and use it o fix kernel start address o allocate PICA_TL_BASE dynamically o remove inb/outb o fix mem_clusters[] usage. o redesign interrupt handler framework. o it is better to always disable the MIPS3 internal timer interrupts (i.e. MIPS_INT_MASK_5) if it is not needed for the system. those are the points which should be fixed: mips_idle: li t0, (MIPS_INT_MASK | MIPS_SR_INT_IE) machdep.c: curpcb->pcb_context[11] = MIPS_INT_MASK | MIPS_SR_INT_IE; spl0() splnone() o XXX at least 2000/06/07 version is already quite unstable on PICA and NEC Image RISCstation. (but almost OK on Magnum) Userland commands dumps core randomly. This version is before _MIPS_PADDR_T_64BIT changes and MIPS3_TLB_WIRED_UPAGES changes. "vm_page_zero_enable = FALSE" makes this problem disappeared. (vm_page_zero_enable = FALSE by default on all archs w/ UBC, now) currently, page zero in the idle loop is also disabled on untested platforms like DESKstation rPC44/Tyne and SNI for safety. XXX what's the current status of uvm_pageidlezero()? o resolve "XXX" (following entries might be MI MIPS items) o Move the RO and WIRED attribute from the pte to the pv table. This saves four instructions in the tlb miss handler. o clean up ALEAF/NLEAF/NON_LEAF/NNON_LEAF in userland. Lots of other things.....