NetBSD/sys/arch/sun3/TODO

113 lines
3.8 KiB
Plaintext

THINGS TO BE DONE: (NetBSD/sun3 version) <$Revision: 1.1 $>
This is a list of things that need to be done for NetBSD/Sun3. Some
of these tasks are small, others are large. Some are extremely
critical, others would be useful to do, and some are fluff. Included
in each description, is a notation of its importance.
In general there are some guidelines for work to be included in
NetBSD/Sun3. Chief among these are:
(1) Keep GPLed stuff out of the kernel.
(2) Only clean code, that lends itself to further enhancement
(3) Keep architecture dependent code out of architecture independent
directories
Bootstrapping:
native boot blocks (HIGH)
nfs diskless boot blocks (HIGH)
make it easy to do nfs diskless (CRITICAL). currently you have to
hack up the nfs_diskless sturcture. this should be fixed by finishing
porting libnetboot.
Kernel core tasks (core):
make pmap module modifications necessary so that we can turn
on MACHINE_NONCONTIG,a kernel config option that allows for
non-contiguous physical memory. This work is necessitated by the
the frame buffer on the 3/50 which is plop in the middle of physical
ram. (CRITICAL)
compute idprom checksum, and check it (was lazy) (LOW)
need support for the sun eeprom, including a non-sun
copyrighted header file describing its structure. Needed
at least for console handling. (MEDIUM)
all the FPUCOPROC support is untested and from the hp300 port.
It needs to be better integrated and triggered by something other
than this awful define. Also need FPU emulation code. (CRITICAL)
msgbuf should be allocated later, using the pmap stuff,
same with high_segment crud. see the dvma_alloc code for
an example of how much cleaner this is. (LOW..it works now)
ddb support (MEDIUM)
kernel text is not protected. (CRITICAL..for debugging)
locore.s got split into many pieces as part of a bit of research
by the author into how much of it was truly sun-dependent vs
68k-dependent. Needs to be re-integrated into a standard
locore.s so that we can benefit from changes to the hp300, and
amiga ports, and vice-versa. (MEDIUM)
HPUX compatibility support (make it hang off p_emul like our
COMPAT_SUNOS support). (LOW)
add some debugging facilities to the pmap module. (MEDIUM)
pmap module should keep a 3-level cache of ptes instead of 2. (LOW)
find out why kernel has to be linked with such wierd options. (HIGH)
need /dev/eeprom driver functionality added to mem.c (LOW)
support for sun3x architecture (LOW)
Device-driver related tasks:
console handling (choice, detection, etc.) (MEDIUM)
OBIO probe support needed. support for handling the traps is
already present in the form of pcb_onfault. (MEDIUM)
Better OBIO configuration architecture, less re-computation of
default parameters. device-conflict notification (MEDIUM)
prom console currently can't accept input (CRITICAL)
VME support (CRITICAL)
zs driver - Zilog 8530 duart (MEDIUM)
sources: sparc port, mach3, sprite
scsi infrastructure, and drivers - use the scsi system in sys/scsi.
See config-file component in sys/arch/i386/conf
For host-adapter driver examples look
in sys/arch/{386/isa,mac68k/dev}
host adapter chip is NCR 5380.
dma chip is amd 9516.
secondary sources in: mac port, sprite, mach3
(SUPER_DUPER_CRITICAL)
kbd - must have same external interface as sun's kbd driver in order
to keep X happy. see supplied sprite code, maybe sparc port.
(HIGH)
mouse - must have same external interface as sun's mouse
driver in order to keep X happy. see supplied sprite
+ sparc code. (MEDIUM)
bw?, cg*,fb - must have same external interface as sun's to
keep X happy.
see sparc, and sprite code. (MEDIUM)
lance - switch to sparc code as a base instead of hp300. (LOW)
intel ether - driver for 'ie' intel 82586-based ethernet.
see mach3, and sprite (CRITICAL)