Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 91 Next »

Contents


Overview

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 Charon-PAR/PA3 or Charon-PAR/PA9 hardware model or model family. The files also contain important descriptions for all parameters listed.

The name of the Charon-PAR/PA3 template file is  pa3.cfg. The names of the Charon-PAR/PA9-64 templates are rp*.cfg, for Charon-PAR/PA9-32 pa9-32.cfg.

Before starting an emulator instance, 

  • copy the appropriate template file to the directory where you store the configuration data of your emulator instance, and
  • modify the template file according to your requirements.

Comments in the file are preceded by the # character.

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.

The configuration file is structured in several sections that are described below


License Configuration

This section defines the license specific parameters.

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"

license_key_id "key-id-prio2" 

(...)

Parameters:

The key-id-prioX parameter is a numerical value that can be determined using the hasp_srm_view -all command and identifying the value of the License KeyId parameter in the output. As long as the ID is a numerical value, the quotes are optional.

Parameter license_use_any_key 

Optional parameter. This parameter is closely related to the license_key_id parameter. If the license_key_id parameter is used, it determines what happens if none of the defined license keys are available.

Syntax:

license_use_any_key false | true 

Parameters:

Default value: false

If this parameter is set to true, the emulator will try to find any other suitable licenses should none of the licenses specified by the license_key_id parameter(s) be available. By default, if the license_key_id parameter is used, only the license keys specified there will be considered.

Parameter license_id

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"

license_id "lic-id-prio2" 

(...)

Parameters:

The lic-id-prioX parameter is a string value that must be enclosed in quotes. It can be determined using the hasp_srm_view -all command and identifying the value of the Product License Number parameter in the output. If none of the specified product licenses is available, the emulator will not start, or a running emulator will stop.


Problem Handler Parameters

The Charon-PAR configuration file supports the following parameters that can be used to alert the user to potential license problems:

Parameter
Description
hasp_lost_usr_cmd

Runs a user-defined script or a executable if Charon disconnects from current valid license and no other valid license is found. This action is called every hour during the 12 hours grace period (at the end of which Charon-PAR stops unless a license has been found).

The script or command started receives three parameters from Charon-PAR: key-id, product-license-id, and termination time.

Usage example:
hasp_lost_usr_cmd=“./my-license_connection_lost.sh"

license_changed_usr_cmd

Runs a user-defined script or an executable when Charon-PAR disconnects from one license and connects to another for any reason.

The script or command started receives four parameters from Charon-PAR: old-key-id, old-product-license-id,new-key-id, and new-product-license-id.

Usage example:
license_changed_usr_cmd="./my-license_changed.sh"

license_expiration_warning_usr_cmd

Runs a user-defined script or an executable when the license expiration time is within few hours. The default setup is: starting 24 hours before expiration this script is invoked each hour.

The script or command started receives three parameters from Charon-PAR: key-id, product-license-id, expiration time.

Usage example:
license_expiration_warning_usr_cmd=“./my-license_expiration_warning.sh”

Machine State Parameters

Optional parameter: allows a non-default path to store the machine state.

Syntax:

machine_state_path "path"

Parameters:

The value of path is a Unix file system path. It must be enclosed in double quotes.

System Model Configuration

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

Syntax:

model "model-name"

The configured model must be covered by your license.



Each configuration file template is preconfigured for a certain family of models. The following table shows the model-name values for each of the configuration file templates:

TemplateValues for model-nameDescription
pa3.cfg

A400-100-110, A500-200-200,

N4000-100-750,

N4000-200-750,

N4000-400-750


rp2400.cfg

rp2400-1-360

single CPU, 360MHz, model string: 9000/800/A400-36


rp2400-1-440single CPU, 440MHz, model string: 9000/800/A400-44

rp2400Abbreviation for 1 CPU system at 440MHz
rp2430.cfgrp2430-1-550

single CPU, 550MHz, model string: 9000/800/A400-5X


rp2430-1-650single CPU, 650MHz, model string: 9000/800/A400-6X

rp2430Abbreviation for 1 CPU system at 650MHz
rp2450.cfgrp2450-1-360

1 or 2 CPUs, 360MHz, model string: 9000/800/A500-36


rp2450-1-4401 or 2 CPUs, 440MHz, model string: 9000/800/A500-44

rp2450-1-5501 or 2 CPUs, 550MHz, model string: 9000/800/A500-5X

rp2450Abbreviation for 2 CPU system at 550MHz
rp2470.cfgrp2470-1-650

1 or 2 CPUs, 650MHz, model string: 9000/800/A500-6X


rp2470-1-7501 or 2 CPUs, 750MHz, model string: 9000/800/A500-7X

rp2470Abbreviation for 2 CPU system at 750MHz
rp5400.cfgrp5400-1-360

