VIRTUTECH CONFIDENTIAL    Previous - Up - Next

4   Supported Components

The following sections list components that are supported for the x86-440bx architecture. There also exist other components in Simics, such as various PCI devices, that may work for x86-440bx but that have not been tested.

The default machines are constructed from components in the -system.include files in [simics]/targets/x86-440bx/. See the Configuration and Checkpointing chapter in the Simics User Guide for information on how to define your own machine, or make modifications to an existing machine.

4.1   x86-440BX Components

4.1.1   x86-apic-system

Description
The "x86-apic-system" component represents a multi-processor capable x86 system with up to 15 cpus.
Attributes
acpi
Optional attribute; read/write access; type: b.

TRUE if the machine uses ACPI. Default is TRUE.

bios
Optional attribute; read/write access; type: String.

The x86 BIOS file to use.

break_on_reboot
Optional attribute; read/write access; type: b.

If true, the simulation will stop when machine is rebooted.

memory_megs
Required attribute; read/write access; type: Integer.

The amount of RAM in megabytes on the processor board.

rtc_time
Required attribute; read/write access; type: String.

The date and time of the Real-Time clock.

Commands
create-x86-apic-system ["name"] memory_megs "rtc_time" [break_on_reboot] ["bios"] [acpi]
Creates a non-instantiated component of the class "x86-apic-system". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<x86-apic-system>.cmos-base-mem kilobytes
Sets the amount of base memory (in kB).
This command will update the proper location in the CMOS so that the BIOS will know how much memory is installed in the system. Operating system that use the BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 640kB.
<x86-apic-system>.cmos-boot-dev "drive"
Specifies boot device for the BIOS in the CMOS.
Parameters: A or C, or floppy or HD boot. Default is C.
<x86-apic-system>.cmos-extended-mem megabytes
Sets the amount of extended memory (in MB).
This command will update the proper location in the CMOS so that the BIOS will know how much memory is installed in the system. Operating system that use the BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 63MB.
<x86-apic-system>.cmos-floppy "drive" "type"
Sets information in the CMOS about floppy drives.
Drive is either A (primary drive) or B (secondary drive), and type is the maximal drive size (in kB or MB); 360, 720, 1.2, 1.44, 2.88. Setting type to "none" indicates to the OS/BIOS that no drive is present. Since both arguments are strings, quoting is sometimes necessary.
<x86-apic-system>.cmos-hd "drive" cylinders heads sectors_per_track
Sets information in the CMOS about the primary hard disk ("C") and the secondary hard disk ("D").
<x86-apic-system>.cmos-info
Print detailed information about the CMOS information from the RTC device.
<x86-apic-system>.cmos-init
Set initial CMOS values in the RTC device.
This is miscellaneous data that is not set by any of the other cmos-* commands. Note that the CMOS values only has to be set if not running from a saved configuration. A saved configuration will have all values stored in the NVRAM area, and the cmos-* commands need only be used if some values have to be changed.
<x86-apic-system>.info
Print detailed information about the configuration of the device.
<x86-apic-system>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
chipsetx86-chipsetdown
cpu0x86-apic-processordown
cpu[1-14]x86-apic-processordown
interruptsb-interruptdown
resetx86-reset-busdown

4.1.2   pentium-cpu

Description
The "pentium-cpu" component represents an Intel Pentium processor.
Attributes
apic_frequency
Optional attribute; read/write access; type: Integer.

APIC bus frequency in MHz, default is 10 MHz.

cpi
Optional attribute; read/write access; type: Integer.

Cycles per instruction.

cpu_frequency
Required attribute; read/write access; type: Integer.

Processor frequency in MHz.

cpu_threads
Pseudo attribute; read-only access; type: Integer.

The number of hyper threads in the processor.

Commands
create-pentium-cpu ["name"] cpu_frequency [cpi] [apic_frequency]
Creates a non-instantiated component of the class "pentium-cpu". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pentium-cpu>.info
Print detailed information about the configuration of the device.
<pentium-cpu>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-apic-processorup
cache-cputiming-modeldown
direct-pinsx86-pinsdown

4.1.3   pentium-mmx-cpu

Description
The "pentium-mmx-cpu" component represents an Intel Pentium MMX processor.
Attributes
apic_frequency
Optional attribute; read/write access; type: Integer.

APIC bus frequency in MHz, default is 10 MHz.

cpi
Optional attribute; read/write access; type: Integer.

Cycles per instruction.

cpu_frequency
Required attribute; read/write access; type: Integer.

Processor frequency in MHz.

cpu_threads
Pseudo attribute; read-only access; type: Integer.

The number of hyper threads in the processor.

Commands
create-pentium-mmx-cpu ["name"] cpu_frequency [cpi] [apic_frequency]
Creates a non-instantiated component of the class "pentium-mmx-cpu". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pentium-mmx-cpu>.info
Print detailed information about the configuration of the device.
<pentium-mmx-cpu>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-apic-processorup
cache-cputiming-modeldown
direct-pinsx86-pinsdown

