Anchor | ||||
---|---|---|---|---|
|
...
Table of Contents | ||
---|---|---|
|
Creation of
...
By default, all the CHARON templates are located in the "C:\Program Files (x86)\CHARON\Build_XXXXX\x86" (x64) or "C:\Program Files\CHARON\Build_XXXXX\x86" (x86) folder. Copy the appropriate template configuration file(s) to your home directory (or to any directory intended for CHARON-VAX / CHARON-PDP).
Please do not edit the original template configuration files since they can be updated or even removed on update/deinstallation of CHARON-VAX / CHARON-PDP
Once the file has been created you can open it in "Notepad" editor (or use the "CHARON Launcher" utility to open the configuration file) and proceed with modification to reflect the exact features of the system you are going to emulate.
We will review all the parameters step by step issuing some recommendations and guidelines.
...
CHARON VM configuration
Once you have created a CHARON Virtual Machine (VM) in CHARON Virtual Machine Manager using some template you should update this sample template to meet the desired configuration of your HP Alpha.
This configuration is represented as a text file ("configuration file") containing some specific keywords to define the HP Alpha main settings such as amount of memory, number of CPUs, peripheral devices as well as specifics of CHARON VM executions such as name of VM log file, number of host CPUs used for emulation, etc.
To change the configuration file, run the CHARON Virtual Machine Manager from its shortcut on Desktop / Start menu or from the tray menu item, select the target CHARON VM and either press the "Change VM" button or select the "VM Configuration" tab:
In the appearing dialog press the "Edit Configuration file" button:
Edit the CHARON VM configuration using the default text editor:
...
The first configuration statement is the specification of the exact VAX/PDP11 hardware model to emulate, for example:
|
You must leave this line untouched.
...
The next configuration statement is the "Configuration name" option:
|
You can optionally uncomment this line to differentiate this CHARON-VAX / CHARON-PDP instance from all others in a multi-instance environment. The configuration name can be any label that is meaningful.
...
Here is an example of a CHARON-VAX / CHARON-PDP log file:
|
The next group of parameters defines the name of the CHARON-VAX / CHARON-PDP log file and how CHARON-VAX / CHARON-PDP will use it:
|
Rotating log (default)
By default CHARON-VAX / CHARON-PDP utilizes a so-called "rotating log". This means that a new default log file is always created each time CHARON starts and can switch to another log file if the size of the log file exceeds 64Kb.
...
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.
...
Below is a specification of a CHARON-VAX / CHARON-PDP log file located in the "?:\My logs" directory which will be overwritten each time CHARON-VAX / CHARON-PDP starts:
|
...
TOY means "Time of Year"; its container records time, date and some console parameters while CHARON-VAX / CHARON-PDP is not running. To enable, uncomment the following line:
|
The ROM container stores an intermediate state of the Flash ROM and some console parameters. So its container is also recommended to keep uncommented:
|
EEPROM stores the NVRAM content, so its container is also recommended to keep uncommented:
|
...
PDP11/93 and PDP11/94 emulators require the KW11 system timer to be configured:
|
Just uncomment the line corresponding to the frequency used in the RSX11/RT11 systems to be migrated.
...
The next setting indicates whether CHARON-VAX / CHARON-PDP will use Advanced CPU Emulation (ACE) mode:
|
Note that ACE significantly speeds up CHARON execution.
...
The next parameter defines the amount of host memory the chosen CHARON-VAX / CHARON-PDP model reserves for the emulation:
#set ram size = 32 |
The amount of RAM is specified in MB. It cannot exceed or be lower than certain values specific for each VAX/PDP11 model. It is very important to keep the listed predefined increment between possible memory values.
Div | ||
---|---|---|
| ||
| ||
The following table shows all the parameters:
Hardware Model | RAM size (in MB) |
Min | Max | Default | Increment | |
PDP1193 | 2 | 4 | 2 | 2 |
PDP1194 | 2 | 4 | 2 | 2 |
MicroVAX_II | 1 | 16 | 16 | 1,8,16 |
MicroVAX_3600 | 16 | 64 | 16 | 16 |
MicroVAX_3900 | 16 | 64 | 16 | 16 |
VAXserver_3600 | 16 | 64 | 16 | 16 |
VAXserver_3900 | 16 | 64 | 16 | 16 |
VAXserver_3600_128 | 32 | 128 | 32 | 32 |
VAXserver_3900_128 | 32 | 128 | 32 | 32 |
MicroVAX_3100_Model_96 | 16 | 128 | 16 | 16 |
VAXstation_4000_Model_90 | 16 | 128 | 16 | 16 |
VAX_4000_Model_106 | 16 | 128 | 16 | 16 |
VAX_6000_Model_310 | 32 | 512 | 32 | 32 |
VAXserver_3600_512 | 32 | 512 | 32 | 32 |
VAXserver_3900_512 | 32 | 512 | 32 | 32 |
MicroVAX_3100_Model_98 | 16 | 512 | 16 | 16 |
VAX_4000_Model_108 | 16 | 512 | 16 | 16 |
VAX_4000_Model_700 | 64 | 512 | 64 | 64 |
VAX_4000_Model_705 | 64 | 512 | 64 | 64 |
VAX_6610 | 128 | 3584 | 128 | 128 |
VAX_6620 | 128 | 3584 | 128 | 128 |
VAX_6630 | 128 | 3584 | 128 | 128 |
VAX_6640 | 128 | 3584 | 128 | 128 |
VAX_6650 | 128 | 3584 | 128 | 128 |
VAX_6660 | 128 | 3584 | 128 | 128 |
It is possible to leave the RAM line commented out. In this case the model's default RAM amount is used.
...
Div | ||||
---|---|---|---|---|
| ||||
Console
Mapping to system resources
The next step is the specification of the VAX/PDP11 console (OPA0) serial line:
#load physical_serial_line/chserial OPA0 line="\\.\COM1" #load virtual_serial_line/chserial OPA0 port=10003 load virtual_serial_line/chserial OPA0 port=10003 application="putty.exe -load OPA0" |
The goal of this configuration step is to tell CHARON-VAX / CHARON-PDP what host device to use as the virtual system console. The following options are available:
Option | Description | |||||||
---|---|---|---|---|---|---|---|---|
physical_serial_line | Mapping to host "\\.\COM<n>" physical serial line. | |||||||
virtual_serial_line | Mapping to an IP port of CHARON-VAX / CHARON-PDP host.
Example:
In the example above, CHARON-VAX / CHARON-PDP use the IP port "10003" for the VAX/PDP11 console and starts the "Putty" terminal emulator (included in each CHARON distributive) with the "OPA0" saved session directing it to connect to the IP port "10003".If the terminal emulator is closed, it is always possible to reopen it with the "Show Console" command from the CHARON system tray icon: |
The default setting is:
load virtual_serial_line/chserial OPA0 port=10003 application="putty.exe -load OPA0" |
Div | ||||
---|---|---|---|---|
| ||||
Note that the VAX 4000 and MicroVAX 3100 models have a 4-line QUART adapter onboard, so their configuration for the console line looks a bit different:
#load physical_serial_line/chserial TTA0 line="\\.\COM1" #load virtual_serial_line/chserial TTA0 port=10000 #load virtual_serial_line/chserial TTA0 port=10000 application="putty.exe -load TTA0" #set quart line[0]=TTA0 #load physical_serial_line/chserial TTA1 line="\\.\COM2" #load virtual_serial_line/chserial TTA1 port=10001 #load virtual_serial_line/chserial TTA1 port=10001 application="putty.exe -load TTA1"
... #load physical_serial_line/chserial OPA0 line="\\.\COM4" #load virtual_serial_line/chserial OPA0 port=10003 load virtual_serial_line/chserial OPA0 port=10003 application="putty.exe -load OPA0"
|
In case of VAX 4000 and MicroVAX 3100 models, it is possible to configure up to 4 independent console lines: OPA0, TTA0, TTA1 and TTA2. The main one is OPA0.
...
It is also recommended to set a hot key to stop the guest from the console in addition to the system tray icon:
set OPA0 stop_on = F6 |
This line provides CHARON-VAX / CHARON-PDP the ability to exit by pressing the "F6" button.
...
The examples below are for MSCP and SCSI controllers only. DSSI controllers are discussed in details in the following section, CI controllers - in this section.
Div | ||||
---|---|---|---|---|
| ||||
MSCP disk controllers (RQDX3, KDB50, KDM70)
Below is a typical configuration sample for MSCP disk controller RQDX3:
#load RQDX3 DUA #set DUA container[0]="<file-name>.vdisk" #load RQDX3 DUB address=... |
The first line ("load RQDX3 DUA") loads disk controller RQDX3 with name DUA, followed by 6 lines showing different ways of mapping to the host resources:
- Mapping to the file representing a physical disk of the VAX/PDP11 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 (recommended), for example: "C:\My disks\my_boot_disk.vdisk"
Example:
set DUA container[0]="my_bootable_disk.vdisk"
.
- Mapping to physical disk.
"\\.\PhysicalDrive<N>"
Be careful not to destroy all the information from the disk dedicated to CHARON-VAX / CHARON-PDP by mistake. These disks must not be formatted by the host OS.
Example:set DUA container[1]="\\.\PhysicalDrive1"
.
- Mapping to 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-VAX / CHARON-PDP 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:
Div class small set DUA container[2]="\\.\PhysicalDrive(DevID= 6008-05F3-0005-2950-BF8E-0B86-A0C7-0001)"
.
- "\\.\PhysicalDrive(DevID = <XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX>)"
Mapping to iSCSI disks.
"\\.\PhysicalDrive(iScsiTarget = <iSCSI target>, LUN = <LUN number>)"
iScsiTarget addresses the disk by its iSCSI target name. LUN specifies LUN on connected iSCSI disk.Example:
Div class small set DUA container[3]="\\.\PhysicalDrive(iScsiTarget= iqn.2008-04:iscsi.charon-target-test1, LUN= 1)"
Div class pagebreak
Mapping to CD-ROM device.
"\\.\CdRom<N>"
Example:
set DUA container[4]="\\.\CdRom0"
.
- Mapping to an ISO file for reading distribution CD-ROM image.
"<file-name>.iso"
Mapping may also include the full path (recommended), for example: "C:\My disks\vms_distributive.iso"
Example:
set DUA container[5]="vms_distributive.iso"
.
- Mapping to Floppy drive.
"\\.\A:"
Example:
set DUA container[6]="\\.\A:"
.
- Mapping to some other type of drive, for example magneto-optical drive.
"\\.\<N>:"
Example:
set DUA container[6]="\\.\H:"
.
Numbers in the square brackets represent unit numbers associated with each container of the MSCP controller. For example, the 3rd "set DUA" line of the configuration sample above creates disk "DUA2". The maximum unit number allowed is 9999, significantly more than the original hardware provided.
...
Note that the KDM70 controller is capable of mapping to files representing tapes (tape images) and physical tape devices:
set PUA container[600] = "<file-name>.vtape" |
Follow this link for details of (T)MSCP controllers configuration.
Back to Table of Contents
Div | ||||
---|---|---|---|---|
| ||||
SCSI controller NCR53C94
The VAX 4000 and MicroVAX 3100 have an NCR53C94 SCSI controller onboard for support of different types of SCSI devices including disks and tapes. Optionally a second controller can be added.
Below is a typical configuration template for a preloaded "PKA" NCR53C94 SCSI controller:
|
Div | ||
---|---|---|
| ||
| ||
Note that NCR53C94 SCSI controller mapping to system resources is done via specific auxiliary objects:
Mapping Object | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
virtual_scsi_disk | Mapping to a file representing VAX/PDP11 disk (disk image) on the host physical disk:
| ||||||||||
physical_scsi_device | Mapping to a host SCSI device:
| ||||||||||
virtual_scsi_cdrom | Mapping to a host CD-ROM (not only SCSI) or to ISO image:
| ||||||||||
virtual_scsi_tape | Mapping to a file representing tape (tape image). It may contain a path, for example: "C:\M y tapes\backup.vtape " | ||||||||||
floppy_scsi_device | Mapping to a host floppy drive:
|
Div | ||||
---|---|---|---|---|
| ||||
Let's look at the syntax of the mapping objects. All of them have several important parameters:
Mapping objects parameters | Description |
---|---|
scsi_bus | The name of the NCR53C94 SCSI controller. A typical value for the first and only preloaded NCR53C94 SCSI controller is "PKA" |
scsi_id | SCSI address of this particular mapped device. Note that the preloaded NCR53C94 SCSI controller claims address "7"; addresses 0-6 are vacant and usable. The resulting names of virtual SCSI devices as they are seen in VAX/VMS are made up of the VMS name of the SCSI controller and the device address. For PKA, the device names in VMS will be DKA0, DKA1 etc |
container | A keyword for specification of which host device is mapped to a particular virtual SCSI device. It can be disk or tape image, physical disk etc |
It is possible to configure another NCR53C94 SCSI controller "PKB" by uncommenting the "include kzdda.cfg" line:
|
In the example above "pkb_0" virtual SCSI device uses "PKB" controller by specifying a parameter "scsi_bus=pkb"
...
Example statements to configure TQK50 are shown below:
|
The first line ("load TQK50 MUA") loads tape controller TQK50 with a name of MUA. The following 2 lines demonstrate different ways of mapping to host resources:
Type of mapping | Description |
---|---|
"<file-name>.vtape" | Mapping to the file representing the tape (tape image). These files are created automatically. Mapping may also include a full path (recommended), for example: "C:\My tapes\backup.vtape" |
"\\.\TapeN" | Mapping to a host tape device. |
Numbers in the square brackets represent unit numbers associated with each container of the TQK50 controller. For example, the 2nd "set MUA" line of the configuration sample above creates tape drive "MUA1". The maximum unit number allowed is 9999, significantly more than the original hardware provided
...
TUK50 is a UNIBUS controller used by the VAX 6310:
|
The first line loads a UNIBUS BI adapter "DWBUA". Then configure the "TUK50" tape controller the same way as the TQK50.
...
All of them are configured according to the following template:
#load DHV11/DHV11 TXA load DHQ11/DHV11 TXA #load CXY08/DHV11 TXA #load CXA16/DHV11 TXA #load CXB16/DHV11 TXA #load physical_serial_line/chserial TXA0 line="\\.\COMn" #load virtual_serial_line/chserial TXA0 port=10010 #set TXA line[0]=TXA0 #load physical_serial_line/chserial TXA1 line="\\.\COMn" #load virtual_serial_line/chserial TXA1 port=10011 #set TXA line[1]=TXA1 ... #load DHV11/DHV11 TXB address=... #load DHQ11/DHV11 TXB address=... #load CXY08/DHV11 TXB address=... #load CXA16/DHV11 TXB address=... #load CXB16/DHV11 TXB address=... |
The first 5 lines of the example above demonstrate loading serial line controllers of different types. The name of the controller (in this example) will be "TXA"
Div | ||||
---|---|---|---|---|
| ||||
Once the controller is loaded it can be mapped to system resources (lines 6-11). The following options are available:
Option | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
physical_serial_line | Mapping to host "\\.\COM<N>" serial line | |||||||||
virtual_serial_line | Mapping to an IP port of CHARON-VAX / CHARON-PDP.
Example:
In the example above, CHARON-VAX / CHARON-PDP uses the IP port "10011" for the VAX/PDP11 serial line and starts the "Putty" terminal emulator (included in each CHARON distributive) with a "TXA0" saved session directing it to connect to the IP port "10011".
|
Look at the line "set TXA line[0]=TXA0" in the example. This one and the following lines of similar syntax map the loaded virtual controller ("TXA") to instances of host serial lines ("TXA<N>").
...
VAX 4000 and MicroVAX3100 support DHW42-AA, DHW42-BA and DHW42-CA serial lines adapters:
#load DHW42AA/DHV11 TXA #load DHW42BA/DHV11 TXA #load DHW42CA/DHV11 TXA #load physical_serial_line/chserial TXA0 line="\\.\COMn" #load virtual_serial_line/chserial TXA0 port=10010 #set TXA line[0]=TXA0 |
Configuring these adapters is the same as above, except it is possible to load one and only one instance of DHW42-AA, DHW42-BA or DHW42-CA.
...
Div | ||
---|---|---|
| ||
| ||
Networking
CHARON-VAX / CHARON-PDP supports DEQNA, DESQA, DELQA, DEUNA, DELUA, DEMNA, DEBNI and PMADAA virtual network adapters.
All of them are configured in a similar way:
|
In the example above the first line loads DELQA virtual adapter with a name "XQA"; the following 2 lines map it to host network interface having a name "Charon" ("connection" is a key word). Note that the mapping is performed in 2 steps:
...
Some network adapters available in CHARON-VAX / CHARON-PDP are preloaded (for example, the SGEC controller for the MicroVAX 3100 with the predefined name "EZA"), so their configuration is even more simple:
|
Info |
---|
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. |
...
MicroVAX 3100, VAX/PDP11 6310 and VAX/PDP11 4000 boot automatically if correct boot flags are set with VAX/PDP11 console:
>>> set halt reboot |
Please check that the TOY, EEPROM and ROM containers (see above) are enabled so console command changes are saved between reboots.
The ROM of certain VAXes (MicroVAX II, MicroVAX 3600, MicroVAX 3900, VAXserver 3600 and VAXserver 3900) does not allow the SRM console to accept the commands to enable auto booting. In this case, some parameters in the configuration file can be used instead:
set bdr boot=auto |
Div | ||||
---|---|---|---|---|
| ||||
CHARON-VAX 6000 models have a similar configuration setting:
set xmi boot=auto |
CHARON-PDP models have the following setting:
set cpu_0 auto_boot = "DU0" |
These configuration lines are typically specified in the template configuration files (in commented out form). In case of absence please add the corresponding line according to the examples above.
...
VAX 6620 through VAX6660 models emulate 2-6 CPUs respectively. In this situation, loading of the host system can be tuned with the following configuration file settings:
Setting | Description | Example | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
affinity | This setting binds the running instance of the emulator CPUs to particular host CPUs.This should be used for soft partitioning host CPU resources or for isolating multiple CHARON instances 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. |
| ||||||||
n_of_io_cpus | Reserves host CPUs (of those specified by “affinity” parameter, if any) for use by the emulator for I/O handling. By default the emulator instance 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. |
|