1 or 2 CPUs, 360MHz, model string: 9000/800/L1000-36


rp5400-1-4401 or 2 CPUs, 440MHz, model string: 9000/800/L1000-44

rp5400-1-5501 or 2 CPUs, 550MHz, model string: 9000/800/L1000-5X

rp5400Abbreviation for 2 CPU system at 550MHz
rp5430.cfgrp5430-1-360

1 or 2 CPUs, 360MHz, model string: 9000/800/L1500-36


rp5430-1-4401 or 2 CPUs, 440MHz, model string: 9000/800/L1500-44

rp5430-1-5501 or 2 CPUs, 550MHz, model string: 9000/800/L1500-5X

rp5430-1-6501 or 2 CPUs, 650MHz, model string: 9000/800/L1500-6X

rp5430-1-7501 or 2 CPUs, 750MHz, model string: 9000/800/L1500-7X

rp5430-1-8751 or 2 CPUs, 875MHz, model string: 9000/800/L1500-8X

rp5430Abbreviation for 2 CPU system at 750MHz
rp5450.cfgrp5450-1-360

1 to 4 CPUs, 360MHz, model string: 9000/800/L2000-36


rp5450-1-4401 to 4 CPUs, 440MHz, model string: 9000/800/L2000-44

rp5450-1-5501 to 4 CPUs, 550MHz, model string: 9000/800/L2000-5X

rp5450Abbreviation for 4 CPU system at 550MHz
rp5470.cfgrp5470-1-5501 to 4 CPUs, 550MHz, model string: 9000/800/L3000-5X

rp5470-1-6501 to 4 CPUs, 650MHz, model string: 9000/800/L3000-6X

rp5470-1-750

1 to 4 CPUs, 750MHz, model string: 9000/800/L3000-7X


rp5470-1-8751 to 4 CPUs, 875MHz, model string: 9000/800/L3000-8X

rp5470Abbreviation for 4 CPU system at 750MHz
rp7400.cfgrp7400-1-3601 to 8 CPUs, 360MHz, model string:"9000/800/N4000-36

rp7400-1-4401 to 8 CPUs, 440MHz, model string:"9000/800/N4000-44

rp7400-1-5501 to 8 CPUs, 550MHz, model string:"9000/800/N4000-55

rp7400-1-6501 to 8 CPUs, 650MHz, model string:"9000/800/N4000-65

rp7400-1-7501 to 8 CPUs, 750MHz, model string:"9000/800/N4000-75

rp7400Abbreviation for 8 CPU system at 750MHz
pa9-32.cfg7000-7201 CPU, 50MHz, model string: "7000-720"


Memory Configuration

This section defines the RAM size for the emulated system. It only contains one parameter.

Syntax:

memory memsizeG
   or
memory
memsize

Memory size can be specified in gigabytes (denoted by the letter G) or megabytes.

Parameters:

Default memsize: 2 gigabytes

Maximum memsize: maximum allowed RAM size for the emulated system. See section Virtual Hardware Supported by Charon-PAR for the maximum allowed values.

The configurable memory also depends on the amount of memory available on the host system.


I/O Slot Configuration

This section is used to load additional controllers for the emulated system.

The available expansion PCI slots depend on the configured hardware model (see configuration template files and chapter Emulated Model Hardware Configuration Details). The Emulated Model Hardware Configuration chapter also lists the device paths for all expansion slots of a model. 

Supported controller types: SCSI controllers and Ethernet cards.


Syntax for Ethernet cards:

load ETH tulip PCI slot-number

Parameters for Ethernet cards:

The parameter slot-number identifies the number of PCI slot (see configuration file template and Emulated Model Hardware Configuration Details). All other parameters are fixed in the current version of the software.


Syntax for SCSI controllers:

load SCSI controller-model PCI slot-number

Parameters for SCSI controllers:

  • slot-number identifies the number of PCI slot (see configuration file template and Emulated Model Hardware Configuration Details).
  • controller-model can be
    53C875 for single-chip boards (assigned to PCI device function 0), or
    53C896 for a dual 53C895 controller (assigned to PCI device function 0 and 1)

System Console and Serial Line Configuration

Built-in Serial Lines

Most of the emulated systems have 2 serial lines. Please refer to Emulated Model Hardware Configuration Details for the device path associated with the built-in serial lines.

Configuration path for built-in serial lines on Charon-PAR/PA3 and Charon-PAR/PA9-64Comment
serial.uart0.deviceConsole
serial.uart2.device
Configuration path for built-in serial lines on Charon-PAR/PA9-32
asp.uart0.deviceConsole
asp.uart1.device

The configuration path string is used in the configuration file to specify parameters for the virtual serial line.


Super/IO Module

If the Super/IO module has been loaded, there are two additional serial lines. In the configuration, they are identified by superio_001.uart0 and
superio_001.uart1. The basic configuration options are the same as for the default serial lines.

