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.5
boot> boot bsd
booting lf0a:/bsd: 991232+61440+208896 total=0x15a408 start 0x13000
[preserving 82952 bytes of bsd symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-1999 OpenBSD. All right Reserved.  http://www.OpenBSD.org

OpenBSD 2.6-current (SHEPHERD_PIE) #1938: Sun Dec 12 13:02:59 EST 1999
    mickey@lucifier:/sys/arch/hppa/compile/SHEPHERD_PIE
HP9000/712/80 (King Gecko) PA-RISC 1.1
real mem = 16777216 (73728 reserved for PROM, 12582912 used by OpenBSD)
avail mem = 14028800
using 200 buffers containing 819200 bytes of memory
mainbus0 (root) [flex fff80000]
pdc0 at mainbus0
mem0 at mainbus0 hpa fffbf000: viper rev 0, ctrl 40400100<eisa_prf>, size 16M
cpu0 at mainbus0 hpa fffbe000: PA7000 v0.0, lev 1, cat A, 80 MHz clock
cpu0: shadows, 128K/128K D/I cache, 64 shared TLB, 8 shared BTLB
lasi0 at mainbus0 hpa f0100000 irq 28: ver 0
gsc0 at lasi0
"PS/2 port" at gsc0 (type a, sv 84) hpa f0108100 not configured
"PS/2 port" at gsc0 (type a, sv 84) hpa f0108000 not configured
"floppy controller" at gsc0 (type a, sv 83) hpa f010a000 not configured
"Advanced audio (no beeper)" at gsc0 (type a, sv 7b) hpa f0104000 not configured
lpt0 at gsc0 hpa f0102000 irq 7
com0 at gsc0 hpa f0105000 irq 5: ns16550a, 16 byte fifo
ie0 at gsc0 hp f0107000 irq 8: LASI/i82596CA rev 0, address 08:00:09:1b:3c:08
"Core SCSI" at gsc0 (type a, sv 82) hpa f0106000 not configured
sti0 at mainbus0 hpa f8000000: HPA208LC1280 rev 8.4, rom @ 0xf0080000
sti0: 2048x1024 frame buffer, 1280x1024 display, offset 0x0
sti0: 8x16 font type 1, 16 bpc, charset 0-255

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.48 2001/07/18 19:56:09 mickey Exp $