113 lines
3.8 KiB
Plaintext
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)
|