Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: NFS caveat

Anchor
TOC
TOC
Include Page
KBCOMMON:KB-CSSstyle
KBCOMMON:KB-CSSstyle

...

The hardware of the emulated system is defined in the emulator configuration file. Charon-PAR comes with a number of template files that are stored in /opt/charon/cfg. Each template file contains the settings for a particular historic HP3000 ( Charon-PAR/PA3 ) or HP9000 ( Charon-PAR/PA9 ) hardware model or model family. The files also contain important descriptions for all parameters listed.

...

Comments in the file are preceded by the # character.If a parameter

value is a Please note that some entries require an equal-sign (=) and for other parameters an equal-sign is not allowed. The emulator will not start if a required equal-sign is missing or an equal-sign is placed where it is not permitted.

If a parameter value is a string, it must be enclosed in double quotes.

...

Parameter license_key_id 

Optional parameter. There can be several license_key_id parameters in this section. They define a prioritized list of license keys. The first entry has the highest priority. If no key with this ID is available, the next key in the list will be tried. If a higher priority key becomes available, the emulator will switch to this license at the next periodic license check.

Syntax:

license_key_id "key-id-prio1"

...

Optional parameter. There can be several license_id parameters in this section. They define a prioritized list of product license IDs. The first entry has the highest priority. If no key with this product license ID is available, the next product license ID in the list will be attempted. If a higher priority license becomes available, the emulator will switch to this license at the next periodic license check.

Syntax:

license_id "lic-id-prio1"

...

The system model configuration section contains one parameter defining the emulated historic HP3000 or HP9000 PA-RISC model.

Syntax:

model "model-name"

...

superio_001.uartX.device.<option>="<value>"

The options available for configuration are described below.

Serial port

...

options

...

Description

type

...

The

...

  • socket: the port is set to telnet raw mode.
  • telnet: the port supports the telnet protocol.
  • device: indicates that the emulated serial line is connected to a physical terminal on the host.

...

Each port is mapped to a TCP socket on the emulator host or to a physical line. This parameter defines the TCP port used or the name of the physical device. A TCP port number must be unique on the host system.

A TCP port number is specified as "<where-to-listen>:<portnumber>". It requires a port type of socket or telnet.

Possible values for where-to-listen:

  • Empty:
    • If the port number is specified without a colon (:), the console will only be accessible on the localhost address. Equivalent lo:<portnumber>.
    • If the port number is specified with a colon, the console process will listen on all host interfaces.
  • Interface name: the console process will only listen on the specified host interface.
  • IP address: the console process will only listen on host IP address.

Default values:

  • ":30000" for line 1
  • ":30002" for line 2

A physical device is specified as "<device-file>". It requires a port type of device.

Example:

  • "/dev/ttyS0"
  • "/dev/ttyUSB0"

type option specifies the serial line connection type.

Possible values:

DUMMY

  • Default value
  • The serial line is not connected to a port.
  • The line has no input.
  • The output will be discarded but can be logged to a file.

telnet

  • Port is a network socket with telnet protocol support.
  • Data is transmitted as a character stream encapsulated in the telnet protocol.
  • UART baud rate and parity modes are ignored.
  • If no client is connected, the output will be discarded.
  • Only one client connection is allowed.

socket

  • Raw network socket port mode.
  • Data is transmitted as a character stream without UART signals.
  • UART baud rate and parity modes are ignored.
  • If no client is connected, the output will be discarded.
  • Only one client connection is allowed.

pty

  • Linux pseudo terminal device.

  • UART baud rate and parity modes are ignored.
  • Ignores serial port control signals changes.

tty

  • Linux serial interface device.
  • This port type implements all serial port control signals, baud rate changes, parity modes. Actual capabilities depend on the capabilities of the host hardware.

RFC2217

  • Port is a network telnet client with RFC2217 support.

  • The RFC2217 COM Port Control (a telnet protocol extension) allows sharing modems and other serial devices over a TCP/IP network.

  • The emulated serial interface connects to a serial port server.
  • This port type implements all serial port control signals, baud rate changes, parity modes. Actual capabilities depend on the capabilities of the host hardware.


Div
classpagebreak

Console Communication