Configuration Syntax

Syntax:

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

or

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

The options available for configuration are described below.

Serial port options

type

The 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.

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.


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.

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




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


Examples:

To load a disk on device path 0/0/1/0.1.2 (SCSI target ID 1, LUN 2), add the command

load DKA102

To load a tape on device path 0/0/1/1.12.0 (SCSI target ID 12, LUN 0), add the command

load MKB1200 


The image Subcommand

After a SCSI device has been loaded, the associated container file or device must be specified.

Please note: the image subcommand is for MK and DK devices only.

Format:

device.image="<path-to-device-or-file>"

Parameters:

  • device: the virtual SCSI device created by the load command. See the load command for details about the device name syntax.
  • path-to-device-or-file: the path to the Linux device or container file.

Example:

To associate a disk device on 0/0/1/0.0.0 (controller code A, SCSI target ID 0, LUN 0) with a container file called ldev1.dsk, add the command

DKA0.image="ldev1.dsk"

The devname Subcommand

Use the devname subcommand to specify the device to be used for a generic SCSI device (GK device).

Please note: A generic SCSI device can be a tape or disk device. Guest system SCSI commands are passed through to the device directly and not handled by the Linux disk or tape driver. The functionality depends on the device understanding the guest system SCSI commands.

Format:

GKXnnn.devname="<path-to-device>"

Parameters:

  • GKXnnn: the generic virtual SCSI device created by the load command. See the load command for details about the device name syntax.
  • path-to-device: special filename of the generic SCSI device (/dev/sgX) on Linux, for example: /dev/sg0.

Tape autoload Subcommand

To enable tape container files to be automatically loaded as tapes into a virtual tape device, the autoload command can be added for a specific tape device in the configuration file. Not applicable to physical tape devices.

Format:

MKXnnn.autoload=yes|no

Parameters:

MKXnnn: the emulated tape device. Possible values for X and nnn see above.

Default: autoload is off by default.

Please note:

  • The autoload command works well in many situations but can cause problems in some cases, for example with multi-volume backups. Any applications using tape devices should be tested thoroughly to verify if the autoload option is working as expected.
  • MPE/iX can load a tape using operating system utilities. HP-UX cannot. Hence, the autoload command may be more often useful in an HP-UX environment.


Tape size Subcommand

The size command limits the maximum size of a tape container file. Not applicable to physical tape devices.

Format:

MKXnnn.size=<size-in-bytes>

Parameters:

  • MKXnnn: the virtual SCSI tape device created by the load command. See the load command for details about the device name syntax.
  • size-in-bytes: maximum size of the tape container file.

Default: tape container file size is not limited.

Tape Subcommands for Physical Tape Devices

The following two commands can only be used for physical tape devices:

SubcommandDescription
MKXnnn.fast=true|falseOptimization for writing EOF marks. Do not use for old tape drives.
Default is off.
MKXnnn.nounload=true|falseSet to true for DDS tapes. Set to false for DLT tapes.
Default is on.

Typical System Disk Configuration

The system disk is usually configured on device path 0/0/1/0.0.0. To load this device and to map it to a disk image file, add the following commands:

load DKA0

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



Network Card Configuration

General information

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

  • physical host interface, or
  • to a TAP interface on the host.

Notes for TAP interfaces:

  • 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.

Notes for network configurations on VMware:

  • ESXi has configuration parameters that improve security but may block certain emulator NIC configurations.
  • One configuration option allows or blocks promiscuous mode (the default mode of operation for Charon-PAR guest NICs).
  • Other configuration options allow or block the change of a MAC address or the use of a different, additional MAC address on the same NIC (MAC address changes, Forged transmits).

By default, emulated models have one Ethernet device. Depending on the model, more Ethernet devices can be added.

A guest HP-UX system will perceive the network card as a 10/100 Mbit/s controller running at 10 Mbit/s half-duplex. If the user tries to change this setting using SAM or the lanadmin command, the command will be accepted but the displayed interface settings will not change.  However, the throughput of the emulated network card depends on the combination of network performance, physical network card characteristics, host system and guest system performance - it is not tied to the displayed interface settings. So the actual throughput will be what can be achieved depending on the conditions listed above.

Ethernet Card Device Names

Names on 64-bit systems:

The name of the Ethernet interface in the emulator configuration file has the format EWxn with the following definitions:

  • x is an uppercase letter starting with A for the first interface and then continues with B, C, etc. for additional interfaces. The possible number of network cards depends on the features of the original physical system. The absolute maximum number is 16.
  • n is the device number of the card starting with 0 for each value of x.

Names on 32-bit systems:

The currently supported 32-bit system supports only one Ethernet card named system.lan0.card.


Ethernet Configuration Parameters