4.1.4   pentium-pro-cpu

Description
The "pentium-pro-cpu" component represents an Intel Pentium Pro (P6) processor.
Attributes
apic_frequency
Optional attribute; read/write access; type: Integer.

APIC bus frequency in MHz, default is 10 MHz.

cpi
Optional attribute; read/write access; type: Integer.

Cycles per instruction.

cpu_frequency
Required attribute; read/write access; type: Integer.

Processor frequency in MHz.

cpu_threads
Pseudo attribute; read-only access; type: Integer.

The number of hyper threads in the processor.

Commands
create-pentium-pro-cpu ["name"] cpu_frequency [cpi] [apic_frequency]
Creates a non-instantiated component of the class "pentium-pro-cpu". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pentium-pro-cpu>.info
Print detailed information about the configuration of the device.
<pentium-pro-cpu>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-apic-processorup
cache-cputiming-modeldown
direct-pinsx86-pinsdown

4.1.5   pentium-ii-cpu

Description
The "pentium-ii-cpu" component represents an Intel Pentium II processor.
Attributes
apic_frequency
Optional attribute; read/write access; type: Integer.

APIC bus frequency in MHz, default is 10 MHz.

cpi
Optional attribute; read/write access; type: Integer.

Cycles per instruction.

cpu_frequency
Required attribute; read/write access; type: Integer.

Processor frequency in MHz.

cpu_threads
Pseudo attribute; read-only access; type: Integer.

The number of hyper threads in the processor.

Commands
create-pentium-ii-cpu ["name"] cpu_frequency [cpi] [apic_frequency]
Creates a non-instantiated component of the class "pentium-ii-cpu". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pentium-ii-cpu>.info
Print detailed information about the configuration of the device.
<pentium-ii-cpu>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-apic-processorup
cache-cputiming-modeldown
direct-pinsx86-pinsdown

4.1.6   pentium-iii-cpu

Description
The "pentium-iii-cpu" component represents an Intel Pentium III processor.
Attributes
apic_frequency
Optional attribute; read/write access; type: Integer.

APIC bus frequency in MHz, default is 10 MHz.

cpi
Optional attribute; read/write access; type: Integer.

Cycles per instruction.

cpu_frequency
Required attribute; read/write access; type: Integer.

Processor frequency in MHz.

cpu_threads
Pseudo attribute; read-only access; type: Integer.

The number of hyper threads in the processor.

Commands
create-pentium-iii-cpu ["name"] cpu_frequency [cpi] [apic_frequency]
Creates a non-instantiated component of the class "pentium-iii-cpu". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pentium-iii-cpu>.info
Print detailed information about the configuration of the device.
<pentium-iii-cpu>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-apic-processorup
cache-cputiming-modeldown
direct-pinsx86-pinsdown

4.1.7   pentium-4-cpu

Description
The "pentium-4-cpu" component represents an Intel Pentium 4 processor.
Attributes
apic_frequency
Optional attribute; read/write access; type: Integer.

APIC bus frequency in MHz, default is 10 MHz.

cpi
Optional attribute; read/write access; type: Integer.

Cycles per instruction.

cpu_frequency
Required attribute; read/write access; type: Integer.

Processor frequency in MHz.

cpu_threads
Pseudo attribute; read-only access; type: Integer.

The number of hyper threads in the processor.

Commands
create-pentium-4-cpu ["name"] cpu_frequency [cpi] [apic_frequency]
Creates a non-instantiated component of the class "pentium-4-cpu". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pentium-4-cpu>.info
Print detailed information about the configuration of the device.
<pentium-4-cpu>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-apic-processorup
cache-cputiming-modeldown
direct-pinsx86-pinsdown

4.1.8   pentium-4e-cpu

Description
The "pentium-4e-cpu" component represents an Intel 64-bit Pentium 4E processor.
Attributes
apic_frequency
Optional attribute; read/write access; type: Integer.

APIC bus frequency in MHz, default is 10 MHz.

cpi
Optional attribute; read/write access; type: Integer.

Cycles per instruction.

cpu_frequency
Required attribute; read/write access; type: Integer.

Processor frequency in MHz.

cpu_threads
Pseudo attribute; read-only access; type: Integer.

The number of hyper threads in the processor.

Commands
create-pentium-4e-cpu ["name"] cpu_frequency [cpi] [apic_frequency]
Creates a non-instantiated component of the class "pentium-4e-cpu". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pentium-4e-cpu>.info
Print detailed information about the configuration of the device.
<pentium-4e-cpu>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-apic-processorup
cache-cputiming-modeldown
direct-pinsx86-pinsdown

4.1.9   pentium-4e-2ht-cpu

Description
The "pentium-4e-2ht-cpu" component represents an Intel 64-bit Pentium 4E processor, with 2 hyper threads.
Attributes
apic_frequency
Optional attribute; read/write access; type: Integer.

APIC bus frequency in MHz, default is 10 MHz.

cpi
Optional attribute; read/write access; type: Integer.

Cycles per instruction.

