CHARON-AXP for Windows configuration
Table of Contents
- 1 Creation of CHARON VM configuration
- 2 Alpha model specification
- 3 Configuration name
- 4 Log file parameters
- 4.1 Rotating log (default)
- 4.2 Single log
- 5 CPU affinity
- 6 Number of host CPUs dedicated to CHARON I/O
- 7 Setting a specific Alpha model
- 8 Reducing number of emulated CPUs
- 9 Setting system serial number
- 10 TOY and ROM containers
- 11 Emulated memory (RAM) size
- 12 Console
- 13 Improve granularity of emulated timer
- 14 ATAPI CD/DVD-ROM configuration
- 15 Networking
- 16 Disk/tape subsystem
- 17 FDDI support via DEFPA PCI FDDI controller in "pass through" mode
- 18 Serial lines support via emulated PBXDA-xx family PCI controllers
- 19 Auto boot
- 20 Network boot
Creation of CHARON VM configuration
When a CHARON Virtual Machine (VM) is created using the CHARON Virtual Machine Manager, the text-based configuration file is copied from a template file. This configuration file must be customized for your specific configuration. The configuration file consists of directives written in the Charon-AXP "configuration syntax" which define all aspects of the emulated system, including amount of memory, number of CPUs, peripheral devices, the location of various associated files, to name some examples.
To edit the configuration file, open the CHARON Virtual Machine Manager from its shortcut on Desktop / Start menu or from the tray menu item, select the target CHARON VM and press the "Edit Configuration" button:
Notepad will be used to edit the configuration file:
Alpha model specification
The first configuration statement is the specification of the exact Alpha hardware model to emulate, for example:
|
This line must not be changed.
If you create the CHARON VM configuration file from scratch, it must be the very first uncommented line in the configuration file.
Configuration name
The next configuration statement is the "Configuration name" option. If the virtual machine has been created using an existing template, the configuration name is defined in the configuration_name.icfg file otherwise it is defined directly in the configuration file using the "set session configuration_name = <...>" syntax:
|
Notes:
The configuration name is reported in the log file and is used to set the log file name for rotating log (see explanations further).
Changing the configuration name in the "configuration_name.icfg" file does not change the name of the virtual machine at Virtual Machine Manager level.
The "configuration_name.icfg" file can be found in the home directiory of the VM. Select the target VM, open "VM Configuration" tab and press "Explore" button.
The configuration name can be any label that is meaningful.
Example:
|
It is possible to specify a configuration name containing spaces, in this case use quotation marks:
|
Log file parameters
The execution of a CHARON VM creates one log file or a set of log files reflecting the progress of its start-up and ongoing operations: start and end time of execution, system information, license and configuration details, warnings, reports on problems that may occur, etc. In case of problems with either the running CHARON VM or the emulated system configuration (such as the absence or malfunction of certain devices), the log file is the primary source to be analyzed for troubleshooting.
If it becomes necessary to contact Stromasys for support, the configuration and log files, plus the license number, will be requested to begin the problem resolution.
Example (split in three parts):
20200524:160742:INFO :0:00000249:ethane.cxx(9026): Logging started.
20200524:160742:INFO :0:000003A5:ethane.cxx( 147): session: loading built-in configuration "AlphaServer_ES40"...
20200524:160742:INFO :0:000003A6:ethane.cxx( 179): session: ... done loading built-in configuration "AlphaServer_ES40"
20200524:160742:INFO :0:000003A7:ethane.cxx( 337): session: loading service configuration "My_ES40"...
20200524:160742:INFO :0:000003A8:ethane.cxx( 372): session: ... done loading service configuration "My_ES40"
20200524:160742:INFO :0:000003AA:ethane.cxx( 420): session: loading configuration file "es40.cfg"...
20200524:160742:INFO :0:000003AB:ethane.cxx( 456): session: ... done loading configuration file "es40.cfg"
20200524:160742:INFO :0:0000032B:ethane.cxx(2707): Start request received.
20200524:160742:INFO :0:000003AC:ethane.cxx( 818): session: process affinity is 00000000000000FF, system affinity is 00000000000000FF
20200524:160742:INFO :0:000003D1:ethane.cxx(1476): session: I/O domain affinity is 0000000000000003, CPU domain affinity is 00000000000000FC
20200524:160742:INFO :0:0000024D:licenseman(1823): Checking the available license key "1422726238".
20200524:160742:INFO :0:0000024D:licenseman(1823): Found license key: "1422726238".
20200524:160742:INFO :0:0000024D:licenseman(1823): Checking product section 0.
20200524:160742:INFO :0:0000024D:licenseman(1823): The value "ALPHASERVER_ES40" of the required parameter "P_HW" is not found in the list "PDP1193,PDP1194" for the product 0.
20200524:160742:INFO :0:0000024D:licenseman(1823): Checking product section 1.
20200524:160743:INFO :0:0000024D:licenseman(1823): HASP clock: 24-May-2020 17:08:01.
20200524:160743:INFO :0:0000024D:licenseman(1823): Host clock: 24-May-2020 16:07:43.
20200524:160743:INFO :0:0000024D:licenseman(1823): License number: "003.msc.test.center.kirill".
20200524:160743:INFO :0:0000024D:licenseman(1823): Product License number: "p.axp".
20200524:160743:INFO :0:0000024D:licenseman(1823): CHARON product code: "CHAXP-4xxxx-WI-LI".
20200524:160743:INFO :0:0000024D:licenseman(1823): Unlimited license.
20200524:160743:INFO :0:0000024D:licenseman(1823): Feature 2 check interval 1 hour(s).
20200524:160743:INFO :0:0000024D:licenseman(1823): Concurrency info:
20200524:160743:INFO :0:0000024D:licenseman(1823): There are 4 instances allowed.
20200524:160743:INFO :0:0000024D:ethane.cxx(2838): STROMASYS SA, (C) 2009-2020
20200524:160743:INFO :0:00000408:ethane.cxx(2880): CHARON-AXP (AlphaServer ES40), V 4.11 B 20404, May 24 2020 / 003.msc.test.center.kirill / 1422726238
20200524:160743:INFO :0:00000336:ethane.cxx(2921): The end user of this software has agreed to STROMASYS' Terms and Conditions for Software License and Limited Warranty, as described at: http://www.stromasys.com/pub/doc/30-17-033.pdf
20200524:160743:INFO :0:00000097:ethane.cxx(3000): OS Environment: Microsoft Windows 10 Pro, 64-bit (Build 17134).
20200524:160743:INFO :0:00000098:ethane.cxx(3005): Host CPU: Intel(R) Xeon(R) CPU E31275 @ 3.40GHz x8.
20200524:160743:INFO :0:00000099:ethane.cxx(3010): Host Memory: 24320Mb
20200524:160743:INFO :0:0000041F:ethane.cxx(3236): Configuration dump::
. session:
. . configuration_name = "ES40 test"
. . log = "log.txt"
. . log_method = "overwrite"
. . log_locale = "English"
. . log_show_messages = "all"
. . log_repeat_filter = "off"
. c_chip:
. . mm_timer_correction_disable = "false"
. RAM:
. . size = "512"
. ACE:
. . num_entries = "2139"
. . num_translators = "0"
. . cache_size = "1024"
. . cache_base_size = "200"
. . host_options = " --locked-size=16"
. . enabled = "true"
. . ext_compiler = "ml64.exe"
. . ext_path = ""
. . cpu_architecture = "EV6"
. . locked_size = "16"
. axp_bus_0:
. . mm_timer_correction_disable = "false"
. cpu_0:
. . locked_size = "16"
. . wtint_idle = "true"
. axp_bus_1:
. . mm_timer_correction_disable = "false"
. cpu_1:
. . locked_size = "16"
. . wtint_idle = "true"
. axp_bus_2:
. . mm_timer_correction_disable = "false"
. cpu_2:
. . locked_size = "16"
. . wtint_idle = "true"
. axp_bus_3:
. . mm_timer_correction_disable = "false"
. cpu_3:
. . locked_size = "16"
. . wtint_idle = "true"
. ROM:
. . container = "clipper.bin"
. . dsrdb[0] = "1816"
. . dsrdb[1] = "50"
. . dsrdb[4] = "50"
. . dsrdb[11] = "1050"
. . dsrdb[12] = "1050"
. . system_name = "AlphaServer ES40 6/500"
. pci_0:
. . mm_timer_correction_disable = "false"
. pci_1:
. . mm_timer_correction_disable = "false"
. ISA:
. . clock_period = "10000"
. . mm_timer_correction_disable = "false"
. TOY:
. . sync_to_host = "as_vms, nowrite"
. COM1:
. . line = "OPA0"
. . communication = "console"
. COM2:
. . line = "(void)"
. . communication = "ascii"
. OPA0:
. . trace = "disabled"
. . port = "10003"
. . application = "putty -load OPA0"
. EWA:
. . adapter_mode = "auto"
. . interface = "EWA0"
. . rx_fifo_delay_on_overload = "false"
. EWA0:
. . interface = "(disabled)"
. . port_show_driver_statistics = "false"
. . port_enable_mac_addr_change = "true"
. . port_delay_tx_on_overload = "true"
. . suspend_msg_on_mac_change = "true"
. . legacy_mode = "false"
. PKA:
. . scsi_id = "7"
. . min_n_of_threads = "0"
. . container[0] = "C:\Dev\test\performancecomparison-axp.vdisk"
. . container[400] = "C:\Dev\test\ALPHA084.ISO"
. . container[600] = "C:\Dev\test\test_tape.vtape"
. . removable[600] = "true"20200524:160743:INFO :0:00000418:busemul.cx( 188): ISA: MultiMedia Timer correction is enabled.
20200524:160743:INFO :0:00000420:dit_server(1038): ACE: ACE is on, Running 2 translators.
20200524:160743:INFO :0:0000034B:scsi_disk.( 485): PKA_0: open I/O handle
container = "C:\Dev\test\performancecomparison-axp.vdisk"
20200524:160743:INFO :0:0000034B:scsi_cdrom( 211): PKA_400: open I/O handle
container = "C:\Dev\test\ALPHA084.ISO"
20200524:160743:INFO :0:0000034B:scsi_tape.( 348): PKA_600: open I/O handle
container = "C:\Dev\test\test_tape.vtape"
20200524:160743:INFO :0:00000400:ethdev.cxx( 388): EWA: RX FIFO size is 512KB.
20200524:160743:INFO :0:0000032C:ethane.cxx(2743): "ES40 test" started.
20200524:160743:INFO :0:00000419:winsckio.c(2703): OPA0: Connected. Remote 127.0.0.1:65128.The next group of parameters defines the name of the CHARON VM log file and how the CHARON VM will use it:
|
Rotating log (default)
By default CHARON utilizes a so-called "rotating log" mechanism. This means that a new default log file is created each time CHARON starts and can switch to another log file if the size of the log file exceeds 64Kb (this behavior can be changed with the "set session log_file_size" and "set session log_rotation_period" parameters; see more details in the "General Settings" chapter of this guide).
This mode is turned on if all the log parameters above are disabled (commented out) or the "session_log" parameter is pointing to a directory rather than to a file. If a directory is specified, the log files will be created in that directory.
The names of the rotating log files are composed as follows:
|
If the "Configuration name" parameter described before is omitted (commented out), the log name has the following format instead:
|
Note that "xxxxxxxxx" is an increasing decimal number starting from "000000000" to separate log files with the same time of creation.
The "log" parameter, if specified, must correspond to an existing folder.
If the path is not specified, the log file is created in the "Home directory" mentioned in the VM Configuration tab of the CHARON Virtual Machine Manager.
Single log
To use a single log file, uncomment the "set session log" line and specify the log file name. Optionally, a path can be added to the log file name. If the path is not specified, the log file is created in the "Home directory" mentioned in the VM Configuration tab of the CHARON Virtual Machine Manager.
The log file can be extended specifying "log_method = append" (*recommended for reporting issues*) or overwritten, specifying "log_method = overwrite".
Below is a specification of a CHARON VM log file located in the "C:\CHARON logs" directory which will be appended each time the CHARON VM starts:
|
CPU affinity
This setting binds the running CHARON VM CPUs to particular host CPUs.This should be used for soft partitioning host CPU resources or for isolating multiple CHARON VMs on the same host from each other. By default the emulator instance allocates as many host CPUs as possible.
“Affinity” overrides the default and allows explicit specification of which host CPUs will be used by the instance. Affinity does not reserve the CPU for exclusive use.
|
The example above directs CHARON VM to use CPU 0,1,2 and 3.
If this parameter is omitted CHARON host will allocate available CPUs automatically.
Note that the number of the specified host CPUs must correspond to the number of the emulated CPUs (one host CPU for one emulated CPU; this value is specific for each Alpha model) and number of CPUs needed for CHARON application itself ("n_of_io_cpus").
Number of host CPUs dedicated to CHARON I/O
This setting reserves host CPUs (of those specified by “affinity” parameter, if any) for use by CHARON VM for I/O handling. By default CHARON VM reserves one third of available host CPUs for I/O processing (round down, at least one).
The “n_of_io_cpus” overrides the default by specifying the number of I/O host CPUs explicitly
Example:
|
The example above directs CHARON VM to use 2 host CPUs for CHARON I/O operations.
Note that the number of the specified CPUs dedicated to CHARON VM I/O operations must correspond to the total number of available for CHARON CPUs (restricted by "affinity" parameter if needed) and the number of the virtual Alpha CPUs to be emulated.
Setting a specific Alpha model
CHARON-AXP allows to specify an exact model of Alpha.
For example for AlphaServer ES40 family the template configuration file contains the following options:
|
Just uncomment the provided lines to apply a certain model (It is "AlphaServer ES40 6/667" in the example above).
The full description of the parameters and other models that can be also configured is available in the "Configuration details" chapter of this User's Guide.
Reducing number of emulated CPUs
If the CHARON host does not contain enough CPUs to emulate full range of the CPUs provided by a certain Alpha model, it is possible to direct the CHARON VM to reduce the number of emulated Alpha CPUs:
|
This parameter can also be used to avoid warning messages in the log if the number of CPUs allowed by the license is less than the default number of CPUs of the emulated Alpha model.
Setting system serial number
If necessary, a specific system serial number instead of the default one:
|
TOY and ROM containers
The TOY and ROM containers have to be configured. Their presence depends on the Alpha model. It is always recommended to enable them. If a container file of the given name does not exist, starting the CHARON VM will create it.
TOY means "Time of Year". Its container records time, date and some console parameters while the CHARON VM is not running. It is highly recommended to define and activate this container:
|
The ROM container stores an intermediate state of the Flash ROM and some console parameters. It is highly recommended to define and activate this container:
|
Emulated memory (RAM) size
The next parameter defines the amount of host memory the CHARON VM reserves for the emulation:
|
The amount of RAM is specified in MB. It cannot exceed or be lower than certain values specific for each Alpha model. It is very important to keep the listed predefined increment between possible memory values.
The following table shows all the parameters:
Hardware Model | RAM size (in MB) | |||
| Min | Max | Default | Increment |
AlphaServer 400 | 64 | 1024 | 512 | 64 |
AlphaServer 800 | 256 | 8192 | 512 | 256 |
AlphaServer 1000 | 256 | 1024 | 512 | 256 |
AlphaServer 1000A | 256 | 1024 | 512 | 256 |
AlphaServer 1200 | 256 | 32768 | 512 | 256 |
AlphaServer 2000 | 64 | 2048 | 512 | 64 |
AlphaServer 2100 | 64 | 2048 | 512 | 64 |
AlphaServer 4000 | 64 | 32768 | 512 | 64 |
AlphaServer 4100 | 64 | 32768 | 512 | 64 |
AlphaServer DS10 | 64 | 32768 | 512 | 64 |
AlphaServer DS10L | 64 | 32768 | 512 | 64 |
AlphaServer DS15 | 64 | 32768 | 512 | 64 |
AlphaServer DS20 | 64 | 32768 | 512 | 64 |
AlphaServer DS25 | 64 | 32768 | 512 | 64 |
AlphaServer ES40 | 64 | 32768 | 512 | 64 |
AlphaServer ES45 | 64 | 32768 | 512 | 64 |
AlphaServer GS80 | 256 | 65536 | 512 | 256 |
AlphaServer GS160 | 512 | 131072 | 512 | 512 |
AlphaServer GS320 | 1024 | 262144 | 1024 | 1024 |
It is possible to leave the RAM line commented out. In this case the model's default RAM amount is used.
Note that in some particular orders your license may restrict the maximum RAM amount of each Alpha model.
Console
Mapping to system resources
The next step is the specification of the Alpha console (OPA0) serial line.
Example:
|
The goal of this configuration step is to tell CHARON-AXP what host device to use as the virtual system console. The following options are available:
Option | Description |
|---|---|
line | Mapping to host serial line, "COM<n>:". |
port | Mapping to an IP port of the CHARON host. |
application | Starting some application (typically terminal emulator) with its specific options and switches to communicate to CHARON using the IP port defined by the "port" parameter (see above) |
alias | Define some meaningful name for "COM1" and "COM2". Usually it is "OPA0" for "COM1" and "TTA0" for "COM2" (see below) |
The second console line "TTA0" can be also optionally configured (for 1 CPU models such as AlphaServer 400, AlphaServer 800, AlphaServer 1000, AlphaServer 1000A, AlphaServer DS10, AlphaServer DS10L and AlphaServer DS15):
|
Note that additional parameters for the CHARON VM serial lines configuration can be added. Follow this link for details.
Exit on pressing F6 button
The following directive configures the emulator to exit immediately when the F6 key sequence is sent to the emulator console:
|
This means that if the F6 key is pressed in the terminal emulator being used to connect to the console (PuTTY, for example), the emulator will exit immediately.
Please note that the emulator can be stopped when at the SRM prompt ("P00>>>") by type power off, as well as from the Virtual Machine Manager. To shut down the guest safely, Stromasys recommends the following procedure:
Shut down the guest OS (OpenVMS/Tru64 UNIX)
Wait for the SRM prompt ("P00>>>")
Type
power offat the SRM promptThe connection to the console will be lost when the emulator exits, which means the terminal emulator window will probaly disappear.
At this point you can stop or restart the emulator host safely
Stromasys does not recommend enabling this feature. It means that any person (or software) which connects to the console port on the emulator host can stop the emulator and thus "pull the virtual power cable" from the OpenVMS or Tru64 UNIX guest. In particular, many organizations have deployed automated port scanners in their datacenters to discover open ports on the systems in the network. Many such port-scanning solutions, if they are able to connect to an open port, will next try to send data to the port. In many cases this data can be interpreted as the stop sequence and cause the emulator to exit.
If you must allow incoming connections to the console port, you should configure the Windows firewall with a "whitelist" of IP addresses from which such connections are allowed, and disallow all other addresses.
Improve granularity of emulated timer
The next configuration option can be applied for improving granularity of emulated CHARON-AXP timer:
|
Do not uncomment this parameter unless there are some problems with the system time or the system clock intervals in the guest OS.
ATAPI CD/DVD-ROM configuration
If the sample configuration file provides this parameter it is possible to map this particular CHARON VM emulator's "DQA0" CD-ROM to the host CD/DVD-ROM with the following setting:
|
Networking
CHARON-AXP supports DE435, DE450, DE500AA, DE500BA, DE602 and DE602AA virtual network adapters.
All of them are configured in a similar way:
|
|
In the examples above the first line loads DE500BA/DE602 virtual adapter with a name "EWA"/"EIA" (note that "/i8255x" syntax must be used only with DE602 and DE602AA adapters); the following line maps it to the host network interface having a name "Charon" ("connection" is a key word). Note that the mapping is performed in 2 steps:
A mapping object "packet_port" with a name "EWA0"/"EIA0" is loaded and connected to the host interface named "Charon", so the CHARON VM will use this interface for its networking
The loaded DE500BA/DE602 virtual adapter "EWA"/"EIA" is connected to the "packet_port" object "EWA0"/"EIA0".
It is possible to load several DE435, DE450, DE500AA, DE500BA or DE602 controllers. For example (for DE500BA):
|
Some network adapters available in CHARON-AXP are preloaded (for example, AlphaServer DS15 contains 2 preloaded adapters EWA and EWB), so their configuration in CHARON VM is even more simple:
|
Please note:
CHARON supports VLAN adapters. If used, proceed with their installation and configuration according to the network adapter vendor User's Guide and then use the resulting VLAN interface the same way as the regular network interface.
The AlphaServer DS15 and DS25 contain two built-in PCI Ethernet adapters. Models and names (EI* or EW*) of them depend on configuration addon. Choose one of the two or none, but not both. The first instantiates onboard network interfaces as EIA and EWA. While the second - EWA and EWB (enabled by default for backward compatibility)
Example:
#include ds25-onboard-nics.icfginclude ds25-onboard-nics-ew.icfg
Follow this link for more details of CHARON-AXP network controllers configuration.
Disk/tape subsystem
The disk and tapes subsystems and the mapping to the system resources can be done using the samples given in the template configuration files.
CHARON-AXP supports KZPBA and KGPSA-CA adapters.
KZPBA PCI SCSI disk/tape controller
Below is the typical configuration options for the KZPBA PCI SCSI disk/tape controller:
|
The first line ("load KZPBA PKA") loads a disk controller KZPBA with name "PKA", followed by 8 groups of lines showing different ways of mapping to the host resources:
File representing a physical disk of the Alpha system (disk image)
"<file-name>.vdisk"
These files can be created from scratch with "MkDisk" utility. Data and OS disks backups are transferred from the original system via tapes or network and restored into these container files.
Mapping may also include the full path, for example: "C:\My disks\my_boot_disk.vdisk". If the path is not specified, the disk images are expected to be in the CHARON VM home directory.Important note: using compressed folders to store virtual disks and tapes is not supported
.
Physical disk
"\\.\PhysicalDrive<N>"
Be careful not to destroy all the information from the disk dedicated to CHARON VM by mistake.These disks must not be formatted by the host OS.
.
Physical disk by its WWID
"\\.\PhysicalDrive(DevID =XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX)"
Be careful not to destroy all the information from the disk dedicated to CHARON VM by mistake.These disks must not be formatted by the host OS.
DevID addresses the target physical disk by its WWID (hexadecimal 128-bit identifier assigned to the disk drive by its manufacturer/originator).
Example:
.
iSCSI disks
"\\.\PhysicalDrive(iScsiTarget = <iSCSI target>, LUN = <LUN number>)"
Example:
.
SCSI device unknown to Windows for direct mapping, for example, a SCSI disk or tape reader
"\\.\Scsi<N>:<X>:<Y>:<Z>"
The values of N, X, Y and Z can be collected using special utility "Host Device Check" included in the CHARON distributive - or manually by investigation of the devices connected to CHARON host in the "Device Manager" applet..