OpenBSD/hppa


This port is aimed to support the following HP 9000 models: 705, 710, 712, 715, 720, 725, 730, 735, 742, 750, 755, A180, A180C, B132L, B132L+, B160L, B180L, C100, C110, C132L, C160L, C180L, J200, J210, J210XC (bold means "known to be working"). Other similar to those hardware configurations may be supported as long as if they based on: Systems which may work (eventually):
Hardware is needed for this project, see "Wanted List". (contact mickey).

Status:

System boots to single-user, using bootable images.

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):

Documentation

(most of which was released by HP for the Linux/parisc project):
  1. HP PA-RISC CPUs
    1. PA7100LC CPU ERS
    2. PA7300LC CPU ERS
  2. Processor Dependent Code/I/O Dependent Code Interface
    (selected chapters from "PA-RISC I/O Architecture Specification")
    1. PDC 1.1
    2. IODC 1.1
    3. Version and Identification Number Allocation
    4. Memory Data Formats 2.0
    5. PDC Procedures 2.0
    6. PDC Entry Points 2.0
    7. OS Interface 2.0
  3. Bus controllers/bridges/adaptors
    1. ASP
    2. LASI Core Bus Adapter (including lan, scsi, serial, lpt controllers)
    3. Dino PCI bridge, and Errata
    4. Elroy ERS (Edited for Open Source)
    5. Astro Overview, Error handling,R2I Operations, Registers Map, Runway Interface, System Mamory Map
  4. Stinger graphics
  5. NCR 53C700/710/720 SCSI I/O Processors (the doc is actually for 770, which is claimed as compatible)
  6. Intel i82596DX/SX and i82596CA Ethernet Controllers
Or see more information at OpenPA.

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" "CXX=$cross/c++" \
	"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.7
>
booting lf0a:/bsd: 1167360+61440+274432 [164584+60691]=0x489000 start=0x12000
[ bsd ELF symbol table not valid: bad magic ]
[ using 225276 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-2002 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 3.1-beta (SHEPHERD_PIE) #834: Thu Mar 28 10:52:35 EST 2002
    mickey@lucifier.net:/sys/arch/hppa/compile/SHEPHERD_PIE
HP9000/712/80 (King Gecko) PA-RISC 1.1
real mem = 67108864 (73728 reserved for PROM, 8388608 used by OpenBSD)
mainbus0 (root) [flex fff80000]
pdc0 at mainbus0
mem0 at mainbus0 offset ffbf000: viper rev 0, size 64MB
cpu0 at mainbus0 offset ffbe000 irq 31: PCXL rev 4 L1-A 80MHz, FPU PCXL (CMOS-26B) rev 1
cpu0: 128K(32b/l) Icache, 128K(32b/l) wr-back coherent Dcache, 64 coherent TLB, 8 BTLB
lasi1 at mainbus0 offset 500000 irq 27: rev 3.0
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 rev 4.0
"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 13: ns16550a, 16 byte fifo
com0: console
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
gsc1 at lasi1
com1 at gsc1 offset 5000 irq 5: ns16550a, 16 byte fifo
ie1 at gsc1 offset 7000 irq 8: LASI/i82596CA v1.0, address 08:00:09:87:b5:76
nfs_boot: using network interface 'ie0'
nfs_boot: client_addr=10.0.0.5
nfs_boot: server_addr=10.0.0.1 hostname=jwalker
root on lucifier:/export/hppa/root
root time: 0x3c6770c7
WARNING: clock lost 9913 days -- CHECK AND RESET THE DATE!
init: copying out flags `-s' 3
init: copying out path `/sbin/init' 11, 0x68ff3003
#

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:
  1. Server setup

  2. Client Network Boot


OpenBSD www@openbsd.org
$OpenBSD: hppa.html,v 1.61 2002/04/07 10:05:12 mickey Exp $