cpu_frequency
Required attribute; read/write access; type: Integer.

Processor frequency in MHz.

cpu_threads
Pseudo attribute; read-only access; type: Integer.

The number of hyper threads in the processor.

Commands
create-pentium-4e-2ht-cpu ["name"] cpu_frequency [cpi] [apic_frequency]
Creates a non-instantiated component of the class "pentium-4e-2ht-cpu". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pentium-4e-2ht-cpu>.info
Print detailed information about the configuration of the device.
<pentium-4e-2ht-cpu>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-apic-processorup
cache-cpu[0-1]timing-modeldown
direct-pinsx86-pinsdown

4.1.10   pentium-4e-4ht-cpu

Description
The "pentium-4e-4ht-cpu" component represents an Intel 64-bit Pentium 4E processor, with 4 hyper threads.
Attributes
apic_frequency
Optional attribute; read/write access; type: Integer.

APIC bus frequency in MHz, default is 10 MHz.

cpi
Optional attribute; read/write access; type: Integer.

Cycles per instruction.

cpu_frequency
Required attribute; read/write access; type: Integer.

Processor frequency in MHz.

cpu_threads
Pseudo attribute; read-only access; type: Integer.

The number of hyper threads in the processor.

Commands
create-pentium-4e-4ht-cpu ["name"] cpu_frequency [cpi] [apic_frequency]
Creates a non-instantiated component of the class "pentium-4e-4ht-cpu". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pentium-4e-4ht-cpu>.info
Print detailed information about the configuration of the device.
<pentium-4e-4ht-cpu>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-apic-processorup
cache-cpu[0-3]timing-modeldown
direct-pinsx86-pinsdown

4.1.11   x86-hammer-cpu

Description
The "x86-hammer-cpu" component represents a generic 64-bit AMD Athlon 64 or Opteron processor without on-chip devices.
Attributes
apic_frequency
Optional attribute; read/write access; type: Integer.

APIC bus frequency in MHz, default is 10 MHz.

cpi
Optional attribute; read/write access; type: Integer.

Cycles per instruction.

cpu_frequency
Required attribute; read/write access; type: Integer.

Processor frequency in MHz.

cpu_threads
Pseudo attribute; read-only access; type: Integer.

The number of hyper threads in the processor.

Commands
create-x86-hammer-cpu ["name"] cpu_frequency [cpi] [apic_frequency]
Creates a non-instantiated component of the class "x86-hammer-cpu". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<x86-hammer-cpu>.info
Print detailed information about the configuration of the device.
<x86-hammer-cpu>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-apic-processorup
cache-cputiming-modeldown
direct-pinsx86-pinsdown

4.1.12   north-bridge-443bx

Description
The "north-bridge-443bx" component represents an Intel 443BX North Bridge (host-to-PCI bridge) without AGP.
Commands
create-north-bridge-443bx ["name"]
Creates a non-instantiated component of the class "north-bridge-443bx". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<north-bridge-443bx>.info
Print detailed information about the configuration of the device.
<north-bridge-443bx>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-chipsetup
pci-slot[0-23]pci-busdown

4.1.13   north-bridge-443bx-agp

Description
The "north-bridge-443bx" component represents an Intel 443BX North Bridge (host-to-PCI bridge) with AGP.
Commands
create-north-bridge-443bx-agp ["name"]
Creates a non-instantiated component of the class "north-bridge-443bx-agp". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<north-bridge-443bx-agp>.info
Print detailed information about the configuration of the device.
<north-bridge-443bx-agp>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
systemx86-chipsetup
agp-slot0agp-busdown
pci-slot[0-23]pci-busdown

4.1.14   south-bridge-piix4

Description
The "south-bridge-piix4" component represents an Intel PIIX4 PCI south bridge with the common legacy PC devices. It includes two IDE controllers, and a real-time clock. There is also a USB controller that is not supported in Simics.
Commands
create-south-bridge-piix4 ["name"]
Creates a non-instantiated component of the class "south-bridge-piix4". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<south-bridge-piix4>.info
Print detailed information about the configuration of the device.
<south-bridge-piix4>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
interruptsb-interruptup
pci-buspci-busup
ide0-masteride-slotdown
ide0-slaveide-slotdown
ide1-masteride-slotdown
ide1-slaveide-slotdown
isa-busisa-busdown
usb[0-1]usb-portdown

4.1.15   south-bridge-md1535d

Description
The "south-bridge-md1535d" component represents an ALi MD1535D PCI south bridge with the common legacy PC devices. It includes two IDE controllers, a floppy controller with two drives, three serial ports, and a real-time clock. There is also a USB controller that is not supported in Simics.
Commands
create-south-bridge-md1535d ["name"]
Creates a non-instantiated component of the class "south-bridge-md1535d". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<south-bridge-md1535d>.info
Print detailed information about the configuration of the device.
<south-bridge-md1535d>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
interruptsb-interruptup
pci-bus-idepci-busup
pci-bus-isapci-busup
pci-bus-pmpci-busup
com[1-3]serialdown
ide0-masteride-slotdown
ide0-slaveide-slotdown
ide1-masteride-slotdown
ide1-slaveide-slotdown
isa-busisa-busdown

