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: Systems which may work (eventually):
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):

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. LASI Core Bus Adapter (including lan, scsi, serial, lpt controllers)
    2. Dino PCI bridge, and Errata
    3. Elroy ERS (Edited for Open Source)
    4. 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

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

  2. Client Network Boot


OpenBSD www@openbsd.org
$OpenBSD: hppa.html,v 1.54 2001/12/02 05:21:29 mickey Exp $