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

13 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

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.