4.2   PCI Device Components

4.2.1   pci-bcm5703c

Description
The "pci-bcm5703c" component represents a Broadcom 5703C PCI based gigabit Ethernet adapter.
Attributes
bios
Optional attribute; read/write access; type: String.

The x86 BIOS file to use.

mac_address
Required attribute; read/write access; type: String.

The MAC address of the Ethernet adapter.

Commands
create-pci-bcm5703c ["name"] "mac_address" ["bios"]
Creates a non-instantiated component of the class "pci-bcm5703c". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-bcm5703c>.info
Print detailed information about the configuration of the device.
<pci-bcm5703c>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
ethernetethernet-linkdown

4.2.2   pci-bcm5704c

Description
The "pci-bcm5704c" component represents a Broadcom 5704C PCI based dual-port gigabit Ethernet adapter.
Attributes
bios
Optional attribute; read/write access; type: String.

The x86 BIOS file to use.

mac_address0
Required attribute; read/write access; type: String.

The MAC address of the first Ethernet adapter.

mac_address1
Required attribute; read/write access; type: String.

The MAC address of the second Ethernet adapter.

Commands
create-pci-bcm5704c ["name"] "mac_address0" "mac_address1" ["bios"]
Creates a non-instantiated component of the class "pci-bcm5704c". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-bcm5704c>.info
Print detailed information about the configuration of the device.
<pci-bcm5704c>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
ethernet[0-1]ethernet-linkdown

4.2.3   pci-i82543gc

Description
The "pci-i82543gc" component represents an Intel 82543 (Intel PRO) PCI based gigabit Ethernet adapter.
Attributes
bios
Optional attribute; read/write access; type: String.

The x86 BIOS file to use.

mac_address
Required attribute; read/write access; type: String.

The MAC address of the Ethernet adapter.

Commands
create-pci-i82543gc ["name"] "mac_address" ["bios"]
Creates a non-instantiated component of the class "pci-i82543gc". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-i82543gc>.info
Print detailed information about the configuration of the device.
<pci-i82543gc>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
ethernetethernet-linkdown

4.2.4   pci-i82546bg

Description
The "pci-i82546bg" component represents an Intel 82546 (Intel PRO) PCI based dual-port gigabit Ethernet adapter.
Attributes
bios
Optional attribute; read/write access; type: String.

The x86 BIOS file to use.

mac_address
Required attribute; read/write access; type: String.

The MAC address of the first Ethernet adapter. The last bit is toggled to get the address for the second interface.

Commands
create-pci-i82546bg ["name"] "mac_address" ["bios"]
Creates a non-instantiated component of the class "pci-i82546bg". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-i82546bg>.info
Print detailed information about the configuration of the device.
<pci-i82546bg>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
ethernet[0-1]ethernet-linkdown

4.2.5   pci-isp1040

Description
The "pci-isp1040" component represents an ISP1040 PCI based SCSI controller.
Attributes
bios
Optional attribute; read/write access; type: String.

The x86 SCSI BIOS file to use.

scsi_id
Optional attribute; read/write access; type: Integer.

The ID on the SCSI bus.

Commands
create-pci-isp1040 ["name"] [scsi_id] ["bios"]
Creates a non-instantiated component of the class "pci-isp1040". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-isp1040>.info
Print detailed information about the configuration of the device.
<pci-isp1040>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
scsi-busscsi-busdown

4.2.6   pci-isp2200

Description
The "pci-isp2200" component represents an ISP2200 PCI based Fibre-Channel SCSI controller.
Attributes
bios
Optional attribute; read/write access; type: String.

The x86 SCSI BIOS file to use.

loop_id
Required attribute; read/write access; type: Integer.

The FC loop ID of the ISP2200 Fibre-Channel controller.

Commands
create-pci-isp2200 ["name"] loop_id ["bios"]
Creates a non-instantiated component of the class "pci-isp2200". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-isp2200>.info
Print detailed information about the configuration of the device.
<pci-isp2200>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
fc-loopsimple-fc-loopdown

4.2.7   pci-sym53c810

Description
The "pci-sym53C810" component represents a SYM53C810PCI based SCSI controller.
Attributes
bios
Optional attribute; read/write access; type: String.

The x86 SCSI BIOS file to use.

Commands
create-pci-sym53c810 ["name"] ["bios"]
Creates a non-instantiated component of the class "pci-sym53c810". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-sym53c810>.info
Print detailed information about the configuration of the device.
<pci-sym53c810>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
scsi-busscsi-busdown

4.2.8   pci-sym53c875

Description
The "pci-sym53C875" component represents a SYM53C875PCI based SCSI controller.
Attributes
bios
Optional attribute; read/write access; type: String.

The x86 SCSI BIOS file to use.

