OpenBSD/hppa
OpenBSD/hppa runs on a large set of the 32-bit Hewlett Packard Precision
Architecture workstations and servers (HP PA-RISC). A subset of the 64-bit
models are supported in 32-bit mode, as well.
A mailing list dedicated to the OpenBSD/hppa port is available at
hppa@openbsd.org.
To join the OpenBSD/hppa mailing list, send a message body of "subscribe
hppa" to majordomo@openbsd.org.
Please be sure to check our mailing list policy before
subscribing.
The current port maintainer is
Mark Kettenis (kettenis@openbsd.org).
Others are definitely welcome to contribute!
Table of contents
History
This project was started in those days when the only
open source operating systems for HP PA-RISC computers were
Lites and
MkLinux.
These two sources were a major supply of information and
code for initial development of the OpenBSD/hppa port.
HPBSD
is encumbered by HP proprietary code and USL licensing and is
not publicly available.
One of the major direct benefits from previous porting efforts
(besides the code, of course) was support for HP PA-RISC in GCC and
binutils, which allowed quick building of a cross-tools environment
for development.
Later on, Hewlett-Packard decided to sponsor a
Linux port to the PA-RISC
family, which actually resulted in some proprietary documentation
being released, even though their target was a different class of 9000
machines back then.
Current status
Currently, all the supported systems boot multi-user.
In addition to the release, full snapshots are made periodically,
and work is ongoing to provide better hardware support.
Supported hardware
For a system component and device driver listing for this architecture, see
intro(4/hppa).
- cpu(4) support for the 7000,
7100, 7100LC, 7150, 7200, 7300LC, 8000, 8200, 8500, 8600, 8700 processors
found on the following systems:
- PA7000-based: 705, 710, 720, 730, 750
- PA7100-based: 715/33, 715/50, 715/75, 725/50, 725/75, 735/100, 742i, 745i, 747i, 755/100
- PA7100LC-based: 712, 715/64, 715/80, 715/100, 715/100XC, 725/64, 725/100, 743i, 748i, SAIC Galaxy 1100
- PA7150-based: 735/125, 755/125
- PA7300LC-based: 744, 745, 748, A180[C], B132L[+], B160L, B180L+, C132L, C160L, Dx20, Dx30, RDI PrecisionBook (C160L)
- PA7200-based: C100, C110, J200, J210, J210XC, Kx00, Kx10, Kx20
- PA8000-based (in 32-bit mode): C160, C180, J280, J282
- PA8200-based (in 32-bit mode): C200, C240, J2240
- PA8500-based (in 32-bit mode): B1000, B2000, C360, C3000, J5000, J7000
- PA8600-based (in 32-bit mode): B2600, C3600, J5600, J6000, J7600
- PA8700-based (in 32-bit mode): C3650, C3700, C3750, J6700, J6750
- mem(4) memory controllers for up to 2GB of memory.
- io(4) Bus/IO controllers and bridges, including:
- dino(4) Dino/Cujo or elroy(4)) Elroy PCI host bridges providing pci(4) PCI busses, supporting most pci(4) cards.
- ppb(4) standard PCI-PCI bridges, including PCI expansion backplanes.
- cbb(4) YENTA-compatible PCI-CardBus bridges supporting some cardbus(4) and pcmcia(4) cards, on some models.
- oosiop(4),
osiop(4)
and
siop(4)
on-board SCSI controllers.
- pciide(4) IDE drive controller supporting wd(4) and cd(4) drives.
- dc(4) on-board Digital 10/100Mbit ethernet.
- ohci(4) on-board USB controller supporting most usb(4) devices.
- sti(4) SGC/GSC/PCI graphics controllers.
- com(4) on-board ns16550 serial ports.
- lpt(4) on-board parallel port.
- harmony(4) on-board CS4215/AD1849 audio.
- hilkbd(4) HIL keyboards.
- hilms(4) HIL mice and graphics tablet.
- hilid(4) HIL ID modules.
- pckbd(4) PS/2 keyboards.
- pms(4) PS/2 mice.
- power(4) soft power button as available on some models.
- lcd(4) front-panel display on some models.
- Battery-backed real time clock.
Unsupported systems and devices
The following systems are unsupported, but may eventually be coaxed to life.
Some of them will boot OpenBSD, but there is not enough device support for
OpenBSD to be really useful on them.
- PA7100LC-based: Dx00, Dx10
- PA7200-based: Dx50, Dx60
- PA8000-based(in 32-bit mode): Dx70, Dx80/R380, Kx50/Kx60
- PA8200-based(in 32-bit mode): D390/R390, Kx70/Kx80
- HP 9000 E-Class (with limited I/O)
- Most Hitachi PA-RISC workstations and servers
The following systems are very unlikely to be supported since they either have
incompatible firmware (the 3000s) or almost completely undocumented I/O
subsystems (the 8x7s).
- HP 3000 900
- HP 9000 8x7 (F, G, H, I-Class)
Even though some 64-bit systems are supported by this port in 32-bit mode,
the following models cannot be supported due to the I/O system limitations
and will only run the
OpenBSD/hppa64 port:
- PA8500-based: A400/rp24x0, L1000/L2000
- PA8600-based: A400/rp2450, L3000/rp5400
- PA8700-based: A500/rp2470, N4000/rp74x0, rp8400
- PA8800-based: A500-9x, C8000, rp3410, rp3440, rp4410, rp4440, rp7420, rp84x0
- PA8900-based: C8000, rp3410, rp3440, rp4410, rp4440, rp7420, rp84x0
Convex PA-RISC systems (NUMA supercomputing clusters
consisting of one or more 8-way SMP nodes with PA7100 or PA7200 CPUs)
are unlikely to be ever supported.
All other HP 9000 6xx, 8xx and 9xx server systems will probably never
be supported by this port since they are of 1.0 PA-RISC architecture,
which is substantially inferior to the 1.1.
Unsupported peripherals
This list is not meant to be exhaustive either, but sums up the most commonly
encountered devices on hppa machines.
- dino(4) Dino in card mode.
- pcmcia(4) PCMCIA adapters.
- mongoose(4) EISA bus adapter.
- VME controller
- any HP-PB devices
- On-board floppy controller
- Dino's PS/2 keyboard and mouse controller
- Power management on PrecisionBook
Getting and installing
The latest supported OpenBSD/hppa release is
OpenBSD 5.4.
Here are the
OpenBSD/hppa 5.4 installation instructions
.
Snapshots are made available from time to time, in
this location
as well as in a few
mirrors.
Here are the
OpenBSD/hppa snapshot installation instructions
as well.
Hardware documentation
Most of the following documents have been released by Hewlett-Packard for
the PA-RISC Linux project.
- HP PA-RISC CPUs
- PA7100LC CPU ERS
- PA7300LC CPU ERS
- Processor Dependent Code/I/O Dependent Code Interface
(selected chapters from "PA-RISC I/O Architecture Specification")
- PDC 1.1
- IODC 1.1
- Version and Identification Number Allocation
- Memory Data Formats 2.0
- PDC Entry Points 2.0
- PDC Procedures 2.0
- OS Interface 2.0
- Bus controllers/bridges/adaptors
- ASP
- LASI Core Bus Adapter (including LAN, SCSI, serial, lpt controllers)
- Dino PCI bridge,
and Errata
- Elroy ERS (Edited for Open Source)
- Astro
Overview,
Error handling,
R2I Operations,
Registers Map,
Runway Interface,
System Memory Map
- Stinger
graphics
-
LSI 53C875 SCSI I/O Processor
- Intel
i82596DX/SX
and
i82596CA
Ethernet Controllers
Of course, no hppa page, be it OpenBSD or not, could pretend to be serious
without linking to the essential OpenPA
reference website.