VIRTUTECH CONFIDENTIAL Previous - Up - Next
4 Supported Components
The following sections list components that are supported for the Niagara Simple
architecture. There also exist other components in Simics, such as various
PCI devices, that may work for Niagara Simple but that have not been tested.
The default machines are constructed from components in the
-system.include files in
[simics]/targets/niagara-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 Niagara Simple Components
4.1.1 niagara-simple-system
- Description
-
The "niagara-simple-system" component represents a fake Sun Fire T2000 server with an UltraSPARC T1 processor memory and a single disk image, but with no other devices.It is currently not possible to change the configuration, except for the number of processors.
- Attributes
-
- cpu_frequency
- Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
- num_cores
- Required attribute; read/write access; type: Integer.
Number of processor cores in the system. 1 or 8.
- rtc_time
- Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.
- strands_per_core
- Required attribute; read/write access; type: Integer.
Number of active processor strands per core in the system. 1, 2 or 4. There are always 4 strands created.
- Commands
-
- create-niagara-simple-system ["name"] cpu_frequency num_cores strands_per_core "rtc_time"
-
Creates a non-instantiated component of the class "niagara-simple-system". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
- new-niagara-simple-system ["name"] cpu_frequency num_cores strands_per_core "rtc_time"
-
Creates an instantiated component of the class "niagara-simple-system". If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
- <niagara-simple-system>.get-prom-env ["variable"]
-
Prints an OBP variable with its value, or all variables if no argument is specified. Only variables with string, integer, boolean and enumeration types are supported.
- <niagara-simple-system>.info
-
Print detailed information about the configuration of the device.
- <niagara-simple-system>.set-prom-defaults
-
Restores all OBP variables to their default values.
- <niagara-simple-system>.set-prom-env "variable" (int|"string")
-
Sets the value of an OBP variable in the NVRAM. Only variables with string, integer, boolean and enumeration types are supported.
- <niagara-simple-system>.status
-
Print detailed information about the current status of the device.
- Connectors
-
| Name | Type | Direction |
| com[1-2] | serial | down |
4.2 Standard Components
4.2.1 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
-
| Name | Type | Direction |
| serial[0-1] | serial | any |
4.2.2 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
-
| Name | Type | Direction |
| serial | serial | up |
4.2.3 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
-
| Name | Type | Direction |
| serial | serial | up |
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