Commands
create-pci-sym53c875 ["name"] ["bios"]
Creates a non-instantiated component of the class "pci-sym53c875". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-sym53c875>.info
Print detailed information about the configuration of the device.
<pci-sym53c875>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
scsi-busscsi-busdown

4.2.9   pci-sym53c876

Description
The "pci-sym53C876" component represents a SYM53C876PCI based dual-port SCSI controller.
Commands
create-pci-sym53c876 ["name"]
Creates a non-instantiated component of the class "pci-sym53c876". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-sym53c876>.info
Print detailed information about the configuration of the device.
<pci-sym53c876>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
scsi-bus[0-1]scsi-busdown

4.2.10   pci-dec21041

Description
The "pci-dec21041" component represents a DEC21041 PCI based fast Ethernet adapter.
Attributes
bios
Optional attribute; read/write access; type: String.

The x86 BIOS file to use.

mac_address
Required attribute; read/write access; type: String.

The MAC address of the Ethernet adapter.

Commands
create-pci-dec21041 ["name"] "mac_address" ["bios"]
Creates a non-instantiated component of the class "pci-dec21041". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-dec21041>.info
Print detailed information about the configuration of the device.
<pci-dec21041>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
ethernetethernet-linkdown

4.2.11   pci-dec21140a

Description
The "pci-dec21140a" component represents a DEC21140A PCI based fast Ethernet adapter.
Attributes
bios
Optional attribute; read/write access; type: String.

The x86 BIOS file to use.

mac_address
Required attribute; read/write access; type: String.

The MAC address of the Ethernet adapter.

Commands
create-pci-dec21140a ["name"] "mac_address" ["bios"]
Creates a non-instantiated component of the class "pci-dec21140a". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-dec21140a>.info
Print detailed information about the configuration of the device.
<pci-dec21140a>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
ethernetethernet-linkdown

4.2.12   pci-dec21143

Description
The "pci-dec21143" component represents a DEC21143 PCI based fast Ethernet adapter.
Attributes
bios
Optional attribute; read/write access; type: String.

The x86 BIOS file to use.

mac_address
Required attribute; read/write access; type: String.

The MAC address of the Ethernet adapter.

Commands
create-pci-dec21143 ["name"] "mac_address" ["bios"]
Creates a non-instantiated component of the class "pci-dec21143". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-dec21143>.info
Print detailed information about the configuration of the device.
<pci-dec21143>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
ethernetethernet-linkdown

4.2.13   pci-pd6729

Description
The "pci-pd6729" component represents a Cirrus Logic PD6729 PCI-to-PCMCIA (PC-Card) Controller with two slots.
Commands
create-pci-pd6729 ["name"]
Creates a non-instantiated component of the class "pci-pd6729". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-pd6729>.info
Print detailed information about the configuration of the device.
<pci-pd6729>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
pcmcia[0-1]pcmcia-slotdown

4.2.14   pci-ragexl

Description
The "pci-ragexl" component represents a Rage XL PCI based VGA compatible graphics adapter.
Commands
create-pci-ragexl ["name"]
Creates a non-instantiated component of the class "pci-ragexl". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-ragexl>.info
Print detailed information about the configuration of the device.
<pci-ragexl>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
consolegraphics-consoledown

4.2.15   pci-voodoo3

Description
The "pci-voodoo3" component represents a 3dfx Voodoo3 PCI based VGA compatible graphics adapter.
Commands
create-pci-voodoo3 ["name"]
Creates a non-instantiated component of the class "pci-voodoo3". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pci-voodoo3>.info
Print detailed information about the configuration of the device.
<pci-voodoo3>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
pci-buspci-busup
consolegraphics-consoledown

4.2.16   agp-voodoo3

Description
The "pci-voodoo3" component represents a 3dfx Voodoo3 AGP based VGA compatible graphics adapter.
Commands
create-agp-voodoo3 ["name"]
Creates a non-instantiated component of the class "agp-voodoo3". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<agp-voodoo3>.info
Print detailed information about the configuration of the device.
<agp-voodoo3>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
agp-busagp-busup
consolegraphics-consoledown

4.3   PC Legacy and ISA Components

4.3.1   std-super-io

Description
The "std-super-io" component represents a generic Super I/O device with legacy PC devices such as two serial ports, one PS/2 keyboard and mouse controller, one floppy device and a parallel port
Attributes
add_par_port
Optional attribute; read/write access; type: b.

Set to TRUE to add a parallel port to the Super I/O device. Default is FALSE since the current implementation is a dummy device.

Commands
create-std-super-io ["name"] [add_par_port]
Creates a non-instantiated component of the class "std-super-io". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-super-io>.info
Print detailed information about the configuration of the device.
<std-super-io>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
isa-busisa-busup
resetx86-reset-busup
com[1-2]serialdown
kbd-consolekeyboarddown
mse-consolemousedown

4.3.2   ps2-keyboard-mouse

