TODO revision 1.25
1$NetBSD: TODO,v 1.25 2007/03/04 09:09:10 tsutsui Exp $ 2 3To do list (in some particular order) 4XXX some entries might be obsolete. 5 6 o sysinst 7 maybe MD fdisk partitioning support is required to load files 8 from FAT partition on ARC BIOS prompt. 9 10 o install notes 11 12 13 o use MI driver 14 15 - make fd driver MI, and share it with other ports 16 (contact christos about MI fd driver) 17 18 - use MI bha driver instead of home grown btl 19 XXX needs fixes of DESKstation support 20 21 o VXL framebuffer support (Magnum, RISCstation 2200) 22 23 o com_jazzio.c 24 - clock handling clean up (obtain from ARC BIOS) 25 - fifo disabling may be only needed on some Magnum? 26 27 o remove pccons and switch to wscons completely 28 (XXX what's the problem to remove pccons?) 29 30 o AD1848 audio support 31 32 o missing MI devices 33 ses?, vcoda, ... 34 35 36 o Xserver 37 38 - VXL Magnum, RISCstation 2200 39 - vga/S3 PICA, Image RISCstation - OpenBSD's? 40 - vga/cirrus RISCserver 2200, Express5800/240 R4400 EISA 41 - vga/??? DESKstation Tyne, rPC44 42 - TGA RISCstation 2250, Express5800/230 R4400 PCI 43 44 o Find out why bitmap load to S3-928 flashes screen. (X server) 45 Know why (enable linear mode). Need S3 info. 46 47 48 o repair DESKstation support 49 - requires bounce buffer bus_dma for Tyne 50 XXX - too small bounce buffer size (128KB) 51 52 o Olivetti M700 support 53 54 o NEC Express5800/230 R10000 PCI (NEC-J95) support 55 (needs MI R10000 support) 56 57 o SNI RM200PCI/RM300/RM400/RM600 support 58 59 60 o parse ARC BIOS configuration information and use it 61 62 o increase MAXPHYS to 64KB 63 (XXX why is it limited to 32KB?) 64 65 o fix kernel start address 66 (maybe requires bootloader support) 67 68 o allocate PICA_TL_BASE dynamically 69 70 o remove inb/outb 71 72 o remove UADDR 73 74 o fix mem_clusters[] usage. 75 76 o intrcnt[] name cleanup, use MI evcnt(9) 77 78 o test and merge soren's clean up about proc0.p_addr. 79 80 o redesign interrupt handler framework. 81 i/o bus devices should have sane IPL, but currently doesn't. 82 83 o make CLKF_INTR() work. 84 85 o it is better to always disable the MIPS3 internal timer interrupts 86 (i.e. MIPS_INT_MASK_5) if it is not needed for the system. 87 those are the points which should be fixed: 88 mips_idle: li t0, (MIPS_INT_MASK | MIPS_SR_INT_IE) 89 machdep.c: curpcb->pcb_context[11] = MIPS_INT_MASK | MIPS_SR_INT_IE; 90 spl0() 91 splnone() 92 93 o XXX at least 2000/06/07 version is already quite unstable 94 on PICA and NEC Image RISCstation. (but almost OK on Magnum) 95 Userland commands dumps core randomly. 96 This version is before _MIPS_PADDR_T_64BIT changes 97 and MIPS3_TLB_WIRED_UPAGES changes. 98 99 "vm_page_zero_enable = FALSE" makes this problem disappeared. 100 (vm_page_zero_enable = FALSE by default on all archs w/ UBC, now) 101 102 currently, page zero in the idle loop is also disabled on 103 untested platforms like DESKstation rPC44/Tyne and SNI for safety. 104 105 XXX what's the current status of uvm_pageidlezero()? 106 107 108 o resolve "XXX" 109 110 111(following entries might be MI MIPS items) 112 113 o Move the RO and WIRED attribute from the pte to the pv table. 114 This saves four instructions in the tlb miss handler. 115 116 o Can we have 32 double registers? 117 118 o 64bit kernel/userland 119 120 o omit __SWAP_BROKEN in <mips/types.h> 121 122 o clean up ALEAF/NLEAF/NON_LEAF/NNON_LEAF in userland. 123 124Lots of other things..... 125