Charon-PAR provides preconfigured PuTTY session templates for connecting to a serial emulator console port. The templates must be copied to /root/.putty/sessions or /root/.config/putty/sessions because the emulator must be started as the root user.

Method 1: TCP port 30000, raw data mode

serial.uart0.device.type="socket"
serial.uart0.device.port=":30000"
serial.uart0.device.command="putty -load PAR-Socket"

Method 2: TCP port 30000, Telnet protocol

serial.uart0.device.type="telnet"
serial.uart0.device.port=":30000"
serial.uart0.device.command="putty -load PAR-Telnet-VT100"

...

serial.uart0.device.command="putty"

To start the xhpterm emulator (HP3000), the following setting should be used:

serial.uart0.device.command="./xhpterm -port 30000 -clean -font 10x20"

Please note::

  • If no command is specified, a connection to the TCP port is possible by starting another terminal emulator manually.
  • For device naming on Charon-PAR/PA9-32 refer to the serial line configuration section above.

SCSI Controllers and Devices

Every Charon-PAR emulated model has preconfigured SCSI controllers that can be used to configure emulated disks for the guest system. All models also have the option to load additional controllers. Please refer to the section I/O Slot Configuration in this chapter.

Please note: The description below shows how to work with preloaded SCSI controllers. Once an additional SCSI controller has been loaded, the steps below also apply to such a controller.

Preloaded SCSI Device Controllers

Charon-PAR implements I/O using controllers. Each controller

  • supports up to 15 SCSI devices,
  • is identified by a character code,
  • is assigned a path corresponding to the leading for elements of the device path.

The tables below show the preconfigured SCSI controllers of an rp2400 model as an example.

Please note: Other models may have more or less preconfigured controllers with different device paths and code mappings. For details regarding your model refer to the configuration file template or the chapter Emulated Model Hardware Configuration Details.

...

classpagebreak

Load Device Command for SCSI Devices

The load command is used to define SCSI devices.

Syntax:

load DDXnnn

DDXnnn represents the device name. It has the following components:

...


...

port

The format and values of the port option, depend on the type of the port.

Type
Port settings
DUMMYAny existing port settings are ignored.
socket, telnet

The port is mapped to a TCP socket on the emulator host. A TCP port number must be unique on the host system.

The TCP port number is specified in the following format:

<where-to-listen>:<portnumber>

Possible values for where-to-listen:

  • Empty:
    • If the port number is specified without a colon (:), the interface process will only be accessible on the localhost address. Equivalent lo:<portnumber>.
    • If the port number is specified with a colon, the interface process will listen on all host interfaces.
  • Interface name: the interface process will only listen on the specified host IP interface.
  • IP address: the interface process will only listen on the specified host IP address.

Default values:

  • ":30000" for line 1
  • ":30002" for line 2
pty, tty

The port is mapped to a serial host interface (e.g., /dev/ttyS0, /dev/ttyUSB0). For type pty, a pseudoterminal device is created automatically if no device is specified.

The format is <device-path> (as shown in the examples above).

RFC2217

The port is mapped to a serial port server on the network.

The format is <ip-address>:<tcp-port>

command

This parameter is optional. It can be used to specify a terminal emulation program that is started automatically when the emulated system is started. Charon-PAR provides preconfigured profiles for PuTTY (PAR-Socket, PAR-Telnet, PAR-Telnet-VT100) that can be used to connect to the emulated system via a serial line.

stop_command

Boolean flag. If true, the command started on the serial line (parameter command) will be stopped when exiting from the emulator.

out_log

File name for logging the output character stream from the CPU to the device. Does not depend on the port being operational (the actual transmission is not logged). Depending on the data sent, the file may best be viewed using a tool such as hexdump or od.

in_log

File name for logging the input character stream from the port to the device. Best be viewed using a tool such as hexdump or od.


Div
classpagebreak


Console Communication

Charon-PAR provides preconfigured PuTTY session templates for connecting to a serial emulator console port. The templates must be copied to /root/.putty/sessions or /root/.config/putty/sessions because the emulator must be started as the root user.

Method 1: TCP port 30000, raw data mode

serial.uart0.device.type="socket"
serial.uart0.device.port=":30000"
serial.uart0.device.command="putty -load PAR-Socket"

Method 2: TCP port 30000, Telnet protocol