Description
The "ps2-keyboard-mouse" component represents the PS/2 8042 keyboard controller with a connected 105 key keyboard and three button mouse.
Commands
create-ps2-keyboard-mouse ["name"]
Creates a non-instantiated component of the class "ps2-keyboard-mouse". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<ps2-keyboard-mouse>.info
Print detailed information about the configuration of the device.
<ps2-keyboard-mouse>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
isa-busisa-busup
resetx86-reset-busup
kbd-consolekeyboarddown
mse-consolemousedown

4.3.3   pc-dual-serial-ports

Description
The "pc-dual-serial-ports" component represents two PC compatible serial ports.
Commands
create-pc-dual-serial-ports ["name"]
Creates a non-instantiated component of the class "pc-dual-serial-ports". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pc-dual-serial-ports>.info
Print detailed information about the configuration of the device.
<pc-dual-serial-ports>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
isa-busisa-busup
com[1-2]serialdown

4.3.4   pc-quad-serial-ports

Description
The "pc-quad-serial-ports" component represents four PC compatible serial ports.
Commands
create-pc-quad-serial-ports ["name"]
Creates a non-instantiated component of the class "pc-quad-serial-ports". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pc-quad-serial-ports>.info
Print detailed information about the configuration of the device.
<pc-quad-serial-ports>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
isa-busisa-busup
com[1-4]serialdown

4.3.5   pc-floppy-controller

Description
The "pc-floppy-controller" component represents a legacy pc floppy controller with two attached drives.
Commands
create-pc-floppy-controller ["name"]
Creates a non-instantiated component of the class "pc-floppy-controller". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<pc-floppy-controller>.info
Print detailed information about the configuration of the device.
<pc-floppy-controller>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
isa-busisa-busup

4.3.6   isa-vga

Description
The "isa-vga" component represents an ISA bus based VGA compatible graphics adapter.
Attributes
bios
Optional attribute; read/write access; type: String.

The VGA BIOS file to use.

Commands
create-isa-vga ["name"] ["bios"]
Creates a non-instantiated component of the class "isa-vga". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<isa-vga>.info
Print detailed information about the configuration of the device.
<isa-vga>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
isa-busisa-busup
consolegraphics-consoledown

4.3.7   isa-lance

Description
The "isa-lance" component represents an ISA bus based Ethernet adapter.
Attributes
base_port
Optional attribute; read/write access; type: Integer.

The starting port number in I/O space. The default port is 0x300, and the mapping is 0x17 bytes large.

irq_level
Optional attribute; read/write access; type: Integer.

The interrupt level for the Lance device, default is 7.

mac_address
Required attribute; read/write access; type: String.

The MAC address of the Ethernet adapter.

Commands
create-isa-lance ["name"] "mac_address" [irq_level] [base_port]
Creates a non-instantiated component of the class "isa-lance". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<isa-lance>.info
Print detailed information about the configuration of the device.
<isa-lance>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
isa-busisa-busup
ethernetethernet-linkdown

4.4   Standard Components

4.4.1   ddr-memory-module

Description
The "ddr-memory-module" component represents a DDR memory module.
Attributes
banks
Optional attribute; read/write access; type: Integer.

Number of banks.

cas_latency
Optional attribute; read/write access; type: Integer.

CAS-latency; each set bit corresponds to a latency the memory can handle

columns
Optional attribute; read/write access; type: Integer.

Number of columns.

ecc_width
Optional attribute; read/write access; type: Integer.

The error correction width.

memory_megs
Pseudo attribute; read-only access; type: Integer.

Total about of memory in MB.

module_data_width
Optional attribute; read/write access; type: Integer.

The module SDRAM width.

module_type
Optional attribute; read/write access; type: String.

Type of memory.

primary_width
Optional attribute; read/write access; type: Integer.

Primary SDRAM width.

rank_density
Optional attribute; read/write access; type: Integer.

The rank density.

ranks
Optional attribute; read/write access; type: Integer.

Number of ranks (logical banks).

rows
Optional attribute; read/write access; type: Integer.

Number of rows.

speed
Optional attribute; read/write access; type: String.

PC standard speed. Supported values are PC2700 and none.

Commands
create-ddr-memory-module ["name"] [rows] [columns] [ranks] [module_data_width] [primary_width] [ecc_width] [banks] [rank_density] ["module_type"] [cas_latency] ["speed"]
Creates a non-instantiated component of the class "ddr-memory-module". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
new-ddr-memory-module ["name"] [rows] [columns] [ranks] [module_data_width] [primary_width] [ecc_width] [banks] [rank_density] ["module_type"] [cas_latency] ["speed"]
Creates an instantiated component of the class "ddr-memory-module". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<ddr-memory-module>.info
Print detailed information about the configuration of the device.
<ddr-memory-module>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
mem-busmem-busup

4.4.2   std-ethernet-link

Description
The "std-ethernet-link" component represents a standard Ethernet link.
Attributes
frame_echo
Optional attribute; read/write access; type: Integer.

Set this attribute to echo frames back to the sender. Default is not to echo frames.

link_name
Optional attribute; read/write access; type: String.

The name to use for the ethernet-link object. An error will be raised at instantiation time if the link cannot be given this name.

