VIRTUTECH CONFIDENTIAL    Previous - Up - Next

4   Supported Components

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

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

4.1.1   ppc-simple

Description
A simple system containing a single PPC processor, some memory and a serial device.
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.

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

The amount of RAM in megabytes.

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

Connectors

NameTypeDirection
uart0serialdown

4.2   Standard Components

4.2.1   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.2.2   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.2.3   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.2.4   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.3   Base Components

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

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