Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Adapt naming of legacy HW to SPD

...

The SuperIO is the emulation of a historic HP9000 PCI device containing PC style peripherals used in legacy 64-bit PA-RISC systems for HP-UX:

  • parallel port
  • 2 serial ports
  • dual-channel IDE controller
  • floppy disk controller
  • USB 1.1 controller
  • timer
  • PIC interrupt controller

Please note:(warning) 

  • The current version of Charon-PAR emulates only a subset of these devices.

...

  • Not supported on Charon-PAR/PA9-32

...

  • model 720.

Currently supported are (depending on support by the emulated model and guest operating system)

...

Excerpt

Loading the SuperIO device

Before any devices of the module can be configured  and used, the module must be loaded in the emulator configuration file.

The SuperIO module can be loaded in any system model with PCI bus support. By default it is loaded on models based on the Astro chipset (rp24xx and rp54xx).

Use the following syntax to load this module:

load SUPERIO sio <bus-number> <slot-number>

Example:

load SUPERIO sio 0 6


Please note:

  • Only one SuperIO module can be loaded in the configuration. Multiple SuperIO instances will not work properly.
  • The usable bus numbers and slot numbers depend on the emulated model and the already loaded devices.
  • If another PCI device is already installed in the specified PCI slot, the load command will fail with an error message.
  • The correct bus/slot location of the device is important to preserve the correct GSP (service processor) console configuration:
    • If the SuperIO module is inserted in a slot before the normal system serial console, the service processor console (GSP console) is set to the first SuperIO serial port.
    • (warning) HP-UX does not support the SuperIO serial port as GSP console. With such a configuration, it will crash early-on in the boot process. Therefore, take care to always use a slot number higher than the one where the correct system console line has been loaded. Otherwise, HP-UX will fail on boot.


After booting the guest HP-UX system, the example above will result in an ioscan output similar to the following:

Code Block
languagetext
ba          1  0/0/6/1      superio   CLAIMED     BUS_NEXUS    PCI Core I/O Adapter
tty         1  0/0/6/1/1    asio0     CLAIMED     INTERFACE    Built-in RS-232C
tty         2  0/0/6/1/2    asio0     CLAIMED     INTERFACE    Built-in RS-232C
ext_bus     4  0/0/6/1/3    SCentIf   CLAIMED     INTERFACE    Built-in Parallel Interface
unknown    -1  0/0/6/1/4              UNCLAIMED   UNKNOWN      Built-in Floppy Drive


Div
classpagebreak


SuperIO Serial Ports

Serial ports installed on SuperIO module can be configured the same as other serial ports. Please see chapter Serial Line Emulation Notes for more information.

Path names for serial devices in the emulator configuration:

  • superio_001.uart0 - COM0 port
  • superio_001.uart1 - COM1 port


Serial ports configuration example:

Code Block
languagetext
superio_001.uart0.device.type="telnet"
superio_001.uart0.device.port=":30001"

superio_001.uart1.device.type="telnet"
superio_001.uart1.device.port=":30002"


Div
classpagebreak


SuperIO Parallel Port

The parallel port installed on a SuperIO module connects to the host system parallel port device /dev/parport0. The parallel port output from the guest OS is redirected to the host parallel port. No additional configuration for the parallel port is required.

However, it may be necessary to install the required kernel drivers in HP-UX and rebuild the kernel to activate the interface.

If the ioscan command shows the parallel port as UNCLAIMED, perform the following steps:

  1. Use the kcmodule command to verify the status of the required drivers:
    # kcmodule |grep CentIf
    CentIf static explicit
    SCentIf static explicit

  2. If the status is unused, load the modules into the kernel using the commands:
    # kcmodule CentIf=best
    # kcmodule SCentIf=best

  3. You will be informed that this change can only become active after the next reboot. If you confirm, the kernel will be modified and you can reboot the system.

Once the ioscan command shows that the parallel port as CLAIMED by the correct driver, you can, for example, use SAM to configure a printer on the parallel port
(Printers and Plotters > LP Spooler > Printers and Plotters > Action > Add Local Printer > Add Parallel Printer).


If no parallel port device exists on the host system, an error message similar to the one below will be printed to the emulator log. It does not affect system operation, but the parallel port redirection will not work.

Code Block
languagetext
err:open('/dev/parport0', O_RDWR) is failed (errno 2) No such file or directory
err:ioctl(handle, PPCLAIM) is failed (errno 9) Bad file descriptor

Modern host systems often have no physical parallel port. In such cases, a USB-LPT adapter or a software redirector (such as LPT-over-IP) can be used. The emulated parallel port operation depends on the host parallel port operation and some USB-LPT adapters may not produce reliable results.

...