46 lines
2.5 KiB
Plaintext
46 lines
2.5 KiB
Plaintext
|
This version of NetBSD now includes support for the 68040. This version
|
||
|
should support both the 68030 and 68040 processors with a single kernel.
|
||
|
|
||
|
The config option FPSP will include the full Floating Point Support
|
||
|
Package to provide emulation of the floating point instructions not
|
||
|
implemented by the 68040. If the FPSP option is not used, then a
|
||
|
dummy file is included that will cause a panic if any FPSP routine
|
||
|
is called. This allows building a smaller kernel specifically for
|
||
|
the 68030.
|
||
|
|
||
|
The FPSP is provided as an object file. The FPSP was ported to gas by
|
||
|
Eric Norum (eric@skatter.usask.ca) and is available by anonymous ftp from:
|
||
|
ftp.usask.ca /pub/software/fpsp/fpsp_gas.tar.gz
|
||
|
Note: Motorola still holds the title and all rights to the FPSP.
|
||
|
|
||
|
Support for the Progressive Peripherals Incorporated Zeus SCSI interface
|
||
|
is also included. If the configuration file does not include support for
|
||
|
the A3000/A2091/GVP11 drivers, then including the "zeusscsi" driver will
|
||
|
configure the driver to use the sd (disk) and st (tape) devices. If any
|
||
|
of the A3000/A2091/GVP11 drivers are configured, then including the zeusscsi
|
||
|
driver will be configured to use a second set of scsi devices: rz (disk)
|
||
|
and tz (tape). The rz and tz devices have different major device numbers:
|
||
|
rz - 5 = block, 9 = character
|
||
|
tz - 8 = block, 23 = character
|
||
|
WARNING: since the PPI Zeus SCSI uses the level 6 interrupt, the kernel
|
||
|
must be compiled with the splbio() macro defined as spl6(). If not,
|
||
|
then then random kernel hangs will occur. One bad side effect of changing
|
||
|
splbio() is that it will also block the clock interrupts, which can
|
||
|
result in incorrect timing. The 53C710 driver (siop.c) also includes
|
||
|
support the the CSA Magnum 40, but this has not been tested yet.
|
||
|
|
||
|
The 68040 MMU implementation is not optimal at this time. It was added
|
||
|
in a manner to fit in with the current 68030 MMU setup without needing
|
||
|
to completely rewrite the MMU routines. The existing 68030 MMU layout
|
||
|
was implemented using a two level table: a segment table, and a page
|
||
|
table. The 68040 MMU can only use a three level table. To simulate a
|
||
|
two level table, the top level descriptor table is set up and the full
|
||
|
level 2 descriptor table is allocated and used as the "segment" table.
|
||
|
This results in 9 pages, or 72K bytes, being allocated for the initial
|
||
|
page table for each process.
|
||
|
|
||
|
The reboot command does not work for some reason. It appears to do the
|
||
|
reset instruction, but doesn't seem to do anything after that.
|
||
|
|
||
|
Michael Hitch
|