1$NetBSD: TODO,v 1.27 2008/02/02 15:47:48 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 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 117Lots of other things..... 118