This section lists the available Ethernet interface configuration parameters.

Basic syntax:

<device-name>.<parameter>="<value>"

The device-name specifies the name of the Ethernet card as described above in the Ethernet Card Device Names section. 

The parameters and their values are described in the following table:

ParameterValues
mapping_mode

Possible values:

  • RAW: the emulated Ethernet card is mapped to a physical interface on the Charon host that is dedicated to the Charon guest system. This setting is the default value.
  • TAP: the emulated Ethernet card is mapped to a TAP device on the Charon host. If the parameter iface is not set or the specified interface does not exist, it is created by the emulator.
  • DUMMY: presents a network interface without any actual network connectivity to the guest system. All other Ethernet parameters are ignored if this parameter is set.
    It will be set automatically, if
    • iface="dummy",
    • or iface="" and mapping_mode="RAW".
iface

Specifies the name of the host interface mapped to the emulated interface.

For mapping_mode="RAW": this parameter must be set to an interface dedicated to the emulator.

For mapping_mode="TAP": the parameter can be

  • empty: the emulator will choose a name for the TAP interface and create it automatically at startup (and delete it when stopped).
  • name of non-existing TAP interface: the emulator will create the interface automatically at startup (and delete it when stopped).
  • name of an existing TAP interface: the emulator will use this interface.

For any mapping_mode: the value dummy will cause the emulator to present a dummy network interface to the guest system.

Upon emulator start, Charon-PAR will set a variable IFACE to contain the interface name. This variable can then be used in the initialization command to refer to the interface name.

macaddr

Can be set to override the default (same as host interface) MAC address of the interface.
By default, when using mapping_mode RAW, the interface is put into promiscuous mode, and the original MAC address of the interface is not overwritten.
If the legacy_mode is configured for the interface, it is not set into promiscuous mode, and the MAC address of the corresponding host NIC is changed to the configured address. The original MAC address is restored upon emulator exit.

Please note: the above behavior is new starting with version 3.0.1 build 21.500. In older versions, when the MAC address was changed, it was not reset automatically when the emulator was stopped.

initialize_command

Command(s) to initialize the host interface for use with the Charon emulator.

  • For physical interfaces (RAW): all offload parameters active on the interface should be turned off, as shown by the example in the configuration file template.
  • For TAP interfaces: the TAP interface should be activated, if needed, and added to the appropriate bridge interface (example: "ip link set $IFACE up; ip link set $IFACE master br0"); the exact configuration depends on the customer requirements.

The variable IFACE is set by the emulator and defined automatically for the execution of the initialization command.

adapter_mode

Defines the speed and duplex settings of the interface that are reported to the guest system.

Possible values: auto, 10BaseT-HD, 10BaseT-FD, 100BaseT-HD, 100BaseT-FD
Default: 100BaseT-FD


Parameter (cont'd)Values
legacy_mode

New starting with version 3.0.1 build 21.500. Only applicable to mapping_mode RAW. PA64 uses a physical network adapter in promiscuous mode by default. This parameter allows to change the mode to non-promiscuous.

Possible values:

  • true - non-promiscuous mode; if a custom MAC address was set, it will be set on the physical NIC during emulator operation and reset to the burned-in MAC address when the emulator stops.
  • false - promiscuous mode; if a custom MAC address was set, it will not be be set on the physical NIC (not required for the guest communication due to promiscuous mode)

Default: false

pkg_dump

Can be used to enable a packet dump to the log file.
Possible values: true or false
Default: false

rx_fifo_size

Can be used to set the size of the RX FIFO buffer (in KB). Do not change unless advised to do so by Stromasys support.
Possible values: 0, or 16 to 1024
Default: 0 = disabled


Logging configuration

This section defines how Charon-PAR handles logging. Note that the default log file location is the directory in which the emulator was started.
This can be changed with the emulator command-line option -l (or --logfile-path).

Log File Parameters

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

ParameterDescription
log.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.

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 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.

Log File Format

Starting with version 3.0.1 the log file has the following format:

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



Parameter system.license_logging_level

Starting with Charon-PAR version 1.11, periodic (once per hour) log messages indicating a successful periodic license check are disabled by default to avoid cluttering the log file. They can be re-enabled by adding this parameter to the emulator configuration file.

Syntax:

system.license_logging_level = value

Parameters:

  • If value is set to 2, the messages are enabled.
  • If value is set to 0 or 1, the messages are disabled.

Please note that this parameter must be placed towards the end of the configuration file and will not work if placed before the memory configuration.



SuperIO Configuration

General Information

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

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.
    • 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:

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

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:

superio_001.uart0.device.type="telnet"
superio_001.uart0.device.port=":30001"

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

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.

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.


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

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 stop 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: true. the emulated system will be stopped automatically after the guest operating system has been halted.



  • No labels