serial.uart0.device.type="telnet"
serial.uart0.device.port=":30000"
serial.uart0.device.command="putty -load PAR-Telnet-VT100"


To connect to the console port without loading a PuTTY template, the command parameter can be set to

serial.uart0.device.command="putty"

To start the xhpterm emulator (Charon-PAR/PA3), the following setting should be used:

serial.uart0.device.command="./xhpterm -port 30000 -clean -font 10x20"

Please note::

  • If no command is specified, a connection to the TCP port is possible by starting another terminal emulator manually.
  • For device naming on Charon-PAR/PA9-32 refer to the serial line configuration section above.

SCSI Controllers and Devices

Every Charon-PAR emulated model has preconfigured SCSI controllers that can be used to configure emulated disks for the guest system. All models also have the option to load additional controllers. Please refer to the section I/O Slot Configuration in this chapter.

Please note:

  • The description below shows how to work with preloaded SCSI controllers. Once an additional SCSI controller has been loaded, the steps below also apply to such a controller.
  • It is not recommended to place emulator storage devices (in particular vdisks) on NFS as this will have a significant impact on performance. However, if any of the storage (e.g., ISO files or vdisks) is on an NFS share, NFS locking must be enabled and all intermediate firewalls between client and server must allow the port used by the lockd and statd. Failure to do so will cause the emulator to hang at startup.

Preloaded SCSI Device Controllers

Charon-PAR implements I/O using controllers. Each controller

  • supports up to 15 SCSI devices,
  • is identified by a character code,
  • is assigned a path corresponding to the leading for elements of the device path.

The tables below show the preconfigured SCSI controllers of an rp2400 model as an example.

Please note: Other models may have more or less preconfigured controllers with different device paths and code mappings. For details regarding your model refer to the configuration file template or the chapter Emulated Model Hardware Configuration Details.

CodeModule path (rp2400)Controller model
A0/0/1/053C875
B0/0/1/153C875
C0/0/2/053C896
D0/0/2/153C896


Div
classpagebreak



Load Device Command for SCSI Devices

The load command is used to define SCSI devices.

Syntax:

load DDXnnn

DDXnnn represents the device name. It has the following components:

ComponentValueDescription
DD                                    SCSI device type

DKDisk device mapped to file or physical device

MKTape device mapped to file or physical device

GKGeneric SCSI device mapped to physical SCSI target
X                                     Controller Code
The rp2400 model is used as an example below; refer to the template configuration file of your model and to Emulated Model Hardware Configuration Details for model specific details.

Arp2400 controller device path: 0/0/1/0

Brp2400 controller device path: 0/0/1/1

Crp2400 controller device path: 0/0/2/0

Drp2400 controller device path: 0/0/2/1
nnn                                   SCSI target ID and LUN

(SCSI ID * 100) + LUNIdentifies the SCSI device connected to a SCSI controller

...

DKA0.image="/data/virtual-disks/ldev1.dsk


Div
classpagebreak


Network Card Configuration

General information

The emulated Ethernet interfaces of Charon-PAR can be linked either to a

...

  • A TAP interface can either be created by the user or will be created automatically by the emulator if it does not already exist.
  • For automatically created TAP interfaces, the user can specify a name or let the emulator select a name.
  • A automatically created TAP interface is not automatically added to a bridge, this must be configured via the initialize_command (see the Ethernet Configuration Parameter table below).
  • An automatically created TAP interface is deleted automatically upon emulator stop.

...

The following table shows the parameters relevant to the log file and their values:

ParameterDescription
log.name="name="path/log-file-name"

log-file-name specifies the base name of the log file. The full log file name will be created using the base name combined with date, time and serial number. Default: charon-par.X_log.

log-file-name specifies the base name of the

A link with the name log-file-name

"

.log will be created that points to the active log file. After a log rotation, the link will be set to the new active log file.

The full log file name will be created using the base name combined with date and serial number. Default: hppa_log

The path specification is optional. It can be absolute or relative and indicates where the log file and the log-file link will be created. Default is the directory in which the emulator is started. The specified directory must exist - otherwise the emulator will not start.

