VIRTUTECH CONFIDENTIAL    Previous - Up - Next

4   Supported Components

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

The default machines are constructed from components in the -system.include files in [simics]/targets/pmppc/. 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   PM/PPC Components

4.1.1   pmppc-board

Description
TODO:
Attributes
cpu_class
Required attribute; read/write access; type: String.

Processor type, PowerPC processor to use.

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

Processor frequency in MHz.

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

The MAC address of the Ethernet adapter.

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

The data and time of the Real-Time clock.

timebase_frequency
Required attribute; read/write access; type: Float.

Time-base frequency in MHz.

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

Connectors

NameTypeDirection
eth0ethernet-linkdown
pci-slot2pci-busdown
pci-slot6pci-busdown
uart[0-1]serialdown

4.2   PCI Device Components

4.2.1   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.2   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.3   Standard Components

4.3.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.3.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.3.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.3.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.3.5   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.3.6   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.3.7   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.3.8   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.3.9   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   Base Components

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

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