Commands
create-std-ethernet-link ["name"] ["link_name"] [frame_echo]
Creates a non-instantiated component of the class "std-ethernet-link". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
new-std-ethernet-link ["name"] ["link_name"] [frame_echo]
Creates an instantiated component of the class "std-ethernet-link". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-ethernet-link>.info
Print detailed information about the configuration of the device.
<std-ethernet-link>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
deviceethernet-linkany

4.4.3   std-serial-link

Description
The "std-serial-link" component represents a standard Serial link.
Commands
create-std-serial-link ["name"]
Creates a non-instantiated component of the class "std-serial-link". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
new-std-serial-link ["name"]
Creates an instantiated component of the class "std-serial-link". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-serial-link>.info
Print detailed information about the configuration of the device.
<std-serial-link>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
serial[0-1]serialany

4.4.4   std-service-node

Description
The "std-service-node" component represents a network service node that can be connected to Ethernet links to provide services such as DNS, DHCP/BOOTP, RARP and TFTP. A service node component does not have any connectors by default. Instead, connectors have to be added using the <std-service-node>.add-connector command.
Attributes
dynamic_connectors
Optional attribute; read/write access; type: [[iss]*].

List of user added connectors

next_connector_id
Optional attribute; read/write access; type: Integer.

Next service-node device ID.

Commands
create-std-service-node ["name"]
Creates a non-instantiated component of the class "std-service-node". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
new-std-service-node ["name"]
Creates an instantiated component of the class "std-service-node". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-service-node>.add-connector "ip" ["netmask"]
Adds a connector to the service-node with specified IP address and netmask. A connector must be created for the service-node before an Ethernet link can be connected to it. The ip argument is the IP address that the service node will use on the link. The netmask argument is optional, and defaults to 255.255.255.0.
The name of the new connector is returned.
<std-service-node>.info
Print detailed information about the configuration of the device.
<std-service-node>.status
Print detailed information about the current status of the device.

4.4.5   std-ide-disk

Description
The "std-ide-disk" component represents an IDE disk.
Attributes
file
Optional attribute; read/write access; type: String.

File with disk contents for the full disk Either a raw file or a CRAFF file.

size
Required attribute; read/write access; type: Integer.

The size of the IDE disk in bytes.

Commands
create-std-ide-disk ["name"] size ["file"]
Creates a non-instantiated component of the class "std-ide-disk". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-ide-disk>.info
Print detailed information about the configuration of the device.
<std-ide-disk>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
ide-slotide-slotup

4.4.6   std-ide-cdrom

Description
The "std-ide-cdrom" component represents an IDE ATAPI CD-ROM.
Commands
create-std-ide-cdrom ["name"]
Creates a non-instantiated component of the class "std-ide-cdrom". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-ide-cdrom>.info
Print detailed information about the configuration of the device.
<std-ide-cdrom>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
ide-slotide-slotup

4.4.7   std-scsi-bus

Description
The "std-scsi-bus" component represents a 16 slot SCSI bus.
Commands
create-std-scsi-bus ["name"]
Creates a non-instantiated component of the class "std-scsi-bus". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-scsi-bus>.info
Print detailed information about the configuration of the device.
<std-scsi-bus>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
scsi-busscsi-busany

4.4.8   std-scsi-disk

Description
The "std-scsi-disk" component represents a SCSI-2 disk.
Attributes
file
Optional attribute; read/write access; type: String.

File with disk contents for the full disk Either a raw file or a CRAFF file.

scsi_id
Required attribute; read/write access; type: Integer.

The ID on the SCSI bus.

size
Required attribute; read/write access; type: Integer.

The size of the SCSI disk in bytes.

Commands
create-std-scsi-disk ["name"] scsi_id size ["file"]
Creates a non-instantiated component of the class "std-scsi-disk". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-scsi-disk>.info
Print detailed information about the configuration of the device.
<std-scsi-disk>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
scsi-busscsi-busup

4.4.9   std-scsi-cdrom

Description
The "std-scsi-cdrom" component represents a SCSI-2 CD-ROM.
Attributes
scsi_id
Required attribute; read/write access; type: Integer.

The ID on the SCSI bus.

Commands
create-std-scsi-cdrom ["name"] scsi_id
Creates a non-instantiated component of the class "std-scsi-cdrom". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-scsi-cdrom>.info
Print detailed information about the configuration of the device.
<std-scsi-cdrom>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
scsi-busscsi-busup

4.4.10   simple-fc-disk

Description
The "simple-fc-disk" component represents a SCSI-2 disk for use with Fibre-Channel SCSI controllers using the simplified FC protocol in Simics.
Attributes
file
Optional attribute; read/write access; type: String.

File with disk contents for the full disk Either a raw file or a CRAFF file.

loop_id
Required attribute; read/write access; type: Integer.

The loop ID for the FC disk.

node_name
Required attribute; read/write access; type: Integer.

The node name for the FC disk.

port_name
Required attribute; read/write access; type: Integer.

The port name for the FC disk.

size
Required attribute; read/write access; type: Integer.

