TODO revision 1.23
11.23Stsutsui$NetBSD: TODO,v 1.23 2005/11/15 15:00:15 tsutsui Exp $ 21.2Sthorpej 31.17StsutsuiTo do list (in some particular order) 41.17StsutsuiXXX some entries might be obsolete. 51.12Ssoda 61.17Stsutsui o sysinst 71.17Stsutsui maybe MD fdisk partitioning support is required to load files 81.17Stsutsui from FAT partition on ARC BIOS prompt. 91.17Stsutsui 101.17Stsutsui o install notes 111.17Stsutsui 121.17Stsutsui 131.17Stsutsui o use MI driver 141.17Stsutsui 151.17Stsutsui - make fd driver MI, and share it with other ports 161.17Stsutsui (contact christos about MI fd driver) 171.17Stsutsui 181.17Stsutsui - use MI bha driver instead of home grown btl 191.17Stsutsui XXX needs fixes of DESKstation support 201.14Ssoda 211.17Stsutsui o VXL framebuffer support (Magnum, RISCstation 2200) 221.14Ssoda 231.17Stsutsui o com_jazzio.c 241.17Stsutsui - clock handling clean up (obtain from ARC BIOS) 251.17Stsutsui - fifo disabling may be only needed on some Magnum? 261.1Sjonathan 271.17Stsutsui o remove pccons and switch to wscons completely 281.17Stsutsui (XXX what's the problem to remove pccons?) 291.9Ssoda 301.17Stsutsui o AD1848 audio support 311.1Sjonathan 321.17Stsutsui o missing MI devices 331.17Stsutsui ses?, vcoda, ... 341.1Sjonathan 351.4Ssoda 361.17Stsutsui o Xserver 371.4Ssoda 381.17Stsutsui - VXL Magnum, RISCstation 2200 391.17Stsutsui - vga/S3 PICA, Image RISCstation - OpenBSD's? 401.17Stsutsui - vga/cirrus RISCserver 2200, Express5800/240 R4400 EISA 411.17Stsutsui - vga/??? DESKstation Tyne, rPC44 421.17Stsutsui - TGA RISCstation 2250, Express5800/230 R4400 PCI 431.4Ssoda 441.17Stsutsui o Find out why bitmap load to S3-928 flashes screen. (X server) 451.17Stsutsui Know why (enable linear mode). Need S3 info. 461.5Ssoda 471.5Ssoda 481.15Ssoda o repair DESKstation support 491.11Ssoda - requires bounce buffer bus_dma for Tyne 501.17Stsutsui XXX - too small bounce buffer size (128KB) 511.11Ssoda 521.15Ssoda o Olivetti M700 support 531.11Ssoda 541.19Stsutsui o NEC Express5800/230 R10000 PCI (NEC-J95) support 551.17Stsutsui (needs MI R10000 support) 561.11Ssoda 571.17Stsutsui o SNI RM200PCI/RM300/RM400/RM600 support 581.11Ssoda 591.11Ssoda 601.17Stsutsui o parse ARC BIOS configuration information and use it 611.11Ssoda 621.17Stsutsui o increase MAXPHYS to 64KB 631.17Stsutsui (XXX why is it limited to 32KB?) 641.11Ssoda 651.17Stsutsui o fix kernel start address 661.17Stsutsui (maybe requires bootloader support) 671.11Ssoda 681.17Stsutsui o allocate PICA_TL_BASE dynamically 691.5Ssoda 701.15Ssoda o remove inb/outb 711.8Snisimura 721.15Ssoda o remove UADDR 731.9Ssoda 741.17Stsutsui o fix mem_clusters[] usage. 751.17Stsutsui 761.17Stsutsui o intrcnt[] name cleanup, use MI evcnt(9) 771.17Stsutsui 781.17Stsutsui o test and merge soren's clean up about proc0.p_addr. 791.17Stsutsui 801.15Ssoda o redesign interrupt handler framework. 811.15Ssoda i/o bus devices should have sane IPL, but currently doesn't. 821.13Ssoda 831.15Ssoda also, current MIPS interrupt handler has overblocking and 841.15Ssoda other problems as follows: 851.9Ssoda 861.9Ssoda - SR_INT_IE should be enabled before calling hardclock(). 871.9Ssoda Since this is not done currently, spllowersoftclock() 881.9Ssoda on hardclock() doesn't have effect, and softclock() is 891.9Ssoda handled with all interrupt disabled in this case. 901.9Ssoda -> overblocking, possibly causes missing hardclock() 911.9Ssoda 921.9Ssoda - MIPS3_CLKF_BASEPRI() doesn't work correctly, 931.9Ssoda when MIPS_INT_MASK_5 (== MIPS_INT_MASK_CLOCK) is disabled. 941.9Ssoda -> micro optimization on hardclock() doesn't work. 951.9Ssoda but currently this may make hardclock() latency better 961.9Ssoda due to above SR_INT_IE problem. 971.9Ssoda s/MIPS_INT_MASK/MIPS3_INT_MASK/ makes this work, although tricky. 981.9Ssoda 991.9Ssoda - if (ipending & INT_MASK_REAL_DEV) == 0, 1001.9Ssoda softnet() and softclock() are handled with all interrupt disabled. 1011.9Ssoda -> overblocking, possibly causes missing hardclock() 1021.9Ssoda 1031.11Ssoda - make CLKF_INTR() work. 1041.11Ssoda 1051.23Stsutsui o it is better to always disable the MIPS3 internal timer interrupts 1061.23Stsutsui (i.e. MIPS_INT_MASK_5) if it is not needed for the system. 1071.9Ssoda those are the points which should be fixed: 1081.9Ssoda mips_idle: li t0, (MIPS_INT_MASK | MIPS_SR_INT_IE) 1091.9Ssoda machdep.c: curpcb->pcb_context[11] = MIPS_INT_MASK | MIPS_SR_INT_IE; 1101.9Ssoda spl0() 1111.9Ssoda splnone() 1121.10Ssoda 1131.17Stsutsui o XXX at least 2000/06/07 version is already quite unstable 1141.17Stsutsui on PICA and NEC Image RISCstation. (but almost OK on Magnum) 1151.17Stsutsui Userland commands dumps core randomly. 1161.17Stsutsui This version is before _MIPS_PADDR_T_64BIT changes 1171.17Stsutsui and MIPS3_TLB_WIRED_UPAGES changes. 1181.1Sjonathan 1191.17Stsutsui "vm_page_zero_enable = FALSE" makes this problem disappeared. 1201.17Stsutsui (vm_page_zero_enable = FALSE by default on all archs w/ UBC, now) 1211.11Ssoda 1221.17Stsutsui currently, page zero in the idle loop is also disabled on 1231.17Stsutsui untested platforms like DESKstation rPC44/Tyne and SNI for safety. 1241.11Ssoda 1251.17Stsutsui XXX what's the current status of uvm_pageidlezero()? 1261.11Ssoda 1271.4Ssoda 1281.17Stsutsui o resolve "XXX" 1291.5Ssoda 1301.4Ssoda 1311.17Stsutsui(following entries might be MI MIPS items) 1321.11Ssoda 1331.17Stsutsui o Move the RO and WIRED attribute from the pte to the pv table. 1341.17Stsutsui This saves four instructions in the tlb miss handler. 1351.15Ssoda 1361.17Stsutsui o Can we have 32 double registers? 1371.15Ssoda 1381.17Stsutsui o 64bit kernel/userland 1391.15Ssoda 1401.17Stsutsui o omit __SWAP_BROKEN in <mips/types.h> 1411.11Ssoda 1421.11Ssoda o clean up ALEAF/NLEAF/NON_LEAF/NNON_LEAF in userland. 1431.1Sjonathan 1441.1SjonathanLots of other things..... 145