NetBSD/sys/arch/arc/TODO

104 lines
2.8 KiB
Plaintext

$NetBSD: TODO,v 1.29 2011/01/08 09:44:37 tsutsui 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 remove UADDR
o fix mem_clusters[] usage.
o intrcnt[] name cleanup, use MI evcnt(9)
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.....