File:  [NetBSD Developer Wiki] / wikisrc / ports / mvme68k.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Sat Dec 22 23:04:05 2012 UTC (16 months ago) by mspo
Branches: MAIN
CVS tags: HEAD
add more port pages

[[!template id=port
port="mvme68k"
cur_rel="6.0"  
future_rel="7.0"
changes_cur="6.0"
changes_future="7.0"
thumbnail="http://www.netbsd.org/images/ports/mvme68k/mvme167b.gif"
about="""
NetBSD/mvme68k is the port of NetBSD to Motorola's 68k VME Single Board
Computers (SBC). The first Motorola SBC was introduced in 1988. Motorola
has continued development on 68k and PowerPC based SBC VME modules.

Development activity on NetBSD/mvme68k continues at a speed that depends
on people's spare time and access to hardware. NetBSD runs on the
original Motorola 68k VME SBC (MVME147), the 68040 based MVME162 (LX
200/300 and the new P2/P4 series based on the Petra ASIC), MVME167 and
the 68060 based MVME172 (LX 200/300 and Petra P2/P4) and MVME177 boards.

Originally ported by Chuck Cranor based on Paul Mackerras' old DA30
code, NetBSD/mvme68k has been supported since the [NetBSD 1.1
release](../../releases/formal-1.1/).

The NetBSD/mvme68k 1.1 release was fairly basic; running as a diskless
NFS client with no SCSI or parallel printer support, and only two of the
four serial ports working. The boot process was quite long-winded;
transfer a first-stage bootloader using srecords over a serial port from
a second host computer, transfer a second-stage bootloader using TFTP
over the ethernet from the server, finally grab the kernel from the
mvme68k root file-system image on the NFS server.

At about this time, [Steve Woodford](http://www.mctavish.co.uk/)
discovered NetBSD/mvme68k and over the coming months added SCSI and
parallel printer support. Booting from SCSI disk was first supported in
the 1.2 release, although the system still had to be installed using the
original netboot method described above due to problems with booting
from tape.

Up to and including the [NetBSD 1.2](../../releases/formal-1.2/)
releases, the NetBSD/mvme68k release sets consisted of a couple of
compressed tar files; one for root, the other for /usr. As of [NetBSD
1.3](../../releases/formal-1.3/), however, the release follows the
official NetBSD convention, including a comprehensive installation
script. Additionally, booting from SCSI tape is now supported, so an NFS
server is no longer required to enable system installation.
"""
supported_hardware="""
These are the Motorola Single Board Computers that NetBSD/mvme68k
supports.

-   [MVME147 family](#MVME147%20family)
-   [MVME162 family](#MVME162%20family)
-   [MVME167 family](#MVME167%20family)
-   [MVME172 family](#MVME172%20family)
-   [MVME177 family](#MVME177%20family)

These are the other supported VMEbus boards that NetBSD/mvme68k
supports.

-   [VMEbus RAM Boards](#VMEbus%20RAM%20Boards)
-   [MVME712 Transition Board](#MVME712%20Transition%20Board)

MVME147 family
--------------

CPU-specific support for the MVME147 family of Single Board Computers
was written by Chuck Cranor.

### Supported Hardware

Initially introduced in 1988, the [MVME147
family](http://mcg.motorola.com/cfm/templates/product.cfm?PageID=872&ProductID=1&PageTypeID=1)
is Motorola's oldest Single Board Computer (SBC) product. It was the
first VME board with integrated networking, serial communications, mass
storage interface, and parallel port. This VMEbus SBC is based on the
MC68030 microprocessor.

NetBSD/mvme68k runs on Motorola MVME147 boards, with as little as 4MB of
RAM, though *8MB or more is recommended*. ***Note:** A bug in the boot
code for releases \<= 1.3.2 causes problems on 4Mb boards. This has been
fixed in -current and 1.3.3 onwards.* Nearly all of the on-board MVME147
hardware is supported:
-   Battery-backed real-time clock
-   Network interfaces
    -   on-board Lance AM7990 Ethernet

-   Parallel port
    -   on-board Centronics style printer port

-   SCSI (most disks, tapes, CD-ROMs, etc)
    -   on-board Western Digital wd33c93 SCSI bus interface chip using
        DMA facilities of the board (*asynchronous SCSI only*)

-   Serial ports (RS232)
    -   on-board Zilog Z8530 dual serial controller
    -   built-in console and tty01 - tty03, with speeds up to 38400 baud

-   VMEbus
    -   all VMEbus boards supported by NetBSD's machine-independent
        VMEbus framework. See /sys/dev/vme for details.

The following on-board hardware is not yet directly supported by the
kernel:

-   NVRAM (reading and writing)

NetBSD/mvme68k also fully supports VMEbus RAM cards in both A24/D32 and
A32/D32 address spaces. *(Note: On MVME147s with \< 16Mb of internal
RAM, access to A24/D32 space is restricted. There is no A24/D32 access
on MVME147s with \>= 16Mb internal RAM.)*

### Known Bugs for the MVME147 port:

-   Due to a design flaw on the board, adding VMEbus RAM will actually
    slow the system down! This is caused by the hardware forcibly
    disabling the CPU's cache on VMEbus accesses. Work is in progress in
    NetBSD-current to prioritize memory segments so that faster memory
    is allocated first, in preference to slower memory. This should help
    improve performance of systems using VMEbus RAM.

MVME162 family
--------------

MVME172 family
--------------

Board-specific support for the MVME162 was written by Steve Woodford.

### Supported Hardware

The second generation [MVME162
family](http://mcg.motorola.com/cfm/templates/product.cfm?PageID=874&ProductID=2&PageTypeID=1)
and [MVME172
family](http://mcg.motorola.com/cfm/templates/product.cfm?PageID=954&ProductID=4&PageTypeID=1)
Single Board Computers are based on the MC68040/MC68LC040 and
MC68060/MC68LC060 microprocessors. These second generation SBCs offer
faster processors and additional on-board memory capability.

NetBSD/mvme68k 1.5 runs on Motorola MVME162 boards, with as little as
4MB of RAM (with the help of a VMEbus RAM card), though *8MB or more is
recommended*. NetBSD/mvme68k -current runs on Motorola MVME172 boards.

The major parts of the on-board MVME162 and MVME172 hardware are
supported:

-   Battery-backed real-time clock
-   Network interfaces
    -   on-board Ethernet Intel i82596 controller

-   SCSI (most disks, tapes, CD-ROMs, etc)
    -   on-board NCR 53c710 SCSI bus interface chip using DMA facilities
        of the board supporting synchronous transfers up to 10
        Mbytes/second.

-   Serial ports (RS232)
    -   on-board Zilog Z85230 communications controllers
    -   built-in console and tty01 - tty03, with speeds up to 38400 baud

-   VMEbus
    -   all VMEbus boards supported by NetBSD's machine-independent
        VMEbus framework. See /sys/dev/vme for details.

-   MEMC040 (onboard memory controllers)

The following on-board hardware is not yet directly supported by the
kernel:

-   NVRAM (reading and writing)
-   IP Controllers (Industry Pack sites)

### Known Bugs for the MVME162 MVME172 boards:

-   None

MVME167 family
--------------

MVME177 family
--------------

Board-specific support for the MVME167 and MVME177 was written by Steve
Woodford.

### Supported Hardware

The second generation [MVME167
family](http://mcg.motorola.com/cfm/templates/product.cfm?PageID=952&ProductID=3&PageTypeID=1)
and [MVME177
family](http://mcg.motorola.com/cfm/templates/product.cfm?PageID=955&ProductID=5&PageTypeID=1)
Single Board Computers are based on the MC68040 and MC68060
microprocessors. These second generation SBC offers a faster processor
and additional on-board memory capability.

NetBSD/mvme68k 1.4 runs on Motorola MVME167 boards, with as little as
8MB of RAM, though *16MB or more is recommended*. NetBSD/mvme68k
-current runs on Motorola MVME177 boards. Nearly all of the on-board
MVME167/MVME177 hardware is supported:

-   Battery-backed real-time clock
-   Network interfaces
    -   on-board Ethernet Intel i82596 controller

-   Parallel port
    -   on-board Centronics style printer port

-   SCSI (most disks, tapes, CD-ROMs, etc)
    -   on-board NCR 53c710 SCSI bus interface chip using DMA facilities
        of the board supporting synchronous transfers up to 10
        Mbytes/second.

-   Serial ports (RS232)
    -   on-board Cirrus Logic CD2401 communications controller
    -   built-in console and tty01 - tty03, with speeds up to 38400 baud

-   VMEbus
    -   all VMEbus boards supported by NetBSD's machine-independent
        VMEbus framework. See /sys/dev/vme for details.

-   MEMC040 (onboard memory controllers)

The following on-board hardware is not yet directly supported by the
kernel:

-   NVRAM (reading and writing)

### Known Bugs for the MVME167 and MVME177 boards:

-   None

VMEbus RAM Boards
-----------------

Any VMEbus RAM board which does not require software to set it up should
work with MVME147 cards. At this time, VMEbus RAM boards are not
officially supported with other MVME boards.

These VMEbus RAM boards are known to work the NetBSD/mvme68k.

*The list of VMEbus RAM boards known to work is currently under
development. If you have a VMEbus RAM board that works with
NetBSD/mvme68k please send the model number to
[www@NetBSD.org](mailto:www@NetBSD.org). It will be added to the list.*

MVME712 Transition Board
------------------------

These transition boards are compatible with the MVME147, MVME167 and
MVME177 family of single board computers.

-   MVME712A
-   MVME712B
-   MVME712-012
-   MVME712AM
-   MVME712M
-   MVME712-013

General Comments
----------------

These are some general comments that apply to NetBSD/mvme68k.

-   Application code for any m68k-based NetBSD platform will run on all
    the mvme68k single-board computers without change.
-   If necessary, a single kernel image can be built which will boot on
    all the MVME models.


Boot options
------------

-   Supported:

    -   disk
    -   network
    -   tape

-   Unupported:

    -   CD-ROM *(Motorola firmware limitation)*

"""
additional="""
### General Questions

-   [How to handle a dead nvram battery](#dead_nvram)
-   [What are the jumpers on the backplane](#bus_jumpers)
-   [My newly installed MVME167 crashes on
    reboot](#mvme167_crash_on_boot)

### Other sources of information

-   [Other information on NetBSD.org](#other_info_nbsd)

* * * * *

### General Questions

#### How to handle a dead nvram battery ([top](#general))

They are not 'mvme' specific chips, in that there's nothing which needs
to be pre-programmed to make them work with a 147. What you need to do,
both with a new nvram, or one with a flat battery is to press the
abort/reset buttons in the following order to force 147bug to
re-initialise the nvram:

-   Press and hold abort

-   Press reset, while still holding abort

-   Release reset

-   5 seconds later (or when 147bug prompt appears) release abort

You should now set the ethernet MAC address using the **lsad** command.
The address is on a label on the inside of the front panel. Only the
last five digits need to be entered. Next, use the **mm** command to set
the 32-bit word at 0xfffe0764 to zero.

#### What are the jumpers on the backplane ([top](#general))

The jumpers on the backplane are for Bus Grant and Interrupt
Acknowledge. Some VMEbus boards, like disk controllers, do their own
VMEbus I/O instead of using DMA from the CPU. The I/O board requests
control of the VMEbus, the arbiter on the CPU board releases control of
the VMEbus, and then the arbiter on the CPU sends a Bus Grant signal
down the backplane.

There are only 4 Bus Grant levels, and you can have several boards, on
the same Bus Grant level. The Bus Grant signal daisy-chains down the
backplane through each I/O board. If you have an empty slot you break
the daisy-chain.

Backplane manufacturers put jumper pins next to the connectors so you
can jumper across empty slots. Unfortunately the jumpers may be to the
right or left of a slot depending on the manufacturer.

You may also find that some VMEbus boards don't pass on daisy-chain
signals that they don't use. This means that you may have to leave
jumpers on even when a board is in a slot.

If the boards are side-by-side without an empty slot between the CPU and
the VMEbus boards you may not need any jumpers. That might be worth a
try.

#### My newly installed MVME167 crashes on reboot ([top](#general))

This is most likely caused by the NetBSD kernel image loading over the
top of 167Bug's workspace in DRAM. The fix is simple; remove jumper 'J1'
near the top/front of the MVME167 board. This tells 167Bug to use
another area of memory for its workspace.

"""

]]
[[!tag tier2port]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb