Qemu now supports the HPPA in softmmu mode!

I’ve worked on machines with HP-UX, but never owned one.  Well Qemu now has system emulation thanks to Richard Henderson! You can find information over at:

https://parisc.wiki.kernel.org/index.php/Qemu

Being the unfair person I am, I thought I’d try NeXTSTEP to see how far it gets.

Processor   Speed            State           Coprocessor State  Cache Size
---------  --------   ---------------------  -----------------  ----------
0      250 MHz    Active                 Functional            0 KB

Available memory: 512 MB
Good memory required: 16 MB

Primary boot path: FWSCSI.6.0
Alternate boot path: LAN.0.0.0.0.0.0
Console path: SERIAL_1.9600.8.none
Keyboard path: PS2

Available boot devices:
1. DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]
2. lsi 00:00.0 0:0 Drive QEMU QEMU HARDDISK 2.5+

Booting from lsi 00:00.0 0:0 Drive QEMU QEMU HARDDISK 2.5+

Booting...
Boot IO Dependent Code (IODC) revision 153

HARD Booted.
Can't determine I/O subsystem type

NEXTSTEP boot v3.3.4.17
524288 memory

NEXTSTEP will start up in 10 seconds, or you can:
Type -v and press Return to start up NEXTSTEP with diagnostic messages
Type ? and press Return to learn about advanced startup options
Type any other character to stop NEXTSTEP from starting up automatically

boot:

And amazingly the bootloader works, although that is about it. Trying to boot up OpenBSD gets about this far:
PDC_CHASSIS: Initialize (3), CHASSIS  cec0
>> OpenBSD/hppa CDBOOT 0.2
booting dk0a:/bsd.rd: 2703360+851960+2675712+547840=0x8631f0

SeaBIOS: Unimplemented PDC_CACHE function 1 8ddad0 1 1 1

I found on Windows though that the Debian 8 CD’s work the best, as the earlier ones lock up after loading a kernel, and the later one doesn’t fully initialize.  I’ve been using this one: debian-8.0-hppa-NETINST-1.iso  Serial console interaction is the way to go, so I ran Qemu like this:

qemu-system-hppa.exe -L . -serial telnet:127.0.0.1:4444,server,wait -boot d -cdrom debian-8.0-hppa-NETINST-1.iso -hda Deiban8HPPA.vmdk

So this way I can get get the install kicked off.  Although I should probably have just downloaded debian-8.0-hppa-CD-1.iso

Linux on HPPA

Otherwise, yeah, it’s Linux, on HPPA

And for anyone who is interested, the only version of HP-UX I have hanging around, HP-UX 10.20 [HP9000 S700] gives me the following:

HP-UX 10.20 on Qemu

Author: neozeed

I live in SE Asia, doing generic work, enjoying my life & family

15 thoughts on “Qemu now supports the HPPA in softmmu mode!”

  1. [email protected] /V/L/homedir-tmp> qemu-system-hppa -boot d -drive file=hdd.img -drive file=/Volumes/Storage/Stuff/UnixArchive/ThirdParty/HP/11i-v2-2005/mission-critical-operating-environment.iso,media=cdrom -nographic -serial mon:stdio

    PARISC SeaBIOS Firmware, 1 x PA7300LC (PCX-L2) at 250.0 MHz, 512 MB RAM.
    SeaBIOS (version ?-20180204_140129-cloudburst.twiddle.net)
    BUILD: gcc: (GCC) 6.2.1 20161124 binutils: (GNU Binutils) 2.29.51.20171119
    RamSize: 0x00000000 [cmos]
    === PCI bus & bridge init ===
    PCI: pci_bios_init_bus_rec bus = 0x0
    === PCI device probing ===
    Found 2 PCI devices (max PCI bus is 00)
    === PCI new allocation pass #1 ===
    PCI: check devices
    === PCI new allocation pass #2 ===
    PCI: IO: 1000 – 113f
    PCI: 32: 00000000f2000000 – 00000000ff800000
    PCI: map device bdf=00:00.0 bar 0, addr 00001000, size 00000100 [0: io]
    PCI: map device bdf=00:01.0 bar 1, addr 00001100, size 00000040 [0: io]
    PCI: map device bdf=00:01.0 bar 6, addr ff780000, size 00040000 [1: mem]
    PCI: map device bdf=00:01.0 bar 0, addr ff7c0000, size 00020000 [1: mem]
    PCI: map device bdf=00:00.0 bar 2, addr ff7e0000, size 00002000 [1: mem]
    PCI: map device bdf=00:00.0 bar 1, addr ff7e2000, size 00001000 [1: mem]
    PCI: init bdf=00:00.0 id=1000:0012
    pci_init_device: vendor 0x1000 device 0x12
    PCI: init bdf=00:01.0 id=8086:100e
    pci_init_device: vendor 0x8086 device 0x100e
    PCI: No VGA devices found
    Found 1 serial ports
    init hard drives
    pci_init_device: vendor 0x1000 device 0x12
    pci_init_device: vendor 0x8086 device 0x100e
    found lsi53c895a at 00:00.0, io @ 1000
    lsi 00:00.0 0:0 vendor=’QEMU’ product=’QEMU HARDDISK’ rev=’2.5+’ type=0 removable=0
    lsi 00:00.0 0:0 blksize=512 sectors=62914560
    lsi 00:00.0 1:0 ven

    Firmware Version 6.1

    Duplex Console IO Dependent Code (IODC) revision 1

    Memory Test/Initialization Completed

    ——————————————————————————
    (c) Copyright 2017-2018 Helge Deller and SeaBIOS developers.
    ——————————————————————————

    Processor Speed State Coprocessor State Cache Size
    ——— ——– ——————— —————– ———-
    0 250 MHz Active Functional 0 KB

    Available memory: 512 MB
    Good memory required: 16 MB

    Primary boot path: FWSCSI.6.0
    Alternate boot path: LAN.0.0.0.0.0.0
    Console path: SERIAL_1.9600.8.none
    Keyboard path: PS2

    Available boot devices:
    1. DVD/CD [lsi 00:00.0 1:0 Drive QEMU QEMU CD-ROM 2.5+]
    2. DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]
    3. lsi 00:00.0 0:0 Drive QEMU QEMU HARDDISK 2.5+

    Booting from DVD/CD [lsi 00:00.0 1:0 Drive QEMU QEMU CD-ROM 2.5+]

    Booting…
    Boot IO Dependent Code (IODC) revision 153

    HARD Booted.

    No luck with later HP-UX either.

      1. Hmm. Don’t recall that being what my real PA-RISC system said on hard-disk boot. Always remember it before boot attempt.

    1. I have no idea. I’d contact them to see about their roadmap, although I think they are just getting started ..

      1. Tried with hp-ux 9.7..panic.

        Booting from DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]

        Booting…
        Boot IO Dependent Code (IODC) revision 153

        HARD Booted.

        PDC_CHASSIS: Initialize (3), CHASSIS ce00

        ISL Revision A.00.34 Mar 20, 1994

        PDC_CHASSIS: Initialize (3), CHASSIS ce01

        ISL booting hpux boot disc(;0):INSTALL

        PDC_CHASSIS: Initialize (3), CHASSIS ce0f

        PDC_CHASSIS: Initialize (3), CHASSIS cec0

        PDC_CHASSIS: Initialize (3), CHASSIS ced0
        Secondary Loader 9000/700
        Revision 3.08
        Booting disc(;0):INSTALL

        PDC_CHASSIS: Initialize (3), CHASSIS cedb
        1499020 + 2424832 + 217760 start 0x25030

        PDC_CHASSIS: Initialize (3), CHASSIS cedf

        SeaBIOS: Unimplemented PDC_MODEL function 4 3caa40 ba 0 0

        PDC_CHASSIS: Fault (1), CHASSIS b400

        Stored message buffer up to panic:
        Floating point coprocessor configured and enabled.
        WARNING: can’t enable special processor features
        interrupt type 8, pcsq.pcoq = 0.25734, isr.ior = 0.0
        Illegal instruction trap on interrupt stack

        System Panic:
        B2352A HP-UX (A.09.07) #2: Mon Apr 24 17:28:04 MDT 1995
        panic: (display==0xb400, flags==0x0) Interrupt
        PC-Offset Stack Trace (read across, most recent is 1st):
        stktrc: can’t find descriptor
        0x000ec98c 0x0007fdcc 0x0006f93c 0x00025734
        End Of Stack

        dumping 0 bytes to dev 0xffffffff, offset 0 …
        Dump failed, returning 5.

        Tried with 10.20 and tell me only chassis f11f

        Booting from DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]

        Booting…
        Boot IO Dependent Code (IODC) revision 153

        HARD Booted.

        PDC_CHASSIS: Initialize (3), CHASSIS ce00

        ISL Revision A.00.38 OCT 26, 1994

        PDC_CHASSIS: Initialize (3), CHASSIS ce01

        ISL booting hpux (;0):INSTALL

        PDC_CHASSIS: Initialize (3), CHASSIS ce0f

        PDC_CHASSIS: Initialize (3), CHASSIS cec0

        PDC_CHASSIS: Initialize (3), CHASSIS ced0

        Boot
        : disc(8/12.0.0;0):INSTALL

        PDC_CHASSIS: Initialize (3), CHASSIS cedb
        3462652 + 315392 + 305120 start 0x1b82e8

        PDC_CHASSIS: Initialize (3), CHASSIS cedf

        PDC_CHASSIS: Initialize (3), CHASSIS cee0

        PDC_CHASSIS: Initialize (3), CHASSIS cee1

        PDC_CHASSIS: Initialize (3), CHASSIS cef0

        PDC_CHASSIS: Initialize (3), CHASSIS cef2

        PDC_CHASSIS: Initialize (3), CHASSIS cef4

        SeaBIOS WARNING: WRITE RTC_YEAR=132 above year 2100.

        PDC_CHASSIS: Initialize (3), CHASSIS cef6

        PDC_CHASSIS: Initialize (3), CHASSIS cef8

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

        PDC_CHASSIS: Run (6), CHASSIS f11f

  2. With 11.23 and 11.31…

    Available memory: 512 MB
    Good memory required: 16 MB

    Primary boot path: FWSCSI.6.0
    Alternate boot path: LAN.0.0.0.0.0.0
    Console path: SERIAL_1.9600.8.none
    Keyboard path: PS2

    Available boot devices:
    1. DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]
    2. lsi 00:00.0 0:0 Drive QEMU QEMU HARDDISK 2.5+

    Booting from DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]

    Booting…
    Boot IO Dependent Code (IODC) revision 153

    HARD Booted.

    and nothing happen

  3. Returning to hppa..this is what happen with hpux 8.07

    PDC_CHASSIS: Initialize (3), CHASSIS ce0f
    Secondary Loader 9000/700
    Revision 2.7
    Booting disc(;0):INSTALL
    1261500 + 2301952 + 258488 start 0x23b58

    SeaBIOS: Unimplemented PDC_MODEL function 4 371500 ba 0 0

    SeaBIOS: Unimplemented PDC proc PDC_MEM_MAP(128) option 0 result=376a98 ARG3=16184 ARG4=618948 ARG5=0 ARG6=0 ARG7=0
    ERROR in parisc_pdc_entry:949
    SeaBIOS wants SYSTEM HALT.

    1. Well it loads the secondary loader, and it looks like it’d loaded the kernel but some firmware call isn’t implemented?

      It’s amazing it even makes it that far.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.