The size of the FC disk in bytes.

Commands
create-simple-fc-disk ["name"] size ["file"] loop_id node_name port_name
Creates a non-instantiated component of the class "simple-fc-disk". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<simple-fc-disk>.info
Print detailed information about the configuration of the device.
<simple-fc-disk>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
fc-loopsimple-fc-loopup

4.4.11   std-text-console

Description
The "std-text-console" component represents a serial text console.
Attributes
bg_color
Optional attribute; read/write access; type: String.

The background color.

fg_color
Optional attribute; read/write access; type: String.

The foreground color.

height
Optional attribute; read/write access; type: Integer.

The height of the console window.

title
Optional attribute; read/write access; type: String.

The Window title.

width
Optional attribute; read/write access; type: Integer.

The width of the console window.

win32_font
Optional attribute; read/write access; type: String.

Font to use in the console on Windows host.

x11_font
Optional attribute; read/write access; type: String.

Font to use in the console when using X11 (Linux/Solaris host).

Commands
create-std-text-console ["name"] ["title"] ["bg_color"] ["fg_color"] ["x11_font"] ["win32_font"] [width] [height]
Creates a non-instantiated component of the class "std-text-console". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
new-std-text-console ["name"] ["title"] ["bg_color"] ["fg_color"] ["x11_font"] ["win32_font"] [width] [height]
Creates an instantiated component of the class "std-text-console". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-text-console>.info
Print detailed information about the configuration of the device.
<std-text-console>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
serialserialup

4.4.12   std-server-console

Description
The "std-server-console" component represents a serial console accessible from the host using telnet.
Attributes
telnet_port
Required attribute; read/write access; type: Integer.

TCP/IP port to connect the telnet service of the console to.

Commands
create-std-server-console ["name"] telnet_port
Creates a non-instantiated component of the class "std-server-console". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
new-std-server-console ["name"] telnet_port
Creates an instantiated component of the class "std-server-console". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-server-console>.info
Print detailed information about the configuration of the device.
<std-server-console>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
serialserialup

4.4.13   std-graphics-console

Description
The "std-graphics-console" component represents a graphical console for displaying output from a simulated graphics adapters and getting input for mouse and keyboard devices.
Attributes
window
Optional attribute; read/write access; type: b.

Try to open window if TRUE (default). FALSE disabled the window.

Commands
create-std-graphics-console ["name"] [window]
Creates a non-instantiated component of the class "std-graphics-console". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
new-std-graphics-console ["name"] [window]
Creates an instantiated component of the class "std-graphics-console". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-graphics-console>.info
Print detailed information about the configuration of the device.
<std-graphics-console>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
devicegraphics-consoleup
keyboardkeyboardup
mousemouseup

4.4.14   std-text-graphics-console

Description
The "std-text-graphics-console" component represents a text console for use with VGA instead of a graphics console.
Commands
create-std-text-graphics-console ["name"]
Creates a non-instantiated component of the class "std-text-graphics-console". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
new-std-text-graphics-console ["name"]
Creates an instantiated component of the class "std-text-graphics-console". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
<std-text-graphics-console>.info
Print detailed information about the configuration of the device.
<std-text-graphics-console>.status
Print detailed information about the current status of the device.

Connectors

NameTypeDirection
devicegraphics-consoleup
keyboardkeyboardup

4.5   Base Components

The base components are abstract classes that contain generic component attributes and commands available for all components.

4.5.1   component

Description
Base component class, should not be instantiated.
Attributes
connections
Optional attribute; read/write access; type: [[sos]*].

List of connections for the component. The format is a list of lists, each containing the name of the connector, the connected component, and the name of the connector on the other component.

connectors
Pseudo class attribute; read-only access; type: D.

Dictionary of dictionaries with connectors defined by this component class, indexed by name. Each connector contains the name of the connector "type", a "direction" ("up", "down" or "any"), a flag indicating if the connector can be "empty", another flag that is set if the connector is "hotplug" capable, and finally a flag that is TRUE if muliple connections to this connector is allowed.

instantiated
Optional attribute; read/write access; type: b.

Set to TRUE if the component has been instantiated.

object_list
Optional attribute; read/write access; type: D.

Dictionary with objects that the component consists of.

object_prefix
Optional attribute; read/write access; type: String.

Object prefix string used by the component. The prefix is typically set by the set-component-prefix command before the component is created.

top_component
Optional attribute; read/write access; type: Object.

The top level component. Attribute is not valid until the component has been instantiated.

top_level
Optional attribute; read/write access; type: b.

Set to TRUE for top-level components, i.e. the root of a hierarchy.

4.5.2   top-component

Description
Base top-level component class, should not be instantiated.
Attributes
components
Optional attribute; read/write access; type: [o*].

List of components below the the top-level component. This attribute is not valid until the object has been instantiated.

cpu_list
Optional attribute; read/write access; type: [o*].

List of all processors below the the top-level component. This attribute is not valid until the object has been instantiated.

VIRTUTECH CONFIDENTIAL    Previous - Up - Next