OpenBSD/hppa
This port is aimed to support the following HP 9000 models:
705, 710, 712, 715, 720, 725,
730, 735, 750, 755, J200, J210, J210XC, C100, C110,
B132L, B160L, B180L, C132L, C160L, C180L
(bold means "known to be working").
Other similar to those hardware configurations may be supported
as long as if they based on:
- HP PA-RISC 7000, 7100, 7150, 7100LC, 7200, 7300LC processors;
- Viper (others ?) memory controller;
- LASI, ASP, WAX bus/IO controller;
- and EISA bus controller;
- NCR53C700, NCR53C710, NCR53C720 SCSI I/O Processor;
- Venom, CRX-8, CRX-24, HCRX-8, HCRX-24 video controllers;
- HIL or PS/2 keyboard and mouse;
- EISA devices will work, but they won't be useful for booting,
but some of those manufactured by HP for 700/800 systems.
Systems which may work (eventually):
- pa8k-based systems (in 32-bit mode);
- HP 9000 834, 835, 836, 844, 845, 846;
- HP 9000 E23, E25, E35, E45, E55;
- HP 3000 908, 918, 928, 938;
- Hitachi VQ200, VQ210, and some other non-HP workstations;
- Precision Book from RDI Computer Corporation (well, unlikely)
- HP VME and VXI single board systems (requires VME at least)
Hardware is needed for this project,
see "Wanted List". (contact mickey).
Status:
Have system autoconfig using bootable images, heading for single-user.
History:
This project was started in one of 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.
The 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 ;) is
support for HP PA-RISC in GCC and binutils, which allowed quick
build of cross-tools environment for development.
Later on HP decided to sponsor a
Linux port to PA-RISC
machines which actually resulted in some proprietary documentation
release, even they target different class of 9000 machines.
So far here is a history of OpenBSD/hppa port
(it has no dates, but use
cvs to see what happened when):
- sti driver rewritten, with released specifications
- kernel symbol table loading by /boot (symbolic debugging !)
- init(8) execs fine, subsequent single-user shell exits,
meaning probably it found some problem initializing itself
- root on nfs, swap on nfs
- i82596-based ethernet (if_ie), in uncached memory mode
- Most of the MD kernel code written
- DDB support except watchpoints and single-stepping
- disk boot working
- Stinger (*CRX-*) graphics boards driver
- LASI, ASP, WAX and EISA bus adapters
- com, lpt, fdc drivers (no fd yet ;)
- PDC driver
- kernel bootstrap working
- network boot working through the LIF image
- cross-tools compiling/working
Documentation
(most of which was released by HP for the
Linux/parisc 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 Procedures 2.0
- PDC Entry Points 2.0
- OS Interface 2.0
- Bus controllers/bridges/adaptors
- 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 Mamory Map
- Stinger graphics
- NCR 53C700/710/720 SCSI I/O Processors
(the doc is actually for 770, which is claimed as compatible)
- Intel i82596DX/SX and i82596CA Ethernet Controllers
Build cross-tools:
Currently, the in-tree binutils can't be used to generate cross-tools.
You should use a 2.7 source tree to build them, 2.8 and later will not
work.
cd /usr/src
sudo make TARGET=hppa cross-tools
cross-tools build process may fail in the libc stage, consider that's
all right, since libc support is not finished yet.
Build boot.lif file using cross-tools:
cd /sys/arch/hppa/stand
make obj
set cross=(/usr/cross/hppa/usr/bin)
make MACHINE=hppa MACHINE_ARCH=hppa \
"AS=$cross/as" "CC=$cross/cc" \
"CPP=$cross/cpp" "LD=$cross/ld" \
"AR=$cross/ar" "STRIP=$cross/strip" \
"LORDER=$cross/lorder" "NM=$cross/nm" \
"RANLIB=$cross/ranlib" "SIZE=$cross/size"
One will have a boot.lif
file to boot then in the obj-directory.
That image may include diskless kernel image if one was available
in the sys/arch/hppa/compile/SHEPHERD_PIE/bsd.
Kernel cross-build process is similar to the one for boot, consult
config(8)
and
options(8)
for kernel build options and configuration.
Recent development:
BOOT_ADMIN> boot lan isl
Booting
>> OpenBSD/hppa BOOT 0.6
boot> boot bsd
booting lf0a:/bsd: fstat1695744+65536+225280 [168316+57624]=0x22e298 start=0x12
000
[ bsd ELF symbol table not valid: bad magic ]
[ using 231900 bytes of bsd a.out symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2001 OpenBSD. All right Reserved. http://www.OpenBSD.org
OpenBSD 3.0-current (SHEPHERD_PIE) #334: Sat Dec 1 23:28:05 EST 2001
mickey@lucifier.net:/sys/arch/hppa/compile/SHEPHERD_PIE
HP9000/712/100 (King Gecko) PA-RISC 1.1
real mem = 67108864 (73728 reserved for PROM, 50331648 used by OpenBSD)
avail mem = 55824384
using 1630 buffers containing 6676480 bytes of memory
mainbus0 (root) [flex fff80000]
pdc0 at mainbus0
mem0 at mainbus0 offset ffbf000: viper rev 0, ctrl 40400102<eisa_prf> >> 4040010b
cpu0 at mainbus0 offset ffbe000 irq 31: PCXL rev 6, lev 1, cat A, 80 MHz clock
cpu0: shadows, 128K/128K D/I cache, 64 shared TLB, 8 shared BTLB
lasi1 at mainbus0 offset 500000: rev 3.0
gsc1 at lasi1
com1 at gsc1 offset 5000
ie1 at gsc1 offset 7000: LASI/i82596CA v1.0, address 08:00:09:87:b5:76
lasi0 at mainbus0 offset 100000 irq 28: rev 3.0
gsc0 at lasi0
"Optional RJ-16" at gsc0 (type a, sv 8d) offset 4060 not configured
"Optional RJ-16" at gsc0 (type a, sv 8d) offset 4040 not configured
"PS/2 port" at gsc0 (type a, sv 84) offset 8100 not configured
"PS/2 port" at gsc0 (type a, sv 84) offset 8000 not configured
"floppy controller" at gsc0 (type a, sv 83) offset a000 not configured
harmony0 at gsc0 offset 4000 irq 13
"teleshare tty0" at harmony0 not configured
"teleshare tty1" at harmony0 not configured
lpt0 at gsc0 offset 2000 irq 7
com0 at gsc0 offset 5000 irq 5
ie0 at gsc0 offset 7000 irq 8: LASI/i82596CA v1.0, address 08:00:09:87:b5:75
"Core SCSI" at gsc0 (type a, sv 82) offset 6000 not configured
sti0 at mainbus0 offset 8000000: HPA208LC1280 rev 8.04;7
sti0: 2048x1024 frame buffer, 1280x1024x8 display, offset 0x0
sti0: 8x16 font type 1, 16 bpc, charset 0-255
wsdisplay0 at sti0
info was typed from screen, sorry for typos
In order to use the boot.lif files
you must prepare your server and instruct your machine to boot off the network:
- Server setup
- For older machines (705, 7[1235]0, old 715)
rbootd must be setup and started.
- Recent machines (712, new 715, 725) won't look for rbootd at all, but require a
bootp setup.
- For further reading on server setup for network booting in general, see also: diskless(8).
- Client Network Boot
- BOOT_ADMIN
In order to get to the BOOT_ADMIN prompt, you must hit \ as the
machine is coming up. Once it probes bootable devices, type 'a' for
the 'BOOT_ADMIN' prompt.
- network boot command
Once at the 'BOOT_ADMIN' prompt, type:
BOOT_ADMIN> boot lan isl
... and you are on your way to booting boot.lif!
www@openbsd.org
$OpenBSD: hppa.html,v 1.55 2002/01/29 22:08:36 horacio Exp $