log.on_console= false | trueDefines if logging output should be sent to the Charon-PAR console. Default: true.
log.disable= false | trueEnable or disable logging. Default: false.
log.no_rotate= false | trueIf set to false, once the line limit for a log file has been reached, the old log file will be closed and a new one will be opened with the last number in the log-file name incremented.. Default: false.
log.line_limit = valueMaximum number of lines in the log file before rotation. Default: 100000.

...

Code Block
languageactionscript3
YYYYMMDD:hhmmss.uuuuuu:<severity><message>

   where

YYYY   - year
MM     - month
DD     - day
hh     - hour
mm     - munites
ss     - seconds
uuuuuu - usecs

<severity> := '(warn|err|ERR):' or empty

warn   - warning
err    - error
ERR    - fatal error

<message> the component's message in free form


Div
classpagebreak


Parameter system.license_logging_level

...

SuperIO Configuration

General Information

The SuperIO module is included in the Astro chipset and emulates a historic HP9000 PCI board with PC style peripherals:

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

The current version of Charon-PAR supports only a subset of these devicesAnd the SuperIO module is only supported on models that are based on the Astro chipset (rp24xx and rp54xx).

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

  • two serial ports
  • one parallel port

...

classpagebreak

Other Parameters

Parameter system.do_timer_correction

If the system time of the emulated system deviates too much from the correct time, it can cause application problems in the emulated system. If this cannot be solved by other means (e.g., NTP), the parameter described here can be used to adjust the system time of the emulated system based on the host system's NTP adjusted time.

Syntax:

system.do_timer_correction = false | true

Parameters:

If set to false, no time correction will take place.
If set to true, the time of the emulated system will be corrected as described above.

Default: false

Parameter fma_check

Charon-PAR requires a host CPU that supports the FMA capability. Normally, an emulator will not run when trying to start it on a CPU without the required capabilities. 

This parameter allows you to disable the FMA check. However, this may lead to unexpected problems with the guest operating system.

Please note: Do not use this parameter if you run PA9 instances. For PA3 instances, use the configuration option at your own risk.

Syntax:

...

The SuperIO module is included in the Astro chipset and emulates a PCI board with PC style peripherals used in historic 64-bit PA-RISC systems:

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

The current version of Charon-PAR supports only a subset of these devicesAnd the SuperIO module is only supported on models that are based on the Astro chipset (rp24xx and rp54xx).

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

  • two serial ports
  • one parallel port

Insert excerpt
Configuring SuperIO Devices
Configuring SuperIO Devices
nopaneltrue

Div
classpagebreak


Other Parameters

Parameter system.do_timer_correction

If the system time of the emulated system deviates too much from the correct time, it can cause application problems in the emulated system. If this cannot be solved by other means (e.g., NTP), the parameter described here can be used to adjust the system time of the emulated system based on the host system's NTP adjusted time.

Syntax:

system.do_timer_correction = false | true

Parameters:

If set to false, no time correction will take place.
If set to true, the time of the emulated system will be corrected as described above.

Default: false

Parameter fma_check

Charon-PAR requires a host CPU that supports the FMA capability. Normally, an emulator will not run when trying to start it on a CPU without the required capabilities. 

This parameter allows you to disable the FMA check. However, this may lead to unexpected problems with the guest operating system.

Please note: Do not use this parameter if you run PA9 instances. For PA3 instances, use the configuration option at your own risk.

Syntax:

fma_check = false | true

Parameters:

If set to false, Charon-PAR will not check the FMA support of the host CPU.

Default: the check is enabled.

Parameter system.stop_on_halt

Available starting from version 3.0.5. This parameter is applicable to emulated systems in which a HP-UX guest operating system runs. When HP-UX is shut down with the shutdown -h command, the guest system will be halted. By default, the emulated system will be powered off automatically when a halt is detected (that is, the Charon-PAR process will be stopped). The stop_on_halt parameter allows the user to influence this behavior.

Syntax:

system.stop_on_halt = false | true

Parameters:

If set to false, Charon-PAR will not check the FMA support of the host CPUstop the emulated system automatically after the guest operating system has been halted. The emulator must be stopped from the Charon-PAR console (at the pa9-64> or pa9-32> prompt).

Default: the check is enabled true. the emulated system will be stopped automatically after the guest operating system has been halted.



Include Page
KBCOMMON:DOC-GoToToc
KBCOMMON:DOC-GoToToc