Simics Reference Manual

1 Introduction

This manual contains the reference documentation for Simics itself. It includes a complete list of all commands defined by the Simics core as well as by the loadable modules included in the main product. It also provides documentation on the available components and classes.

This manual is aimed at Simics users (the command list chapter, and possibly the lists of components and classes) and script developers (haps, classes, and interfaces).

This manual is strictly meant to be used as reference documentation, and it provides little explanation on how to use the various features described. Refer to other Simics manuals for more information; these are listed in the Documentation Contents document.
Additional reference documentation:

2 Command-Line Tools and Programs

This section documents the command-line options of the tools and programs delivered as part of Simics.

2.1 simics

OPTIONS

  • --batch-mode Run in batch mode. This means that Simics will exit when all commands and scripts given on the command line have executed.

    If an error has occurred, Simics will exit with a non-zero status. If all commands run to completion without any error, Simics exits with status 0, indicating success.

    Simics will not use the command history file in batch mode.

  • --license Print the Simics license text and exit. This is the default license and is also included in the LICENSE file.

  • --log-file FILE Log issued CLI commands to a different file than the default. This implies -log (unless -no-log was specified).

  • --no-win Disable external windows. This will prevent Simics from opening target console windows or any other external windows.

    Disabling a target console only makes it invisible. It does not change its simulated functionality. Disabling it is useful when running in batch mode or when the target console isn't needed, since it doesn't require access to a graphical environment, and running with windows disabled is usually somewhat faster.

  • --script-trace Show when a Simics script is entered/exited, along with any parameters passed to it and result variables returned from it.

  • --verbose Make Simics more verbose. This makes Simics give ample details about the execution. This is the opposite of the --quiet flag. The quiet and verbose flags turn off each other. The default is somewhere in the middle with a "reasonable" output level.

    Setting the verbose flag can be useful when solving problems with Simics. Some friendly warnings are not printed unless verbose is turned on.

    Note that there will be quite a bit of information printed, most of which isn't usually needed.

  • -e COMMAND or --execute COMMAND Execute a CLI command. Equivalent of typing in the command at the command line prompt.

  • -h, --help Makes Simics print a brief help screen and exit.

  • -q or --quiet Make Simics less verbose. This makes Simics output less information, which is useful for batch execution. The opposite effect can be obtained with the --verbose flag. The quiet and verbose flags turn off each other. If you want Simics to be really quiet you can also give the --no-copyright flag.

    Note that Simics is rather quiet by default, so this flag usually does not have much effect.

  • -v, --version, --base-version
    Print the Simics version number and exit. Other information printed include the information of packages. --base-version only prints out Simics version.

  • -x
    This flag has no effect and is kept for compatibility; it takes no arguments.

ADVANCED-OPTIONS

  • --echo Enable command echoing. When echoing is enabled, Simics will echo all commands executed by startup scripts. Note that this only affects any startup scripts loaded after the -echo flag on the command line.

  • --module-path Add a path to the directory list that Simics searches for modules.

  • --no-copyright Do not display copyright information when starting Simics. See also the --verbose and --quiet flags.

  • --no-settings Do not read any settings files, such as preferences.

  • --stop-on-error Stop the simulation and interrupt the currently running script on error logs.

    With this option, error logs with be treated as actual errors, and set the exit status accordingly when used in combination with --batch-mode.

  • -core
    Allow Simics to dump core on fatal signals.

  • -dstc
    Force the D-STC to be enabled. See the -no-stc flag for more information.

  • -istc
    Force the I-STC to be enabled. See the -no-stc flag for more information.

  • -n, --no-startup Do not run the commands from the startup-commands script files.

  • -no-dstc
    Force the D-STC to be disabled. See the -no-stc flag for more information.

  • -no-istc
    Force the I-STC to be disabled. See the -no-stc flag for more information.

  • -no-stc
    Disable the Simics internal caches for memory operations and instruction fetches (STCs) that Simics uses to speed up the simulation.

    Disabling the STCs (this flag disables both the D-STC and the I-STC) can be useful for debugging plug-ins such as cache models, since it will ensure that all memory accesses are fully visible.

    It is possible to selectively disable the data and instruction STCs using the -no-dstc and -no-istc flags, respectively. The STCs are typically enabled by default, although in some versions of Simics they may be disabled. See also the -stc flag.

  • -python-verbose
    Set the Python verbose flag. This will, for example, make Python print information when Python modules are being loaded. This is the same option as the -v flag in mini-python.

  • -stc
    Force the I-STC and D-STC to be enabled (default). See the -no-stc flag for more information. The STCs are typically enabled by default, although in some versions of Simics they may be disabled.

2.2 addon-manager

SYNOPSIS

addon-manager [options] [-u path] [-s path] [-d path]

DESCRIPTION

Configure Simics add-on packages to work with the Simics installation. When run without any option, this script will list the current add-on packages configuration. If any package listed is invalid (for example, if the package has been deleted), the script will propose to update the configuration to remove the invalid packages.

OPTIONS

  • -b, --batch The script will act according to the command-line arguments without asking any questions.
  • -c, --create-empty Create an empty package list in the project. This will cause the project to ignore any package associations of the main Simics installation. Only valid when operating on a project or together with the -f parameter.
  • -C, --copy-from-simics-base Create a new package list in a project, by copying the package list from the main Simics installation. Only valid when operating on a project or together with the -f parameter. Roughly equivalent to -u simics_dir.
  • -d, --deselect PATH Remove the package in PATH from the add-on package list. Note that listed packages that do not exist anymore will be removed automatically whenever this script runs.
  • -f, --package-list Specify the file containing the package list. This is an alternative to the default (storing the list in the main Simics installation) or running addon-manager in a project.
  • -s, --select PATH Add the package in PATH to the add-on package list.
  • -u, --upgrade [PATH|FILE] Re-use the add-on package list found as FILE or present in PATH. The current list is backed-up as with a .backup extension.
  • -v, --version Print the version of the script and the major version of Simics that it can be used with.
  • -p, --project PATH Handle the package associations of the project path instead of the base package. This can also be done by running the addon-manager script located in path/bin.

2.3 craff

SYNOPSIS

craff [options] [input-file ...]

DESCRIPTION

The compressed random access file format is used by Simics's image module to handle sparse block data. The craff command line utility can be used to create and manipulate craff files.

The default operation is to merge the input files, each of which can be either in craff format, fixed-type VHD format, VHDX format, or raw files (e.g., disk or memory dumps) and to output the merged result to an output file. The order of the input files is important: data from later input files override earlier files. Since craff files can have holes (gaps) in them, data from earlier files can propagate to the result.

Each file argument is on the form filename[,start[,size[,offset]]] where start, size and offset are optional numerical parameters as follows:

  • start
    Where the input file data should be placed in the output. If omitted, zero is assumed.
  • size
    How much to use from the input file. By default, all data to the end of the file is used.
  • offset
    Where in the input file to read the data. If omitted, zero is assumed.

For example, the argument myfile.craff,300,100,700 will take 100 bytes at offset 700 from myfile.craff and place them at offset 300 in the output.

OPTIONS

  • -o, --output=FILE
    Specifies the output file name. Without this option, output will go to craff.out. A hyphen (-) means standard output, and implies -q. Writing to standard output is only possible in raw format (-d) or when writing a content map (-l).

  • -d, --decompress
    Causes the output to be an ordinary (raw) file. The default is to output in the craff format. When this option is given, any holes in the output are filled with zero bytes.

  • --vhd
    Causes the output to be in VHD (Windows Virtual Hard Disk) format. The generated file is always of the "Fixed hard disk" (non-sparse) type, holes filled with zero bytes.

  • --create=SIZE
    Create a zero filled image of the specified size without using any input files.

  • -l, --content-map
    Writes a human-readable map of the input files to the output. Blocks are marked D where data is present, and . (dot) where not.

  • -D, --diff
    Instead of merging the input files, output the difference between the input files as a craff file. There must be exactly two input files. The output is the file that, when merged with the first file, would result in the second file. The input files may be in craff or raw format.

  • -z, --zero-fill-gaps
    Fills gaps with zero bytes and marks them as present. Without this option, a gap in all input files will remain a gap in the output file.

  • -Z, --omit-zero-blocks
    Treats blocks that consist entirely of zero bytes as empty in the output (i.e., they will be output as holes).

  • -b, --block-size=SIZE
    Specifies the output block size in bytes. The size must be a power of 2, and may be specified in kilobytes using 'k' as a suffix. Without this option, the block size will be the smallest of the input files' block sizes.

    This is the smallest unit of storage in a craff file. Larger values compress better, but will waste more space if only part of the block is present. A block size of at least 4k is recommended.

  • -s, --sub-block-size=SIZE
    Specifies the output sub-block size in bytes. The size must be a power of 2, and may be specified in kilobytes using 'k' as a suffix. Without this option, the block size will be the smallest of the input files' sub-block sizes.

    This is the smallest unit of granularity in a craff file. Smaller values allow more fine-grained control of what data is present, but uses more space. For disk dumps, the sector size is useful (often 512 bytes); for memory dumps, use the page size (such as 4k or 8k).

  • -i, --dir-entries=N
    Specifies the number of entries in each directory node. Must be a power of 2.

  • -c, --compression=COMPRESSION
    Specifies the compression type: none or zlib. No compression is faster but zlib makes the files smaller.

  • -e, --extract=START
    Extracts a block to the output file. The extracted block starts at file offset START and the size is given by --extract-block-size. The output is in raw format.

  • -w, --extract-block-size=SIZE
    Size of block to extract with --extract.

  • -r, --resize=SIZE
    Create an output file of the specified size, zero padding it if the input files are shorter than this size or truncating it if they are longer.

  • --verify
    Verify the integrity of the input files.

  • -n, --info
    Displays file information for each of the input files to the standard output.

  • -q, --quiet
    Suppresses the progress indicator.

  • -v, --version
    Displays version information of the craff utility itself.

  • -h, --help
    Displays a summary of the command line options.

2.4 project-setup

SYNOPSIS

project-setup [options] [project]

DESCRIPTION

Creates or updates a Simics project for user scripts and modules. If project directory is omitted, the current working directory is used.

The host Python path to be used in the project can be set via the --python command line parameter or via the SIMICS_PYTHON environment variable. If any of these are set, a Python virtual environment is also created and all necessary Python packages are installed into it, unless --no-venv is specified. The generated project scripts will use the Python in the virtual environment, or the specified Python directly if --no-venv is specified. To make sure Python packages required by the Simics GUI are also installed, use the --with-gui command line parameter.

OPTIONS

  • -h, --help Show help message and exit.
  • -v, --version Prints information about Simics (version, installation directory).
  • -V, --verbose Print more information about the actions taken by the script.
  • -n, --dry-run Execute normally, but do not change or create any files.
  • --ignore-existing-files Suppress warnings when creating a new project using a directory that is not empty.
  • --package-list Provide an explicit list of add-on packages for the project. Each line must be an absolute path for an add-on package. A project-local .package-list file will be created.
  • --python Path to the host Python binary to be used by all Simics executions in the project. If not set, the SIMICS_PYTHON environment variable is read to obtain the host Python path. If neither is set, no host Python is used and package 1033 must be available.
  • --no-venv Do not create a Python virtual environment in the project.
  • --ignore-cygwin-warning (Windows-only) Prevent the script from checking whether the project directory looks like a Cygwin path or not.
  • --force Force the project-setup script to create or update a project. Files that would be overwritten will be backed up automatically.
  • --check-project-version Check the version of the project, and return 1 if it needs to be created or updated, 0 otherwise.
  • --with-cmake Create a project with CMake support.
  • --without-cmake Create a project without CMake support (Default).
  • --with-gmake Create a project with GNU Make support (Default).
  • --without-gmake Create a project without GNU Make support.

2.5 checkpoint-merge

SYNOPSIS

checkpoint-merge [options] src dst [paths...]
  • src The checkpoint to merge files from.
  • dst The new checkpoint.
  • paths Paths to checkpoint files. This parameter may be omitted, in which case paths are derived from the source checkpoint.

DESCRIPTION

Merges all ancestors of a given checkpoint into a new checkpoint. The output checkpoint therefore has no dependencies; it is an absolute checkpoint. This is useful if you, for example, want to distribute a checkpoint.

Note that this also merges image files with disk and memory contents, to make sure the output checkpoint really is self-contained.

With the --checkpoints-only option, the resulting checkpoint will still have references to initial image files, so it will not really be entirely self-contained. However, it is likely to be smaller and the merge itself takes less time.

Any recordings in the given checkpoint, i.e. the most recent source checkpoint, are discarded.

OPTIONS

2.6 test-runner

SYNOPSIS

test-runner [options] [suite-pattern ...]

DESCRIPTION

List or run Simics tests.

Simics tests are placed in test suites, which are directories containing a SUITEINFO file. By default, the test-runner command searches for test suites in the directories test, targets and modules of the Simics project, and in the test directory of installed Simics packages.

If the program is run with the flag --list, the names of all found test suites are listed:

$ ./bin/test-runner --list
modules/bar/test
modules/foo/test
test/t15_checkpoints: [simics]/test/t15_checkpoints

The name of a suite is the path of the directory, relative to the project or Simics installation path, using / as directory separator. If the test suite is located in the Simics installation, then the absolute path is printed as well.

The flag --test can be used to list the individual tests of each test suite:

$ ./bin/test-runner --tests --suite=modules/bar/test
Suite: modules/foo/test
    s-foo
    s-info-status

If neither --list nor --tests is passed, all found test suites will be run. For example, the command ./bin/test-runner --suite=modules/bar/test will run all tests of the test suite modules/bar/test. If test-runner is run with no arguments, then all tests in all test suites will be run.

Other than the argument --suite, a suite pattern can also be used to filter test suites. If one or more suite patterns are provided, only the suites matching at least one of the patterns will be run. A suite matches a suite pattern if the pattern is a substring of the suite's name. For example, if there is a suite modules/foo/test, then the command ./bin/test-runner foo will run that suite, and possibly other suites as well.

When an environment variable TEST_PATTERN is set, the value will be used as a pattern to filter the tests to be run within the test suite. The pattern is interpreted according to Python's regular expression syntax. For example, if the variable is set as export TEST_PATTERN="s-.+DMA-", then test-runner will run tests named s-xyz-DMA-read and s-abc-DMA-write, and skip tests named Xs-xyz-DMA-read or s-abc-DMAwrite.

The variable can also be set to multiple patterns with the semicolon as a separator, e.g. export TEST_PATTERN="pattern0;pattern1". This will run tests that match any one of the given patterns.

By default, all tests run sequentially. When the -j option is passed, automatically added s-*.py scripts, may be executed in parallel. The tests will be executed in an unspecified order, so -j should only be used if you know that there are no dependencies between the tests of the suite.

OPTIONS

-h, --help
show this help message and exit
--details
print detail help information
--logdir
the directory tests save logfiles in, defaults to [project]/logs/tests
--basedir
the base directory where the modules containing the tests exist, defaults to 'modules'
--moduledirs
directories with modules containing tests,separated by ';'
--project-only
disable the tests from Simics packages
-l, --list
list the suites matching the patterns
-t, --tests
list tests matching the given patterns
--tag TAG
Run all suites where a tag in SUITEINFO matches TAG
--suite SUITE
specify a test suite to be executed
-n NAME, --name NAME
specify a test name to be executed
-j N, --jobs N
run up to N Simics script tests in parallel in each test suite; N will be automatically set to the number of processors on the machine if not specified
-v, --verbose
print more verbose information when running
--py3
Deprecated, no effect.
--py2
Deprecated, no effect.

RETURN VALUE

The exit status is 0 if selected test suites succeed, 1 if there is an internal error, and 2 if any test fails.

SEE ALSO

The test framework in the API Reference Manual.

2.7 project-setup Model Builder functionality

SYNOPSIS

project-setup [options] [project]

DESCRIPTION

This section only includes the Model Builder specific functionality of project-setup. The documentation for the basic functionality can be found in the Simics Reference Manual.

OPTIONS

  • --device=DEVICE_NAME, --dml-device=DEVICE_NAME Generate skeleton code for a device, suitable to use as a starting point for implementing your own device. The default implementation language is DML. See the --c-device and --py-device options for creating devices using other languages. If the device already exists, this option is ignored. To recreate the skeleton, remove the device directory.
  • --c-device=DEVICE_NAME Similar to --device, but creates a device using C instead of DML.
  • --c++-device=DEVICE_NAME Similar to --device, but creates a device using C++ instead of DML.
  • --py-device=DEVICE_NAME Similar to --device, but creates a device using Python and the pyobj module instead of DML.
  • --py-device-confclass=DEVICE_NAME Similar to --device, but creates a device using Python and the confclass module instead of DML.
  • --component=COMPONENT_NAME Similar to --device, but creates a component skeleton in Python.
  • --copy-module=DEVICE_NAME Copies the source code of a module into the project. The files will be copied from the Simics installation. If the module already exist in your project, you must manually delete it first.
  • --list-modules List the modules with source code that can be copied into the project using the --copy-module argument.
  • --osa-tracker=TRACKER_NAME Generate skeleton code for an OS Awareness tracker, suitable to use as a starting point for implementing your own OS Awareness tracker. If the module already exists, this option is ignored. To recreate the skeleton, remove the module directory. The skeleton will be created in a directory named after the TRACKER_NAME and suffixed with '-tracker'.
  • --instrumentation-tool=TOOL_NAME Generate skeleton code for an instrumentation tool, suitable to use as a starting point for implementing your own tool. If the module already exists, this option is ignored. To recreate the skeleton, remove the module directory. The skeleton will be created in a directory named after the TOOL_NAME.
  • --instrumentation-filter=FILTER_NAME Generate skeleton code for an instrumentation filter, suitable to use as a starting point for implementing your own filter. If the module already exists, this option is ignored. To recreate the skeleton, remove the module directory. The skeleton will be created in a directory named after the FILTER_NAME.

3 Commands

3.1 Command Categories

3.1.1 Breakpoints

3.1.2 CLI

3.1.3 Components

3.1.4 Configuration

3.1.5 Consoles

3.1.6 Debugging

3.1.7 Disks

3.1.8 Execution

3.1.9 Files

3.1.10 Graphics

3.1.11 Help

3.1.12 Image

3.1.13 Inspection

3.1.14 Instrumentation

3.1.16 Logging

3.1.17 Matic

3.1.18 Memory

3.1.19 Modules

3.1.20 Networking

3.1.21 Notifiers

3.1.22 PCI

3.1.23 Parameters

3.1.24 Performance

3.1.25 Probes

3.1.26 Processors

3.1.27 Profiling

3.1.28 Python

3.1.29 Recording

3.1.30 Registers

3.1.31 Snapshots

3.1.32 Tracing

3.1.33 USB

3.1.34 Virtio

3.1.35 network commands

3.2 Command List

!

Synopsis

!shell-command

Description

Executes the rest of the command line in the host command line interpreter. Works like the shell command, except that the argument does not need to be quoted.

Provided By

Simics Core

See Also

shell

!=

Synopsis

arg1 != arg2

Description

Returns true if arg1 and arg2 are not equal, and false if equal.

Provided By

Simics Core

#

Synopsis

# comment

Description

Ignores the rest of the line, treating it as a comment.

Provided By

Simics Core

$

Synopsis

$var

Description

Gets the value of a CLI variable, like in print $var.

Provided By

Simics Core

See Also

defined, read-variable

%

Synopsis

%reg
arg1 % arg2

Description

When used as a prefix on a register name, the register reg for the current frontend processor is accessed. This is a convenient way to use register values in expressions like disassemble (%pc - 4*3) 10 or %pc = 0x1000.

The % operator is also used for arithmetic modulo of integer and floating point values.

If the argument to the left of the % operator is a string, then string formatting using Python format specifiers such as %s and %d is performed. To provide multiple values to be formatted, a CLI list should be used as right hand argument. For example:

simics> "about %.2f %s" % [5.12345, "hours"]
about 5.12 hours

Provided By

Simics Core

See Also

read-reg, write-reg, print-processor-registers, pselect

&

Synopsis

arg1 & arg2

Description

Bitwise AND operation of arg1 and arg2.

Provided By

Simics Core

*

Synopsis

arg1 * arg2

Description

Arithmetic multiplication of arg1 and arg2.

Provided By

Simics Core

+

Synopsis

arg1 + arg2

Description

Arithmetic addition, string and list concatenation of arg1 and arg2.

Provided By

Simics Core

+=

Synopsis

$var += value
%reg += value

Description

Add a string, integer or list to a CLI variable, or an integer value to a register.

Provided By

Simics Core

-

Synopsis

arg1 - arg2

Description

Arithmetic subtraction of arg1 and arg2.

Provided By

Simics Core

-=

Synopsis

$var -= value
%reg -= value

Description

Subtract an integer from a CLI variable, or from a register.

Provided By

Simics Core

->

Synopsis

object->attribute
object->attribute = expression

Description

Access the attribute attribute in object. Only object, string, float, integer, boolean, nil and list attributes can be returned by the command.

When reading other attribute types, they will be printed but the command will not return anything.

Provided By

Simics Core

/

Synopsis

arg1 / arg2

Description

Arithmetic division of arg1 and arg2.

Provided By

Simics Core

:

Synopsis

arg1 : arg2

Description

Do not use

Provided By

Simics Core

<

Synopsis

arg1 < arg2

Description

Returns true if arg1 is less than arg2, and false if not.

Provided By

Simics Core

<<

Synopsis

arg1 << arg2

Description

Bitwise shift of the arg1 value, arg2 bits to the left.

Provided By

Simics Core

<=

Synopsis

arg1 <= arg2

Description

Returns true if arg1 is less than or equal to arg2, and false if not.

Provided By

Simics Core

=

Synopsis

$var = value
%reg = value

Description

Sets a CLI variable to a value.

Can also be used to assign an integer value to a processor register.

Provided By

Simics Core

==

Synopsis

arg1 == arg2

Description

Returns true if arg1 and arg2 are equal, and false if not.

Provided By

Simics Core

>

Synopsis

arg1 > arg2

Description

Returns true if arg1 is greater than arg2, and false if not.

Provided By

Simics Core

>=

Synopsis

arg1 >= arg2

Description

Returns true if arg1 is greater than or equal to arg2, and false if not.

Provided By

Simics Core

>>

Synopsis

arg1 >> arg2

Description

Bitwise shift of the arg1 value, arg2 bits to the right.

Provided By

Simics Core

@

Synopsis

@python-statement

Description

Evaluates the rest of the command line as a Python statement or expression. Return values from expressions are printed as in Python and are not affected by CLI output settings, such as output radix, unlike the python command.

Provided By

Simics Core

See Also

python, run-script, python-mode

[

Synopsis

$var[idx]
$var[idx] = value

Description

Get or set the value for the indexed CLI variable $var.

Provided By

Simics Core

^

Synopsis

arg1 ^ arg2

Description

Bitwise XOR operation of arg1 and arg2.

Provided By

Simics Core

|

Synopsis

arg1 | arg2

Description

Bitwise OR operation of arg1 and arg2.

Provided By

Simics Core

~

Synopsis

~ arg1

Description

Bitwise not of arg1.

Provided By

Simics Core

<AM79C960>.info

Synopsis

<AM79C960>.info

Description

Print detailed information about the configuration of the object.

Provided By

AM79C960

<AM79C960>.status

Synopsis

<AM79C960>.status

Description

Print detailed information about the current status of the object.

Provided By

AM79C960

<AM79C973>.info

Synopsis

<AM79C973>.info

Description

Print detailed information about the configuration of the object.

Provided By

AM79C973

<AM79C973>.status

Synopsis

<AM79C973>.status

Description

Print detailed information about the current status of the object.

Provided By

AM79C973

<AT24Cxx>.info

Synopsis

<AT24Cxx>.info

Description

Print detailed information about the configuration of the object.

Provided By

AT24Cxx

<AT24Cxx>.status

Synopsis

<AT24Cxx>.status

Description

Print detailed information about the current status of the object.

Provided By

AT24Cxx

<BCM5703C>.info

Synopsis

<BCM5703C>.info

Description

Print detailed information about the configuration of the object.

Provided By

BCM5703C

<BCM5703C>.status

Synopsis

<BCM5703C>.status

Description

Print detailed information about the current status of the object.

Provided By

BCM5703C

<BCM5704C>.info

Synopsis

<BCM5704C>.info

Description

Print detailed information about the configuration of the object.

Provided By

BCM5704C

<BCM5704C>.status

Synopsis

<BCM5704C>.status

Description

Print detailed information about the current status of the object.

Provided By

BCM5704C

<CL-PD6729>.info

Synopsis

<CL-PD6729>.info

Description

Print detailed information about the configuration of the object.

Provided By

CL-PD6729

<CL-PD6729>.status

Synopsis

<CL-PD6729>.status

Description

Print detailed information about the current status of the object.

Provided By

CL-PD6729

<DEC21041>.info

Synopsis

<DEC21041>.info

Description

Print detailed information about the configuration of the object.

Provided By

DEC21041

<DEC21041>.status

Synopsis

<DEC21041>.status

Description

Print detailed information about the current status of the object.

Provided By

DEC21041

<DEC21140A>.info

Synopsis

<DEC21140A>.info

Description

Print detailed information about the configuration of the object.

Provided By

DEC21140A

<DEC21140A>.status

Synopsis

<DEC21140A>.status

Description

Print detailed information about the current status of the object.

Provided By

DEC21140A

<DEC21143>.info

Synopsis

<DEC21143>.info

Description

Print detailed information about the configuration of the object.

Provided By

DEC21143

<DEC21143>.status

Synopsis

<DEC21143>.status

Description

Print detailed information about the current status of the object.

Provided By

DEC21143

<DS12887-c>.get-date-time

Synopsis

<DS12887-c>.get-date-time

Description

Return the date and time of the real-time clock.

Provided By

DS12887-c

<DS12887-c>.info

Synopsis

<DS12887-c>.info

Description

Print detailed information about the configuration of the object.

Provided By

DS12887-c

<DS12887-c>.set-date-time

Synopsis

<DS12887-c>.set-date-time year month mday hour minute second [-binary] [-bcd]

Description

Set the date and time of the realtime clock. Both month and mday start counting at one while hour, minute and second, start at zero. The year argument should be in the full four-digit format.

The <x86-component>.cmos-init command must be issued before this command, unless the simulation was started from a checkpoint.

The -binary and -bcd flags can be used to specify the format of the register values. Default is to use BCD, but some systems use a binary format without checking the binary/BCD status bit in register B.

Provided By

DS12887-c

<DS12887-c>.status

Synopsis

<DS12887-c>.status

Description

Print detailed information about the current status of the object.

Provided By

DS12887-c

<DS12887-c>.trace-nvram

Synopsis

<DS12887-c>.trace-nvram

Description

Trace all nvram updates.

Provided By

DS12887-c

<DS12887>.get-date-time

Synopsis

<DS12887>.get-date-time

Description

Return the date and time of the realtime clock.

Provided By

DS12887

<DS12887>.info

Synopsis

<DS12887>.info

Description

Print detailed information about the configuration of the object.

Provided By

DS12887

<DS12887>.set-date-time

Synopsis

<DS12887>.set-date-time year month mday hour minute second [-binary] [-bcd]

Description

Set the date and time of the realtime clock. Both month and mday start counting at one while hour, minute and second, start at zero. The year argument should be in the full four-digit format.

The <x86-component>.cmos-init command must be issued before this command, unless the simulation was started from a checkpoint.

The -binary and -bcd flags can be used to specify the format of the register values. Default is to use BCD, but some systems use a binary format without checking the binary/BCD status bit in register B.

Provided By

DS12887

<DS12887>.status

Synopsis

<DS12887>.status

Description

Print detailed information about the current status of the object.

Provided By

DS12887

<DS323x>.get-date-time

Synopsis

<DS323x>.get-date-time

Description

Return the date and time of the realtime clock.

Provided By

DS323x

<DS323x>.info

Synopsis

<DS323x>.info

Description

Print detailed information about the configuration of the object.

Provided By

DS323x

<DS323x>.set-date-time

Synopsis

<DS323x>.set-date-time year month mday hour minute second [-binary] [-bcd]

Description

Set the date and time of the realtime clock. Both month and mday start counting at one while hour, minute and second, start at zero. The year argument should be in the full four-digit format.

The <x86-component>.cmos-init command must be issued before this command, unless the simulation was started from a checkpoint.

The -binary and -bcd flags can be used to specify the format of the register values. Default is to use BCD, but some systems use a binary format without checking the binary/BCD status bit in register B.

Provided By

DS323x

<DS323x>.status

Synopsis

<DS323x>.status

Description

Print detailed information about the current status of the object.

Provided By

DS323x

<ISA>.info

Synopsis

<ISA>.info

Description

Print detailed information about the configuration of the object.

Provided By

isa

<ISA>.status

Synopsis

<ISA>.status

Description

Print detailed information about the current status of the object.

Provided By

isa

<NS16450>.info

Synopsis

<NS16450>.info

Description

Print detailed information about the configuration of the object.

Provided By

NS16x50

<NS16450>.status

Synopsis

<NS16450>.status

Description

Print detailed information about the current status of the object.

Provided By

NS16x50

<NS16550>.info

Synopsis

<NS16550>.info

Description

Print detailed information about the configuration of the object.

Provided By

NS16x50

<NS16550>.status

Synopsis

<NS16550>.status

Description

Print detailed information about the current status of the object.

Provided By

NS16x50

<TSB12LV26>.info

Synopsis

<TSB12LV26>.info

Description

Print detailed information about the configuration of the object.

Provided By

TSB12LV26

<TSB12LV26>.status

Synopsis

<TSB12LV26>.status

Description

Print detailed information about the current status of the object.

Provided By

TSB12LV26

<accel-vga>.display-resolution

Synopsis

<accel-vga>.display-resolution [x] [y]

Description

Set the maximum resolution (x, y) of the display connected to the device. When used without any arguments, the current setting is shown.

Provided By

accel-vga

<accel-vga>.info

Synopsis

<accel-vga>.info

Description

Print detailed information about the configuration of the object.

Provided By

accel-vga

<accel-vga>.redraw

Synopsis

<accel-vga>.redraw

Description

This command sends the current frame buffer contents of the simulated video device to the graphics console. If a simulated cursor is active, it is updated as well.

Provided By

accel-vga

<accel-vga>.refresh-rate

Synopsis

<accel-vga>.refresh-rate [rate]

Description

Set the rate at which the device updates the display. The default is 1000 Hz in virtual time.

NOTE: The rate is currently the same for all devices of the same class.

Provided By

accel-vga

<accel-vga>.status

Synopsis

<accel-vga>.status

Description

Print detailed information about the current status of the object.

Provided By

accel-vga

<accel-vga>.text-dump

Synopsis

<accel-vga>.text-dump

Description

Print the contents of the display in text mode.

Provided By

accel-vga

<accel_vga_v2>.display-resolution

Synopsis

<accel_vga_v2>.display-resolution [x] [y]

Description

Set the maximum resolution (x, y) of the display connected to the device. When used without any arguments, the current setting is shown.

Provided By

accel-vga-v2

<accel_vga_v2>.info

Synopsis

<accel_vga_v2>.info

Description

Print detailed information about the configuration of the object.

Provided By

accel-vga-v2

<accel_vga_v2>.redraw

Synopsis

<accel_vga_v2>.redraw

Description

This command sends the current frame buffer contents of the simulated video device to the graphics console. If a simulated cursor is active, it is updated as well.

Provided By

accel-vga-v2

<accel_vga_v2>.refresh-rate

Synopsis

<accel_vga_v2>.refresh-rate [rate]

Description

Set the rate at which the device updates the display. The default is 1000 Hz in virtual time.

NOTE: The rate is currently the same for all devices of the same class.

Provided By

accel-vga-v2

<accel_vga_v2>.status

Synopsis

<accel_vga_v2>.status

Description

Print detailed information about the current status of the object.

Provided By

accel-vga-v2

<accel_vga_v2>.text-dump

Synopsis

<accel_vga_v2>.text-dump

Description

Print the contents of the display in text mode.

Provided By

accel-vga-v2

<address_profiler>.address-profile-data

Synopsis

<address_profiler>.address-profile-data [view] [address] [cell-bits] [row-bits] [table-bits] [start] [stop] [lines] [columns] [-same-prefix]

Description

Display a map of (a part of) the address space covered by the address profiler, and the counts of one of its views associated with each address. The view is specified by the view argument; default is view 0. The default behavior is to display the smallest interval that contains all counts; you can change this with either the start and stop or the address and cell-bits, row-bits or table-bits arguments.

Cells that have zero counts are marked with ".". Cells that have a non-zero count, but were rounded to zero, are marked with "o".

If one of cell-bits, row-bits or table-bits is specified, then each cell, or each table row, or the entire table is limited to that many bits of address space. By default the display starts at address 0, but if an address is specified with the address argument, the displayed interval is shifted to make that address is visible.

If start and stop are specified, the display is limited to the smallest interval containing both addresses.

The maximum number of lines and columns in the table are limited by the lines and columns arguments (the default is 20 lines, 8 columns). The scale of the map is adjusted to fit this limit.

Normally, the display chooses an appropriate prefix for the count of each cell; with the -same-prefix flag, all counts will be forced to have the same prefix. This is useful if a lot of small but non-zero values makes it hard to spot the really big values.

Provided By

Simics Core

<address_profiler>.address-profile-info

Synopsis

<address_profiler>.address-profile-info [-sum] [-max]

Description

Print general info about an object implementing the address_profiler interface, such as a list of the available views. If the -sum or -max flags are given, will also print the sum or max of each view over the entire address space.

Provided By

Simics Core

<address_profiler>.address-profile-toplist

Synopsis

<address_profiler>.address-profile-toplist [samples] [start] [stop] [view] [count_interval]

Description

Print address profiling regions sorted by count.

The samples argument specifies the number of sampling points used to create the list containing the highest count. The sampling range is determined by start and stop. The default values are 100 samples in the interval 0x0–0xfffffffc. The granularity is defined by the data profiler object.

The view argument selects the address profiler view.

The count_interval attribute defines the range in which sampled data regions will match even thought the data profiler count is not equal. For example, assume that the samples in the region 0x20c–0x20c has a count of 4711 and 4713 in 0x20d–0x20f. These regions will be considered to be one region if count_interval is 4, but not if it is 1.

Provided By

Simics Core

See Also

<address_profiler>.address-profile-info

<agent_handle>.agent-poll-interval

Synopsis

<agent_handle>.agent-poll-interval [ms]

Description

Set the polling interval for this handle's Simics Agent. When an agent is sleeping in idle mode, it will wake up periodically and poll for new commands. The polling interval has no effect on a working agent with pending commands.

Without the ms argument, the command just prints and returns the current poll-interval time, in milliseconds.

With the ms argument, specify an interval in milliseconds between each polling attempt. The interval can be set from 10 ms to 1 hour.

Remember, the polling interval is a trade-off between the responsiveness of a sleeping agent, and the performance taxing on a target system with a "restless" agent. Remember also, the exact interval will depend on how the target system schedules user-space processes.

This command can be posted on any agent_handle object that is associated with the wanted Simics Agent.

Provided By

matic

<agent_handle>.agent-quit

Synopsis

<agent_handle>.agent-quit

Description

Gracefully terminate the Simics Agent that is associated with this handle. Any other agent_handle objects for that agent will become stale and unusable, with any pending or queued commands canceled.

Provided By

matic

See Also

<agent_handle>.delete-handle

<agent_handle>.agent-restart

Synopsis

<agent_handle>.agent-restart

Description

Restart the Simics Agent for this agent_handle object, using the same command line arguments it was initially started with. This command affects any other handles for the same agent running on the target machine. Any active jobs will be lost, no matter which handles they were posted at.

Once the restarted agent has announced itself, the agent manager will reconnect all affected agent handles. Then, the manager will resume scheduling jobs from those handles.

Provided By

matic

<agent_handle>.change-directory

Synopsis

<agent_handle>.change-directory ["target-path"]

Description

Change the current working directory for this agent_handle object.

This command immediately takes effect since it only sets the path property of this agent handle. Hence, the Simics Agent for this handle is not notified, and no other handles for the same agent are affected. Any following commands posted on a handle will run relative to its working directory, unless they specify an absolute path.

The target-path argument is an absolute path, or a path relative to this handle's current working directory. Without argument, on Linux the directory is changed to "/", and on other systems to its equivalent.

The target-path must exist on the target system but no effort is made to validate the path. Hence, an invalid path may cause following commands to fail.

Provided By

matic

See Also

<agent_handle>.print-working-directory

<agent_handle>.delete-handle

Synopsis

<agent_handle>.delete-handle

Description

Delete this agent_handle object. This command will also delete any pending or queued commands on this handle. Any ongoing job is left unfinished and any upcoming result from it is ignored.

Provided By

matic

See Also

<agent_handle>.agent-quit

<agent_handle>.discard-jobs

Synopsis

<agent_handle>.discard-jobs ([ job-id ... ] | list of job-id)

Description

Discard all or specified commands from this agent_handle object. Any ongoing job is left behind and any upcoming result from it is ignored.

A command posted on an agent handle is given an integer ID which is unique per agent handle. With the job-id argument, specify one or more IDs for the commands to be discarded.

Provided By

matic

See Also

<agent_handle>.list-jobs

<agent_handle>.download

Synopsis

<agent_handle>.download [-overwrite] "from" [to]

Description

Copy a file to the host from the target system, where the Simics Agent connected to this agent_handle object is running.

The from argument is mandatory and must refer to an existing readable file in the target system. The path is relative to this agent handle's current working directory, unless it is an absolute path.

The optional to argument, allows the user to override the current working directory of Simics and provide an alternate destination path. A provided destination path must refer to an existing directory where the user has write permission. The path is taken as relative to the current working directory on the host, unless it is absolute.

The -overwrite flag is required to overwrite any existing file in the host system. Otherwise, the command will fail if the destination file already exists.

Note: The user who is running Simics must have permissions to create and write files in the host system. The user will be given ownership and access permissions of the downloaded contents.

Provided By

matic

See Also

<agent_handle>.download-dir, <agent_handle>.print-file, <agent_handle>.upload

<agent_handle>.download-dir

Synopsis

<agent_handle>.download-dir [-follow] [-no-hidden] [-overwrite] [-verbose] "from" [to]

Description

Copy a directory tree from the target system, where the Simics Agent connected to this agent_handle object is running, to the host. Files and directories that the user do not have permission to access will be ignored.

The from argument is mandatory and must refer to an existing directory on the target system. The directory and all its contents will be downloaded to the host system.

The optional to argument can be used to override the default destination, which is the current working directory on the host system. If provided, the given directory path is taken relative to the handle's current working directory, unless the path is absolute. The destination directory on the target system must exist and allow the user to write to it, or this command will fail.

By default the command will copy soft-links "as is" and not the files that they point to, but this behavior can be altered with the -follow flag. Note that soft-links to files within the upload tree will cause the files to be duplicated when soft-links are followed. WARNING: Beware of circular soft-links when the flag is used! A circular soft-link will be traversed until the maximum target system recursion is exceeded.

Any hidden files (beginning with a dot) in the upload tree will be treated just like regular files, unless the -no-hidden flag is given, in which case they are ignored.

The -overwrite flag is required if the user wants existing target system files to be overwritten. Otherwise, without the flag, all existing target system files will remain untouched and the host files are skipped.

The -verbose flag, will cause the name of uploaded files and directories to be printed as they have been created or fully uploaded.

Note: The Simics Agent must have permissions to create and write files in the destination directory on the target system. The uploaded contents will be given ownership and the access permissions of the user who is running the Simics Agent.

Provided By

matic

See Also

<agent_handle>.download, <agent_handle>.upload, <agent_handle>.upload-dir

<agent_handle>.get-captured-output

Synopsis

<agent_handle>.get-captured-output [job-id] [-overwrite] [file]

Description

Once a job with captured data has completed, this command can be used to get its captured output. The user may choose to print it, assign it to a variable, or write it to a file. Note that the command has lost its copy of the captured data.

The file argument will append the captured output to the specified file, unless the -overwrite flag is also specified.

Without the job-id argument this command will list all remaining jobs with captured output.

Apart from this command, there are two other commands that can return the captured output too: <agent_handle>.run-until-job and <agent_handle>.wait-for-job.

Provided By

matic

See Also

<agent_handle>.run-until-job, <agent_handle>.wait-for-job

<agent_handle>.info

Synopsis

<agent_handle>.info

Description

Print detailed information about the configuration of the object.

Provided By

matic

<agent_handle>.list-files

Synopsis

<agent_handle>.list-files [-capture] ["target-dir"]

Description

List the contents of a directory on the target system that is associated with this agent_handle object.

Optionally the -capture flag can be used to hold the output for later, instead of immediately printing it. The captured output is then accessed from the <agent_handle>.get-captured-output command. Alternatively either <agent_handle>.run-until-job or <agent_handle>.wait-for-job, with the -capture flag, can be used.

The target-dir argument may be a path relative to the current working directory of this agent handle, or an absolute path. Without argument, the current working directory of this agent handle will be used. If the directory does not exist on the target system, this command will fail.

Provided By

matic

See Also

<agent_handle>.change-directory, <agent_handle>.print-working-directory

<agent_handle>.list-jobs

Synopsis

<agent_handle>.list-jobs

Description

List all pending commands that are queued on this agent_handle object. The result will also include any ongoing, unfinished job. This command is run immediately.

Provided By

matic

<agent_handle>.print-file

Synopsis

<agent_handle>.print-file [-capture] [-force] "target-file"

Description

Print the contents of a text file to the Simics command line (CLI).

The file contents will only be printed if the contents is determined to be text. The -force flag can be used to print it anyway.

Optionally the -capture flag can be used to hold the output for later, instead of immediately printing it. The captured output is then accessed from the <agent_handle>.get-captured-output command. Alternatively either <agent_handle>.run-until-job or <agent_handle>.wait-for-job, with the -capture flag, can be used.

The target-file must be a readable file on the target system. The path is relative to this agent handle's current working directory, unless it is an absolute path.

Provided By

matic

See Also

<agent_handle>.download

<agent_handle>.print-working-directory

Synopsis

<agent_handle>.print-working-directory

Description

Print name of the current working directory for this agent_handle object. The default working directory, on Linux it is the root directory "/", and on other systems its equivalent.

This command immediately returns the path property of this agent handle. For further information, see the <agent_handle>.change-directory command.

Provided By

matic

See Also

<agent_handle>.change-directory, <agent_handle>.list-files

<agent_handle>.run

Synopsis

<agent_handle>.run [-capture] "cmd-line"

Description

Execute a command with command line arguments on the target system that is associated with this agent_handle object. The specified string will be executed just as if it was entered in a terminal console on the target system.

Optionally the -capture flag can be used to hold the output for later, instead of immediately printing it. The captured output is then accessed from the <agent_handle>.get-captured-output command. Alternatively either <agent_handle>.run-until-job or <agent_handle>.wait-for-job, with the -capture flag, can be used.

The cmd-line must be one quoted argument string, which will be sent as is to the Simics Agent which will run the command.

The format of the command line, as well as available features, depends on the target shell that will be executing the command.

Provided By

matic

<agent_handle>.run-until-job

Synopsis

<agent_handle>.run-until-job [-capture] [job-id]

Description

Run the simulation until commands that are already posted on this agent_handle object have completed, and then stop the simulation. If the simulation is not running, this command will start it.

A command posted on an agent handle is given an integer ID which is unique per handle. With the job-id argument, specify a command that must have completed before the simulation is stopped. Without argument, this command will run the simulation until all commands have completed, those which were posted on this handle before this command.

If the -capture flag was specified together with the job-id argument, then any captured output from that job will be returned from this command or printed. Note that the captured output will be discarded afterwards.

Queued commands are run sequentially, meaning that the next command will start once the previous has completed. Thus, all commands that were posted before the specified argument are guaranteed to have completed successfully.

If an error occurs, the execution is stopped and all pending commands that were posted on this handle are discarded, and the error is reported.

Notice: This command is not intended for script-branches.

Provided By

matic

See Also

<agent_handle>.wait-for-job

<agent_handle>.status

Synopsis

<agent_handle>.status

Description

Print detailed information about the current status of the object.

Provided By

matic

<agent_handle>.target-time

Synopsis

<agent_handle>.target-time [-capture|-now|"datetime"]

Description

Set or get the date and time of the target system that is associated with this agent_handle object.

Without argument, or with the -capture flag, this command will output the target date and time string according to the target's locale. With the optional flag the captured output string can be accessed from the <agent_handle>.get-captured-output command. Alternatively either <agent_handle>.run-until-job or <agent_handle>.wait-for-job, with the -capture flag, can be used.

With the -now flag, set the time using the host system's current date and time. With the datetime argument, set the date and time using a string that must be of the RFC2822-date format. For example "2014-01-31 14:15:16" or "Fri, 31 Jan 2014 14:15:16". The date string may contain a UTC timezone suffix.

Provided By

matic

<agent_handle>.upload

Synopsis

<agent_handle>.upload [-executable] [-flush] [-overwrite] from ["to"]

Description

Copy a file from the host to the target system, where the Simics Agent connected to this agent_handle object is running.

The from argument is mandatory and must refer to an existing readable file on the host system.

The to argument is optional and without it the agent handle's current working directory will be used. If provided, the destination directory path is taken relative to the handle's current working directory, unless the path is absolute. The destination directory must exist on the target and the user must have write permission in it.

When the -executable flag is given, the file mode bits will be updated so that all users who have read access to the file will also gain executable access to it.

With the -flush flag, the Simics Agent will immediately commit each piece of data to the storage media before requesting the next piece of data to be transmitted. This allows readers of the destination file to read the data as each piece is transferred, at the expense of performance.

The -overwrite flag is required to overwrite any existing destination file on the target system. Otherwise, the command will fail if the destination file already exists.

Note: The Simics Agent must have permissions to create and write files in the destination directory on the target system. The uploaded contents will be given ownership and the access permissions of the user who is running the Simics Agent.

Provided By

matic

See Also

<agent_handle>.upload-dir, <agent_handle>.download

<agent_handle>.upload-dir

Synopsis

<agent_handle>.upload-dir [-follow] [-no-hidden] [-overwrite] [-verbose] from ["to"]

Description

Copy a directory tree from the host to the target system, where the Simics Agent connected to this agent_handle object is running. Files and directories that the user do not have permission to will be ignored.

The from argument is mandatory and must refer to an existing directory on the host system. The directory and all its contents will be uploaded to the target system.

The optional to argument can be used to override the default destination, which is the handle's current working directory on the target system. If provided, the given directory path is taken relative to the handle's current working directory, unless the path is absolute. The destination directory on the target system must exist and allow the user to write to it, or this command will fail.

By default the command will copy soft-links "as is" and not the files that they point to, but this behavior can be altered with the -follow flag. Note that soft-links to files within the upload tree will cause the files to be duplicated when soft-links are followed. WARNING: Beware of circular soft-links when the flag is used! A circular soft-link will be traversed until the maximum host system recursion is exceeded.

Any hidden files (beginning with a dot) in the upload tree will be treated just like regular files, unless the -no-hidden flag is given, in which case they are ignored.

The -overwrite flag is required if the user wants existing target system files to be overwritten. Otherwise, without the flag, all existing target system files will remain untouched and the host files are skipped.

The -verbose flag, will cause the name of uploaded files and directories to be printed as they have been created or fully uploaded.

Note: The Simics Agent must have permissions to create and write files in the destination directory on the target system. The uploaded contents will be given ownership and the access permissions of the user who is running the Simics Agent.

Provided By

matic

See Also

<agent_handle>.upload, <agent_handle>.download, <agent_handle>.download-dir

<agent_handle>.wait-for-job

Synopsis

<agent_handle>.wait-for-job [-capture] [job-id]

Description

Suspend execution of a script branch until commands that are already posted on this agent_handle object have completed.

A command posted on an agent handle is given an integer ID which is unique per handle. With the job-id argument, specify a command that must have completed before the script branch may continue. Without argument, the script branch will be suspended until all commands have completed, those which were posted on this handle before this command.

If the -capture flag was specified together with the job-id argument, then any captured output from that job will be returned from this command or printed. Note that the captured output will be discarded afterwards.

Queued commands are run sequentially, meaning that the next command will start once the previous has completed. Thus, all commands that were posted before the specified argument are guaranteed to have completed successfully.

If an error occurs, the execution is stopped and all pending commands that were posted on this handle are discarded, and the error is reported. This will also abort the script branch.

Notice: This command works only in script branches. In each branch, create a local agent handle; that handle will not interfere with other handles. Handles should be deleted before script branches finish.

Provided By

matic

See Also

<agent_handle>.run-until-job

<agent_manager>.connect-to-agent

Synopsis

<agent_manager>.connect-to-agent ["name"] ["identifier"]

Description

Create an agent_handle object and connect it to a Simics Agent that is running on a target machine. If an agent is not found or the simulation is not running, the agent_handle object is immediately returned and ready to accept commands; the connection is finished eventually.

The name must be unique. If not given it defaults to 'maticN', where 'N' is an integer.

The identifier is a string that is used to filter for an agent. The first agent that matches the argument will be selected. If no agent is found, an agent_handle object is immediately returned and the command will finish when a match is found, if ever. Without argument, the first found agent is selected.

An identifier may take any of three forms and it is matched in this order:

The identifier may be an agent-id on the form 'agent-nameN', where 'N' is an integer. An underscore is inserted before N if the agent name ends with a digit. The 'agent-id' is generated by the agent manager when a new agent is found. This is the only unique identifier.

The identifier may be the agent-name with which the Simics Agent announces itself. By default that is the host name of the target system, but it can also be given as a command line argument when starting the Simics Agent on the target system.

The identifier may be any part of a hierarchical name that identifies where in the configuration the Simics Agent is running. For example, 'cpu0' may work, or maybe the longer 'viper0.mb.cpu0' is needed. Avoid being too specific about the processor core, since the operating system of the target system may schedule the agent differently.

See also: agent_manager and agent_handle.

Provided By

matic

See Also

<agent_manager>.list-agents

<agent_manager>.disable

Synopsis

<agent_manager>.disable [-force]

Description

Disable the agent_manager, stop communicating with Simics Agents, and delete all agent_handle objects. Queued commands are deleted together with the handles. If there are any ongoing jobs, this command will fail.

This command does not notify any Simics Agents running on target systems but those will soon switch to idle state.

The -force flag will immediately disable the agent manager. Any ongoing jobs are left behind to finish eventually. Remember that agents may retain any amount of output.

Provided By

matic

See Also

<agent_manager>.enable

<agent_manager>.enable

Synopsis

<agent_manager>.enable

Description

Enable the agent_manager, making it listening for Simics Agents which are running on target systems. This command will not recreate any earlier agent_handle objects.

Provided By

matic

See Also

<agent_manager>.disable, <agent_manager>.connect-to-agent

<agent_manager>.info

Synopsis

<agent_manager>.info

Description

Print detailed information about the configuration of the object.

Provided By

matic

<agent_manager>.list-agents

Synopsis

<agent_manager>.list-agents ["pattern" ["info"]] [-verbose]

Description

List all known Simics Agents that are alive and can be immediately connected to.

The pattern argument (a regular expression) will filter the list based on the info argument, which defaults to "name". Use the info argument to specify another info type, or a string of several comma-separated types. Info types depend on the target systems, as well as the Simics Agents, but will at least include: agent, capabilities, hostname, machine, name, release, system.

A Simics Agent is declared dead and removed from the list, if it fails to make contact within a timeout period after the end of the agent poll interval. This timeout is defined per Simics Agent and can be controlled via the stale_timeout attribute on any of the connected agent handles. When an agent is declared dead, its handles will become stale and their commands will be canceled. New commands cannot be given to a stale handle.

With the -verbose flag, some additional information is included.

Provided By

matic

See Also

<agent_manager>.connect-to-agent

<agent_manager>.status

Synopsis

<agent_manager>.status

Description

Print detailed information about the current status of the object.

Provided By

matic

<apic-bus>.info

Synopsis

<apic-bus>.info

Description

Print detailed information about the configuration of the object.

Provided By

apic

<apic-bus>.status

Synopsis

<apic-bus>.status

Description

Print detailed information about the current status of the object.

Provided By

apic

<apic>.info

Synopsis

<apic>.info

Description

Print detailed information about the configuration of the object.

Provided By

apic

<apic>.status

Synopsis

<apic>.status

Description

Print detailed information about the current status of the object.

Provided By

apic

<apic_bus_v2>.info

Synopsis

<apic_bus_v2>.info

Description

Print detailed information about the configuration of the object.

Provided By

x2apic-c++

<apic_bus_v2>.status

Synopsis

<apic_bus_v2>.status

Description

Print detailed information about the current status of the object.

Provided By

x2apic-c++

<arinc429_bus>.capture-start

Synopsis

<arinc429_bus>.capture-start filename

Description

Starts recording bus traffic to a specified filename. A simple text format is used. If the file exists, new data is appended to the file.

Provided By

arinc429-bus

See Also

<arinc429_bus>.capture-stop

<arinc429_bus>.capture-stop

Synopsis

<arinc429_bus>.capture-stop

Description

Stop recording bus traffic previously started with capture-start.

Provided By

arinc429-bus

See Also

<arinc429_bus>.capture-start

<arinc429_bus>.info

Synopsis

<arinc429_bus>.info

Description

Print detailed information about the configuration of the object.

Provided By

arinc429-bus

<arinc429_bus>.playback-start

Synopsis

<arinc429_bus>.playback-start filename

Description

Starts generating bus traffic from the specified filename. The file should be in the simple text format like the captured file with capture-start. The timestamp of the first entry is used as the base time, i.e the playback starts immediately.

Provided By

arinc429-bus

See Also

<arinc429_bus>.capture-start, <arinc429_bus>.playback-stop

<arinc429_bus>.playback-stop

Synopsis

<arinc429_bus>.playback-stop

Description

Stop bus traffic generation previously started with playback-start.

Provided By

arinc429-bus

See Also

<arinc429_bus>.playback-start

<arinc429_bus>.status

Synopsis

<arinc429_bus>.status

Description

Print detailed information about the current status of the object.

Provided By

arinc429-bus

<async-bridge>.info

Synopsis

<async-bridge>.info

Description

Print detailed information about the configuration of the object.

Provided By

async-bridge

<async-bridge>.status

Synopsis

<async-bridge>.status

Description

Print detailed information about the current status of the object.

Provided By

async-bridge

<attr-meter>.info

Synopsis

<attr-meter>.info

Description

Print detailed information about the configuration of the object.

Provided By

attr-meter

<attr-meter>.status

Synopsis

<attr-meter>.status

Description

Print detailed information about the current status of the object.

Provided By

attr-meter

<bank_coverage_tool>.access-count

Synopsis

<bank_coverage_tool>.access-count bank [-read] [-write] [-show-zeroes] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Present the access count of an instrumented bank. Provide the bank, and optionally the -read and -write flags to indicate whether or not read and write accesses should be presented, respectively. If neither is provided, both are presented. The -show-zeroes flag also presents the registers without any accesses.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

bank-coverage-tool

<bank_coverage_tool>.add-filter

Synopsis

<bank_coverage_tool>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

bank-coverage-tool

<bank_coverage_tool>.add-instrumentation

Synopsis

<bank_coverage_tool>.add-instrumentation ([ banks ... ] | list of banks) [parent] [-connect-all] ["group"]

Description

Connects the tool to one or several banks as given by the banks argument.The parent argument specifies an hierarchical object and all banks below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported banks in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

bank-coverage-tool

<bank_coverage_tool>.connect-all

Synopsis

<bank_coverage_tool>.connect-all

Description

Connect to every bank of all devices in the current configuration. Exclude banks of devices of which there are no attached device info XML or EML files.

Provided By

bank-coverage-tool

<bank_coverage_tool>.coverage

Synopsis

<bank_coverage_tool>.coverage [-read] [-write] ["device-regexp"] [to-file] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Per device, present the coverage of instrumented banks. Provide a Python regular expression to filter on device name using device-regexp. Use the -read or -write flags to present either type of accesses. If neither is provided, all accesses are included. To export the results as CSV, provide a file name using to-file.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

bank-coverage-tool

<bank_coverage_tool>.delete

Synopsis

<bank_coverage_tool>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

bank-coverage-tool

<bank_coverage_tool>.disable-instrumentation

Synopsis

<bank_coverage_tool>.disable-instrumentation [id] [bank] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The bank selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

bank-coverage-tool

<bank_coverage_tool>.enable-instrumentation

Synopsis

<bank_coverage_tool>.enable-instrumentation [id] [bank] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The bank selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

bank-coverage-tool

<bank_coverage_tool>.info

Synopsis

<bank_coverage_tool>.info

Description

Print detailed information about the configuration of the tool.

Provided By

bank-coverage-tool

<bank_coverage_tool>.list-providers

Synopsis

<bank_coverage_tool>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

bank-coverage-tool

<bank_coverage_tool>.load

Synopsis

<bank_coverage_tool>.load filename

Description

Load previously collected bank coverage from filename. Loaded coverage from earlier sessions is compiled with current coverage when presenting the displayed totals.

Provided By

bank-coverage-tool

<bank_coverage_tool>.remove-filter

Synopsis

<bank_coverage_tool>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

bank-coverage-tool

<bank_coverage_tool>.remove-instrumentation

Synopsis

<bank_coverage_tool>.remove-instrumentation [id] ([ banks ... ] | list of banks) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The banks selects the connections towards one or several banks that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

bank-coverage-tool

<bank_coverage_tool>.save

Synopsis

<bank_coverage_tool>.save filename

Description

Save collected bank coverage to filename. Saved coverage from multiple sessions of the same setup may subsequently be loaded to display the total bank coverage

Provided By

bank-coverage-tool

<bank_coverage_tool>.status

Synopsis

<bank_coverage_tool>.status

Description

Print detailed information about the current status of the tool.

Provided By

bank-coverage-tool

<bank_instrumentation_subscribe>.bp-break-bank

Synopsis

<bank_instrumentation_subscribe>.bp-break-bank [-all] ["register"] [offset] [size] [-r] [-w] [-only-changes] [value] [mask|"field"] [-recursive] [-once]

Description

Enables breaking the simulation on register bank accesses.

Accesses can be considered on either device or bank objects, depending on the object that is specified. If a device is specified, then all banks in the device are considered. Alternatively, -all can be specified to consider all banks in all devices.

To only consider accesses to parts of a bank, either specify a register name as register, or specify offset and size, in bytes. One can also specify a mask on the bank, to only consider accesses that touch the bits specified by the mask. The mask can either be given by the mask parameter, or by providing a register field name using the field parameter.

If -only-changes is specified, only those write accesses that change the part of the bank, specified by offset and size and potentially the mask, are considered. This option does not affect considered read accesses.

If value is specified, only write accesses that results in the specified part of the bank having this value are considered, or read accesses where the bank part already has this value. If mask is specified, this is applied to both the bank part value and to value before comparison.

The default is to consider both read and write accesses, but this can be changed by specifying -r or -w.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint.

Provided By

bp-manager

<bank_instrumentation_subscribe>.bp-run-until-bank

Synopsis

<bank_instrumentation_subscribe>.bp-run-until-bank [-all] ["register"] [offset] [size] [-r] [-w] [-only-changes] [value] [mask|"field"] [-recursive] [timeout] [timeout-rt]

Description

Run the simulation until the specified register bank access occurs.

Accesses can be considered on either device or bank objects, depending on the object that is specified. If a device is specified, then all banks in the device are considered. Alternatively, -all can be specified to consider all banks in all devices.

To only consider accesses to parts of a bank, either specify a register name as register, or specify offset and size, in bytes. One can also specify a mask on the bank, to only consider accesses that touch the bits specified by the mask. The mask can either be given by the mask parameter, or by providing a register field name using the field parameter.

If -only-changes is specified, only those write accesses that change the part of the bank, specified by offset and size and potentially the mask, are considered. This option does not affect considered read accesses.

If value is specified, only write accesses that results in the specified part of the bank having this value are considered, or read accesses where the bank part already has this value. If mask is specified, this is applied to both the bank part value and to value before comparison.

The default is to consider both read and write accesses, but this can be changed by specifying -r or -w.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<bank_instrumentation_subscribe>.bp-trace-bank

Synopsis

<bank_instrumentation_subscribe>.bp-trace-bank [-all] ["register"] [offset] [size] [-r] [-w] [-only-changes] [value] [mask|"field"] [-recursive]

Description

Enables tracing of register bank accesses. When this is enabled, every time the specified register bank access occurs during simulation, a message is printed.

Accesses can be considered on either device or bank objects, depending on the object that is specified. If a device is specified, then all banks in the device are considered. Alternatively, -all can be specified to consider all banks in all devices.

To only consider accesses to parts of a bank, either specify a register name as register, or specify offset and size, in bytes. One can also specify a mask on the bank, to only consider accesses that touch the bits specified by the mask. The mask can either be given by the mask parameter, or by providing a register field name using the field parameter.

If -only-changes is specified, only those write accesses that change the part of the bank, specified by offset and size and potentially the mask, are considered. This option does not affect considered read accesses.

If value is specified, only write accesses that results in the specified part of the bank having this value are considered, or read accesses where the bank part already has this value. If mask is specified, this is applied to both the bank part value and to value before comparison.

The default is to consider both read and write accesses, but this can be changed by specifying -r or -w.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint.

Provided By

bp-manager

<bank_instrumentation_subscribe>.bp-wait-for-bank

Synopsis

<bank_instrumentation_subscribe>.bp-wait-for-bank [-all] ["register"] [offset] [size] [-r] [-w] [-only-changes] [value] [mask|"field"] [-recursive] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the specified register bank access occurs.

Accesses can be considered on either device or bank objects, depending on the object that is specified. If a device is specified, then all banks in the device are considered. Alternatively, -all can be specified to consider all banks in all devices.

To only consider accesses to parts of a bank, either specify a register name as register, or specify offset and size, in bytes. One can also specify a mask on the bank, to only consider accesses that touch the bits specified by the mask. The mask can either be given by the mask parameter, or by providing a register field name using the field parameter.

If -only-changes is specified, only those write accesses that change the part of the bank, specified by offset and size and potentially the mask, are considered. This option does not affect considered read accesses.

If value is specified, only write accesses that results in the specified part of the bank having this value are considered, or read accesses where the bank part already has this value. If mask is specified, this is applied to both the bank part value and to value before comparison.

The default is to consider both read and write accesses, but this can be changed by specifying -r or -w.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<bank_patch_tool>.add-filter

Synopsis

<bank_patch_tool>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

bank-patch-tool

<bank_patch_tool>.add-instrumentation

Synopsis

<bank_patch_tool>.add-instrumentation ([ banks ... ] | list of banks) [parent] [-connect-all] ["group"] offset size [value] [-inject]

Description

Connects the tool to one or several banks as given by the banks argument.The parent argument specifies an hierarchical object and all banks below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported banks in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Each new connection to the patch tool may be configured by providing the instrumentation start address (offset), the instrumentation range (size), and the value to be read in place of a otherwise mapped register values (value).

Providing an offset and a size of 0 will instrument the entire bank. Access misses may also be injected using the -inject flag, which is disabled by default

Provided By

bank-patch-tool

<bank_patch_tool>.delete

Synopsis

<bank_patch_tool>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

bank-patch-tool

<bank_patch_tool>.disable-instrumentation

Synopsis

<bank_patch_tool>.disable-instrumentation [id] [bank] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The bank selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

bank-patch-tool

<bank_patch_tool>.enable-instrumentation

Synopsis

<bank_patch_tool>.enable-instrumentation [id] [bank] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The bank selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

bank-patch-tool

<bank_patch_tool>.info

Synopsis

<bank_patch_tool>.info

Description

Print detailed information about the configuration of the tool.

Provided By

bank-patch-tool

<bank_patch_tool>.list-providers

Synopsis

<bank_patch_tool>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

bank-patch-tool

<bank_patch_tool>.remove-filter

Synopsis

<bank_patch_tool>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

bank-patch-tool

<bank_patch_tool>.remove-instrumentation

Synopsis

<bank_patch_tool>.remove-instrumentation [id] ([ banks ... ] | list of banks) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The banks selects the connections towards one or several banks that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

bank-patch-tool

<bank_patch_tool>.status

Synopsis

<bank_patch_tool>.status

Description

Print detailed information about the current status of the tool.

Provided By

bank-patch-tool

<bitmask-translator>.info

Synopsis

<bitmask-translator>.info

Description

Print detailed information about the configuration of the object.

Provided By

bitmask-translator

<bitmask-translator>.status

Synopsis

<bitmask-translator>.status

Description

Print detailed information about the current status of the object.

Provided By

bitmask-translator

<blueprint-namespace>.info

Synopsis

<blueprint-namespace>.info

Description

Print detailed information about the configuration of the object.

Provided By

blueprints

<blueprint-namespace>.status

Synopsis

<blueprint-namespace>.status

Description

Print detailed information about the current status of the object.

Provided By

blueprints

bp.bank.break

Synopsis

<bp-manager.bank>.break [object] [-all] ["register"] [offset] [size] [-r] [-w] [-only-changes] [value] [mask|"field"] [-recursive] [-once]

Description

Enables breaking the simulation on register bank accesses.

Accesses can be considered on either device or bank objects, depending on the object that is specified. If a device is specified, then all banks in the device are considered. Alternatively, -all can be specified to consider all banks in all devices.

To only consider accesses to parts of a bank, either specify a register name as register, or specify offset and size, in bytes. One can also specify a mask on the bank, to only consider accesses that touch the bits specified by the mask. The mask can either be given by the mask parameter, or by providing a register field name using the field parameter.

If -only-changes is specified, only those write accesses that change the part of the bank, specified by offset and size and potentially the mask, are considered. This option does not affect considered read accesses.

If value is specified, only write accesses that results in the specified part of the bank having this value are considered, or read accesses where the bank part already has this value. If mask is specified, this is applied to both the bank part value and to value before comparison.

The default is to consider both read and write accesses, but this can be changed by specifying -r or -w.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.bank.run-until

Synopsis

<bp-manager.bank>.run-until [object] [-all] ["register"] [offset] [size] [-r] [-w] [-only-changes] [value] [mask|"field"] [-recursive] [timeout] [timeout-rt]

Description

Run the simulation until the specified register bank access occurs.

Accesses can be considered on either device or bank objects, depending on the object that is specified. If a device is specified, then all banks in the device are considered. Alternatively, -all can be specified to consider all banks in all devices.

To only consider accesses to parts of a bank, either specify a register name as register, or specify offset and size, in bytes. One can also specify a mask on the bank, to only consider accesses that touch the bits specified by the mask. The mask can either be given by the mask parameter, or by providing a register field name using the field parameter.

If -only-changes is specified, only those write accesses that change the part of the bank, specified by offset and size and potentially the mask, are considered. This option does not affect considered read accesses.

If value is specified, only write accesses that results in the specified part of the bank having this value are considered, or read accesses where the bank part already has this value. If mask is specified, this is applied to both the bank part value and to value before comparison.

The default is to consider both read and write accesses, but this can be changed by specifying -r or -w.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.bank.trace

Synopsis

<bp-manager.bank>.trace [object] [-all] ["register"] [offset] [size] [-r] [-w] [-only-changes] [value] [mask|"field"] [-recursive]

Description

Enables tracing of register bank accesses. When this is enabled, every time the specified register bank access occurs during simulation, a message is printed.

Accesses can be considered on either device or bank objects, depending on the object that is specified. If a device is specified, then all banks in the device are considered. Alternatively, -all can be specified to consider all banks in all devices.

To only consider accesses to parts of a bank, either specify a register name as register, or specify offset and size, in bytes. One can also specify a mask on the bank, to only consider accesses that touch the bits specified by the mask. The mask can either be given by the mask parameter, or by providing a register field name using the field parameter.

If -only-changes is specified, only those write accesses that change the part of the bank, specified by offset and size and potentially the mask, are considered. This option does not affect considered read accesses.

If value is specified, only write accesses that results in the specified part of the bank having this value are considered, or read accesses where the bank part already has this value. If mask is specified, this is applied to both the bank part value and to value before comparison.

The default is to consider both read and write accesses, but this can be changed by specifying -r or -w.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.bank.wait-for

Synopsis

<bp-manager.bank>.wait-for [object] [-all] ["register"] [offset] [size] [-r] [-w] [-only-changes] [value] [mask|"field"] [-recursive] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the specified register bank access occurs.

Accesses can be considered on either device or bank objects, depending on the object that is specified. If a device is specified, then all banks in the device are considered. Alternatively, -all can be specified to consider all banks in all devices.

To only consider accesses to parts of a bank, either specify a register name as register, or specify offset and size, in bytes. One can also specify a mask on the bank, to only consider accesses that touch the bits specified by the mask. The mask can either be given by the mask parameter, or by providing a register field name using the field parameter.

If -only-changes is specified, only those write accesses that change the part of the bank, specified by offset and size and potentially the mask, are considered. This option does not affect considered read accesses.

If value is specified, only write accesses that results in the specified part of the bank having this value are considered, or read accesses where the bank part already has this value. If mask is specified, this is applied to both the bank part value and to value before comparison.

The default is to consider both read and write accesses, but this can be changed by specifying -r or -w.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.con-gfx.break

Synopsis

<bp-manager.con-gfx>.break object filename interval [-once]

Description

This command uses breakpoint functionality on object, with the following description:

Set Simics to break simulation when the graphical breakpoint defined by filename matches.

A graphical breakpoint matches when its image appears on the screen, in the same location as when it was saved. The breakpoint must have been created using the Simics GUI or the command <graphcon>.save-break-xy. The screen is checked for matches every interval seconds of host time, or in virtual on the clock associated to the console, if the attribute refresh_in_virtual_time is set on the console. The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

bp.con-gfx.run-until

Synopsis

<bp-manager.con-gfx>.run-until object filename interval [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description:

Run the simulation until the graphical breakpoint defined by filename matches.

A graphical breakpoint matches when its image appears on the screen, in the same location as when it was saved. The breakpoint must have been created using the Simics GUI or the command <graphcon>.save-break-xy. The screen is checked for matches every interval seconds of host time, or in virtual on the clock associated to the console, if the attribute refresh_in_virtual_time is set on the console. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.con-gfx.trace

Synopsis

<bp-manager.con-gfx>.trace object filename interval

Description

This command uses breakpoint functionality on object, with the following description:

Enable tracing of matches of the graphical breakpoint defined by filename.

A graphical breakpoint matches when its image appears on the screen, in the same location as when it was saved. The breakpoint must have been created using the Simics GUI or the command <graphcon>.save-break-xy. The screen is checked for matches every interval seconds of host time, or in virtual on the clock associated to the console, if the attribute refresh_in_virtual_time is set on the console.

Provided By

bp-manager

bp.con-gfx.wait-for

Synopsis

<bp-manager.con-gfx>.wait-for object filename interval [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description:

Postpones execution of a script branch until the graphical breakpoint defined by filename matches.

A graphical breakpoint matches when its image appears on the screen, in the same location as when it was saved. The breakpoint must have been created using the Simics GUI or the command <graphcon>.save-break-xy. The screen is checked for matches every interval seconds of host time, or in virtual on the clock associated to the console, if the attribute refresh_in_virtual_time is set on the console. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.con-string.break

Synopsis

<bp-manager.con-string>.break object "string" [-regexp] [-once]

Description

This command uses breakpoint functionality on object, with the following description:

Set Simics to break simulation when string is seen on the console.

Example of waiting for a typical shell prompt on console object $con:

bp.console_string.break $con "~ $"

If -regexp is specified, the breakpoint string will be interpreted as a regular expression (regexp). The regexp syntax follows the common Perl style, as interpreted by the Hyperscan library https://hyperscan.io.

Note that the string is a Simics CLI string, and thus \ has to be escaped as \\ when writing the regexp.

Examples:

For more information about regular expression syntax, see https://perldoc.perl.org/re.html.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

bp.con-string.run-until

Synopsis

<bp-manager.con-string>.run-until object "string" [-regexp] [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description:

Run the simulation until the text string appear on the console.

Example of waiting for a typical shell prompt on console object $con:

bp.console_string.run-until $con "~ $"

If -regexp is specified, the breakpoint string will be interpreted as a regular expression (regexp). The regexp syntax follows the common Perl style, as interpreted by the Hyperscan library https://hyperscan.io.

Note that the string is a Simics CLI string, and thus \ has to be escaped as \\ when writing the regexp.

Examples:

For more information about regular expression syntax, see https://perldoc.perl.org/re.html.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.con-string.trace

Synopsis

<bp-manager.con-string>.trace object "string" [-regexp]

Description

This command uses breakpoint functionality on object, with the following description:

Enable tracing of appearances of the text string on the console.

Example of waiting for a typical shell prompt on console object $con:

bp.console_string.trace $con "~ $"

If -regexp is specified, the breakpoint string will be interpreted as a regular expression (regexp). The regexp syntax follows the common Perl style, as interpreted by the Hyperscan library https://hyperscan.io.

Note that the string is a Simics CLI string, and thus \ has to be escaped as \\ when writing the regexp.

Examples:

For more information about regular expression syntax, see https://perldoc.perl.org/re.html.

Provided By

bp-manager

bp.con-string.wait-for

Synopsis

<bp-manager.con-string>.wait-for object "string" [-regexp] [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description:

Wait for the output of the text string on the console. This command can only be run from a script branch where it suspends the branch until the string has been found in the output.

Example of waiting for a typical shell prompt on console object $con:

bp.console_string.wait-for $con "~ $"

If -regexp is specified, the breakpoint string will be interpreted as a regular expression (regexp). The regexp syntax follows the common Perl style, as interpreted by the Hyperscan library https://hyperscan.io.

Note that the string is a Simics CLI string, and thus \ has to be escaped as \\ when writing the regexp.

Examples:

For more information about regular expression syntax, see https://perldoc.perl.org/re.html.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.con-string.wait-then-write

Synopsis

<bp-manager.con-string>.wait-then-write console [-regexp] [-e] "output-string" "input-string"

Description

Wait for the output of the text output-string on console. When the text is found, write input-string to the console. This command can only be run from a script branch where it suspends the branch until the string has been found in the output.

The -e flag allows specifying the input string using an Emacs-style keystroke, similar to <textcon>.input.

If -regexp is specified, the breakpoint string will be interpreted as a regular expression (regexp). The regexp syntax follows the common Perl style, as interpreted by the Hyperscan library https://hyperscan.io.

Note that the string is a Simics CLI string, and thus \ has to be escaped as \\ when writing the regexp.

Examples:

For more information about regular expression syntax, see https://perldoc.perl.org/re.html.

Provided By

bp-manager

See Also

<break_strings_v2>.bp-break-console-string, <break_strings_v2>.bp-wait-for-console-string, script-branch

bp.cr.break

Synopsis

<bp-manager.cr>.break [object] ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [-once]

Description

Enables breaking simulation on control register updates.

The name or number parameter specifies which control register is considered. The available control registers depend on the simulated target. If the -all flag is specified, all registers are considered.

If -r is specified, only register read accesses are considered. If -w is specified, only register write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the register value are considered. In this case, if mask is specified, only changes affecting this mask of the register are considered.

If value is specified, only write accesses that results in the register having this value are considered, or read accesses when the register has this value. If mask is specified, only this mask of the register and given value are considered.

If no processor object is specified, the currently selected processor is used.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.cr.run-until

Synopsis

<bp-manager.cr>.run-until [object] ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [timeout] [timeout-rt]

Description

Run the simulation until the specified control register update occurs.

The name or number parameter specifies which control register is considered. The available control registers depend on the simulated target. If the -all flag is specified, all registers are considered.

If -r is specified, only register read accesses are considered. If -w is specified, only register write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the register value are considered. In this case, if mask is specified, only changes affecting this mask of the register are considered.

If value is specified, only write accesses that results in the register having this value are considered, or read accesses when the register has this value. If mask is specified, only this mask of the register and given value are considered.

If no processor object is specified, the currently selected processor is used.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.cr.trace

Synopsis

<bp-manager.cr>.trace [object] ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes]

Description

Enables tracing of control register updates. When this is enabled, every time the specified control register is updated during simulation a message is printed. The message will name the register being updated, and the new value. The new value will be printed even if it is identical to the previous value.

The name or number parameter specifies which control register is considered. The available control registers depend on the simulated target. If the -all flag is specified, all registers are considered.

If -r is specified, only register read accesses are considered. If -w is specified, only register write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the register value are considered. In this case, if mask is specified, only changes affecting this mask of the register are considered.

If value is specified, only write accesses that results in the register having this value are considered, or read accesses when the register has this value. If mask is specified, only this mask of the register and given value are considered.

If no processor object is specified, the currently selected processor is used.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.cr.wait-for

Synopsis

<bp-manager.cr>.wait-for [object] ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the specified control register update occurs.

The name or number parameter specifies which control register is considered. The available control registers depend on the simulated target. If the -all flag is specified, all registers are considered.

If -r is specified, only register read accesses are considered. If -w is specified, only register write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the register value are considered. In this case, if mask is specified, only changes affecting this mask of the register are considered.

If value is specified, only write accesses that results in the register having this value are considered, or read accesses when the register has this value. If mask is specified, only this mask of the register and given value are considered.

If no processor object is specified, the currently selected processor is used.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.cycle.break

Synopsis

<bp-manager.cycle>.break [object] cycle [-absolute]

Description

Sets a breakpoint that will trigger when the processor's cycle counter has reached the cycle number of cycles from the time the command was issued. If -absolute is specified, the number of cycles is counted from the start of the simulation instead.

If no processor is specified, the currently selected frontend processor is used. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.cycle.run-until

Synopsis

<bp-manager.cycle>.run-until [object] cycle [-absolute] [timeout] [timeout-rt]

Description

Run the simulation until the processor has executed cycle number of cycles. If -absolute is specified, the simulation will instead run until the processor reaches the specified cycle in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.cycle.trace

Synopsis

<bp-manager.cycle>.trace [object] cycle [-absolute]

Description

Enable tracing for when the processor's cycle counter reaches the cycle number of cycles from the time the command was issued. If -absolute is specified, the number of cycles is counted from the start of the simulation instead.

If no processor is specified, the currently selected frontend processor is used. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.cycle.wait-for

Synopsis

<bp-manager.cycle>.wait-for [object] cycle [-absolute] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the processor has executed cycle number of cycles. If -absolute is specified, the branch will instead be suspended until the processor reaches the specified cycle in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.cycle_event.break

Synopsis

<bp-manager.cycle_event>.break object [event-object] ["event-class"] ["description"] [-once]

Description

This command uses breakpoint functionality on object, with the following description: Adds an event breakpoint on a clock object. The object needs to implement the cycle_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

bp.cycle_event.run-until

Synopsis

<bp-manager.cycle_event>.run-until object [event-object] ["event-class"] ["description"] [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description: Runs until an event triggers on a clock object. The object needs to implement the cycle_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.cycle_event.trace

Synopsis

<bp-manager.cycle_event>.trace object [event-object] ["event-class"] ["description"]

Description

This command uses breakpoint functionality on object, with the following description: Traces events posted on a clock object. The object needs to implement the cycle_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value.

Provided By

bp-manager

bp.cycle_event.wait-for

Synopsis

<bp-manager.cycle_event>.wait-for object [event-object] ["event-class"] ["description"] [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description: Waits for an event to trigger on a clock object. The object needs to implement the cycle_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.eth_link.break

Synopsis

<bp-manager.eth_link>.break object ["src_mac"] ["dst_mac"] [eth_type] [-once]

Description

This command uses breakpoint functionality on object, with the following description:

Set Simics to break simulation when src_mac, dst_mac or eth_type is discovered in the network stream by the link.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

bp.eth_link.run-until

Synopsis

<bp-manager.eth_link>.run-until object ["src_mac"] ["dst_mac"] [eth_type] [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description:

Enable tracing of appearances of the src_mac, dst_mac or eth_type is discovered in the network stream by the link.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.eth_link.trace

Synopsis

<bp-manager.eth_link>.trace object ["src_mac"] ["dst_mac"] [eth_type]

Description

This command uses breakpoint functionality on object, with the following description:

Postspones execution of a script branch until specified src_mac, dst_mac or eth_type is discovered in the network stream by the link.

Provided By

bp-manager

bp.eth_link.wait-for

Synopsis

<bp-manager.eth_link>.wait-for object ["src_mac"] ["dst_mac"] [eth_type] [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description:

Run Simulation until specified src src_mac, dst_mac or eth_type is discovered in the network stream by the link.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.exc.break

Synopsis

<bp-manager.exc>.break [object] ("name"|number|-all) [-recursive] [-once]

Description

Enables breaking simulation on exceptions.

The name or number parameter specify which exception should break the simulation. The available exceptions depend on the simulated target. Instead of an exception, the -all flag may be given. This will enable break on all exceptions.

If no processor object is specified, the currently selected processor is used.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.exc.run-until

Synopsis

<bp-manager.exc>.run-until [object] ("name"|number|-all) [-recursive] [timeout] [timeout-rt]

Description

Run the simulation until the specified exception occurs.

The name or number parameter specify which exception should stop the simulation. The available exceptions depend on the simulated target. Instead of an exception, the -all flag may be given. This will stop the simulation on all exceptions.

If no processor object is specified, the currently selected processor is used.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.exc.trace

Synopsis

<bp-manager.exc>.trace [object] ("name"|number|-all) [-recursive]

Description

Enables tracing of exceptions. When this is enabled, every time the specified exception occurs during simulation, a message is printed.

The name or number parameter specify which exception the script branch should wait on. The available exceptions depend on the simulated target. Instead of an exception, the -all flag may be given, which results in all exceptions being traced.

If no processor object is specified, the currently selected processor is used.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.exc.wait-for

Synopsis

<bp-manager.exc>.wait-for [object] ("name"|number|-all) [-recursive] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the specified exception occurs.

The name or number parameter specify which exception the script branch should wait on. The available exceptions depend on the simulated target. Instead of an exception, the -all flag may be given. The script branch will then wait on any exception.

If no processor object is specified, the currently selected processor is used.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.hap.break

Synopsis

<bp-manager.hap>.break ("name"|-all) [object] [index] [-s] [-once]

Description

Enables breaking simulation on haps. When this is enabled, every time the specified hap is triggered a message is printed and simulation is stopped.

The optional argument object limits the considered hap occurrences to a specific object, and index can be used for indexed haps.

The name parameter specifies the hap. If the -all flag is specified, all haps will be used.

When a hap triggers, the frontend object is changed to the object that triggered the hap, unless -s is specified.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

bp.hap.run-until

Synopsis

<bp-manager.hap>.run-until ("name"|-all) [object] [index] [-s] [timeout] [timeout-rt]

Description

Run the simulation until a hap occurs.

The optional argument object limits the considered hap occurrences to a specific object, and index can be used for indexed haps.

The name parameter specifies the hap. If the -all flag is specified, all haps will be used.

When a hap triggers, the frontend object is changed to the object that triggered the hap, unless -s is specified.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.hap.trace

Synopsis

<bp-manager.hap>.trace ("name"|-all) [object] [index] [-s]

Description

Enables tracing of haps. When this is enabled, every time the specified hap is triggered a message is printed.

The optional argument object limits the considered hap occurrences to a specific object, and index can be used for indexed haps.

The name parameter specifies the hap. If the -all flag is specified, all haps will be used.

When a hap triggers, the frontend object is changed to the object that triggered the hap, unless -s is specified.

Provided By

bp-manager

bp.hap.wait-for

Synopsis

<bp-manager.hap>.wait-for ("name"|-all) [object] [index] [-s] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until a hap occurs.

The optional argument object limits the considered hap occurrences to a specific object, and index can be used for indexed haps.

The name parameter specifies the hap. If the -all flag is specified, all haps will be used.

When a hap triggers, the frontend object is changed to the object that triggered the hap, unless -s is specified.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.log.break

Synopsis

<bp-manager.log>.break [object] [-regexp] ["substr"] [type] [-recursive] [-once]

Description

Enables breaking simulation on logs. When enabled the simulation will stop every time it hits a certain log. If no argument is given, breaking on all logs is enabled.

The object argument specifies the object to enable breaking on logs for.

The type argument specifies the log-type to enable breaking for.

The substr argument can be used to only break on logs which contain this string. Together with the -regexp flag the string is interpreted as a regular expression, as defined by the re module in Python. The -once flag causes the breakpoint to automatically be removed after it has triggered.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint.

Provided By

bp-manager

bp.log.run-until

Synopsis

<bp-manager.log>.run-until [object] [-regexp] ["substr"] [type] [-recursive] [timeout] [timeout-rt]

Description

Run the simulation until a specified log message is emitted. The type, and substr arguments can be used to run until log messages matching certain conditions are emitted. The object argument of the command can be used to only consider log messages on a certain object. The substr argument is a string to look for. It is interpreted as a regular expression, as defined by the re module in Python, if the -regexp flag is specified.

When used in an expression, the commands returns a list with the following information: [<clock-object>, <seconds>, <cycles>, <log-level>, <log-type>, <log-group>, <object>, <message>]. The first three entries form a time stamp for when the log entry was generated.

Note that the log level must be set high enough for the message to be generated or it will not be found. If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.log.trace

Synopsis

<bp-manager.log>.trace [object] [-regexp] ["substr"] [type] [-recursive]

Description

Enable tracing of log messages matching the conditions specified by the type and substr arguments. The object argument of the command can be used to only trace log messages on a certain object. The substr argument is a string to match messages against. It is interpreted as a regular expression, as defined by the re module in Python, if the -regexp flag is specified.

Note that the log level must be set high enough for the message to be generated or it will not be found. If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint.

Provided By

bp-manager

bp.log.wait-for

Synopsis

<bp-manager.log>.wait-for [object] [-regexp] ["substr"] [type] [-recursive] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until a specified log message is emitted. The type, and substr arguments can be used to wait for log messages matching certain conditions. The object argument of the command can be used to wait for a log message on a certain object. The substr argument is a string to wait for. It is interpreted as a regular expression, as defined by the re module in Python, if the -regexp flag is specified.

When used in an expression, the commands returns a list with the following information: [<clock-object>, <seconds>, <cycles>, <log-level>, <log-type>, <log-group>, <object>, <message>]. The first three entries form a time stamp for when the log entry was generated.

Note that the log level must be set high enough for the message to be generated or it cannot be waited on. If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.magic.break

Synopsis

<bp-manager.magic>.break [object] [number|-all] [-once]

Description

Enables breaking the simulation on magic instructions.

If the number parameter is specified, only magic instructions with that argument value are considered. The possible argument values depends on the processor type. To consider all magic instructions, the -all flag can be used. The default is to consider magic instructions with argument 0.

If no processor object is specified, magic instructions from all processors are considered.

See further about magic breakpoints in Simics User's Guide.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.magic.run-until

Synopsis

<bp-manager.magic>.run-until [object] [number|-all] [timeout] [timeout-rt]

Description

Run the simulation until the specified magic instruction occurs.

If the number parameter is specified, only magic instructions with that argument value are considered. The possible argument values depends on the processor type. To consider all magic instructions, the -all flag can be used. The default is to consider magic instructions with argument 0.

If no processor object is specified, magic instructions from all processors are considered.

See further about magic breakpoints in Simics User's Guide.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.magic.trace

Synopsis

<bp-manager.magic>.trace [object] [number|-all]

Description

Enables tracing of magic instruction. When this is enabled, every time the specified magic instruction occurs during simulation, a message is printed.

If the number parameter is specified, only magic instructions with that argument value are considered. The possible argument values depends on the processor type. To consider all magic instructions, the -all flag can be used. The default is to consider magic instructions with argument 0.

If no processor object is specified, magic instructions from all processors are considered.

See further about magic breakpoints in Simics User's Guide.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.magic.wait-for

Synopsis

<bp-manager.magic>.wait-for [object] [number|-all] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the specified magic instruction occurs.

If the number parameter is specified, only magic instructions with that argument value are considered. The possible argument values depends on the processor type. To consider all magic instructions, the -all flag can be used. The default is to consider magic instructions with argument 0.

If no processor object is specified, magic instructions from all processors are considered.

See further about magic breakpoints in Simics User's Guide.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.memory.break

Synopsis

<bp-manager.memory>.break [object] address [length] [-r] [-w] [-x] ["prefix"] ["substr"] ["pattern"] ["mask"] [-once]

Description

Adds a breakpoint (read, write, or execute) on address for an object implementing the breakpoint interface. For physical addresses, this is typically a memory-space object, and for virtual addresses it is a context object.

Accesses intersecting the given range will trigger the break. By default the break will only trigger for instruction execution, but any subset of read, write, and execute accesses can be set to trigger using combinations of -r, -w, and -x.

length is the interval length in bytes (default is 1).

When an execution breakpoint is triggered, Simics will stop the simulation before the instructions is executed, while instructions triggering read or write breakpoints will complete before the simulation is stopped.

Several breakpoints can be set on the same address and Simics will break on them in turn. If hap handlers (callback functions) are connected to the breakpoints they will also be executed in turn. Hap handlers are called before the access is performed, allowing the user to read a memory value that may be overwritten by the access. See the Simics Reference Manual for a description of hap handlers.

Each breakpoint is associated with an id (printed when the breakpoint is set or by the <bp_manager>.list command) which is used for further references to the breakpoint.

By default, the command sets a breakpoint on memory connected to the current frontend processor (see pselect). Default is to break on virtual address accesses (in the current context). To break on physical accesses, prefix the address with p:.

Use prefix to only break on instructions with this prefix. For example, a prefix "add" will cause the breakpoint to only stop if the instruction begins with "add". The text to compare the prefix with for an instruction is the one which the instruction is disassembled to. The comparison is case insensitive.

Use substr to only break on instructions with a certain syntax substring. For example, specifying a substring "r31" will cause the breakpoint to stop only if the instruction contains the substring "r31". The match is case insensitive.

Use pattern to only break on instructions with a certain bit-pattern. First the mask will be applied to the instruction and then the result will be compared with the pattern. For example, a pattern "0x0100" and mask "0x0101" will cause the breakpoint to stop only on instructions whose first byte has the lowest bit set and the second not.

Note that pattern and mask are supplied as strings with string byte order (low address first).

Breakpoints can be removed using <bp_manager>.delete.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.memory.run-until

Synopsis

<bp-manager.memory>.run-until [object] address [length] [-r] [-w] [-x] ["prefix"] ["substr"] ["pattern"] ["mask"] [timeout] [timeout-rt]

Description

Run the simulation until the specified break condition is true.

The break condition is specified as (read, write, or execute) on address for an object implementing the breakpoint interface. For physical addresses, this is typically a memory-space object, and for virtual addresses it is a context object.

Accesses intersecting the given range will trigger the break. By default the break will only trigger for instruction execution, but any subset of read, write, and execute accesses can be set to trigger using combinations of -r, -w, and -x.

length is the interval length in bytes (default is 1).

By default, the break condition is set on memory connected to the current frontend processor (see pselect). Default is to break on virtual address accesses (in the current context). To break on physical accesses, prefix the address with p:.

Use prefix to define the break condition on instructions with this prefix. For example, a prefix "add" will run until an instruction that begins with "add". The text to compare the prefix with for an instruction is the one which the instruction is disassembled to. The comparison is case insensitive.

Use substr to run until instructions with a certain syntax substring. For example, specifying a substring "r31" will run until an instruction containing the substring "r31". The match is case insensitive.

Use pattern to run until an instruction with a certain bit-pattern. First the mask will be applied to the instruction and then the result will be compared with the pattern. For example, a pattern "0x0100" and mask "0x0101" will cause the simulation to stop only on an instruction whose first byte has the lowest bit set and the second not.

Note that pattern and mask are supplied as strings with string byte order (low address first).

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.memory.trace

Synopsis

<bp-manager.memory>.trace [object] address [length] [-r] [-w] [-x] ["prefix"] ["substr"] ["pattern"] ["mask"]

Description

Enables tracing of memory accesses.

The accesses to trace are specified as (read, write, or execute) on address for an object implementing the breakpoint interface. For physical addresses, this is typically a memory-space object, and for virtual addresses it is a context object.

Accesses intersecting the given range will be traced. By default only instruction execution is traced, but any subset of read, write, and execute accesses can traced using combinations of -r, -w, and -x.

length is the interval length in bytes (default is 1).

By default, tracing is done on memory connected to the current frontend processor (see pselect). Default is to trace virtual address accesses (in the current context). To trace physical accesses, prefix the address with p:.

Use prefix to trace instructions with this prefix. For example, a prefix "add" will trace instructions that begins with "add". The text to compare the prefix with for an instruction is the one which the instruction is disassembled to. The comparison is case insensitive.

Use substr to trace instructions with a certain syntax substring. For example, specifying a substring "r31" will trace instructions containing the substring "r31". The match is case insensitive.

Use pattern to trace instructions with a certain bit-pattern. First the mask will be applied to the instruction and then the result will be compared with the pattern. For example, a pattern "0x0100" and mask "0x0101" will trace instructions whose first byte has the lowest bit set and the second not.

Note that pattern and mask are supplied as strings with string byte order (low address first).

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.memory.unbreak

Synopsis

<bp-manager.memory>.unbreak id address length [-r] [-w] [-x]

Description

Removes an address range from a breakpoint, splitting the breakpoint if necessary.

The address range is specified by the address and length arguments.

-r (read), -w (write) and -x (execute) specify the type of breakpoint that should be removed in the given address range. Default is execute.

id is the ID number of the breakpoint to remove.

Provided By

bp-manager

See Also

bp.memory.break, bp.delete

bp.memory.wait-for

Synopsis

<bp-manager.memory>.wait-for [object] address [length] [-r] [-w] [-x] ["prefix"] ["substr"] ["pattern"] ["mask"] [timeout] [timeout-rt]

Description

Postpones execution of a script branch the specified break condition is true.

The break condition is specified as (read, write, or execute) on address for an object implementing the breakpoint interface. For physical addresses, this is typically a memory-space object, and for virtual addresses it is a context object.

Accesses intersecting the given range will trigger the break. By default the break will only trigger for instruction execution, but any subset of read, write, and execute accesses can be set to trigger using combinations of -r, -w, and -x.

length is the interval length in bytes (default is 1).

By default, the break condition is set on memory connected to the current frontend processor (see pselect). Default is to break on virtual address accesses (in the current context). To break on physical accesses, prefix the address with p:.

Use prefix to define the break condition on instructions with this prefix. For example, a prefix "add" will wait for an instruction that begins with "add". The text to compare the prefix with for an instruction is the one which the instruction is disassembled to. The comparison is case insensitive.

Use substr to wait for instructions with a certain syntax substring. For example, specifying a substring "r31" will wait for an instruction containing the substring "r31". The match is case insensitive.

Use pattern to wait for an instruction with a certain bit-pattern. First the mask will be applied to the instruction and then the result will be compared with the pattern. For example, a pattern "0x0100" and mask "0x0101" will wait for an instruction whose first byte has the lowest bit set and the second not.

Note that pattern and mask are supplied as strings with string byte order (low address first).

The command returns the initiator object of the memory transaction that resulted in the breakpoint.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.msr.break

Synopsis

<bp-manager.msr>.break [object] ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [-once]

Description

Enables breaking simulation on MSR architectural updates.

The name or number parameter specifies which MSR is considered. The available MSRs depend on the simulated target. Only MSRs implemented in CPU model are supported. MSRs are supported by x86 CPUs starting from Pentium®. If the -all flag is specified, all MSRs are considered. Usage of -all could degrade performance.

If -r is specified, only MSR read accesses are considered. If -w is specified, only MSR write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the MSR value are considered. In this case, if mask is specified, only changes affecting this mask of the MSR are considered.

If value is specified, only write accesses that results in the MSR having this value are considered, or read accesses when the MSR has this value. If mask is specified, only this mask of the MSR and given value are considered.

If no processor object is specified, the currently selected processor is used.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.msr.run-until

Synopsis

<bp-manager.msr>.run-until [object] ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [timeout] [timeout-rt]

Description

Run the simulation until the specified MSR architectural update occurs.

The name or number parameter specifies which MSR is considered. The available MSRs depend on the simulated target. Only MSRs implemented in CPU model are supported. MSRs are supported by x86 CPUs starting from Pentium®. If the -all flag is specified, all MSRs are considered. Usage of -all could degrade performance.

If -r is specified, only MSR read accesses are considered. If -w is specified, only MSR write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the MSR value are considered. In this case, if mask is specified, only changes affecting this mask of the MSR are considered.

If value is specified, only write accesses that results in the MSR having this value are considered, or read accesses when the MSR has this value. If mask is specified, only this mask of the MSR and given value are considered.

If no processor object is specified, the currently selected processor is used.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.msr.trace

Synopsis

<bp-manager.msr>.trace [object] ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes]

Description

Enables tracing of MSR updates via architectural means. When this is enabled, every time the specified MSR is updated during simulation a message is printed. The message will name the MSR being updated, and the new value. The new value will be printed even if it is identical to the previous value.

The name or number parameter specifies which MSR is considered. The available MSRs depend on the simulated target. Only MSRs implemented in CPU model are supported. MSRs are supported by x86 CPUs starting from Pentium®. If the -all flag is specified, all MSRs are considered. Usage of -all could degrade performance.

If -r is specified, only MSR read accesses are considered. If -w is specified, only MSR write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the MSR value are considered. In this case, if mask is specified, only changes affecting this mask of the MSR are considered.

If value is specified, only write accesses that results in the MSR having this value are considered, or read accesses when the MSR has this value. If mask is specified, only this mask of the MSR and given value are considered.

If no processor object is specified, the currently selected processor is used.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.msr.wait-for

Synopsis

<bp-manager.msr>.wait-for [object] ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the specified MSR architectural update occurs.

The name or number parameter specifies which MSR is considered. The available MSRs depend on the simulated target. Only MSRs implemented in CPU model are supported. MSRs are supported by x86 CPUs starting from Pentium®. If the -all flag is specified, all MSRs are considered. Usage of -all could degrade performance.

If -r is specified, only MSR read accesses are considered. If -w is specified, only MSR write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the MSR value are considered. In this case, if mask is specified, only changes affecting this mask of the MSR are considered.

If value is specified, only write accesses that results in the MSR having this value are considered, or read accesses when the MSR has this value. If mask is specified, only this mask of the MSR and given value are considered.

If no processor object is specified, the currently selected processor is used.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.notify.break

Synopsis

<bp-manager.notify>.break [object|-global] "name" [-once]

Description

Enables breaking simulation on notifiers. When this is enabled, every time the specified notifier is triggered a message is printed and simulation is stopped.

The name parameter specifies the notifier. If -global is specified, then the notifier must be global, otherwise the notifier must be registered on object.

If name is the name of a global notifier, then -global is not needed. If name is the name of a non-global notifier and object is not provided, then the breakpoint is added on all objects that have this notifier registered.

For the global notifiers, see the documentation of the global_notifier_type_t enum about which names should be used.

For the predefined non-global notifiers, see the documentation of the notifier_type_t enum about which names should be used.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

bp.notify.run-until

Synopsis

<bp-manager.notify>.run-until [object|-global] "name" [timeout] [timeout-rt]

Description

Run the simulation until a notifier triggers.

The name parameter specifies the notifier. If -global is specified, then the notifier must be global, otherwise the notifier must be registered on object.

If name is the name of a global notifier, then -global is not needed. If name is the name of a non-global notifier and object is not provided, then the breakpoint is added on all objects that have this notifier registered.

For the global notifiers, see the documentation of the global_notifier_type_t enum about which names should be used.

For the predefined non-global notifiers, see the documentation of the notifier_type_t enum about which names should be used.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.notify.trace

Synopsis

<bp-manager.notify>.trace [object|-global] "name"

Description

Enables tracing of notifiers. When this is enabled, every time the specified notifier is triggered a message is printed.

The name parameter specifies the notifier. If -global is specified, then the notifier must be global, otherwise the notifier must be registered on object.

If name is the name of a global notifier, then -global is not needed. If name is the name of a non-global notifier and object is not provided, then the breakpoint is added on all objects that have this notifier registered.

For the global notifiers, see the documentation of the global_notifier_type_t enum about which names should be used.

For the predefined non-global notifiers, see the documentation of the notifier_type_t enum about which names should be used.

Provided By

bp-manager

bp.notify.wait-for

Synopsis

<bp-manager.notify>.wait-for [object|-global] "name" [timeout] [timeout-rt]

Description

Postpones execution of a script branch until a notifier triggers.

The name parameter specifies the notifier. If -global is specified, then the notifier must be global, otherwise the notifier must be registered on object.

If name is the name of a global notifier, then -global is not needed. If name is the name of a non-global notifier and object is not provided, then the breakpoint is added on all objects that have this notifier registered.

For the global notifiers, see the documentation of the global_notifier_type_t enum about which names should be used.

For the predefined non-global notifiers, see the documentation of the notifier_type_t enum about which names should be used.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.os_awareness.break

Synopsis

<bp-manager.os_awareness>.break object ("node-pattern"|node-id) (-active|-inactive) [-immediately] [cpu] [-once]

Description

This command uses breakpoint functionality on object, with the following description: Stop the simulation when one or more OS Awareness nodes that matches node-pattern or node-id becomes active (-active) or inactive (-inactive).

The nodes that are evaluated are specified in either in the node-pattern or in the node-id. The node-pattern parameter should contain string with a node path pattern. Node path patterns are described in the Analyzer User's Guide. The node-id parameter should contain a node-id.

If -immediately is specified, and the node condition is true when the command is issued, the command take action immediately, otherwise, the next time the node condition evaluates to true.

If a cpu is specified, this command will ignore events on all other processors. The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

bp.os_awareness.run-until

Synopsis

<bp-manager.os_awareness>.run-until object ("node-pattern"|node-id) (-active|-inactive) [-immediately] [cpu] [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description: Run until one or more OS Awareness nodes that matches node-pattern or node-id becomes active (-active) or inactive (-inactive).

The nodes that are evaluated are specified in either in the node-pattern or in the node-id. The node-pattern parameter should contain string with a node path pattern. Node path patterns are described in the Analyzer User's Guide. The node-id parameter should contain a node-id.

If -immediately is specified, and the node condition is true when the command is issued, the command take action immediately, otherwise, the next time the node condition evaluates to true.

If a cpu is specified, this command will ignore events on all other processors. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.os_awareness.trace

Synopsis

<bp-manager.os_awareness>.trace object ("node-pattern"|node-id) (-active|-inactive) [-immediately] [cpu]

Description

This command uses breakpoint functionality on object, with the following description: Trace when one or more OS Awareness nodes that matches node-pattern or node-id becomes active (-active) or inactive (-inactive).

The nodes that are evaluated are specified in either in the node-pattern or in the node-id. The node-pattern parameter should contain string with a node path pattern. Node path patterns are described in the Analyzer User's Guide. The node-id parameter should contain a node-id.

If -immediately is specified, and the node condition is true when the command is issued, the command take action immediately, otherwise, the next time the node condition evaluates to true.

If a cpu is specified, this command will ignore events on all other processors.

Provided By

bp-manager

bp.os_awareness.wait-for

Synopsis

<bp-manager.os_awareness>.wait-for object ("node-pattern"|node-id) (-active|-inactive) [-immediately] [cpu] [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description: Postpone execution of a script branch until one or more OS Awareness nodes that matches node-pattern or node-id becomes active (-active) or inactive (-inactive).

The nodes that are evaluated are specified in either in the node-pattern or in the node-id. The node-pattern parameter should contain string with a node path pattern. Node path patterns are described in the Analyzer User's Guide. The node-id parameter should contain a node-id.

If -immediately is specified, and the node condition is true when the command is issued, the command take action immediately, otherwise, the next time the node condition evaluates to true.

If a cpu is specified, this command will ignore events on all other processors. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.src-line.break

Synopsis

<bp-manager.src-line>.break [object] ["line"|"filename"] [line-number] [column] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [-once]

Description

Add a breakpoint at a given source code line. The line should be given as filename:linenumber[:columnnumber].

Alternatively the file name, line number and column number can be specified using the filename, line-number, and optional column arguments. This will allow the filename to contain the colon character, something the line argument cannot handle. If filename is left out the file of the current stack frame will be used.

The break condition will evaluate to true if any of the selected access methods operates on the address of the line in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If line could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts.

The command returns the id of the new breakpoint. This can be used to manage and delete the breakpoint using the bp object. The -once flag causes the breakpoint to automatically be removed after it has triggered.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.src-line.run-until

Synopsis

<bp-manager.src-line>.run-until [object] ["line"|"filename"] [line-number] [column] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [timeout] [timeout-rt]

Description

Run until the specified line is reached or until simulation stops. The line should be given as filename:linenumber[:columnnumber]

Alternatively the file name, line number and column number can be specified using the filename, line-number, and optional column arguments. This will allow the filename to contain the colon character, something the line argument cannot handle. If filename is left out the file of the current stack frame will be used.

The simulation will run until any of the selected access methods operates on the address of the line in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If line could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.src-line.trace

Synopsis

<bp-manager.src-line>.trace [object] ["line"|"filename"] [line-number] [column] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"]

Description

Enable tracing of the events that the specified line is reached. The line should be given as filename:linenumber[:columnnumber].

Alternatively the file name, line number and column number can be specified using the filename, line-number, and optional column arguments. This will allow the filename to contain the colon character, something the line argument cannot handle. If filename is left out the file of the current stack frame will be used.

Any of the selected access methods operating on the address of the line in the target memory object will be traced. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If line could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the tracing applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.src-line.wait-for

Synopsis

<bp-manager.src-line>.wait-for [object] ["line"|"filename"] [line-number] [column] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [timeout] [timeout-rt]

Description

Wait in the current script branch until specified line is reached. The line should be given as filename:linenumber[:columnnumber].

Alternatively the file name, line number and column number can be specified using the filename, line-number, and optional column arguments. This will allow the filename to contain the colon character, something the line argument cannot handle. If filename is left out the file of the current stack frame will be used.

The script branch will wait until any of the selected access methods operates on the address of the line in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If line could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.src-location.break

Synopsis

<bp-manager.src-location>.break [object] ("location"|address) [length] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [-once]

Description

Add a breakpoint on a particular location. The location is either location, which should specify a C expression or address. In addition you can specify the length of the breakpoint, i.e. how many consecutive memory addresses it should match with length.

The break condition will evaluate to true if any of the selected access methods operates on the address of the location in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If location could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts.

The command returns the id of the new breakpoint. This can be used to manage and delete the breakpoint using the bp object. The -once flag causes the breakpoint to automatically be removed after it has triggered.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.src-location.run-until

Synopsis

<bp-manager.src-location>.run-until [object] ("location"|address) [length] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [timeout] [timeout-rt]

Description

Run until the specified location is reached. The location is either location, which should specify a C expression or address. In addition you can specify the length of the breakpoint, i.e. how many consecutive memory addresses it should match with length.

The simulation will run until any of the selected access methods operates on the address of the location argument in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If location could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.src-location.trace

Synopsis

<bp-manager.src-location>.trace [object] ("location"|address) [length] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"]

Description

Enable tracing of the events that the specified location is reached. The location is either location, which should specify a C expression or address. In addition you can specify the length of the breakpoint, i.e. how many consecutive memory addresses it should match with length.

Any of the selected access methods operating on the address of the location argument in the target memory object will be traced. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If location could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.src-location.wait-for

Synopsis

<bp-manager.src-location>.wait-for [object] ("location"|address) [length] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [timeout] [timeout-rt]

Description

Wait in the current script branch until specified location is reached. The location is either location, which should specify a C expression or address. In addition you can specify the length of the breakpoint, i.e. how many consecutive memory addresses it should match with length.

The script branch will wait until any of the selected access methods operates on the address of the location argument in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If location could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.step.break

Synopsis

<bp-manager.step>.break [object] step [-absolute]

Description

Sets a breakpoint that will trigger when the processor's step counter has reached the step number of steps from the time the command was issued. If -absolute is specified, the number of steps is counted from the start of the simulation instead.

If no processor is specified, the currently selected frontend processor is used. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.step.run-until

Synopsis

<bp-manager.step>.run-until [object] step [-absolute] [timeout] [timeout-rt]

Description

Run the simulation until the processor has executed step number of steps. If -absolute is specified, the simulation will instead run until the processor reaches the specified step in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.step.trace

Synopsis

<bp-manager.step>.trace [object] step [-absolute]

Description

Enable tracing for when the processor's step counter reaches the step number of step from the time the command was issued. If -absolute is specified, the number of step is counted from the start of the simulation instead.

If no processor is specified, the currently selected frontend processor is used. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.step.wait-for

Synopsis

<bp-manager.step>.wait-for [object] step [-absolute] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the processor has executed step number of steps. If -absolute is specified, the branch will instead be suspended until the processor reaches the specified step in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.step_event.break

Synopsis

<bp-manager.step_event>.break object [event-object] ["event-class"] ["description"] [-once]

Description

This command uses breakpoint functionality on object, with the following description: Adds an event breakpoint on a clock object. The object needs to implement the step_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

bp.step_event.run-until

Synopsis

<bp-manager.step_event>.run-until object [event-object] ["event-class"] ["description"] [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description: Runs until an event triggers on a clock object. The object needs to implement the step_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.step_event.trace

Synopsis

<bp-manager.step_event>.trace object [event-object] ["event-class"] ["description"]

Description

This command uses breakpoint functionality on object, with the following description: Traces events posted on a clock object. The object needs to implement the step_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value.

Provided By

bp-manager

bp.step_event.wait-for

Synopsis

<bp-manager.step_event>.wait-for object [event-object] ["event-class"] ["description"] [timeout] [timeout-rt]

Description

This command uses breakpoint functionality on object, with the following description: Waits for an event to trigger on a clock object. The object needs to implement the step_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

bp.time.break

Synopsis

<bp-manager.time>.break [object] seconds [-absolute]

Description

Sets a breakpoint that will trigger when the processor has executed the specified number of seconds, from the time the command was issued. If -absolute is specified, the number of seconds is counted from the start of the simulation instead.

If no processor is specified, the currently selected frontend processor is used. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.time.run-until

Synopsis

<bp-manager.time>.run-until [object] seconds [-absolute] [timeout] [timeout-rt]

Description

Run the simulation until the processor has executed seconds number of seconds. If -absolute is specified, the simulation will run until the processor reaches the specified time in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.time.trace

Synopsis

<bp-manager.time>.trace [object] seconds [-absolute]

Description

Enable tracing for when the processor reaches the point in time that is seconds number of seconds ahead of the time when the command is issued. If -absolute is specified, the time that is traced is instead the specified number of seconds from the start of the simulation.

If no processor is specified, the currently selected frontend processor is used. If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.time.wait-for

Synopsis

<bp-manager.time>.wait-for [object] seconds [-absolute] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the processor has executed seconds number of seconds. If -absolute is specified, the branch will instead be suspended until the processor reaches the specified time in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

If object is provided, then the breakpoint functionality is added on that object.

Provided By

bp-manager

bp.info

Synopsis

<bp-manager>.info

Description

Print detailed information about the configuration of the object.

Provided By

bp-manager

bp.status

Synopsis

<bp-manager>.status

Description

Print detailed information about the current status of the object.

Provided By

bp-manager

<bp_manager>.delete

Synopsis

<bp_manager>.delete (id|-all)

Description

Delete the breakpoint with the given id, or all of them with the -all flag.

Provided By

bp-manager

<bp_manager>.disable

Synopsis

<bp_manager>.disable id

Description

Set the breakpoint with id id to be disabled.

Provided By

bp-manager

See Also

bp.enabled, bp.enable

<bp_manager>.enable

Synopsis

<bp_manager>.enable id

Description

Set the breakpoint with id id to be enabled.

Provided By

bp-manager

See Also

bp.enabled, bp.disable

<bp_manager>.enabled

Synopsis

<bp_manager>.enabled id [value]

Description

Set and get if the breakpoint with id id is enabled or not. If value is provided the breakpoint will be enabled value is set to yes and disabled if value is set to no.

The command returns what the, possible new, enabled state of the breakpoint is.

Provided By

bp-manager

<bp_manager>.ignore-count

Synopsis

<bp_manager>.ignore-count id [num]

Description

Sets the skip count for a breakpoint id. This means that the first num times an instance of the breakpoint is reached it will not trigger. To always break, set num to 0.

The command returns what the, possibly new, ignore count of the breakpoint is.

Provided By

bp-manager

See Also

bp.enabled, bp.list

<bp_manager>.list

Synopsis

<bp_manager>.list

Description

Lists all breakpoints known by the breakpoint manager. For each breakpoint you get its id, and a short summary.

To get more details about a breakpoint use the bp.show command.

Provided By

bp-manager

See Also

bp.show

<bp_manager>.list-types

Synopsis

<bp_manager>.list-types

Description

Print a list of registered breakpoint type providers. The list is returned when used in an expression.

Provided By

bp-manager

<bp_manager>.show

Synopsis

<bp_manager>.show id

Description

Show all properties and hit count for the breakpoint with the given id. Some of the properties can be modified through accessor commands on the breakpoints object, but others are specific to the breakpoint type and can not be edited here.

Provided By

bp-manager

See Also

bp.enabled, bp.ignore-count, bp.test-trigger

<bp_manager>.test-trigger

Synopsis

<bp_manager>.test-trigger id

Description

The specified breakpoint id will be triggered, even if the specified break condition has not been met.

Provided By

bp-manager

See Also

bp.show

<bp_manager>.wait-for-breakpoint

Synopsis

<bp_manager>.wait-for-breakpoint id [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the specified breakpoint id triggers. The return value is the same as the wait-for for the corresponding breakpoint type.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

See Also

bp.test-trigger

<branch_recorder>.clean

Synopsis

<branch_recorder>.clean

Description

Delete all branch arcs stored in the branch recorder.

Provided By

Simics Core

<branch_recorder>.info

Synopsis

<branch_recorder>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<branch_recorder>.print-branch-arcs

Synopsis

<branch_recorder>.print-branch-arcs ["direction"] [start] [stop]

Description

Print a subset of the branch arcs in a branch recorder. With no arguments, print all arcs. Given start and stop addresses, print only arcs with 'to' or 'from' address in that interval, depending on whether direction is 'to' or 'from' (its default value is 'from'). The printed arcs are sorted by their 'to' or 'from' address, as specified by direction.

Provided By

Simics Core

<branch_recorder>.status

Synopsis

<branch_recorder>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<branch_recorder_handler>.attach-branch-recorder

Synopsis

<branch_recorder_handler>.attach-branch-recorder branch_recorder

Description

Attach the branch_recorder to the processor, so that it will record its branches. Note that once you have attached a branch recorder to a processor, it adapts to that processor type and you cannot attach it to other processors of different types.

Provided By

Simics Core

See Also

<branch_recorder_handler>.detach-branch-recorder

<branch_recorder_handler>.detach-branch-recorder

Synopsis

<branch_recorder_handler>.detach-branch-recorder branch_recorder

Description

Detach the branch_recorder from the processor.

Provided By

Simics Core

See Also

<branch_recorder_handler>.attach-branch-recorder

<branch_recorder_handler>.start-instruction-profiling

Synopsis

<branch_recorder_handler>.start-instruction-profiling [-virtual]

Description

This command gets you started with instruction profiling quickly by creating a branch recorder for you and attaching it to the processor. If you want more control, use other profiling commands instead.

It creates a branch recorder and attaches it to the processor, just as if you had typed

new-branch-recorder branch_recorder physical

cpu.attach-branch-recorder branch_recorder

The branch recorder will (as the name implies) record branches taken by the processor (by physical addresses); various useful numbers can be computed from them. You can for example display execution count statistics by typing

branch_recorder.address-profile-data

(but you will not see anything interesting until you have let the processor run a few instructions).

With the -virtual flag, record virtual addresses; otherwise, record physical addresses.

Provided By

Simics Core

See Also

new-branch-recorder, <branch_recorder_handler>.attach-branch-recorder, <address_profiler>.address-profile-data

<break_strings_v2>.bp-break-console-string

Synopsis

<break_strings_v2>.bp-break-console-string "string" [-regexp] [-once]

Description

Set Simics to break simulation when string is seen on the console.

Example of waiting for a typical shell prompt on console object $con:

bp.console_string.break $con "~ $"

If -regexp is specified, the breakpoint string will be interpreted as a regular expression (regexp). The regexp syntax follows the common Perl style, as interpreted by the Hyperscan library https://hyperscan.io.

Note that the string is a Simics CLI string, and thus \ has to be escaped as \\ when writing the regexp.

Examples:

For more information about regular expression syntax, see https://perldoc.perl.org/re.html.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<break_strings_v2>.bp-run-until-console-string

Synopsis

<break_strings_v2>.bp-run-until-console-string "string" [-regexp] [timeout] [timeout-rt]

Description

Run the simulation until the text string appear on the console.

Example of waiting for a typical shell prompt on console object $con:

bp.console_string.run-until $con "~ $"

If -regexp is specified, the breakpoint string will be interpreted as a regular expression (regexp). The regexp syntax follows the common Perl style, as interpreted by the Hyperscan library https://hyperscan.io.

Note that the string is a Simics CLI string, and thus \ has to be escaped as \\ when writing the regexp.

Examples:

For more information about regular expression syntax, see https://perldoc.perl.org/re.html.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<break_strings_v2>.bp-trace-console-string

Synopsis

<break_strings_v2>.bp-trace-console-string "string" [-regexp]

Description

Enable tracing of appearances of the text string on the console.

Example of waiting for a typical shell prompt on console object $con:

bp.console_string.trace $con "~ $"

If -regexp is specified, the breakpoint string will be interpreted as a regular expression (regexp). The regexp syntax follows the common Perl style, as interpreted by the Hyperscan library https://hyperscan.io.

Note that the string is a Simics CLI string, and thus \ has to be escaped as \\ when writing the regexp.

Examples:

For more information about regular expression syntax, see https://perldoc.perl.org/re.html.

Provided By

bp-manager

<break_strings_v2>.bp-wait-for-console-string

Synopsis

<break_strings_v2>.bp-wait-for-console-string "string" [-regexp] [timeout] [timeout-rt]

Description

Wait for the output of the text string on the console. This command can only be run from a script branch where it suspends the branch until the string has been found in the output.

Example of waiting for a typical shell prompt on console object $con:

bp.console_string.wait-for $con "~ $"

If -regexp is specified, the breakpoint string will be interpreted as a regular expression (regexp). The regexp syntax follows the common Perl style, as interpreted by the Hyperscan library https://hyperscan.io.

Note that the string is a Simics CLI string, and thus \ has to be escaped as \\ when writing the regexp.

Examples:

For more information about regular expression syntax, see https://perldoc.perl.org/re.html.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<breakpoint>.bp-break-memory

Synopsis

<breakpoint>.bp-break-memory address [length] [-r] [-w] [-x] ["prefix"] ["substr"] ["pattern"] ["mask"] [-once]

Description

Adds a breakpoint (read, write, or execute) on address for an object implementing the breakpoint interface. For physical addresses, this is typically a memory-space object, and for virtual addresses it is a context object.

Accesses intersecting the given range will trigger the break. By default the break will only trigger for instruction execution, but any subset of read, write, and execute accesses can be set to trigger using combinations of -r, -w, and -x.

length is the interval length in bytes (default is 1).

When an execution breakpoint is triggered, Simics will stop the simulation before the instructions is executed, while instructions triggering read or write breakpoints will complete before the simulation is stopped.

Several breakpoints can be set on the same address and Simics will break on them in turn. If hap handlers (callback functions) are connected to the breakpoints they will also be executed in turn. Hap handlers are called before the access is performed, allowing the user to read a memory value that may be overwritten by the access. See the Simics Reference Manual for a description of hap handlers.

Each breakpoint is associated with an id (printed when the breakpoint is set or by the <bp_manager>.list command) which is used for further references to the breakpoint.

By default, the command sets a breakpoint on memory connected to the current frontend processor (see pselect). Default is to break on virtual address accesses (in the current context). To break on physical accesses, prefix the address with p:.

Use prefix to only break on instructions with this prefix. For example, a prefix "add" will cause the breakpoint to only stop if the instruction begins with "add". The text to compare the prefix with for an instruction is the one which the instruction is disassembled to. The comparison is case insensitive.

Use substr to only break on instructions with a certain syntax substring. For example, specifying a substring "r31" will cause the breakpoint to stop only if the instruction contains the substring "r31". The match is case insensitive.

Use pattern to only break on instructions with a certain bit-pattern. First the mask will be applied to the instruction and then the result will be compared with the pattern. For example, a pattern "0x0100" and mask "0x0101" will cause the breakpoint to stop only on instructions whose first byte has the lowest bit set and the second not.

Note that pattern and mask are supplied as strings with string byte order (low address first).

Breakpoints can be removed using <bp_manager>.delete.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<breakpoint>.bp-run-until-memory

Synopsis

<breakpoint>.bp-run-until-memory address [length] [-r] [-w] [-x] ["prefix"] ["substr"] ["pattern"] ["mask"] [timeout] [timeout-rt]

Description

Run the simulation until the specified break condition is true.

The break condition is specified as (read, write, or execute) on address for an object implementing the breakpoint interface. For physical addresses, this is typically a memory-space object, and for virtual addresses it is a context object.

Accesses intersecting the given range will trigger the break. By default the break will only trigger for instruction execution, but any subset of read, write, and execute accesses can be set to trigger using combinations of -r, -w, and -x.

length is the interval length in bytes (default is 1).

By default, the break condition is set on memory connected to the current frontend processor (see pselect). Default is to break on virtual address accesses (in the current context). To break on physical accesses, prefix the address with p:.

Use prefix to define the break condition on instructions with this prefix. For example, a prefix "add" will run until an instruction that begins with "add". The text to compare the prefix with for an instruction is the one which the instruction is disassembled to. The comparison is case insensitive.

Use substr to run until instructions with a certain syntax substring. For example, specifying a substring "r31" will run until an instruction containing the substring "r31". The match is case insensitive.

Use pattern to run until an instruction with a certain bit-pattern. First the mask will be applied to the instruction and then the result will be compared with the pattern. For example, a pattern "0x0100" and mask "0x0101" will cause the simulation to stop only on an instruction whose first byte has the lowest bit set and the second not.

Note that pattern and mask are supplied as strings with string byte order (low address first).

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<breakpoint>.bp-trace-memory

Synopsis

<breakpoint>.bp-trace-memory address [length] [-r] [-w] [-x] ["prefix"] ["substr"] ["pattern"] ["mask"]

Description

Enables tracing of memory accesses.

The accesses to trace are specified as (read, write, or execute) on address for an object implementing the breakpoint interface. For physical addresses, this is typically a memory-space object, and for virtual addresses it is a context object.

Accesses intersecting the given range will be traced. By default only instruction execution is traced, but any subset of read, write, and execute accesses can traced using combinations of -r, -w, and -x.

length is the interval length in bytes (default is 1).

By default, tracing is done on memory connected to the current frontend processor (see pselect). Default is to trace virtual address accesses (in the current context). To trace physical accesses, prefix the address with p:.

Use prefix to trace instructions with this prefix. For example, a prefix "add" will trace instructions that begins with "add". The text to compare the prefix with for an instruction is the one which the instruction is disassembled to. The comparison is case insensitive.

Use substr to trace instructions with a certain syntax substring. For example, specifying a substring "r31" will trace instructions containing the substring "r31". The match is case insensitive.

Use pattern to trace instructions with a certain bit-pattern. First the mask will be applied to the instruction and then the result will be compared with the pattern. For example, a pattern "0x0100" and mask "0x0101" will trace instructions whose first byte has the lowest bit set and the second not.

Note that pattern and mask are supplied as strings with string byte order (low address first).

Provided By

bp-manager

<breakpoint>.bp-wait-for-memory

Synopsis

<breakpoint>.bp-wait-for-memory address [length] [-r] [-w] [-x] ["prefix"] ["substr"] ["pattern"] ["mask"] [timeout] [timeout-rt]

Description

Postpones execution of a script branch the specified break condition is true.

The break condition is specified as (read, write, or execute) on address for an object implementing the breakpoint interface. For physical addresses, this is typically a memory-space object, and for virtual addresses it is a context object.

Accesses intersecting the given range will trigger the break. By default the break will only trigger for instruction execution, but any subset of read, write, and execute accesses can be set to trigger using combinations of -r, -w, and -x.

length is the interval length in bytes (default is 1).

By default, the break condition is set on memory connected to the current frontend processor (see pselect). Default is to break on virtual address accesses (in the current context). To break on physical accesses, prefix the address with p:.

Use prefix to define the break condition on instructions with this prefix. For example, a prefix "add" will wait for an instruction that begins with "add". The text to compare the prefix with for an instruction is the one which the instruction is disassembled to. The comparison is case insensitive.

Use substr to wait for instructions with a certain syntax substring. For example, specifying a substring "r31" will wait for an instruction containing the substring "r31". The match is case insensitive.

Use pattern to wait for an instruction with a certain bit-pattern. First the mask will be applied to the instruction and then the result will be compared with the pattern. For example, a pattern "0x0100" and mask "0x0101" will wait for an instruction whose first byte has the lowest bit set and the second not.

Note that pattern and mask are supplied as strings with string byte order (low address first).

The command returns the initiator object of the memory transaction that resulted in the breakpoint.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<brody>.info

Synopsis

<brody>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<brody>.status

Synopsis

<brody>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<can_endpoint>.info

Synopsis

<can_endpoint>.info

Description

Print detailed information about the configuration of the object.

Provided By

can-link

<can_endpoint>.status

Synopsis

<can_endpoint>.status

Description

Print detailed information about the current status of the object.

Provided By

can-link

<can_link>.info

Synopsis

<can_link>.info

Description

Print detailed information about the configuration of the object.

Provided By

can-link

<can_link>.status

Synopsis

<can_link>.status

Description

Print detailed information about the current status of the object.

Provided By

can-link

<cdrom_image>.delete

Synopsis

<cdrom_image>.delete

Description

Delete an unused cdrom-image object. This will also delete any image assigned to the image attribute of the cdrom-image. The deletion will fail if the object or its image is referenced from other objects.

Provided By

cdrom-image

<cdrom_image>.info

Synopsis

<cdrom_image>.info

Description

Print detailed information about the configuration of the object.

Provided By

cdrom-image

<cdrom_image>.status

Synopsis

<cdrom_image>.status

Description

Print detailed information about the current status of the object.

Provided By

cdrom-image

<cell>.info

Synopsis

<cell>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<cell>.set-time-quantum

Synopsis

<cell>.set-time-quantum [cycles|seconds|count] ["unit"] [picoseconds]

Description

Change the time between processor switches for processors in the cell. The time can be specified using the count and unit arguments, or, for legacy purposes, using the cycles, picoseconds or seconds arguments.

The time unit, specified by the unit argument, can be one of cycles, s, ms, us, ns, ps, m or h.

Simics will simulate each processor for a specified number of cycles before switching to the next one. Specifying cycles (which is default) refers to the number of cycles on the first processor in the cell. The following processors's cycle switch times are calculated from their processor frequencies. When the command is issued with no argument, the current time quantum is reported.

Provided By

Simics Core

See Also

set-time-quantum

<cell>.status

Synopsis

<cell>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<cell_and_clocks_comp>.info

Synopsis

<cell_and_clocks_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

clock

<cell_and_clocks_comp>.status

Synopsis

<cell_and_clocks_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

clock

<clipboard-gateway>.info

Synopsis

<clipboard-gateway>.info

Description

Print detailed information about the configuration of the object.

Provided By

clipboard-gateway

<clipboard-gateway>.status

Synopsis

<clipboard-gateway>.status

Description

Print detailed information about the current status of the object.

Provided By

clipboard-gateway

<clock>.info

Synopsis

<clock>.info

Description

Print detailed information about the configuration of the object.

Provided By

clock

<clock>.status

Synopsis

<clock>.status

Description

Print detailed information about the current status of the object.

Provided By

clock

<code_coverage>.add-functions

Synopsis

<code_coverage>.add-functions [-remove-old] [-no-data-labels]

Description

Adds function information to the internal data structures.

The -remove-old flag will remove any existing function information before adding new. Without this flag function information will only be added if it has previously not been added.

The -no-data-labels flag will tell the command to not try to handle certain function names as data labels and instead keep them as functions. This will lead to that these labels as included in the disassembly report as functions, even though they are most likely data. Without this options data ranges following such labels will be excluded from the report. Altering this flag implies removing old data.

Provided By

code-coverage

See Also

<code_coverage>.disassemble

<code_coverage>.add-path-map

Synopsis

<code_coverage>.add-path-map "from" to

Description

Add a path map that will be used when locating binaries and source files while building the code coverage data and report. The path map will be used by replacing the beginning of a file path matching the string given by the from argument with the string in the to argument.

Provided By

code-coverage

See Also

<code_coverage>.clear-path-maps, <code_coverage>.list-path-maps

<code_coverage>.add-report

Synopsis

<code_coverage>.add-report input [-ignore-addresses]

Description

Load a raw code coverage report specified by the input argument and merge it into the current code coverage state.

If the -ignore-addresses flag is given, memory maps will be combined if the only difference are their loaded addresses (and relocation). Since disassembly will differ for the two mappings (jump addresses etc), the disassembly information will only be kept for the existing mapping.

Provided By

code-coverage

See Also

<code_coverage>.combine-mappings

<code_coverage>.add-source-info

Synopsis

<code_coverage>.add-source-info [-remove-old]

Description

Builds source line information to the internal data structures.

This command will also perform what the <code_coverage>.add-functions and <code_coverage>.disassemble commands do, with default options, unless those commands have been run prior to this command.

The -remove-old flag will remove any existing source info data before adding new. Without this flag source info data will only be added if it has previously not been added.

Any source only information (see add-source-only-info) will be removed regardless of the -remove-old flag. Only one type of analyzer information can be present at once.

Provided By

code-coverage

See Also

<code_coverage>.disassemble, <code_coverage>.add-functions, <code_coverage>.add-source-only-info, <code_coverage>.remove-analyzer-info

<code_coverage>.add-source-only-info

Synopsis

<code_coverage>.add-source-only-info [-remove-old]

Description

Adds source info without need for disassembly and functions.

The -remove-old flag will remove any existing source info data before adding new. Without this flag source info data will only be added if it has previously not been added.

Data under the 'info' field in the raw report will always be removed when this command is run. This includes data collected from added with add-source-info and disassemble commands. Only one type of analyzer information can be present at once.

Provided By

code-coverage

See Also

<code_coverage>.add-source-info, <code_coverage>.remove-analyzer-info

<code_coverage>.clear-path-maps

Synopsis

<code_coverage>.clear-path-maps

Description

Remove all path maps that has been added with the add-path-map command.

Provided By

code-coverage

See Also

<code_coverage>.add-path-map, <code_coverage>.list-path-maps

<code_coverage>.combine-mappings

Synopsis

<code_coverage>.combine-mappings

Description

Combine mappings in the report that have the same symbol file, but are located at different addresses.

When combining two or more mappings the combined mapping will get the addresses of the mapping that has most covered instructions. If two or more mappings have the same amount of covered instructions the first mapping (from the 'mappings' list in the raw format) will be used for addresses of the combined mapping.

Provided By

code-coverage

See Also

<code_coverage>.add-report

<code_coverage>.csv-output

Synopsis

<code_coverage>.csv-output output

Description

Report code coverage in a comma separated values (CSV) format.

The lines in the output file has the following format: source file,total line,covered lines

If source info has not been added to the report, it will be added before outputting. See help for the <code_coverage>.add-source-info command for more information.

Provided By

code-coverage

See Also

<code_coverage>.html-report, <code_coverage>.save, <code_coverage>.add-source-info

<code_coverage>.disassemble

Synopsis

<code_coverage>.disassemble [-whole-section] [-remove-old]

Description

Build disassembly information for all mappings that has been found by the code coverage system.

If -whole-section flag is used each section will be disassembled from start to end. Otherwise, if functions data is added and available, disassembling will start from the start address of each function. Disassembling from the start of each function has the advantage that if there is data in the executable section then such data in the end of a function will not affect the function after.

The -remove-old flag will remove any disassembly previously added. This will also remove any source info that was previously added as that depends on addresses added when disassembling.

Provided By

code-coverage

See Also

<code_coverage>.add-functions

<code_coverage>.filter-mappings

Synopsis

<code_coverage>.filter-mappings [filter] [files] [-remove]

Description

By default, removes all mappings that do not match the pattern in filter or source files that do not match files. This command requires that code coverage collection is not running.

If the -remove flag is used then mappings and source files that do match filter and files will be removed instead.

The filtercan be given in the following formats:

The files filters on source files matching this argument and can be given either as a string containing a filename wildcard pattern or as a list of such patterns. Note that source info (see add-source-info) must have been added prior to filtering on source files, otherwise source file information will not have been added.

Provided By

code-coverage

See Also

<code_coverage>.stop, <code_coverage>.add-source-info

<code_coverage>.html-report

Synopsis

<code_coverage>.html-report output ["report-name"] [-no-disassembly] [-no-unmapped-addresses] [-no-unknown-modules] [-no-summary-table] [-no-module-line-coverage] [-only-addresses-with-source] [-no-function-coverage] [-only-disassembly] [-include-opcode] [-include-line] [-no-data-labels] [max-errors-per-mapping] [-summary-per-file] [-tree-summary] [-show-line-functions] [-source-only-data] ["source-files-base-path"]

Description

Create an HTML code coverage report, with the root directory specified by the output argument.

The report-name argument can be used to give the report a name, this will be displayed as the title and header in the HTML pages.

If the -no-disassembly flag is set, no disassembly will be included in the HTML report.

If the -no-unmapped-addresses flag is set, addresses that has been run, but was not mapped into a known memory map of any symbol file will be ignored. This can typically be addresses that are part of interrupt routines, padding instructions between functions, or addresses for which there where no mapping found, although there should have been.

If the -no-unknown-modules flag is set, modules that has no debug information mapping of any kind associated with them, will not show up in the report.

If the -no-summary-table flag is set, the function coverage summary for the disassembly report will be disabled.

If the -no-module-line-coverage flag is set, source line coverage per symbol file and function will be excluded from disassembly reports.

If the -no-function-coverage flag is set, the function coverage report page is excluded.

If the -only-addresses-with-source flag is set, instructions that are not associated with any source line will be excluded from the disassembly report.

If the -only-disassembly flag is set, no source code coverage will be reported, only the disassembly coverage.

If the -include-opcode flag is set opcode will be shown in the disassembly coverage report.

If the -include-line flag is set line numbers will be shown in the disassembly coverage report.

The -summary-per-file flag specifies that the source coverage page should include every file on that page, otherwise the main page will group coverage per directory.

The -tree-summary flag specifies that the summary page should be presented in such a way that covered lines and percentage include coverage for all sub-directories as well.

The -show-line-functions flag can be used to output which functions make use of each line, in the source file reports. This can be useful to gain a better understanding of why source lines are covered or not when there are optimizations and inlined code involved.

The -no-data-labels flag will tell the command to not try to handle certain function names as data labels and instead keep them as functions. This will lead to that these labels as included in the disassembly report as functions, even though they are most likely data. Without this options data ranges following such labels will be excluded from the report. Altering this flag implies removing old data.

The -source-only-data flag will force the source code data to be collected in the way the <code_coverage>.add-source-only-info command does it, regardless of architecture. This implies the -no-disassembly flag. Previously added source and disassembly information of other format will be removed from the raw report data.

The source-files-base-path option can be used to override the default base path on the source files summary page. Setting this to "" will result in full paths being displayed for all paths.

The max-errors-per-mapping argument can be used to specify a maximum number of errors to show per mapping. If this is set to a negative value an unlimited amout of errors will be shown.

If the data collection done by the add-functions, and disassemble, add-source-info commands has not been performed, this will be done before saving the report.

Provided By

code-coverage

<code_coverage>.info

Synopsis

<code_coverage>.info

Description

Print detailed information about the configuration of the object.

Provided By

code-coverage

<code_coverage>.lcov-output

Synopsis

<code_coverage>.lcov-output output ["counter-option"] [-no-data-labels] [-source-only-data]

Description

Report code coverage in lcov tracefile format.

The output is a directory with one LCOV formatted tracefile for each mapping in the report. The naming of the tracefiles will be the name of the mapping's symbol file plus a suffix with an underscore and the address of the mapping in hex, for example "program_400000".

As the binaries are not instrumented the number of times a line has been executed might not always be accurate. The user has the option to specify how the counting of how many times a line has been executed should be done, using the counter-option argument. It has the following options:

"all_one": Always one, for both functions and lines. "one": One for lines. For functions the number of times the first instruction has been executed (default). "most": Times run for the instruction that has executed most times for the line. "first": Times the first instruction of the line has executed.

In order for any of these options to display more than one executed line or function the code coverage report must have been collected with the access count option enabled.

For description of -no-data-labels and -source-only-data see help for <code_coverage>.html-report.

If the data collection done by the add-functions, and disassemble, add-source-info commands has not been performed, this will be done before saving the report.

The command will return a list of files that were outputted, with absolute path.

Provided By

code-coverage

See Also

<code_coverage>.html-report, <code_coverage>.save

<code_coverage>.list-mappings

Synopsis

<code_coverage>.list-mappings [-sort-by-file] [-full-path]

Description

Lists all mappings collected for the code coverage object on the format:
<start address>-<end address>: <symbol file>

The returned value is a list with three elements per entry:
[[start address, end address, symbol file]*]

The end address is included in the mapping.

The -sort-by-file flag can be used to sort the output by symbol file, otherwise the list will be sorted by start address.

The -full-path flag specifies that the full path with directories should be included in the output, otherwise just the file name will be included.

Provided By

code-coverage

<code_coverage>.list-path-maps

Synopsis

<code_coverage>.list-path-maps

Description

List path maps that has been added with the add-path-map command.

The returned value is a list with two elements per entry:
[[from path, to path,]*]

Provided By

code-coverage

See Also

<code_coverage>.add-path-map, <code_coverage>.clear-path-maps

<code_coverage>.remove-analyzer-info

Synopsis

<code_coverage>.remove-analyzer-info

Description

Remove analyzer information from the report, including source information, file table, functions and disassembly information. The data left in the report after this command will be the same data that was initially collected.

Provided By

code-coverage

See Also

<code_coverage>.add-source-info, <code_coverage>.add-source-only-info, <code_coverage>.add-functions, <code_coverage>.disassemble

<code_coverage>.remove-unknown-addresses

Synopsis

<code_coverage>.remove-unknown-addresses

Description

Removes any unknown addresses from the report.

Provided By

code-coverage

<code_coverage>.save

Synopsis

<code_coverage>.save output [-overwrite]

Description

Save the current code coverage state into a raw file given by the output argument. If the -overwrite flag was given, any existing file will be overwritten.

Provided By

code-coverage

See Also

load-coverage, <code_coverage>.add-report

<code_coverage>.status

Synopsis

<code_coverage>.status

Description

Print detailed information about the current status of the object.

Provided By

code-coverage

<code_coverage>.stop

Synopsis

<code_coverage>.stop

Description

Will stop code coverage collection, existing data will be kept in order to support report generation.

Provided By

code-coverage

See Also

<code_coverage>.add-source-info, <code_coverage>.disassemble, <code_coverage>.add-functions, <code_coverage>.html-report

<component>.connect-to

Synopsis

<component>.connect-to dst ["type"] ["direction"]

Description

Connect the component into an existing component hierarchy, represented by dst. The command will search the hierarchy for connectors that match the connectors of the source component. Since the main use of the command is to extend hierarchies, connectors with the up direction in the source component will be matched first.

If there are connectors of different types that match, the type argument can select the one to use. Similarly it is possible to force the command to only consider connectors in one direction by specifying direction, that can be one of up and down.

The <component>.connect-to command is useful when the exact location of a connection in the system does not matter. The following is an example of inserting a PCI-based Ethernet device into a simulated machine whose top-level component is called board:

$eth = (create-pci-i82543gc-comp mac_address = "10:20:30:40:50:60")
$eth.connect-to board
instantiate-components

Provided By

Simics Core

See Also

connect, <component>.get-available-connector

<component>.delete

Synopsis

<component>.delete

Description

Delete the component. The component may not be connected to any other component. Deleting a non-instantiated component should work without any problem. Deleting an instantiated component requires that all objects in the component supports deletion.

Provided By

Simics Core

<component>.get-available-connector

Synopsis

<component>.get-available-connector "type" ["direction"]

Description

Return the name of a free connector of type type found within the component and its children. The direction of the connector to search for can be selected using direction ("up" or "down"). If no direction is specified, the command will first search for down connectors and then up connectors, returning the first match. Connectors supporting any direction will always match.

If no free connector is found, NIL is returned.

The following example connects a text console component to each serial connector in a system represented by the board top-level component:

while (board.get-available-connector serial) {
    connect (board.get-available-connector serial) (
            (new-txt-console-comp).get-available-connector serial)
}

Provided By

Simics Core

See Also

connect, <component>.connect-to

<component>.get-component-object

Synopsis

<component>.get-component-object "object"

Description

Get the configuration object with name object from the component. This is similar to the . operator.

Provided By

Simics Core

<component>.get-connection

Synopsis

<component>.get-connection "connector"

Description

Return information about the component connected to the selected connector. The return value is either an empty list, a list of two items, or a list of a list of two items for multi connections. The list of two items are the name of the other component and the other connector.

Provided By

Simics Core

<component>.get-connector-list

Synopsis

<component>.get-connector-list ["connector-type"] [-c] [-u] [-r] [-w]

Description

Return a list of all connectors for the component. If connector-type is given, only connectors of that type are returned. The -c flag limits the list to connected connectors and -u only return unconnected ones. Use -w to walk throughconnected components depth-first. You can also use -r to recursively list all sub-component connectors.

Provided By

Simics Core

<component>.get-processor-list

Synopsis

<component>.get-processor-list

Description

Return a list of all processors that are part of the component hierarchy defined by this top-level component. This command is only applicable to top-level components.

Provided By

Simics Core

<connector>.info

Synopsis

<connector>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<connector>.status

Synopsis

<connector>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<context>.info

Synopsis

<context>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<context>.on

Synopsis

<context>.on
<context>.off

Description

<context>.on activates the effects of a context object, i.e., breakpoints on virtual addresses. <context>.off deactivates a context object.

Provided By

Simics Core

<context>.run-until-activated

Synopsis

<context>.run-until-activated

Description

Run until the context is activated on a processor.

Provided By

Simics Core

See Also

<context>.run-until-deactivated

<context>.run-until-deactivated

Synopsis

<context>.run-until-deactivated

Description

Run until the context is deactivated on a processor.

Provided By

Simics Core

See Also

<context>.run-until-activated

<context>.status

Synopsis

<context>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<cp3_quad100tx>.info

Synopsis

<cp3_quad100tx>.info

Description

Print detailed information about the configuration of the object.

Provided By

cp3_quad100tx

<cp3_quad100tx>.status

Synopsis

<cp3_quad100tx>.status

Description

Print detailed information about the current status of the object.

Provided By

cp3_quad100tx

<cpci_adapter>.info

Synopsis

<cpci_adapter>.info

Description

Print detailed information about the configuration of the object.

Provided By

cpci-adapter-comp

<cpci_adapter>.status

Synopsis

<cpci_adapter>.status

Description

Print detailed information about the current status of the object.

Provided By

cpci-adapter-comp

<cpci_backplane>.info

Synopsis

<cpci_backplane>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-cpci-comp

<cpci_backplane>.status

Synopsis

<cpci_backplane>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-cpci-comp

<cpu-group>.info

Synopsis

<cpu-group>.info

Description

Print detailed information about the configuration of the object.

Provided By

cpu-group

<cpu_mode_filter>.add-mode

Synopsis

<cpu_mode_filter>.add-mode mode

Description

Restrict instrumentation to only a specific mode. The mode argument can be one of: user, supervisor, or hypervisor.

Provided By

cpu-mode-filter

See Also

new-cpu-mode-filter, <cpu_mode_filter>.remove-mode, <cpu_mode_filter>.delete

<cpu_mode_filter>.delete

Synopsis

<cpu_mode_filter>.delete

Description

Removes the filter.

Provided By

cpu-mode-filter

See Also

new-cpu-mode-filter, <cpu_mode_filter>.add-mode, <cpu_mode_filter>.remove-mode

<cpu_mode_filter>.info

Synopsis

<cpu_mode_filter>.info

Description

Print detailed information about the configuration of the object.

Provided By

cpu-mode-filter

<cpu_mode_filter>.remove-mode

Synopsis

<cpu_mode_filter>.remove-mode "mode"

Description

Remove a mode from being tracked.

Provided By

cpu-mode-filter

See Also

new-cpu-mode-filter, <cpu_mode_filter>.add-mode, <cpu_mode_filter>.delete

<cpu_mode_filter>.status

Synopsis

<cpu_mode_filter>.status

Description

Print detailed information about the current status of the object.

Provided By

cpu-mode-filter

<cpumode_software_mapper>.info

Synopsis

<cpumode_software_mapper>.info

Description

Print detailed information about the configuration of the object.

Provided By

cpumode-software-tracker

<cpumode_software_mapper>.status

Synopsis

<cpumode_software_mapper>.status

Description

Print detailed information about the current status of the object.

Provided By

cpumode-software-tracker

<cpumode_software_tracker>.info

Synopsis

<cpumode_software_tracker>.info

Description

Print detailed information about the configuration of the object.

Provided By

cpumode-software-tracker

<cpumode_software_tracker>.status

Synopsis

<cpumode_software_tracker>.status

Description

Print detailed information about the current status of the object.

Provided By

cpumode-software-tracker

<cpumode_software_tracker_comp>.info

Synopsis

<cpumode_software_tracker_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

cpumode-software-tracker

<cpumode_software_tracker_comp>.status

Synopsis

<cpumode_software_tracker_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

cpumode-software-tracker

<cycle>.bp-break-cycle

Synopsis

<cycle>.bp-break-cycle cycle [-absolute]

Description

Sets a breakpoint that will trigger when the processor's cycle counter has reached the cycle number of cycles from the time the command was issued. If -absolute is specified, the number of cycles is counted from the start of the simulation instead.

If no processor is specified, the currently selected frontend processor is used.

Provided By

bp-manager

<cycle>.bp-break-time

Synopsis

<cycle>.bp-break-time seconds [-absolute]

Description

Sets a breakpoint that will trigger when the processor has executed the specified number of seconds, from the time the command was issued. If -absolute is specified, the number of seconds is counted from the start of the simulation instead.

If no processor is specified, the currently selected frontend processor is used.

Provided By

bp-manager

<cycle>.bp-run-until-cycle

Synopsis

<cycle>.bp-run-until-cycle cycle [-absolute] [timeout] [timeout-rt]

Description

Run the simulation until the processor has executed cycle number of cycles. If -absolute is specified, the simulation will instead run until the processor reaches the specified cycle in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<cycle>.bp-run-until-time

Synopsis

<cycle>.bp-run-until-time seconds [-absolute] [timeout] [timeout-rt]

Description

Run the simulation until the processor has executed seconds number of seconds. If -absolute is specified, the simulation will run until the processor reaches the specified time in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<cycle>.bp-trace-cycle

Synopsis

<cycle>.bp-trace-cycle cycle [-absolute]

Description

Enable tracing for when the processor's cycle counter reaches the cycle number of cycles from the time the command was issued. If -absolute is specified, the number of cycles is counted from the start of the simulation instead.

If no processor is specified, the currently selected frontend processor is used.

Provided By

bp-manager

<cycle>.bp-trace-time

Synopsis

<cycle>.bp-trace-time seconds [-absolute]

Description

Enable tracing for when the processor reaches the point in time that is seconds number of seconds ahead of the time when the command is issued. If -absolute is specified, the time that is traced is instead the specified number of seconds from the start of the simulation.

If no processor is specified, the currently selected frontend processor is used.

Provided By

bp-manager

<cycle>.bp-wait-for-cycle

Synopsis

<cycle>.bp-wait-for-cycle cycle [-absolute] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the processor has executed cycle number of cycles. If -absolute is specified, the branch will instead be suspended until the processor reaches the specified cycle in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<cycle>.bp-wait-for-time

Synopsis

<cycle>.bp-wait-for-time seconds [-absolute] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the processor has executed seconds number of seconds. If -absolute is specified, the branch will instead be suspended until the processor reaches the specified time in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<cycle>.print-time

Synopsis

<cycle>.print-time [-s] [-c] [-t] [-pico-seconds]

Description

Prints the number of steps and cycles that a processor has executed. The cycle count is also displayed as simulated time in seconds.

If called from an object namespace (e.g., cpu0.print-time), the time for that object is printed. The object can also be supplied using the cpu-name argument. Otherwise, the time for the current frontend processor is printed, or, if the -all flag is given, the time for all processors is printed.

The -c, -s, -t, or -pico-seconds flags can be used to limit the output to include only the cycle count for the processor, the step count, the time in seconds, or the number of picoseconds respectively. This may be especially useful when the command's return value is used, for example, like this: "$num_steps = (cpu-object.print-time -s)".

A step is a completed instruction or an exception. An instruction that fails to complete because of an exception will count as a single step, including the exception.

Provided By

Simics Core

<cycle_event_instrumentation>.bp-break-cycle-event

Synopsis

<cycle_event_instrumentation>.bp-break-cycle-event [event-object] ["event-class"] ["description"] [-once]

Description

Adds an event breakpoint on a clock object. The object needs to implement the cycle_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<cycle_event_instrumentation>.bp-run-until-cycle-event

Synopsis

<cycle_event_instrumentation>.bp-run-until-cycle-event [event-object] ["event-class"] ["description"] [timeout] [timeout-rt]

Description

Runs until an event triggers on a clock object. The object needs to implement the cycle_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<cycle_event_instrumentation>.bp-trace-cycle-event

Synopsis

<cycle_event_instrumentation>.bp-trace-cycle-event [event-object] ["event-class"] ["description"]

Description

Traces events posted on a clock object. The object needs to implement the cycle_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value.

Provided By

bp-manager

<cycle_event_instrumentation>.bp-wait-for-cycle-event

Synopsis

<cycle_event_instrumentation>.bp-wait-for-cycle-event [event-object] ["event-class"] ["description"] [timeout] [timeout-rt]

Description

Waits for an event to trigger on a clock object. The object needs to implement the cycle_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<cycle_staller>.info

Synopsis

<cycle_staller>.info

Description

Print detailed information about the configuration of the object.

Provided By

cycle-staller

<cycle_staller>.status

Synopsis

<cycle_staller>.status

Description

Print detailed information about the current status of the object.

Provided By

cycle-staller

<data_profiler>.clear

Synopsis

<data_profiler>.clear

Description

Reset all counters of the data profiler to zero.

Provided By

Simics Core

<datagram_link>.info

Synopsis

<datagram_link>.info

Description

Print detailed information about the configuration of the object.

Provided By

datagram-link

<datagram_link>.status

Synopsis

<datagram_link>.status

Description

Print detailed information about the current status of the object.

Provided By

datagram-link

<ddr2_memory_module_comp>.info

Synopsis

<ddr2_memory_module_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

memory-comp

<ddr2_memory_module_comp>.status

Synopsis

<ddr2_memory_module_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

memory-comp

<ddr3_memory_module_comp>.info

Synopsis

<ddr3_memory_module_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

memory-comp

<ddr3_memory_module_comp>.status

Synopsis

<ddr3_memory_module_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

memory-comp

<ddr_memory_module_comp>.info

Synopsis

<ddr_memory_module_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

memory-comp

<ddr_memory_module_comp>.status

Synopsis

<ddr_memory_module_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

memory-comp

<deckard>.info

Synopsis

<deckard>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<deckard>.status

Synopsis

<deckard>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<dm9161>.info

Synopsis

<dm9161>.info

Description

Print detailed information about the configuration of the object.

Provided By

dm9161

<dm9161>.status

Synopsis

<dm9161>.status

Description

Print detailed information about the current status of the object.

Provided By

dm9161

<dummy_comp>.info

Synopsis

<dummy_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-comp

<dummy_comp>.status

Synopsis

<dummy_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

std-comp

<e1000_spi>.info

Synopsis

<e1000_spi>.info

Description

Print detailed information about the configuration of the object.

Provided By

intel-e1000

<e1000_spi>.status

Synopsis

<e1000_spi>.status

Description

Print detailed information about the current status of the object.

Provided By

intel-e1000

<elliot>.info

Synopsis

<elliot>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<elliot>.status

Synopsis

<elliot>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<emmett>.info

Synopsis

<emmett>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<emmett>.status

Synopsis

<emmett>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<empty_components>.info

Synopsis

<empty_components>.info

Description

Print detailed information about the configuration of the object.

Provided By

empty-components

<empty_components>.status

Synopsis

<empty_components>.status

Description

Print detailed information about the current status of the object.

Provided By

empty-components

<empty_device_c>.info

Synopsis

<empty_device_c>.info

Description

Print detailed information about the configuration of the object.

Provided By

empty-device-c

<empty_device_c>.status

Synopsis

<empty_device_c>.status

Description

Print detailed information about the current status of the object.

Provided By

empty-device-c

<empty_device_cc>.info

Synopsis

<empty_device_cc>.info

Description

Print detailed information about the configuration of the object.

Provided By

empty-device-cc

<empty_device_cc>.status

Synopsis

<empty_device_cc>.status

Description

Print detailed information about the current status of the object.

Provided By

empty-device-cc

<empty_device_dml>.info

Synopsis

<empty_device_dml>.info

Description

Print detailed information about the configuration of the object.

Provided By

empty-device-dml

<empty_device_dml>.status

Synopsis

<empty_device_dml>.status

Description

Print detailed information about the current status of the object.

Provided By

empty-device-dml

<empty_device_pyobj>.info

Synopsis

<empty_device_pyobj>.info

Description

Print detailed information about the configuration of the object.

Provided By

empty-device-pyobj

<empty_device_pyobj>.status

Synopsis

<empty_device_pyobj>.status

Description

Print detailed information about the current status of the object.

Provided By

empty-device-pyobj

<empty_device_python>.info

Synopsis

<empty_device_python>.info

Description

Print detailed information about the configuration of the object.

Provided By

empty-device-python

<empty_device_python>.status

Synopsis

<empty_device_python>.status

Description

Print detailed information about the current status of the object.

Provided By

empty-device-python

<empty_software_mapper>.info

Synopsis

<empty_software_mapper>.info

Description

Print detailed information about the configuration of the object.

Provided By

empty-software-tracker

<empty_software_mapper>.status

Synopsis

<empty_software_mapper>.status

Description

Print detailed information about the current status of the object.

Provided By

empty-software-tracker

<empty_software_tracker>.info

Synopsis

<empty_software_tracker>.info

Description

Print detailed information about the configuration of the object.

Provided By

empty-software-tracker

<empty_software_tracker>.status

Synopsis

<empty_software_tracker>.status

Description

Print detailed information about the current status of the object.

Provided By

empty-software-tracker

<empty_software_tracker_comp>.info

Synopsis

<empty_software_tracker_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

empty-software-tracker

<empty_software_tracker_comp>.status

Synopsis

<empty_software_tracker_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

empty-software-tracker

<etg>.info

Synopsis

<etg>.info

Description

Print detailed information about the configuration of the object.

Provided By

etg

<etg>.packet-rate

Synopsis

<etg>.packet-rate [rate]

Description

Set the rate, in packets per second, at which packets are sent by the traffic generator.

If no rate is given, the current rate is displayed.

Provided By

etg

<etg>.packet-size

Synopsis

<etg>.packet-size [size]

Description

Set the size of the packets that are sent by the traffic generator.

If no size is given, the current size is displayed.

Provided By

etg

<etg>.set-bandwidth-limit

Synopsis

<etg>.set-bandwidth-limit [bandwidth_limit]

Description

Set the bandwidth_limit of the packets that are sent by the traffic generator. This is an optional setting as the default is 1Gbit/s.

If no limit is given, the current limit is displayed.

Provided By

etg

<etg>.start

Synopsis

<etg>.start [count]

Description

Start the traffic generator. Limit amount of packets with count.

Provided By

etg

<etg>.status

Synopsis

<etg>.status

Description

Print detailed information about the current status of the object.

Provided By

etg

<etg>.stop

Synopsis

<etg>.stop

Description

Stop the traffic generator.

Provided By

etg

<etg_comp>.info

Synopsis

<etg_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-comp

<etg_comp>.status

Synopsis

<etg_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

std-comp

<etg_panel_comp>.info

Synopsis

<etg_panel_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-comp

<etg_panel_comp>.status

Synopsis

<etg_panel_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

std-comp

<eth-cable-link>.info

Synopsis

<eth-cable-link>.info

Description

Print detailed information about the configuration of the object.

Provided By

eth-links

<eth-cable-link>.status

Synopsis

<eth-cable-link>.status

Description

Print detailed information about the current status of the object.

Provided By

eth-links

<eth-connector>.info

Synopsis

<eth-connector>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-bp

<eth-connector>.status

Synopsis

<eth-connector>.status

Description

Print detailed information about the current status of the object.

Provided By

std-bp

<eth-hub-link>.info

Synopsis

<eth-hub-link>.info

Description

Print detailed information about the configuration of the object.

Provided By

eth-links

<eth-hub-link>.status

Synopsis

<eth-hub-link>.status

Description

Print detailed information about the current status of the object.

Provided By

eth-links

<eth-probe>.delete

Synopsis

<eth-probe>.delete

Description

Delete this eth-probe object.

Provided By

eth-probe

<eth-probe>.info

Synopsis

<eth-probe>.info

Description

Print detailed information about the configuration of the object.

Provided By

eth-probe

<eth-probe>.pcap-dump

Synopsis

<eth-probe>.pcap-dump file [-ns]

Description

Dump all network traffic on the Ethernet link to the file file in pcap format. The optional -ns flag sets the timestamp resolution of the file in nano-seconds. The default timestamp resolution is in micro-seconds.

Provided By

eth-probe

<eth-probe>.pcap-dump-stop

Synopsis

<eth-probe>.pcap-dump-stop

Description

Stop dumping network traffic to the file.

Provided By

eth-probe

<eth-probe>.tcpdump

Synopsis

<eth-probe>.tcpdump ["flags"]
<eth-probe>.tcpdump-stop

Description

Runs the tcpdump program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed unmodified to tcpdump.

Provided By

eth-probe

<eth-probe>.wireshark

Synopsis

<eth-probe>.wireshark ["flags"]
<eth-probe>.wireshark-stop

Description

Runs the wireshark or ethereal program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed unmodified to program. The path to the wireshark binary can be specified in the prefs->wireshark_path setting.

Provided By

eth-probe

<eth-switch-link>.info

Synopsis

<eth-switch-link>.info

Description

Print detailed information about the configuration of the object.

Provided By

eth-links

<eth-switch-link>.status

Synopsis

<eth-switch-link>.status

Description

Print detailed information about the current status of the object.

Provided By

eth-links

<eth-transceiver>.info

Synopsis

<eth-transceiver>.info

Description

Print detailed information about the configuration of the object.

Provided By

eth-transceiver

<eth-transceiver>.status

Synopsis

<eth-transceiver>.status

Description

Print detailed information about the current status of the object.

Provided By

eth-transceiver

<eth_injector>.info

Synopsis

<eth_injector>.info

Description

Print detailed information about the configuration of the object.

Provided By

eth-injector

<eth_injector>.start

Synopsis

<eth_injector>.start [file] [-no-crc] [auto-restart] [rate-multiplier]

Description

Start injecting packets from the pcap file file. If packets in the pcap file has no Ethernet CRC included use the -no-crc flag. This will append a dummy CRC to the frame and the simulation handle the packet as if the CRC is correct. If the -no-crc was not given, the frame will be injected without modification.

The rate of injection can also be modified with the rate-multiplier argument.

If auto-restart is set to true, the injection will be restarted when all packets in the pcap file has been sent.

This command will start a new session as well as terminate the running session, if exists. Without arguments, the values of a previous session will be used, if there was any. Otherwise, the new values will be used.

Provided By

eth-injector

<eth_injector>.status

Synopsis

<eth_injector>.status

Description

Print detailed information about the current status of the object.

Provided By

eth-injector

<eth_injector>.stop

Synopsis

<eth_injector>.stop

Description

Stop injecting packets and terminate the current playback session.

Provided By

eth-injector

<eth_injector_comp>.info

Synopsis

<eth_injector_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

eth-injector-comp

<eth_injector_comp>.status

Synopsis

<eth_injector_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

eth-injector-comp

<ethan>.info

Synopsis

<ethan>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<ethan>.status

Synopsis

<ethan>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<ethernet_cable>.get-free-connector

Synopsis

<ethernet_cable>.get-free-connector

Description

This command returns the name of a connector which is not connected to anything.

Provided By

eth-links

<ethernet_cable>.info

Synopsis

<ethernet_cable>.info

Description

Print detailed information about the configuration of the object.

Provided By

eth-links

<ethernet_cable>.pcap-dump

Synopsis

<ethernet_cable>.pcap-dump file [-ns]

Description

Dump all network traffic on the Ethernet link to the file file in pcap format. The optional -ns flag sets the timestamp resolution of the file in nano-seconds. The default timestamp resolution is in micro-seconds.

Provided By

eth-links

<ethernet_cable>.pcap-dump-stop

Synopsis

<ethernet_cable>.pcap-dump-stop

Description

Stop dumping network traffic to the file.

Provided By

eth-links

<ethernet_cable>.set-goal-latency

Synopsis

<ethernet_cable>.set-goal-latency latency

Description

Set the desired communication latency of this link in seconds.

Provided By

eth-links

See Also

set-min-latency

<ethernet_cable>.status

Synopsis

<ethernet_cable>.status

Description

Print detailed information about the current status of the object.

Provided By

eth-links

<ethernet_cable>.tcpdump

Synopsis

<ethernet_cable>.tcpdump ["flags"]
<ethernet_cable>.tcpdump-stop

Description

Runs the tcpdump program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed unmodified to tcpdump.

Provided By

eth-links

<ethernet_cable>.wireshark

Synopsis

<ethernet_cable>.wireshark ["flags"]
<ethernet_cable>.wireshark-stop

Description

Runs the wireshark or ethereal program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed unmodified to program. The path to the wireshark binary can be specified in the prefs->wireshark_path setting.

Provided By

eth-links

<ethernet_hub>.get-free-connector

Synopsis

<ethernet_hub>.get-free-connector

Description

This command returns the name of a connector which is not connected to anything.

Provided By

eth-links

<ethernet_hub>.info

Synopsis

<ethernet_hub>.info

Description

Print detailed information about the configuration of the object.

Provided By

eth-links

<ethernet_hub>.pcap-dump

Synopsis

<ethernet_hub>.pcap-dump file [-ns]

Description

Dump all network traffic on the Ethernet link to the file file in pcap format. The optional -ns flag sets the timestamp resolution of the file in nano-seconds. The default timestamp resolution is in micro-seconds.

Provided By

eth-links

<ethernet_hub>.pcap-dump-stop

Synopsis

<ethernet_hub>.pcap-dump-stop

Description

Stop dumping network traffic to the file.

Provided By

eth-links

<ethernet_hub>.set-goal-latency

Synopsis

<ethernet_hub>.set-goal-latency latency

Description

Set the desired communication latency of this link in seconds.

Provided By

eth-links

See Also

set-min-latency

<ethernet_hub>.status

Synopsis

<ethernet_hub>.status

Description

Print detailed information about the current status of the object.

Provided By

eth-links

<ethernet_hub>.tcpdump

Synopsis

<ethernet_hub>.tcpdump ["flags"]
<ethernet_hub>.tcpdump-stop

Description

Runs the tcpdump program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed unmodified to tcpdump.

Provided By

eth-links

<ethernet_hub>.wireshark

Synopsis

<ethernet_hub>.wireshark ["flags"]
<ethernet_hub>.wireshark-stop

Description

Runs the wireshark or ethereal program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed unmodified to program. The path to the wireshark binary can be specified in the prefs->wireshark_path setting.

Provided By

eth-links

<ethernet_switch>.get-free-connector

Synopsis

<ethernet_switch>.get-free-connector

Description

This command returns the name of a connector which is not connected to anything.

Provided By

eth-links

<ethernet_switch>.info

Synopsis

<ethernet_switch>.info

Description

Print detailed information about the configuration of the object.

Provided By

eth-links

<ethernet_switch>.pcap-dump

Synopsis

<ethernet_switch>.pcap-dump file [-ns]

Description

Dump all network traffic on the Ethernet link to the file file in pcap format. The optional -ns flag sets the timestamp resolution of the file in nano-seconds. The default timestamp resolution is in micro-seconds.

Provided By

eth-links

<ethernet_switch>.pcap-dump-stop

Synopsis

<ethernet_switch>.pcap-dump-stop

Description

Stop dumping network traffic to the file.

Provided By

eth-links

<ethernet_switch>.set-goal-latency

Synopsis

<ethernet_switch>.set-goal-latency latency

Description

Set the desired communication latency of this link in seconds.

Provided By

eth-links

See Also

set-min-latency

<ethernet_switch>.status

Synopsis

<ethernet_switch>.status

Description

Print detailed information about the current status of the object.

Provided By

eth-links

<ethernet_switch>.tcpdump

Synopsis

<ethernet_switch>.tcpdump ["flags"]
<ethernet_switch>.tcpdump-stop

Description

Runs the tcpdump program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed unmodified to tcpdump.

Provided By

eth-links

<ethernet_switch>.wireshark

Synopsis

<ethernet_switch>.wireshark ["flags"]
<ethernet_switch>.wireshark-stop

Description

Runs the wireshark or ethereal program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed unmodified to program. The path to the wireshark binary can be specified in the prefs->wireshark_path setting.

Provided By

eth-links

<ethernet_vlan_switch>.add-vlan

Synopsis

<ethernet_vlan_switch>.add-vlan vlan_id

Description

Add a VLAN definition with vlan_id and corresponding connectors.

Provided By

eth-links

<ethernet_vlan_switch>.get-free-connector

Synopsis

<ethernet_vlan_switch>.get-free-connector vlan_id

Description

Returns the name of an access connector on a specific VLAN, vlan_id that is not connected to anything.

Provided By

eth-links

<ethernet_vlan_switch>.get-free-trunk-connector

Synopsis

<ethernet_vlan_switch>.get-free-trunk-connector [vlan_id]

Description

Returns the name of a trunk connector that is not connected to anything. The new trunk connector can have a native VLAN id if vlan_id is provided. In this case, untagged packets passing through this port will all be assumed to belong to its native VLAN. An ordinary trunk port is created if vlan_id is not specified, in which case untagged packets will not be tagged to any VLAN and will be dropped to all but other ordinary trunk ports.

Provided By

eth-links

<ethernet_vlan_switch>.info

Synopsis

<ethernet_vlan_switch>.info

Description

Print detailed information about the configuration of the object.

Provided By

eth-links

<ethernet_vlan_switch>.pcap-dump

Synopsis

<ethernet_vlan_switch>.pcap-dump file [-ns]

Description

Dump all network traffic on the Ethernet link to the file file in pcap format. The optional -ns flag sets the timestamp resolution of the file in nano-seconds. The default timestamp resolution is in micro-seconds.

Provided By

eth-links

<ethernet_vlan_switch>.pcap-dump-stop

Synopsis

<ethernet_vlan_switch>.pcap-dump-stop

Description

Stop dumping network traffic to the file.

Provided By

eth-links

<ethernet_vlan_switch>.set-goal-latency

Synopsis

<ethernet_vlan_switch>.set-goal-latency latency

Description

Set the desired communication latency of this link in seconds.

Provided By

eth-links

See Also

set-min-latency

<ethernet_vlan_switch>.status

Synopsis

<ethernet_vlan_switch>.status

Description

Print detailed information about the current status of the object.

Provided By

eth-links

<ethernet_vlan_switch>.tcpdump

Synopsis

<ethernet_vlan_switch>.tcpdump ["flags"]
<ethernet_vlan_switch>.tcpdump-stop

Description

Runs the tcpdump program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed unmodified to tcpdump.

Provided By

eth-links

<ethernet_vlan_switch>.wireshark

Synopsis

<ethernet_vlan_switch>.wireshark ["flags"]
<ethernet_vlan_switch>.wireshark-stop

Description

Runs the wireshark or ethereal program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed unmodified to program. The path to the wireshark binary can be specified in the prefs->wireshark_path setting.

Provided By

eth-links

<event_histogram>.add-filter

Synopsis

<event_histogram>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

event-histogram

<event_histogram>.add-instrumentation

Synopsis

<event_histogram>.add-instrumentation ([ queues ... ] | list of queues) [parent] [-connect-all] ["group"]

Description

Connects the tool to one or several queues as given by the queues argument.The parent argument specifies an hierarchical object and all queues below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported queues in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

event-histogram

<event_histogram>.clear

Synopsis

<event_histogram>.clear

Description

Removes information on exceptions that has been gathered.

Provided By

event-histogram

See Also

<event_histogram>.histogram

<event_histogram>.delete

Synopsis

<event_histogram>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

event-histogram

<event_histogram>.histogram

Synopsis

<event_histogram>.histogram [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Prints a histogram of the events triggered during the simulation, including information about the clock on which they were posted, the event object, event class name, description, number of times the event was triggered, average interval between triggered events, and the step/cycle when the event was first triggered. The last column shows the flags for the event, i.e., event_class_flag_t bits. See the documentation for the SIM_register_event API function for an explanation.

For step events the average interval is calculated as total elapsed steps on the processor (when the command is run) divided by the number of triggered occurrences for that particular event. For cycle events, instead, the total elapsed cycles for the clock is used divided by the number of triggered occurrences.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

event-histogram

See Also

<event_histogram>.clear

<event_histogram>.list-providers

Synopsis

<event_histogram>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

event-histogram

<event_histogram>.remove-filter

Synopsis

<event_histogram>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

event-histogram

<event_histogram>.remove-instrumentation

Synopsis

<event_histogram>.remove-instrumentation [id] ([ queues ... ] | list of queues) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The queues selects the connections towards one or several queues that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

event-histogram

<exception>.bp-break-exception

Synopsis

<exception>.bp-break-exception ("name"|number|-all) [-recursive] [-once]

Description

Enables breaking simulation on exceptions.

The name or number parameter specify which exception should break the simulation. The available exceptions depend on the simulated target. Instead of an exception, the -all flag may be given. This will enable break on all exceptions.

If no processor object is specified, the currently selected processor is used.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint.

Provided By

bp-manager

<exception>.bp-run-until-exception

Synopsis

<exception>.bp-run-until-exception ("name"|number|-all) [-recursive] [timeout] [timeout-rt]

Description

Run the simulation until the specified exception occurs.

The name or number parameter specify which exception should stop the simulation. The available exceptions depend on the simulated target. Instead of an exception, the -all flag may be given. This will stop the simulation on all exceptions.

If no processor object is specified, the currently selected processor is used.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<exception>.bp-trace-exception

Synopsis

<exception>.bp-trace-exception ("name"|number|-all) [-recursive]

Description

Enables tracing of exceptions. When this is enabled, every time the specified exception occurs during simulation, a message is printed.

The name or number parameter specify which exception the script branch should wait on. The available exceptions depend on the simulated target. Instead of an exception, the -all flag may be given, which results in all exceptions being traced.

If no processor object is specified, the currently selected processor is used.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint.

Provided By

bp-manager

<exception>.bp-wait-for-exception

Synopsis

<exception>.bp-wait-for-exception ("name"|number|-all) [-recursive] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the specified exception occurs.

The name or number parameter specify which exception the script branch should wait on. The available exceptions depend on the simulated target. Instead of an exception, the -all flag may be given. The script branch will then wait on any exception.

If no processor object is specified, the currently selected processor is used.

If -recursive is used, not only the object, but the objects hierarchically below the object will be considered when adding the breakpoint. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<exception>.list-exceptions

Synopsis

<exception>.list-exceptions ["substr"] [-sort-on-names]

Description

List the exceptions (and interrupts) available on a processor.

By default the list is sorted in exception number order, the -sort-on-names flag can instead sort on the exception names.

The substr argument can be used to filter for certain exception names (case sensitive).

Provided By

Simics Core

See Also

bp.exception.break, bp.exception.trace

<exception_histogram>.add-filter

Synopsis

<exception_histogram>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

exception-histogram

<exception_histogram>.add-instrumentation

Synopsis

<exception_histogram>.add-instrumentation ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"]

Description

Connects the tool to one or several processors as given by the processors argument.The parent argument specifies an hierarchical object and all processors below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

exception-histogram

<exception_histogram>.clear

Synopsis

<exception_histogram>.clear

Description

Removes information on exceptions that has been gathered.

Provided By

exception-histogram

See Also

<exception_histogram>.histogram

<exception_histogram>.delete

Synopsis

<exception_histogram>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

exception-histogram

<exception_histogram>.disable-instrumentation

Synopsis

<exception_histogram>.disable-instrumentation [id] [processor] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The processor selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

exception-histogram

<exception_histogram>.enable-instrumentation

Synopsis

<exception_histogram>.enable-instrumentation [id] [processor] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The processor selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

exception-histogram

<exception_histogram>.histogram

Synopsis

<exception_histogram>.histogram [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Prints the exceptions taken (their names) with frequencies.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

exception-histogram

See Also

<exception_histogram>.clear

<exception_histogram>.info

Synopsis

<exception_histogram>.info

Description

Print detailed information about the configuration of the tool.

Provided By

exception-histogram

<exception_histogram>.list-providers

Synopsis

<exception_histogram>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

exception-histogram

<exception_histogram>.remove-filter

Synopsis

<exception_histogram>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

exception-histogram

<exception_histogram>.remove-instrumentation

Synopsis

<exception_histogram>.remove-instrumentation [id] ([ processors ... ] | list of processors) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The processors selects the connections towards one or several processors that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

exception-histogram

<exception_histogram>.status

Synopsis

<exception_histogram>.status

Description

Print detailed information about the current status of the tool.

Provided By

exception-histogram

<firewire_bus>.info

Synopsis

<firewire_bus>.info

Description

Print detailed information about the configuration of the object.

Provided By

firewire-bus

<firewire_bus>.status

Synopsis

<firewire_bus>.status

Description

Print detailed information about the current status of the object.

Provided By

firewire-bus

<floppy-drive>.info

Synopsis

<floppy-drive>.info

Description

Print detailed information about the configuration of the object.

Provided By

82077

<floppy-drive>.status

Synopsis

<floppy-drive>.status

Description

Print detailed information about the current status of the object.

Provided By

82077

<frankie_carbone>.info

Synopsis

<frankie_carbone>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<frankie_carbone>.status

Synopsis

<frankie_carbone>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<frequency_bus>.info

Synopsis

<frequency_bus>.info

Description

Print detailed information about the configuration of the object.

Provided By

frequency-bus

<frequency_bus>.status

Synopsis

<frequency_bus>.status

Description

Print detailed information about the current status of the object.

Provided By

frequency-bus

<ftp-control>.info

Synopsis

<ftp-control>.info

Description

Print detailed information about the configuration of the object.

Provided By

ftp-service

<ftp-control>.status

Synopsis

<ftp-control>.status

Description

Print detailed information about the current status of the object.

Provided By

ftp-service

<ftp-data>.info

Synopsis

<ftp-data>.info

Description

Print detailed information about the configuration of the object.

Provided By

ftp-service

<ftp-data>.status

Synopsis

<ftp-data>.status

Description

Print detailed information about the current status of the object.

Provided By

ftp-service

<ftp-service>.info

Synopsis

<ftp-service>.info

Description

Print detailed information about the configuration of the object.

Provided By

ftp-service

<ftp-service>.status

Synopsis

<ftp-service>.status

Description

Print detailed information about the current status of the object.

Provided By

ftp-service

<g-cache>.add-profiler

Synopsis

<g-cache>.add-profiler ["type"] ["profiler"]

Description

Add a profiler of the given type to the cache. If a profiler is passed as argument, it will be used instead of a newly created object.

Provided By

g-cache

<g-cache>.info

Synopsis

<g-cache>.info

Description

Print detailed information about the configuration of the object.

Provided By

g-cache

<g-cache>.line-status

Synopsis

<g-cache>.line-status [-cycle]

Description

Print the cache lines status. With the -cycle flag, this command prints the last cycle each cache line was accessed (if LRU replacement policy is active). A '<' marks the next line to be replaced (if cyclic replacement policy is active).

Provided By

g-cache

<g-cache>.remove-profiler

Synopsis

<g-cache>.remove-profiler ["type"]

Description

Remove the profiler of a given type from the cache.

Provided By

g-cache

<g-cache>.reset-cache-lines

Synopsis

<g-cache>.reset-cache-lines

Description

Reset all the cache lines to their default values.

Provided By

g-cache

<g-cache>.reset-statistics

Synopsis

<g-cache>.reset-statistics

Description

Reset the cache statistics.

Provided By

g-cache

<g-cache>.statistics

Synopsis

<g-cache>.statistics

Description

Print the current value of the cache statistics (this will flush the STC counters to report correct values).

Provided By

g-cache

<g-cache>.status

Synopsis

<g-cache>.status

Description

Print detailed information about the current status of the object.

Provided By

g-cache

<gdb-remote>.disconnect

Synopsis

<gdb-remote>.disconnect

Description

Disconnect from the remote GDB. See Chapter 14 - Using Simics with GDB of Simics User's Guide for a longer description of gdb-remote.

Provided By

gdb-remote

<gdb-remote>.info

Synopsis

<gdb-remote>.info

Description

Print detailed information about the configuration of the object.

Provided By

gdb-remote

<gdb-remote>.signal

Synopsis

<gdb-remote>.signal signal

Description

Send a signal to the remote GDB. See Using Simics with GDB in the Simics User's Guide for a longer description of gdb-remote.

Provided By

gdb-remote

<gdb-remote>.target

Synopsis

<gdb-remote>.target [cpu-name]

Description

Set the target processor for the remote GDB connection to cpu-name. A GDB connection can only debug instructions on a single CPU at a time.

Provided By

gdb-remote

<generic-flash-memory>.accept-inquiries – deprecated

Synopsis

<generic-flash-memory>.accept-inquiries [-on|-off]

Description

Provided By

generic-flash-memory

See Also

<memory_space>.write

<generic-flash-memory>.info

Synopsis

<generic-flash-memory>.info

Description

Print detailed information about the configuration of the object.

Provided By

generic-flash-memory

<generic-flash-memory>.status

Synopsis

<generic-flash-memory>.status

Description

Print detailed information about the current status of the object.

Provided By

generic-flash-memory

<generic-mmc-card>.info

Synopsis

<generic-mmc-card>.info

Description

Print detailed information about the configuration of the object.

Provided By

generic-mmc-card

<generic-mmc-card>.status

Synopsis

<generic-mmc-card>.status

Description

Print detailed information about the current status of the object.

Provided By

generic-mmc-card

<generic_eth_phy>.info

Synopsis

<generic_eth_phy>.info

Description

Print detailed information about the configuration of the object.

Provided By

generic_eth_phy

<generic_eth_phy>.status

Synopsis

<generic_eth_phy>.status

Description

Print detailed information about the current status of the object.

Provided By

generic_eth_phy

<generic_pcie_switch>.info

Synopsis

<generic_pcie_switch>.info

Description

Print detailed information about the configuration of the object.

Provided By

generic-pcie-switch-comp

<generic_pcie_switch>.status

Synopsis

<generic_pcie_switch>.status

Description

Print detailed information about the current status of the object.

Provided By

generic-pcie-switch-comp

<generic_pcie_switch_port>.info

Synopsis

<generic_pcie_switch_port>.info

Description

Print detailed information about the configuration of the object.

Provided By

generic-pcie-switch-port

<generic_pcie_switch_port>.status

Synopsis

<generic_pcie_switch_port>.status

Description

Print detailed information about the current status of the object.

Provided By

generic-pcie-switch-port

<generic_spi_flash>.info

Synopsis

<generic_spi_flash>.info

Description

Print detailed information about the configuration of the object.

Provided By

generic-spi-flash

<generic_spi_flash>.status

Synopsis

<generic_spi_flash>.status

Description

Print detailed information about the current status of the object.

Provided By

generic-spi-flash

<gertie>.info

Synopsis

<gertie>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<gertie>.status

Synopsis

<gertie>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<gfx-frontend-winsome>.info

Synopsis

<gfx-frontend-winsome>.info

Description

Print detailed information about the configuration of the object.

Provided By

graphcon

<gfx-frontend-winsome>.status

Synopsis

<gfx-frontend-winsome>.status

Description

Print detailed information about the current status of the object.

Provided By

graphcon

<gfx_break>.bp-break-gfx

Synopsis

<gfx_break>.bp-break-gfx filename interval [-once]

Description

Set Simics to break simulation when the graphical breakpoint defined by filename matches.

A graphical breakpoint matches when its image appears on the screen, in the same location as when it was saved. The breakpoint must have been created using the Simics GUI or the command <graphcon>.save-break-xy. The screen is checked for matches every interval seconds of host time, or in virtual on the clock associated to the console, if the attribute refresh_in_virtual_time is set on the console. The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<gfx_break>.bp-run-until-gfx

Synopsis

<gfx_break>.bp-run-until-gfx filename interval [timeout] [timeout-rt]

Description

Run the simulation until the graphical breakpoint defined by filename matches.

A graphical breakpoint matches when its image appears on the screen, in the same location as when it was saved. The breakpoint must have been created using the Simics GUI or the command <graphcon>.save-break-xy. The screen is checked for matches every interval seconds of host time, or in virtual on the clock associated to the console, if the attribute refresh_in_virtual_time is set on the console. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<gfx_break>.bp-trace-gfx

Synopsis

<gfx_break>.bp-trace-gfx filename interval

Description

Enable tracing of matches of the graphical breakpoint defined by filename.

A graphical breakpoint matches when its image appears on the screen, in the same location as when it was saved. The breakpoint must have been created using the Simics GUI or the command <graphcon>.save-break-xy. The screen is checked for matches every interval seconds of host time, or in virtual on the clock associated to the console, if the attribute refresh_in_virtual_time is set on the console.

Provided By

bp-manager

<gfx_break>.bp-wait-for-gfx

Synopsis

<gfx_break>.bp-wait-for-gfx filename interval [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the graphical breakpoint defined by filename matches.

A graphical breakpoint matches when its image appears on the screen, in the same location as when it was saved. The breakpoint must have been created using the Simics GUI or the command <graphcon>.save-break-xy. The screen is checked for matches every interval seconds of host time, or in virtual on the clock associated to the console, if the attribute refresh_in_virtual_time is set on the console. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<gfx_console_comp>.info

Synopsis

<gfx_console_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

console-components

<gfx_console_comp>.status

Synopsis

<gfx_console_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

console-components

<gml_link>.info

Synopsis

<gml_link>.info

Description

Print detailed information about the configuration of the object.

Provided By

gml-link

<gml_link>.status

Synopsis

<gml_link>.status

Description

Print detailed information about the current status of the object.

Provided By

gml-link

<godzilla>.info

Synopsis

<godzilla>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<godzilla>.status

Synopsis

<godzilla>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<goldfish-rtc>.info

Synopsis

<goldfish-rtc>.info

Description

Print detailed information about the configuration of the object.

Provided By

goldfish-rtc

<goldfish-rtc>.status

Synopsis

<goldfish-rtc>.status

Description

Print detailed information about the current status of the object.

Provided By

goldfish-rtc

<graphcon>.capture-start

Synopsis

<graphcon>.capture-start filename [-overwrite]

Description

Capture all output from the console to filename. If -overwrite is specified, the file is overwritten, otherwise it is appended. This only works with legacy devices and video modes that are text compatible, like old VGA.

Provided By

graphcon

See Also

<graphcon>.capture-stop

<graphcon>.capture-stop

Synopsis

<graphcon>.capture-stop

Description

Stop capturing text output from the console.

Provided By

graphcon

See Also

<graphcon>.capture-start

<graphcon>.dimming

Synopsis

<graphcon>.dimming [value]

Description

Returns whether the graphics console dims the screen when the simulation is not running. Optionally, a new value can be supplied via the value parameter, in which case the old value is returned.

The setting can be saved between Simics runs using the save-preferences command.

Provided By

graphcon

See Also

save-preferences

<graphcon>.get-pixel

Synopsis

<graphcon>.get-pixel x y

Description

Return pixel value at (x, y) as a 3-element list with format [R, G, B].

Provided By

graphcon

See Also

<gfx_break>.bp-break-gfx, <graphcon>.set-pixel

<graphcon>.gfx-break-info

Synopsis

<graphcon>.gfx-break-info filename

Description

Return the screen area that the graphical breakpoint stored in filename should match, as a list with four elements (left, top, width, height).

Provided By

graphcon

See Also

<graphcon>.save-break-xy, <gfx_break>.bp-break-gfx, <graphcon>.gfx-break-match, <graphcon>.gfx-break-png

<graphcon>.gfx-break-match

Synopsis

<graphcon>.gfx-break-match filename

Description

Determine if the graphical breakpoint stored in filename matches the current console screen.

Provided By

graphcon

See Also

<graphcon>.save-break-xy, <gfx_break>.bp-break-gfx, <graphcon>.gfx-break-info, <graphcon>.gfx-break-png

<graphcon>.gfx-break-png

Synopsis

<graphcon>.gfx-break-png filename output

Description

Exports the graphical breakpoint data stored in filename as a file output in PNG format.

Provided By

graphcon

See Also

<graphcon>.save-break-xy, <gfx_break>.bp-break-gfx, <graphcon>.gfx-break-match, <graphcon>.gfx-break-info

<graphcon>.grab-setup

Synopsis

<graphcon>.grab-setup ["button"] ["modifier"]

Description

The grab button button specifies which mouse button that is used to grab and ungrab input for the console. A keyboard modifier modifier should also be specified that must be pressed for grabbing to occur. Valid buttons are left, middle and right, while valid modifiers are alt, control and shift. Only the left side modifier are currently used. When called with no arguments, the currently selected button and modifier will be printed.

Provided By

graphcon

<graphcon>.hide

Synopsis

<graphcon>.hide

Description

Hide the console window

Provided By

graphcon

See Also

<graphcon>.show

<graphcon>.info

Synopsis

<graphcon>.info

Description

Print detailed information about the configuration of the object.

Provided By

graphcon

<graphcon>.input

Synopsis

<graphcon>.input "string" [-e]

Description

Send string to the console. This will not work if the string contains non-printable or non-ASCII characters.

If -e is specified, then the string is interpreted as an Emacs-style keystroke sequence. The following characters and modifiers are accepted: 'C' (Ctrl), 'A' (Alt), 'Del', 'Up', 'Down', 'Left', 'Right', 'Esc', 'F1' to 'F12', 'Win', 'Enter' as well as the same characters that are accepted without the -e flag. Key strokes are combined using the '-' character. For example, "C-a" will input Ctrl and 'a' pressed together. "C-A-Del" will produce the famous Ctrl-Alt-Del sequence.

Provided By

graphcon

See Also

bp.console_string.wait-then-write

<graphcon>.input-file

Synopsis

<graphcon>.input-file file [-binary]

Description

Inputs the contents of file into the console. If the -binary flag is specified, the file is treated as a binary file. If not, line endings are converted to CR. This command will not work if the file contains non-printable or non-ASCII characters.

Provided By

graphcon

<graphcon>.save-break-xy

Synopsis

<graphcon>.save-break-xy filename left top right bottom

Description

Stores a rectangular area of the screen to the file specified by filename, for use with the bp.gfx.break command. The rectangle is specified by the top left corner (left, top) and the bottom right corner (right, bottom), which must define a non-empty rectangle contained in the console screen.

Provided By

graphcon

See Also

<gfx_break>.bp-break-gfx, bp.delete, <graphcon>.gfx-break-match, <graphcon>.gfx-break-info, <graphcon>.gfx-break-png, bp.list

<graphcon>.screenshot

Synopsis

<graphcon>.screenshot filename ["format"]

Description

This command saves the current console window contents to filename in PNG or BMP format, depending on format, which defaults to PNG.

Provided By

graphcon

<graphcon>.set-pixel

Synopsis

<graphcon>.set-pixel x y rgb

Description

Set pixel value at (x, y) from given pixel data rgb, either as a 3-element list with format [R, G, B], or as a hex string "#RRGGBB".

Provided By

graphcon

See Also

<gfx_break>.bp-break-gfx, <graphcon>.get-pixel

<graphcon>.show

Synopsis

<graphcon>.show

Description

Display the console window

Provided By

graphcon

See Also

<graphcon>.hide

<graphcon>.status

Synopsis

<graphcon>.status

Description

Print detailed information about the current status of the object.

Provided By

graphcon

<graphcon>.vnc-setup

Synopsis

<graphcon>.vnc-setup [port|unix_socket] ["password"]

Description

Start VNC server on port or on UNIX socket unix_socket. If neither port nor unix_socket is specified, or if port is set to 0, then an arbitrary port is used. If the port is busy, the command fails, unless the new_vnc_port_if_busy attribute has been set. The listening port is returned, or NIL on failure.

The given port must not be a privileged port, i.e. allowed range is [1024, 65535]. The command will fail if the unix_socket argument specifies an already existing file. UNIX sockets are not support on Windows.

If password is provided, the VNC server will use authentication and require this password for new connections.

Provided By

graphcon

See Also

<graphcon>.vnc-status

<graphcon>.vnc-status

Synopsis

<graphcon>.vnc-status

Description

Prints information about the VNC server connection status.

When used in an expression, the command returns a list with 3 entries:

1. The local port, or NIL if no VNC server is started.

2. TRUE if IPv4 is used, else FALSE.

3. The number of connected VNC clients.

Provided By

graphcon

See Also

<graphcon>.vnc-setup

<graphcon>.wait-for-pixel-value

Synopsis

<graphcon>.wait-for-pixel-value x y rgb interval

Description

Wait until the pixel at (x, y) has the given value, specified by rgb, either a 3-element list with format [R, G, B] or as a hex string "#RRGGBB". The pixel is checked every interval seconds of virtual time on the clock associated to the console.

Provided By

graphcon

See Also

<gfx_break>.bp-wait-for-gfx, <graphcon>.get-pixel

<hal>.info

Synopsis

<hal>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<hal>.status

Synopsis

<hal>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<hap-meter>.info

Synopsis

<hap-meter>.info

Description

Print detailed information about the configuration of the object.

Provided By

hap-meter

<hap-meter>.listen-for-exceptions

Synopsis

<hap-meter>.listen-for-exceptions [processor] ["exception"]

Description

Instruct the hap meter to listen for exceptions on the given processor (or all processors, if none is given). You may restrict the listening to a specific type of exception; if you do not, all exceptions will be collected.

Provided By

hap-meter

See Also

new-hap-meter

<hap-meter>.listen-for-hap

Synopsis

<hap-meter>.listen-for-hap "hap" [object]

Description

Instruct the hap meter to listen for a certain hap. You may restrict the listening to a specific object; if you do not, haps triggered by all objects will be collected.

Provided By

hap-meter

See Also

new-hap-meter

<hap-meter>.status

Synopsis

<hap-meter>.status

Description

Print detailed information about the current status of the object.

Provided By

hap-meter

<host_system>.info

Synopsis

<host_system>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<host_system>.status

Synopsis

<host_system>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<hostfs>.info

Synopsis

<hostfs>.info

Description

Print detailed information about the configuration of the object.

Provided By

hostfs

<hostfs>.root

Synopsis

<hostfs>.root [dir]

Description

If dir is specified, set the host directory that is visible to the simulated machine accordingly. This is only allowed when the file system is not mounted by the simulated machine.

Returns the current root directory.

Provided By

hostfs

<hostfs>.status

Synopsis

<hostfs>.status

Description

Print detailed information about the current status of the object.

Provided By

hostfs

<hunt>.info

Synopsis

<hunt>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<hunt>.status

Synopsis

<hunt>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<hypersim-pattern-matcher>.delete-pattern

Synopsis

<hypersim-pattern-matcher>.delete-pattern pattern

Description

Remove a pattern from the pattern-matcher. The pattern object name is used to identify the pattern to remove.

Provided By

hypersim-pattern-matcher

<hypersim-pattern-matcher>.info

Synopsis

<hypersim-pattern-matcher>.info

Description

Print detailed information about the configuration of the object.

Provided By

hypersim-pattern-matcher

<hypersim-pattern-matcher>.status

Synopsis

<hypersim-pattern-matcher>.status

Description

Print detailed information about the current status of the object.

Provided By

hypersim-pattern-matcher

<i210>.info

Synopsis

<i210>.info

Description

Print detailed information about the configuration of the object.

Provided By

i210

<i210>.status

Synopsis

<i210>.status

Description

Print detailed information about the current status of the object.

Provided By

i210

<i210_comp>.info

Synopsis

<i210_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

i210-comp

<i210_comp>.status

Synopsis

<i210_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

i210-comp

<i210_v2>.info

Synopsis

<i210_v2>.info

Description

Print detailed information about the configuration of the object.

Provided By

i210-v2

<i210_v2>.status

Synopsis

<i210_v2>.status

Description

Print detailed information about the current status of the object.

Provided By

i210-v2

<i210_v2_comp>.info

Synopsis

<i210_v2_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

i210-v2-comp

<i210_v2_comp>.status

Synopsis

<i210_v2_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

i210-v2-comp

<i21150>.info

Synopsis

<i21150>.info

Description

Print detailed information about the configuration of the object.

Provided By

i21150

<i21150>.status

Synopsis

<i21150>.status

Description

Print detailed information about the current status of the object.

Provided By

i21150

<i21152>.info

Synopsis

<i21152>.info

Description

Print detailed information about the configuration of the object.

Provided By

i21152

<i21152>.status

Synopsis

<i21152>.status

Description

Print detailed information about the current status of the object.

Provided By

i21152

<i21154>.info

Synopsis

<i21154>.info

Description

Print detailed information about the configuration of the object.

Provided By

i21154

<i21154>.status

Synopsis

<i21154>.status

Description

Print detailed information about the current status of the object.

Provided By

i21154

<i2c-bus>.info

Synopsis

<i2c-bus>.info

Description

Print detailed information about the configuration of the object.

Provided By

i2c-bus

<i2c-bus>.status

Synopsis

<i2c-bus>.status

Description

Print detailed information about the current status of the object.

Provided By

i2c-bus

<i2c_slave_v2_to_bus_adapter>.info

Synopsis

<i2c_slave_v2_to_bus_adapter>.info

Description

Print detailed information about the configuration of the object.

Provided By

i2c-bus

<i2c_slave_v2_to_bus_adapter>.status

Synopsis

<i2c_slave_v2_to_bus_adapter>.status

Description

Print detailed information about the current status of the object.

Provided By

i2c-bus

<i2c_to_i3c_adapter>.info

Synopsis

<i2c_to_i3c_adapter>.info

Description

Print detailed information about the configuration of the object.

Provided By

i3c-link

<i2c_to_i3c_adapter>.status

Synopsis

<i2c_to_i3c_adapter>.status

Description

Print detailed information about the current status of the object.

Provided By

i3c-link

<i2c_wire>.info

Synopsis

<i2c_wire>.info

Description

Print detailed information about the configuration of the object.

Provided By

i2c-link-v2

<i2c_wire>.status

Synopsis

<i2c_wire>.status

Description

Print detailed information about the current status of the object.

Provided By

i2c-link-v2

<i3c_bus>.info

Synopsis

<i3c_bus>.info

Description

Print detailed information about the configuration of the object.

Provided By

i3c-link

<i3c_bus>.status

Synopsis

<i3c_bus>.status

Description

Print detailed information about the current status of the object.

Provided By

i3c-link

<i3c_cable>.info

Synopsis

<i3c_cable>.info

Description

Print detailed information about the configuration of the object.

Provided By

i3c-link

<i3c_cable>.status

Synopsis

<i3c_cable>.status

Description

Print detailed information about the current status of the object.

Provided By

i3c-link

<i3c_cable_endpoint>.info

Synopsis

<i3c_cable_endpoint>.info

Description

Print detailed information about the configuration of the object.

Provided By

i3c-link

<i3c_cable_endpoint>.status

Synopsis

<i3c_cable_endpoint>.status

Description

Print detailed information about the current status of the object.

Provided By

i3c-link

<i3c_cable_impl>.info

Synopsis

<i3c_cable_impl>.info

Description

Print detailed information about the configuration of the object.

Provided By

i3c-link

<i3c_cable_impl>.status

Synopsis

<i3c_cable_impl>.status

Description

Print detailed information about the current status of the object.

Provided By

i3c-link

<i3c_link>.info

Synopsis

<i3c_link>.info

Description

Print detailed information about the configuration of the object.

Provided By

i3c-link

<i3c_link>.status

Synopsis

<i3c_link>.status

Description

Print detailed information about the current status of the object.

Provided By

i3c-link

<i3c_wire>.info

Synopsis

<i3c_wire>.info

Description

Print detailed information about the configuration of the object.

Provided By

i3c-link

<i3c_wire>.status

Synopsis

<i3c_wire>.status

Description

Print detailed information about the current status of the object.

Provided By

i3c-link

<i8042>.ctrl-alt-del

Synopsis

<i8042>.ctrl-alt-del

Description

Sends a Ctrl-Alt-Del command to the console. This is useful primarily on a Windows-hosted Simics to avoid having Ctrl-Alt-Del caught by the host OS.

Provided By

8042

<i8042>.info

Synopsis

<i8042>.info

Description

Print detailed information about the configuration of the object.

Provided By

8042

<i8042>.key-down

Synopsis

<i8042>.key-down key-code
<i8042>.key-up key-code

Description

Send a key press to the keyboard controller. The argument is the internal Simics key-code. The <i8042>.key-press command is recommend instead.

Provided By

8042

See Also

<i8042>.key-press

<i8042>.key-press

Synopsis

<i8042>.key-press ("key" ... | list of "key")

Description

Press a key on the keyboard. Several keys can be pressed at the same time. This translates to a series of key down events followed by the matching key up events. The names correspond to the keys on a U.S. keyboard with no keys remapped by software.

Provided By

8042

<i8042>.mouse-up

Synopsis

<i8042>.mouse-up millimeters
<i8042>.mouse-down millimeters
<i8042>.mouse-left millimeters
<i8042>.mouse-right millimeters

Description

Move the mouse up/down/left/right a specified number of millimeters.

Provided By

8042

<i8042>.right-button

Synopsis

<i8042>.right-button "direction"
<i8042>.left-button "direction"
<i8042>.middle-button "direction"

Description

Set the state of the left, right or middle mouse button. Valid values for the direction are "up" and "down".

Provided By

8042

<i8042>.status

Synopsis

<i8042>.status

Description

Print detailed information about the current status of the object.

Provided By

8042

<i82077>.eject-floppy

Synopsis

<i82077>.eject-floppy "drive-letter"

Description

Eject the media from the disk drive specified by drive-letter.

Provided By

82077

<i82077>.info

Synopsis

<i82077>.info

Description

Print detailed information about the configuration of the object.

Provided By

82077

<i82077>.insert-floppy

Synopsis

<i82077>.insert-floppy "drive-letter" floppy-image [-rw] ["size"]

Description

Insert the file floppy-image as a floppy in the disk drive specified by drive-letter. For floppies with a different size than 1.44 MB, the size argument must be supplied.

The -rw flag uses floppy-image in read-write mode, meaning that no save or save-diff-file command to the associated image object need to be used in order to save data written by the target software.

Provided By

82077

<i82077>.status

Synopsis

<i82077>.status

Description

Print detailed information about the current status of the object.

Provided By

82077

<i8237x2>.info

Synopsis

<i8237x2>.info

Description

Print detailed information about the configuration of the object.

Provided By

8237x2

<i8237x2>.status

Synopsis

<i8237x2>.status

Description

Print detailed information about the current status of the object.

Provided By

8237x2

<i82543>.info

Synopsis

<i82543>.info

Description

Print detailed information about the configuration of the object.

Provided By

i82543

<i82543>.status

Synopsis

<i82543>.status

Description

Print detailed information about the current status of the object.

Provided By

i82543

<i82546>.info

Synopsis

<i82546>.info

Description

Print detailed information about the configuration of the object.

Provided By

i82546

<i82546>.status

Synopsis

<i82546>.status

Description

Print detailed information about the current status of the object.

Provided By

i82546

<i8254>.info

Synopsis

<i8254>.info

Description

Print detailed information about the configuration of the object.

Provided By

8254

<i8254>.status

Synopsis

<i8254>.status

Description

Print detailed information about the current status of the object.

Provided By

8254

<i82559>.info

Synopsis

<i82559>.info

Description

Print detailed information about the configuration of the object.

Provided By

i82559

<i82559>.status

Synopsis

<i82559>.status

Description

Print detailed information about the current status of the object.

Provided By

i82559

<i82571EB_v2>.info

Synopsis

<i82571EB_v2>.info

Description

Print detailed information about the configuration of the object.

Provided By

i82571EB-v2

<i82571EB_v2>.status

Synopsis

<i82571EB_v2>.status

Description

Print detailed information about the current status of the object.

Provided By

i82571EB-v2

<i82571EB_v2_comp>.info

Synopsis

<i82571EB_v2_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

i82571EB-v2-comp

<i82571EB_v2_comp>.status

Synopsis

<i82571EB_v2_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

i82571EB-v2-comp

<i82574_v2>.info

Synopsis

<i82574_v2>.info

Description

Print detailed information about the configuration of the object.

Provided By

i82574-v2

<i82574_v2>.status

Synopsis

<i82574_v2>.status

Description

Print detailed information about the current status of the object.

Provided By

i82574-v2

<i82574_v2_comp>.info

Synopsis

<i82574_v2_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

i82574-v2-comp

<i82574_v2_comp>.status

Synopsis

<i82574_v2_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

i82574-v2-comp

<i82576EB_v2>.info

Synopsis

<i82576EB_v2>.info

Description

Print detailed information about the configuration of the object.

Provided By

i82576EB-v2

<i82576EB_v2>.status

Synopsis

<i82576EB_v2>.status

Description

Print detailed information about the current status of the object.

Provided By

i82576EB-v2

<i82576EB_v2_comp>.info

Synopsis

<i82576EB_v2_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

i82576EB-v2-comp

<i82576EB_v2_comp>.status

Synopsis

<i82576EB_v2_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

i82576EB-v2-comp

<i82583V_v2>.info

Synopsis

<i82583V_v2>.info

Description

Print detailed information about the configuration of the object.

Provided By

i82583V-v2

<i82583V_v2>.status

Synopsis

<i82583V_v2>.status

Description

Print detailed information about the current status of the object.

Provided By

i82583V-v2

<i82583V_v2_comp>.info

Synopsis

<i82583V_v2_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

i82583V-v2-comp

<i82583V_v2_comp>.status

Synopsis

<i82583V_v2_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

i82583V-v2-comp

<i8259x2>.info

Synopsis

<i8259x2>.info

Description

Print detailed information about the configuration of the object.

Provided By

8259x2

<i8259x2>.status

Synopsis

<i8259x2>.status

Description

Print detailed information about the current status of the object.

Provided By

8259x2

<ide-cdrom>.eject

Synopsis

<ide-cdrom>.eject

Description

Eject a media from the CD-ROM drive. The media must have been previously inserted with the 'insert' command.

Provided By

ide

<ide-cdrom>.info

Synopsis

<ide-cdrom>.info

Description

Print detailed information about the configuration of the object.

Provided By

ide

<ide-cdrom>.insert

Synopsis

<ide-cdrom>.insert media [-cd] [-dvd]

Description

Insert a media in the CD-ROM drive. The media is the name of a CD-ROM media object, e.g., a cdrom-image. Use the -cd flag to indicate that the media is a CD-ROM, or the -dvd flag for DVD-ROM. CD-ROM is the default choice if none of the flags are given.

Provided By

ide

<ide-disk>.add-diff-file

Synopsis

<ide-disk>.add-diff-file filename [-replace] [-rw] [-force]

Description

Adds the diff file filename to the list of files for a disk. This is basically the same command as <image>.add-diff-file.

The diff file was typically created with the save-diff-file command, or by a saved configuration. The file can be made writable instead of read-only using the -rw flag. The <image>.clear-files command should be used instead of the deprecated -replace flag.

If any unsaved changes are found in the image object, the command will fail. Such changes can be discarded by using the -force flag, or first saved using the <image>.save-diff-file command.

Provided By

ide

See Also

<ide-disk>.save-diff-file, <image>.add-diff-file

<ide-disk>.add-partial-diff-file

Synopsis

<ide-disk>.add-partial-diff-file filename start [size] [-force]

Description

Adds a partial diff file, filename, to the list of files for a disk. This is basically the same command as add-partial-diff-file.

The diff file was typically created with the save-diff-file command, or by a saved configuration. The start and size arguments specify the location within the image. If size is left out, the (virtual) size of the file is used.

If any unsaved changes are found in the image object, the command will fail. Such changes can be discarded by using the -force flag, or first saved using the <image>.save-diff-file command.

Provided By

ide

See Also

<ide-disk>.save-diff-file, <image>.add-diff-file, <image>.add-partial-diff-file

<ide-disk>.default-translation

Synopsis

<ide-disk>.default-translation [C] [H] [S]

Description

Set the default CHS translation of a disk using C, H and S or print the current one if no arguments are given.

Provided By

ide

<ide-disk>.info

Synopsis

<ide-disk>.info

Description

Print detailed information about the configuration of the object.

Provided By

ide

<ide-disk>.print-partition-table

Synopsis

<ide-disk>.print-partition-table

Description

Print the partition table for a disk. MBR is the only supported format.

Provided By

ide

See Also

<ide-disk>.save-mbr-partition

<ide-disk>.save-diff-file

Synopsis

<ide-disk>.save-diff-file filename [-overwrite]

Description

Writes changes to the image as the diff file filename in the craff file format.

The command will fail if the destination file already exists, unless -overwrite is specified.

This is basically the same command as <image>.save-diff-file.

Provided By

ide

See Also

<ide-disk>.add-diff-file, <image>.save-diff-file

<ide-disk>.save-mbr-partition

Synopsis

<ide-disk>.save-mbr-partition partition filename [-save-craff|-save-raw]

Description

Writes a selected MBR partition to the file filename. If -save-craff is specified, data is saved in craff format. If -save-raw is specified, data is saved in raw format, which is also the default option.

Provided By

ide

See Also

<image>.save, <ide-disk>.print-partition-table

<ide>.info

Synopsis

<ide>.info

Description

Print detailed information about the configuration of the object.

Provided By

ide

<ide>.status

Synopsis

<ide>.status

Description

Print detailed information about the current status of the object.

Provided By

ide

<ide_cdrom_comp>.info

Synopsis

<ide_cdrom_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-comp

<ide_cdrom_comp>.status

Synopsis

<ide_cdrom_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

std-comp

<ide_disk_comp>.info

Synopsis

<ide_disk_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-comp

<ide_disk_comp>.status

Synopsis

<ide_disk_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

std-comp

<ieee_802_15_4_link>.get-free-connector

Synopsis

<ieee_802_15_4_link>.get-free-connector

Description

This command returns the name of a connector which is not connected to anything.

Provided By

ieee-802-15-4-link

<ieee_802_15_4_link>.info

Synopsis

<ieee_802_15_4_link>.info

Description

Print detailed information about the configuration of the object.

Provided By

ieee-802-15-4-link

<ieee_802_15_4_link>.status

Synopsis

<ieee_802_15_4_link>.status

Description

Print detailed information about the current status of the object.

Provided By

ieee-802-15-4-link

<ieee_802_15_4_probe>.info

Synopsis

<ieee_802_15_4_probe>.info

Description

Print detailed information about the configuration of the object.

Provided By

ieee-802-15-4-probe

<ieee_802_15_4_probe>.pcap-dump

Synopsis

<ieee_802_15_4_probe>.pcap-dump file [linktype] [-ns]

Description

Dump network traffic to a file, in libpcap format. The optional -ns flag sets the timestamp resolution of the file in nano-seconds. The default timestamp resolution is in micro-seconds. linktype is a link-layer header type code. The typical values are:

1 - Ethernet

191 - IEEE 802.15.4, with address fields padded, as is done by Linux drivers

195 - IEEE 802.15.4, exactly as it appears in the spec. FCS is expected to be present.

215 - IEEE 802.15.4, exactly as it appears in the spec, but with the PHY-level data for non-ASK PHYs (default)

230 - IEEE 802.15.4, exactly as it appears in the spec, and with no FCS at the end of the frame

The default value is 1.

Provided By

ieee-802-15-4-probe

<ieee_802_15_4_probe>.pcap-dump-stop

Synopsis

<ieee_802_15_4_probe>.pcap-dump-stop

Description

Stop the current dump.

Provided By

ieee-802-15-4-probe

<ieee_802_15_4_probe>.status

Synopsis

<ieee_802_15_4_probe>.status

Description

Print detailed information about the current status of the object.

Provided By

ieee-802-15-4-probe

<ieee_802_15_4_probe>.tcpdump

Synopsis

<ieee_802_15_4_probe>.tcpdump ["flags"] [linktype]

Description

Runs the tcpdump program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed on unmodified to tcpdump.

linktype is a link-layer header type code. The typical values are:

1 - Ethernet

191 - IEEE 802.15.4, with address fields padded, as is done by Linux drivers

195 - IEEE 802.15.4, exactly as it appears in the spec. FCS is expected to be present.

215 - IEEE 802.15.4, exactly as it appears in the spec, but with the PHY-level data for non-ASK PHYs (default)

230 - IEEE 802.15.4, exactly as it appears in the spec, and with no FCS at the end of the frame

The default value is 1.

Provided By

ieee-802-15-4-probe

<ieee_802_15_4_probe>.tcpdump-stop

Synopsis

<ieee_802_15_4_probe>.tcpdump-stop

Description

Stop the current tcpdump capture.

Provided By

ieee-802-15-4-probe

<ieee_802_15_4_probe>.wireshark

Synopsis

<ieee_802_15_4_probe>.wireshark ["flags"] [linktype]

Description

Runs the wireshark or ethereal program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed on unmodified to program. The path to the wireshark binaries can be specified in the prefs->wireshark_path setting.

linktype is a link-layer header type code. The typical values are:

1 - Ethernet

191 - IEEE 802.15.4, with address fields padded, as is done by Linux drivers

195 - IEEE 802.15.4, exactly as it appears in the spec. FCS is expected to be present.

215 - IEEE 802.15.4, exactly as it appears in the spec, but with the PHY-level data for non-ASK PHYs (default)

230 - IEEE 802.15.4, exactly as it appears in the spec, and with no FCS at the end of the frame

The default value is 1.

Provided By

ieee-802-15-4-probe

<ieee_802_15_4_probe>.wireshark-stop

Synopsis

<ieee_802_15_4_probe>.wireshark-stop

Description

Stop the current wireshark capture.

Provided By

ieee-802-15-4-probe

<image>.add-diff-file

Synopsis

<image>.add-diff-file filename [-replace] [-rw] [-force]

Description

Adds a diff file, filename, to the list of files for an image. The diff file was typically created with <image>.save-diff-file, or by a saved configuration.

The file can be treated as writable instead of read-only using the -rw flag. The <image>.clear-files command should be used instead of the deprecated -replace flag.

If any unsaved changes are found in the image object, the command will fail. Such changes can be discarded by using the -force flag, or first saved using the <image>.save-diff-file command.

Provided By

Simics Core

See Also

<image>.add-partial-diff-file, <image>.clear-files, <image>.save-diff-file

<image>.add-partial-diff-file

Synopsis

<image>.add-partial-diff-file filename start [size] [-force]

Description

Adds a partial diff file, filename, to the list of files for an image. The diff file was typically created with the <image>.save-diff-file command, by one of the dump-*-partition commands, or by a saved configuration. The start and size arguments specify the location within the image. If size is left out, the (virtual) size of the file is used.

If any unsaved changes are found in the image object, the command will fail. Such changes can be discarded by using the -force flag, or first saved using the <image>.save-diff-file command.

Provided By

Simics Core

See Also

<image>.add-diff-file, <image>.save-diff-file

<image>.clear-files

Synopsis

<image>.clear-files

Description

Clears the list of files that represent the contents of a image. This is useful when replacing the contents of a disk before starting the simulation without having to modify the initial machine configuration.

The command will discard any unsaved changes to the image. Such changes can first be saved using the <image>.save-diff-file command.

Provided By

Simics Core

See Also

<image>.add-diff-file, <image>.list-files

<image>.get

Synopsis

<image>.get address [size] [-l] [-b]

Description

Returns size bytes from an image at offset address. The default size is 4 bytes, but can be anywhere between 1 and 8 inclusive.

The -l and -b flags are used to select little-endian and big-endian byte order, respectively. If neither is given, the byte order of the currently selected processor is used.

Provided By

Simics Core

See Also

set, get, signed

<image>.info

Synopsis

<image>.info

Description

Print information about the image object. This information includes: logical size of the image in bytes; information whether the image contains persistent data (i.e. if the image data is saved by the save-persistent-state command); information about the files that represent image contents and whether these files are opened in the read-only or read-write mode.

Provided By

Simics Core

<image>.list-files

Synopsis

<image>.list-files [-v]

Description

Prints a list of all files that represent the contents of a image. In addition to the file name, the output also includes the start offset for the file within the image, the virtual size of the file to be mapped, and the start offset within the file (usually zero). The -v flag turns on verbose output where the full path to files are included.

When used in an expression, the file information is returned as a list of lists.

If file are overlapping, the contents of the last file in the list takes precedence. Note that certain file formats support holes.

Provided By

Simics Core

See Also

<image>.add-diff-file, <image>.clear-files

<image>.load-vmem

Synopsis

<image>.load-vmem filename [offset] [word-size] [-b]

Description

Loads the contents of the Verilog VMEM file filename into memory. Simics tries to guess the word size based on the number of digits it sees in the numbers, but this is only a guess. One can specify the word size by passing the word-size argument.

Offsets in the file are interpreted relative to offset and as multiples of word-size.

By default, numbers are assumed to be in little endian format. For example, the following Verilog VMEM file contains the data which will be loaded at address 0x1000:

@00000400 48656D6C 6F2C2057 6F726C64 0AFFFFFF

Byte of the memory at address 0x1000 will get value 0x6c and byte at address 0x1001 will get value 0x6d. If -b is specified, numbers are instead interpreted in big endian format and byte at address 0x1000 will get value 0x48.

This command uses Simics's Search Path and path markers (%simics%, %script%) to find the file to load. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information on how Simics's Search Path is used to locate files.

Provided By

Simics Core

See Also

<image>.save-vmem, <image>.load-intel-hex

<image>.save

Synopsis

<image>.save filename [start-byte] [length] [-save-craff|-save-raw|-save-vhdx] [-overwrite] [-u]

Description

Writes the image contents to filename in the specified format.

If start-byte and/or length are given, they specify the start offset address and number of bytes to write respectively; otherwise, the whole image is copied.

If -save-craff is specified, data is saved in craff format, using compression unless -u is specified. If -save-raw is specified, data is saved in raw format, which is also the default option. If -save-vhdx is specified, data is saved in VHDX format.

The command will fail if the destination file already exists, unless -overwrite is specified.

Provided By

Simics Core

See Also

save-image-contents, <image>.save-diff-file

<image>.save-diff-file

Synopsis

<image>.save-diff-file filename [-overwrite] [-u]

Description

Writes changes to the image since the last checkpoint to filename.

No file is created if there are no changes to the image.

By default the file is written in compressed craff format, unless -u is specified.

The command will fail if the destination file already exists, unless -overwrite is specified.

Provided By

Simics Core

See Also

save-image-diff, <image>.save, save-image-contents

<image>.save-vmem

Synopsis

<image>.save-vmem filename [offset] [length] [bytes-per-line] [-skip-offsets] [-skip-zeros] [-b] [-overwrite]

Description

Saves length bytes of the memory at offset offset to the file named filename, in the Verilog VMEM format.

If length is 0, the whole memory content from offset is stored.

The bytes-per-line argument specifies how many bytes to write on each line, defaulting to 16. Each line is written in little endian format, unless -b is specified, in which big endian format is used. An explicit offset is written on each line, unless -skip-offsets is specified, in which case only necessary offsets are written. If -skip-zeros is specified, lines with only zero data will not be written.

The command will fail if the destination file already exists, unless -overwrite is specified.

Provided By

Simics Core

See Also

<image>.load-vmem, <image>.save-intel-hex

<image>.set

Synopsis

<image>.set address value [size] [-l] [-b] [-t]

Description

Sets size bytes in an image at offset address to value. The default size is 4 bytes, but can be anywhere between 1 and 8 inclusive.

If value is larger than the specified size, an error is given. This can be ignored with the -t flag, which will truncate the value to size bytes.

The -l and -b flags are used to select little-endian and big-endian byte order, respectively. If neither is given, the byte order of the currently selected processor is used.

Provided By

Simics Core

See Also

set, get, signed

<image>.status

Synopsis

<image>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<instruction_count>.add-filter

Synopsis

<instruction_count>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

instruction-count

<instruction_count>.add-instrumentation

Synopsis

<instruction_count>.add-instrumentation ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"]

Description

Connects the tool to one or several processors as given by the processors argument.The parent argument specifies an hierarchical object and all processors below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

instruction-count

<instruction_count>.clear

Synopsis

<instruction_count>.clear

Description

Zeroes the instruction counts

Provided By

instruction-count

See Also

<instruction_count>.icount

<instruction_count>.delete

Synopsis

<instruction_count>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

instruction-count

<instruction_count>.disable-instrumentation

Synopsis

<instruction_count>.disable-instrumentation [id] [processor] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The processor selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

instruction-count

<instruction_count>.enable-instrumentation

Synopsis

<instruction_count>.enable-instrumentation [id] [processor] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The processor selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

instruction-count

<instruction_count>.icount

Synopsis

<instruction_count>.icount [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Print the instruction count for the connected processors.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

instruction-count

<instruction_count>.info

Synopsis

<instruction_count>.info

Description

Print detailed information about the configuration of the tool.

Provided By

instruction-count

<instruction_count>.list-providers

Synopsis

<instruction_count>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

instruction-count

<instruction_count>.remove-filter

Synopsis

<instruction_count>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

instruction-count

<instruction_count>.remove-instrumentation

Synopsis

<instruction_count>.remove-instrumentation [id] ([ processors ... ] | list of processors) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The processors selects the connections towards one or several processors that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

instruction-count

<instruction_count>.status

Synopsis

<instruction_count>.status

Description

Print detailed information about the current status of the tool.

Provided By

instruction-count

<instruction_fetch>.instruction-fetch-mode

Synopsis

<instruction_fetch>.instruction-fetch-mode ["mode"]
instruction-fetch-mode ["mode"]

Description

This command selects in which mode instruction fetches are sent for the memory hierarchy during simulation. If set to no-instruction-fetch, the memory hierarchy will not receive any instruction fetch. If set to instruction-cache-access-trace, the memory hierarchy will receive exactly one instruction fetch every time a new cache line is accessed. The size of this cache line is defined by the attribute instruction-fetch-line-size in the processor object. If set to instruction-fetch-trace, all instruction fetches will be visible.

Note that for x86 CPUs, instruction-cache-trace-access is not available. On some other CPU architectures, instruction-fetch-trace is actually instruction-cache-trace-access with a line size equal to the instruction size (SPARC-V9).

Using this command without argument displays the current mode.

Provided By

Simics Core

<instruction_histogram>.add-filter

Synopsis

<instruction_histogram>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

instruction-histogram

<instruction_histogram>.add-instrumentation

Synopsis

<instruction_histogram>.add-instrumentation ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"]

Description

Connects the tool to one or several processors as given by the processors argument.The parent argument specifies an hierarchical object and all processors below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

instruction-histogram

<instruction_histogram>.clear

Synopsis

<instruction_histogram>.clear

Description

Remove any data already measured.

Provided By

instruction-histogram

<instruction_histogram>.delete

Synopsis

<instruction_histogram>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

instruction-histogram

<instruction_histogram>.disable-instrumentation

Synopsis

<instruction_histogram>.disable-instrumentation [id] [processor] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The processor selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

instruction-histogram

<instruction_histogram>.enable-instrumentation

Synopsis

<instruction_histogram>.enable-instrumentation [id] [processor] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The processor selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

instruction-histogram

<instruction_histogram>.histogram

Synopsis

<instruction_histogram>.histogram ["instruction-regexp"] [-aggregate-filtered-out] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Print instruction histogram for executed instructions.

The instruction-regexp argument can be used to filter out only certain instructions which matches the given regular expression.

The -aggregate-filtered-out flag merges all filtered out data into a single row, which keeps the total amount of instructions executed correct. Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

instruction-histogram

<instruction_histogram>.info

Synopsis

<instruction_histogram>.info

Description

Print detailed information about the configuration of the tool.

Provided By

instruction-histogram

<instruction_histogram>.list-providers

Synopsis

<instruction_histogram>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

instruction-histogram

<instruction_histogram>.remove-filter

Synopsis

<instruction_histogram>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

instruction-histogram

<instruction_histogram>.remove-instrumentation

Synopsis

<instruction_histogram>.remove-instrumentation [id] ([ processors ... ] | list of processors) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The processors selects the connections towards one or several processors that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

instruction-histogram

<instruction_histogram>.status

Synopsis

<instruction_histogram>.status

Description

Print detailed information about the current status of the tool.

Provided By

instruction-histogram

<instrumentation_filter_aggregator>.info

Synopsis

<instrumentation_filter_aggregator>.info

Description

Print detailed information about the configuration of the object.

Provided By

instrumentation-filter-aggregator

<instrumentation_filter_aggregator>.status

Synopsis

<instrumentation_filter_aggregator>.status

Description

Print detailed information about the current status of the object.

Provided By

instrumentation-filter-aggregator

<interface_histogram_tool>.add-filter

Synopsis

<interface_histogram_tool>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

interface-histogram-tool

<interface_histogram_tool>.delete

Synopsis

<interface_histogram_tool>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

interface-histogram-tool

<interface_histogram_tool>.disable-instrumentation

Synopsis

<interface_histogram_tool>.disable-instrumentation [id] [provider] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The provider selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

interface-histogram-tool

<interface_histogram_tool>.enable-instrumentation

Synopsis

<interface_histogram_tool>.enable-instrumentation [id] [provider] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The provider selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

interface-histogram-tool

<interface_histogram_tool>.histogram

Synopsis

<interface_histogram_tool>.histogram [-object] [-method] ["interface-regexp"] [-aggregate-filtered-out] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Displays the histogram over all called interfaces and there methods in a Simics session. Default output consists of just the interface, and how many times that interface has been called. Adding the -method flag, the command will print how many times the method in each interface is called. There is also an -object flag that adds information about which object the interface call was made to.

The interface-regexp argument can be used to only show interfaces matching this regular expression. If -aggregate-filtered-out flag is given all interfaces that does not match the regular expression will be aggregated into one line that show how many of those did not match.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

interface-histogram-tool

<interface_histogram_tool>.info

Synopsis

<interface_histogram_tool>.info

Description

Print detailed information about the configuration of the tool.

Provided By

interface-histogram-tool

<interface_histogram_tool>.list-providers

Synopsis

<interface_histogram_tool>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

interface-histogram-tool

<interface_histogram_tool>.remove-filter

Synopsis

<interface_histogram_tool>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

interface-histogram-tool

<interface_histogram_tool>.remove-instrumentation

Synopsis

<interface_histogram_tool>.remove-instrumentation [id] ([ providers ... ] | list of providers) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The providers selects the connections towards one or several providers that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

interface-histogram-tool

<interface_histogram_tool>.status

Synopsis

<interface_histogram_tool>.status

Description

Print detailed information about the current status of the tool.

Provided By

interface-histogram-tool

<interface_log_tool>.add-filter

Synopsis

<interface_log_tool>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

interface-log-tool

<interface_log_tool>.control-blocked-interfaces

Synopsis

<interface_log_tool>.control-blocked-interfaces ([ "ifaces" ... ] | list of "ifaces") [-remove]

Description

This command can be used to control the logging of the interfaces when the tool has been created. ifaces sets the list of blocked interfaces not to log. Each string can be a name of an individual interface to consider, or one Python regular expressions that can match several interfaces. All interfaces mentioned are blocked from logging. If -remove is given already blocked interfaces that match the ifaces list will be removed from the blocking list. If no flag is used, the current setting is printed.

The command can be given several times, adding or removing interfaces from the blocked list.

Provided By

interface-log-tool

<interface_log_tool>.control-logged-interfaces

Synopsis

<interface_log_tool>.control-logged-interfaces ([ "ifaces" ... ] | list of "ifaces") [-remove]

Description

This command can be used to control the logging of the interfaces when the tool has been created. ifaces sets the interfaces to log. Each string can be a name of an individual interface to consider, or one Python regular expressions that can match several interfaces. All interfaces mentioned are added to the currently logged interfaces. If -remove is given already enabled interfaces that match the ifaces list will be removed from the logging. If no flag is used, the current setting is printed.

The command can be given several times, enabling (or disabling) more interfaces each time.

Provided By

interface-log-tool

<interface_log_tool>.delete

Synopsis

<interface_log_tool>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

interface-log-tool

<interface_log_tool>.disable-instrumentation

Synopsis

<interface_log_tool>.disable-instrumentation [id] [provider] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The provider selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

interface-log-tool

<interface_log_tool>.enable-instrumentation

Synopsis

<interface_log_tool>.enable-instrumentation [id] [provider] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The provider selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

interface-log-tool

<interface_log_tool>.info

Synopsis

<interface_log_tool>.info

Description

Print detailed information about the configuration of the tool.

Provided By

interface-log-tool

<interface_log_tool>.list-providers

Synopsis

<interface_log_tool>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

interface-log-tool

<interface_log_tool>.remove-filter

Synopsis

<interface_log_tool>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

interface-log-tool

<interface_log_tool>.remove-instrumentation

Synopsis

<interface_log_tool>.remove-instrumentation [id] ([ providers ... ] | list of providers) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The providers selects the connections towards one or several providers that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

interface-log-tool

<interface_log_tool>.status

Synopsis

<interface_log_tool>.status

Description

Print detailed information about the current status of the tool.

Provided By

interface-log-tool

<interrupt_to_signal>.info

Synopsis

<interrupt_to_signal>.info

Description

Print detailed information about the configuration of the object.

Provided By

interrupt-to-signal

<interrupt_to_signal>.status

Synopsis

<interrupt_to_signal>.status

Description

Print detailed information about the current status of the object.

Provided By

interrupt-to-signal

<io-apic>.info

Synopsis

<io-apic>.info

Description

Print detailed information about the configuration of the object.

Provided By

io-apic

<io-apic>.status

Synopsis

<io-apic>.status

Description

Print detailed information about the current status of the object.

Provided By

io-apic

<korben>.info

Synopsis

<korben>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<korben>.status

Synopsis

<korben>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<leader>.info

Synopsis

<leader>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<leader>.status

Synopsis

<leader>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<leeloo>.info

Synopsis

<leeloo>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<leeloo>.status

Synopsis

<leeloo>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<legacy-upstream-pcie-adapter>.info

Synopsis

<legacy-upstream-pcie-adapter>.info

Description

Print detailed information about the configuration of the object.

Provided By

legacy-upstream-pcie-adapter

<legacy-upstream-pcie-adapter>.status

Synopsis

<legacy-upstream-pcie-adapter>.status

Description

Print detailed information about the current status of the object.

Provided By

legacy-upstream-pcie-adapter

<legacy_upstream_pcie_adapter_comp>.info

Synopsis

<legacy_upstream_pcie_adapter_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

legacy-upstream-pcie-adapter-comp

<legacy_upstream_pcie_adapter_comp>.status

Synopsis

<legacy_upstream_pcie_adapter_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

legacy-upstream-pcie-adapter-comp

<linux_mapper>.info

Synopsis

<linux_mapper>.info

Description

Print detailed information about the configuration of the object.

Provided By

linux-tracker

<linux_mapper>.log-syscalls

Synopsis

<linux_mapper>.log-syscalls [-disable]

Description

Starts logging all system calls. For each system call, a line will be written to the Simics log. With the -disable flag, logging is disabled.

Provided By

linux-tracker

<linux_mapper>.status

Synopsis

<linux_mapper>.status

Description

Print detailed information about the current status of the object.

Provided By

linux-tracker

<linux_tracker>.detect-parameters

Synopsis

<linux_tracker>.detect-parameters [param-file] ["version-string"] [base-address] [symbol-file] [-load] [-overwrite] [-real-time] [ram-base] [randomize-base] [kernel-modules]

Description

Detect the parameters to use with the Linux tracker. For this to work, Linux must be up and running on the simulated machine. If more than one possible solution is found (the tracker could not identify which is correct), each possible solution will be saved, by adding a suffix to the given parameter file name.

The optional param-file argument is used to specify where to save the parameters, the default is 'detect.params'. If this argument is left out and the -load flag is used then no parameters will be saved.

The -load flag can be used to load the newly detected parameters directly after detection.

The optional version-string argument can be used to specify information about the Linux version running on the system. This will be the name of the root node in the node tree.

The optional base-address argument can be used to specify the kernel base address. Unless this option is given, the tracker will use a set of predefined values, which are platform dependent. For 32-bit x86 kernels, the tracker will use the symbols, if provided, to determine the kernel base address. If the target is running a kernel with a kernel base that is not part of the default values (usually 0xc0000000) the user may specify this option in order to get a successful parameter detection. It can also be provided in order to speed up the detection on some platforms.

The optional ram-base argument can be used to specify the physical address for the base of the ram in which the kernel is loaded. This is currently only used when tracking Linux on ARM systems.

For many targets it is possible to detect parameters without providing any symbols. For other targets, the tracker will require the user to provide debug information by using the symbol-file argument. Debug information can normally be found in the vmlinux file when the kernel is compiled with debug information.

For some targets it may be enough to provide plain symbols, such as /proc/kallsyms on the target or the System.map file associated with the kernel. The exact needs depends on platform and kernel version.

The optional -real-time argument should be used when detecting parameters for a real-time kernels if only plain symbols are given. If this is not used for that case then the detection can fail to understand that this is a real-time kernel and the detected parameters may be incorrect for that kernel. If vmlinux symbols are given this argument should not be needed.

The optional randomize-base forces the detection to either treat the kernel as having randomised base (the RANDOMIZE_BASE configuration option for the kernel) or to not have, depending on if this argument is set to TRUE or FALSE. If this argument is not set then the detector will try to determine whether or not the kernel has randomized base.

The optional kernel-modules argument is used to either leave out detection of kernel modules, when FALSE, or to force kernel modules to be detected, when TRUE. If TRUE and kernel module parameters cannot be found then detect will fail. If this is not set then kernel module parameters will be included if found, but detection will not fail if such parameters are not found.

The optional -overwrite flag specifies that the parameters file should be overwritten if it exists.

Provided By

linux-tracker

See Also

<osa_parameters>.load-parameters

<linux_tracker>.info

Synopsis

<linux_tracker>.info

Description

Print detailed information about the configuration of the object.

Provided By

linux-tracker

<linux_tracker>.list-kernel-modules

Synopsis

<linux_tracker>.list-kernel-modules ["module"] [-exclude-sections|-only-executable-sections]

Description

Lists kernel modules found by the tracker.

By default the sections of the modules will also be outputted, use the -exclude-sections flag to not include sections in the output.

The -only-executable-sections flag can be used to only display sections that are currently found to be executable. Note that the init sections will only be executable for a short time when init code is run. After that init sections will no longer be present in memory and will be excluded from output when using this flag.

The module argument can be used to just lite one module, to see it's address and/or sections.

Returned value is a list of sections on the format:

[[module address, module name, [section address, section name]*]*]

If kernel modules are not handled, likely due to kernel modules parameters not being found when detecting parameters, this function will return NIL and print a message.

Provided By

linux-tracker

<linux_tracker>.set-kernel-modules-path

Synopsis

<linux_tracker>.set-kernel-modules-path path

Description

Sets a path for where the debugger should scan for kernel modules on host.

When this is set the debugger will try to find kernel modules files that match the ones found by the Linux tracker under this path (including sub-directories).

The path does not have to be an existing host path, it can be any path or pattern for which a path map can then be applied on in the debugger, in order to map this to the actual host directory.

If this is set to an empty string then kernel modules will not be scanned for and the debugger will then only be able to debug kernel modules for which individual path maps have been added.

Provided By

linux-tracker

<linux_tracker>.status

Synopsis

<linux_tracker>.status

Description

Print detailed information about the current status of the object.

Provided By

linux-tracker

<linux_tracker_comp>.detect-parameters

Synopsis

<linux_tracker_comp>.detect-parameters [param-file] ["version-string"] [base-address] [symbol-file] [-load] [-overwrite] [-real-time] [ram-base] [randomize-base] [kernel-modules]

Description

Detect the parameters to use with the Linux tracker. For this to work, Linux must be up and running on the simulated machine. If more than one possible solution is found (the tracker could not identify which is correct), each possible solution will be saved, by adding a suffix to the given parameter file name.

The optional param-file argument is used to specify where to save the parameters, the default is 'detect.params'. If this argument is left out and the -load flag is used then no parameters will be saved.

The -load flag can be used to load the newly detected parameters directly after detection.

The optional version-string argument can be used to specify information about the Linux version running on the system. This will be the name of the root node in the node tree.

The optional base-address argument can be used to specify the kernel base address. Unless this option is given, the tracker will use a set of predefined values, which are platform dependent. For 32-bit x86 kernels, the tracker will use the symbols, if provided, to determine the kernel base address. If the target is running a kernel with a kernel base that is not part of the default values (usually 0xc0000000) the user may specify this option in order to get a successful parameter detection. It can also be provided in order to speed up the detection on some platforms.

The optional ram-base argument can be used to specify the physical address for the base of the ram in which the kernel is loaded. This is currently only used when tracking Linux on ARM systems.

For many targets it is possible to detect parameters without providing any symbols. For other targets, the tracker will require the user to provide debug information by using the symbol-file argument. Debug information can normally be found in the vmlinux file when the kernel is compiled with debug information.

For some targets it may be enough to provide plain symbols, such as /proc/kallsyms on the target or the System.map file associated with the kernel. The exact needs depends on platform and kernel version.

The optional -real-time argument should be used when detecting parameters for a real-time kernels if only plain symbols are given. If this is not used for that case then the detection can fail to understand that this is a real-time kernel and the detected parameters may be incorrect for that kernel. If vmlinux symbols are given this argument should not be needed.

The optional randomize-base forces the detection to either treat the kernel as having randomised base (the RANDOMIZE_BASE configuration option for the kernel) or to not have, depending on if this argument is set to TRUE or FALSE. If this argument is not set then the detector will try to determine whether or not the kernel has randomized base.

The optional kernel-modules argument is used to either leave out detection of kernel modules, when FALSE, or to force kernel modules to be detected, when TRUE. If TRUE and kernel module parameters cannot be found then detect will fail. If this is not set then kernel module parameters will be included if found, but detection will not fail if such parameters are not found.

The optional -overwrite flag specifies that the parameters file should be overwritten if it exists.

Provided By

linux-tracker

See Also

<osa_parameters>.load-parameters

<linux_tracker_comp>.info

Synopsis

<linux_tracker_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

linux-tracker

<linux_tracker_comp>.list-kernel-modules

Synopsis

<linux_tracker_comp>.list-kernel-modules ["module"] [-exclude-sections|-only-executable-sections]

Description

Lists kernel modules found by the tracker.

By default the sections of the modules will also be outputted, use the -exclude-sections flag to not include sections in the output.

The -only-executable-sections flag can be used to only display sections that are currently found to be executable. Note that the init sections will only be executable for a short time when init code is run. After that init sections will no longer be present in memory and will be excluded from output when using this flag.

The module argument can be used to just lite one module, to see it's address and/or sections.

Returned value is a list of sections on the format:

[[module address, module name, [section address, section name]*]*]

If kernel modules are not handled, likely due to kernel modules parameters not being found when detecting parameters, this function will return NIL and print a message.

Provided By

linux-tracker

<linux_tracker_comp>.log-syscalls

Synopsis

<linux_tracker_comp>.log-syscalls [-disable]

Description

Starts logging all system calls. For each system call, a line will be written to the Simics log. With the -disable flag, logging is disabled.

Provided By

linux-tracker

<linux_tracker_comp>.set-kernel-modules-path

Synopsis

<linux_tracker_comp>.set-kernel-modules-path path

Description

Sets a path for where the debugger should scan for kernel modules on host.

When this is set the debugger will try to find kernel modules files that match the ones found by the Linux tracker under this path (including sub-directories).

The path does not have to be an existing host path, it can be any path or pattern for which a path map can then be applied on in the debugger, in order to map this to the actual host directory.

If this is set to an empty string then kernel modules will not be scanned for and the debugger will then only be able to debug kernel modules for which individual path maps have been added.

Provided By

linux-tracker

<linux_tracker_comp>.status

Synopsis

<linux_tracker_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

linux-tracker

<magic_pipe>.info

Synopsis

<magic_pipe>.info

Description

Print detailed information about the configuration of the object.

Provided By

magic-pipe

<magic_pipe>.status

Synopsis

<magic_pipe>.status

Description

Print detailed information about the current status of the object.

Provided By

magic-pipe

<maria_singer>.info

Synopsis

<maria_singer>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<maria_singer>.status

Synopsis

<maria_singer>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<marvin>.info

Synopsis

<marvin>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<marvin>.status

Synopsis

<marvin>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<mcfly>.info

Synopsis

<mcfly>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<mcfly>.status

Synopsis

<mcfly>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<mem-traffic-meter>.info

Synopsis

<mem-traffic-meter>.info

Description

Print detailed information about the configuration of the object.

Provided By

mem-traffic-meter

<mem-traffic-meter>.status

Synopsis

<mem-traffic-meter>.status

Description

Print detailed information about the current status of the object.

Provided By

mem-traffic-meter

<memory-space>.add-map

Synopsis

<memory-space>.add-map device base length [function] [offset] [target] [priority] [align-size] ["swap"]

Description

Map device into a memory-space at address base and with length length.

The device parameter specifies the object to map. It can be a device object, a port object of a device (for a DML device, it is usually a bank object having the object.bank.<bank_name> name), or another memory space. The device argument in the legacy form device:port can be used to map named ports. Providing function maps a legacy device-specific function in the device; function should never be specified for port objects or named ports.

For translator and bridge mappings, a target device should be given.

The mapping may specify an offset into the device's memory space, using the offset argument.

If several mappings overlap, the priority is used to select the mapping that will receive the memory accesses. The priority is an integer between -32768 and 32767; lower numbers have higher priority.

For objects that do not support large accesses, the align-size argument governs how accesses are split before the device is accessed. The default value is 4 bytes for port-space devices and 8 bytes for other devices, but it is not used for memories and memory-space objects (unless set explicitly).

A device mapping may swap the bytes of an access based on the swap argument, that should be one of none, bus, bus-trans and trans. For a description of these, see the documentation of the map attribute in the memory-space class.

Provided By

Simics Core

See Also

<memory-space>.map, <memory-space>.del-map

<memory-space>.check-overlaps

Synopsis

<memory-space>.check-overlaps

Description

The command will go through the memory-space and check for overlaps given addresses and lengths for the same priority levels.

Provided By

Simics Core

See Also

probe-address

<memory-space>.del-map

Synopsis

<memory-space>.del-map device [function] [base]

Description

Remove the mapping of device from a memory-space.

The device argument is the same as in the <memory-space>.add-map command. Please find the argument's description in the documentation of the latter command.

If a function number is given by the function argument, then only mappings with a matching number are removed.

If a base address is specified, only mappings with the matching address are removed.

If both function and base address are specified, only mappings with a matching function number, at the specified address, are removed.

When used in an expression, the command returns the number of removed mappings.

Provided By

Simics Core

See Also

<memory-space>.map, <memory-space>.add-map

<memory-space>.info

Synopsis

<memory-space>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<memory-space>.map

Synopsis

<memory-space>.map

Description

Prints the memory map of the memory space object.

One line per entry in the map attribute of the memory space is printed. The base column is the starting address of the map. The object column contains the object mapped at that address. The fn is the function number (deprecated - should be zero in all new devices). The offset is the offset for the object and the length is the number of bytes mapped. If the line is a translator, space-to-space, or bridge mapping, the target is the destination object of the mapping. The prio is the optional value of precedence. The align is the optional align-size value. The swap is the optional byte-swap value which can be "bus", "bus-trans" or "trans". "Bus" swaps data based on the align-size setting, while "trans" swaps data based on access size, and "bus-trans" is a combination of the two. See Model Builder User's Guide for more information.

If a default target has been set it is displayed at the final line.

Provided By

Simics Core

See Also

<memory-space>.add-map, <memory-space>.del-map, memory-map

<memory-space>.status

Synopsis

<memory-space>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<memory_profiler>.add-filter

Synopsis

<memory_profiler>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

memory-profiler

<memory_profiler>.add-instrumentation

Synopsis

<memory_profiler>.add-instrumentation ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"] [-read-physical] [-read-logical] [-write-physical] [-write-logical] [-execute-physical] [-execute-logical]

Description

Connects the tool to one or several processors as given by the processors argument.The parent argument specifies an hierarchical object and all processors below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Each new connection to the memory profiler can be configured by supplying the following flags:
-read-physical : Enabling profiling of reads to physical addresses
-read-logical : Enabling profiling of read to logical addresses
-write-physical : Enabling profiling of writes to physical addresses
-write-logical : Enabling profiling of writes to logical addresses
-execute-physical : Enabling profiling of instruction execution of physical addresses.
-execute-logical : Enabling profiling of instruction execution of logical addresses.

At least one flag must be specified when connecting.

Provided By

memory-profiler

<memory_profiler>.add-memory-profiler

Synopsis

<memory_profiler>.add-memory-profiler "type" [profiler]

Description

Adds a data profiler to the specified processor that will record either reads or writes to memory (indexed on physical address) depending on whether the type argument is 'read' or 'write'. An existing data profiler may be specified with the profiler argument; otherwise, a new data profiler will be created.

Provided By

Simics Core

<memory_profiler>.delete

Synopsis

<memory_profiler>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

memory-profiler

<memory_profiler>.disable-instrumentation

Synopsis

<memory_profiler>.disable-instrumentation [id] [processor] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The processor selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

memory-profiler

<memory_profiler>.enable-instrumentation

Synopsis

<memory_profiler>.enable-instrumentation [id] [processor] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The processor selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

memory-profiler

<memory_profiler>.info

Synopsis

<memory_profiler>.info

Description

Print detailed information about the configuration of the tool.

Provided By

memory-profiler

<memory_profiler>.list-memory-profilers

Synopsis

<memory_profiler>.list-memory-profilers

Description

Lists all memory profilers connected to the processor, and what kind of data they are collecting.

Provided By

Simics Core

<memory_profiler>.list-providers

Synopsis

<memory_profiler>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

memory-profiler

<memory_profiler>.profile

Synopsis

<memory_profiler>.profile view [granularity] [start] [stop] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Print profile of view, which is in the range 0-5.

Set address granularity, which is 4096 by default. Give start address, which is 0 by default. Give stop address, which is 2^64 - 1 by default. Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

memory-profiler

<memory_profiler>.remove-filter

Synopsis

<memory_profiler>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

memory-profiler

<memory_profiler>.remove-instrumentation

Synopsis

<memory_profiler>.remove-instrumentation [id] ([ processors ... ] | list of processors) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The processors selects the connections towards one or several processors that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

memory-profiler

<memory_profiler>.remove-memory-profiler

Synopsis

<memory_profiler>.remove-memory-profiler "type"

Description

Remove any memory profiler of the specified type ('read' or 'write') currently attached to the processor.

Provided By

Simics Core

<memory_profiler>.status

Synopsis

<memory_profiler>.status

Description

Print detailed information about the current status of the tool.

Provided By

memory-profiler

<memory_space>.debug

Synopsis

<memory_space>.debug ["name"]

Description

Get a debug context for the memory space or processor with the given name.

Also enables the debugger.

Provided By

tcf-agent

<memory_space>.get-string

Synopsis

<memory_space>.get-string address [max-size] [-list] [term]
<memory_space>.read-string address [max-size] [-list] [term]
<port_space>.read-string address [max-size] [-list] [term]

Description

Read up to max-size characters (default 256, maximum 1024) from physical memory at address, returning them as a string or list. The term argument controls how the end of the string in memory is determined. If term is "none" then all max-size characters are read and the returned string will contain any null bytes encountered. If it is "null" (default) the command stops reading from memory when it finds a null-terminator while an error is generated if no null-terminator is found within max-size characters. The "optional-null" argument value is similar to "null" but all max-size characters are returned as a string if no null-terminator is found.

The string is returned as a list of bytes if the -list argument is supplied.

The string read from memory must be in ASCII or UTF-8 encoding to be returned as a CLI string otherwise an exception is raised.

The <memory_space>.get-string command performs the access in inquiry mode without triggering any side-effects while <memory_space>.read-string may trigger side-effects.

Provided By

Simics Core

See Also

<memory_space>.set-string, <memory_space>.read-string, <memory_space>.get, <memory_space>.read

<memory_space>.load-vmem

Synopsis

<memory_space>.load-vmem filename [offset] [word-size] [-b]

Description

Loads the contents of the Verilog VMEM file filename into memory. Simics tries to guess the word size based on the number of digits it sees in the numbers, but this is only a guess. One can specify the word size by passing the word-size argument.

Offsets in the file are interpreted relative to offset and as multiples of word-size.

By default, numbers are assumed to be in little endian format. For example, the following Verilog VMEM file contains the data which will be loaded at address 0x1000:

@00000400 48656D6C 6F2C2057 6F726C64 0AFFFFFF

Byte of the memory at address 0x1000 will get value 0x6c and byte at address 0x1001 will get value 0x6d. If -b is specified, numbers are instead interpreted in big endian format and byte at address 0x1000 will get value 0x48.

This command uses Simics's Search Path and path markers (%simics%, %script%) to find the file to load. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information on how Simics's Search Path is used to locate files.

Provided By

Simics Core

See Also

<memory_space>.save-vmem, <memory_space>.load-intel-hex

<memory_space>.save-vmem

Synopsis

<memory_space>.save-vmem filename [offset] [length] [bytes-per-line] [-skip-offsets] [-skip-zeros] [-b] [-overwrite]

Description

Saves length bytes of the memory at offset offset to the file named filename, in the Verilog VMEM format.

If length is 0, the whole memory content from offset is stored.

The bytes-per-line argument specifies how many bytes to write on each line, defaulting to 16. Each line is written in little endian format, unless -b is specified, in which big endian format is used. An explicit offset is written on each line, unless -skip-offsets is specified, in which case only necessary offsets are written. If -skip-zeros is specified, lines with only zero data will not be written.

The command will fail if the destination file already exists, unless -overwrite is specified.

Provided By

Simics Core

See Also

<memory_space>.load-vmem, <memory_space>.save-intel-hex

<memory_space>.set-string

Synopsis

<memory_space>.set-string "string" address [max-size] [term]
<memory_space>.write-string "string" address [max-size] [term]
<port_space>.write-string "string" address [max-size] [term]

Description

Write up to max-size characters from the string string to physical memory at location address. The term argument determines how the string is terminated in memory. If term is "none", no string terminator is written. If it is "null" (default), a null-terminator is written at the end of the string (meaning that at most max-size - 1 bytes from the string will be written) and for "optional-null", a null-terminator is only added it fits within the max-size character count. Any null characters embedded in the CLI string will be written to memory and not treated as string terminators.

The <memory_space>.set-string command performs the access in inquiry mode without triggering any side-effects while <memory_space>.write-string may trigger side-effects.

Provided By

Simics Core

See Also

<memory_space>.get-string, <memory_space>.write-string, <memory_space>.set, <memory_space>.write

<micron_mtfc128gap_emmc_card>.info

Synopsis

<micron_mtfc128gap_emmc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc128gap_emmc_card>.status

Synopsis

<micron_mtfc128gap_emmc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<micron_mtfc16gap_emmc_card>.info

Synopsis

<micron_mtfc16gap_emmc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc16gap_emmc_card>.status

Synopsis

<micron_mtfc16gap_emmc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<micron_mtfc2ggqdi_emmc_card>.info

Synopsis

<micron_mtfc2ggqdi_emmc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc2ggqdi_emmc_card>.status

Synopsis

<micron_mtfc2ggqdi_emmc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<micron_mtfc32gap_emmc_card>.info

Synopsis

<micron_mtfc32gap_emmc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc32gap_emmc_card>.status

Synopsis

<micron_mtfc32gap_emmc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<micron_mtfc4gacaeam_emmc_card>.info

Synopsis

<micron_mtfc4gacaeam_emmc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc4gacaeam_emmc_card>.status

Synopsis

<micron_mtfc4gacaeam_emmc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<micron_mtfc4gacaeam_emmc_card_with_boot_part>.info

Synopsis

<micron_mtfc4gacaeam_emmc_card_with_boot_part>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc4gacaeam_emmc_card_with_boot_part>.status

Synopsis

<micron_mtfc4gacaeam_emmc_card_with_boot_part>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<micron_mtfc4ggqdi_emmc_card>.info

Synopsis

<micron_mtfc4ggqdi_emmc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc4ggqdi_emmc_card>.status

Synopsis

<micron_mtfc4ggqdi_emmc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<micron_mtfc4ggqdi_sdhc_card>.info

Synopsis

<micron_mtfc4ggqdi_sdhc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc4ggqdi_sdhc_card>.status

Synopsis

<micron_mtfc4ggqdi_sdhc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<micron_mtfc64gap_emmc_card>.info

Synopsis

<micron_mtfc64gap_emmc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc64gap_emmc_card>.status

Synopsis

<micron_mtfc64gap_emmc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<micron_mtfc64ggqdi_sdhc_card>.info

Synopsis

<micron_mtfc64ggqdi_sdhc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc64ggqdi_sdhc_card>.status

Synopsis

<micron_mtfc64ggqdi_sdhc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<micron_mtfc8gacaeam_emmc_card>.info

Synopsis

<micron_mtfc8gacaeam_emmc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc8gacaeam_emmc_card>.status

Synopsis

<micron_mtfc8gacaeam_emmc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<micron_mtfc8gam_emmc_card>.info

Synopsis

<micron_mtfc8gam_emmc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

mmc-card-comp

<micron_mtfc8gam_emmc_card>.status

Synopsis

<micron_mtfc8gam_emmc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

mmc-card-comp

<mii-management-bus>.info

Synopsis

<mii-management-bus>.info

Description

Print detailed information about the configuration of the object.

Provided By

mii-management-bus

<mii-management-bus>.status

Synopsis

<mii-management-bus>.status

Description

Print detailed information about the current status of the object.

Provided By

mii-management-bus

<mii-transceiver>.info

Synopsis

<mii-transceiver>.info

Description

Print detailed information about the configuration of the object.

Provided By

mii-transceiver

<mii-transceiver>.status

Synopsis

<mii-transceiver>.status

Description

Print detailed information about the current status of the object.

Provided By

mii-transceiver

<mmc_card>.info

Synopsis

<mmc_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

generic-sdmmc-card

<mmc_card>.status

Synopsis

<mmc_card>.status

Description

Print detailed information about the current status of the object.

Provided By

generic-sdmmc-card

<mmc_card_comp>.info

Synopsis

<mmc_card_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-comp

<mmc_card_comp>.status

Synopsis

<mmc_card_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

std-comp

<motherboard_x86_simple>.info

Synopsis

<motherboard_x86_simple>.info

Description

Print detailed information about the configuration of the object.

Provided By

x86-comp

<motherboard_x86_simple>.status

Synopsis

<motherboard_x86_simple>.status

Description

Print detailed information about the current status of the object.

Provided By

x86-comp

<motherboard_x86_simple_no_apic>.info

Synopsis

<motherboard_x86_simple_no_apic>.info

Description

Print detailed information about the configuration of the object.

Provided By

x86-comp

<motherboard_x86_simple_no_apic>.status

Synopsis

<motherboard_x86_simple_no_apic>.status

Description

Print detailed information about the current status of the object.

Provided By

x86-comp

<mtprof>.cellstat

Synopsis

<mtprof>.cellstat

Description

Presents a table with per-cell information about how much cpu-time has been spent simulating processors and devices.

The rt column contains the accumulated time measured in seconds. The %elapsed column contains the same data expressed as a fraction of the time the simulation has been running. The %cputime column, presents the data as a fraction of the total cpu time used for the simulation.

Provided By

mtprof

<mtprof>.disable

Synopsis

<mtprof>.disable

Description

Disable multithreaded simulation profiling.

Provided By

mtprof

<mtprof>.enable

Synopsis

<mtprof>.enable [interval]

Description

Enable multithreaded simulation profiling. The amount of host cpu time required to simulate each cell is measured every interval virtual ms.

The collected data is fed into a performance model which estimates how fast the simulation would run on a system with enough host cores and Simics Accelerator licenses to allow each cell to run on a dedicated core. The performance model also gives some insights into the performance implications of various min-latency settings (settable though the set-min-latency commands).

The interval parameter should normally be set to a value of the some order as the min-latency setting of interest.

Provided By

mtprof

<mtprof>.info

Synopsis

<mtprof>.info

Description

Print detailed information about the configuration of the object.

Provided By

mtprof

<mtprof>.modelstat

Synopsis

<mtprof>.modelstat

Description

Helps estimating how fast the simulation would run on a host machine with enough cores to allow each cell to run on a dedicated host thread.

The latency column roughly corresponds to different min-latency settings (see set-min-latency).

The performance model which generates the estimate essentially models the time synchronization mechanism which keeps the virtual time in different cells in sync. It is important to note that the model does not factor in target behavior changes due to a differing latency setting, and this is often a major factor.

The lowest latency to be modeled can be specified with the enable-mtprof.

Provided By

mtprof

<mtprof>.save-data

Synopsis

<mtprof>.save-data [file] [-model] [-no-cell-data] [-octave] [-oplot]

Description

Save collected cell performance data to file in the form of a table. The default columns are virtual time, real time and per-cell cpu time.

Predicted execution time on a sufficiently parallel host machine is included in the table if the command is -model switch is used.

The -octave or -oplot switches can be used to generate output data suitable for Octave. The later of these two options causes explicit plot commands to be included in the output.

The -no-cell-data switch causes per-cell data to be omitted from the table.

The output data is either printed on stdout or saved the file, if specified.

Provided By

mtprof

<mtprof>.status

Synopsis

<mtprof>.status

Description

Print detailed information about the current status of the object.

Provided By

mtprof

<nemo>.info

Synopsis

<nemo>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<nemo>.status

Synopsis

<nemo>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<network_breakpoint>.bp-break-network

Synopsis

<network_breakpoint>.bp-break-network ["src_mac"] ["dst_mac"] [eth_type] [-once]

Description

Set Simics to break simulation when src_mac, dst_mac or eth_type is discovered in the network stream by the link.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<network_breakpoint>.bp-run-until-network

Synopsis

<network_breakpoint>.bp-run-until-network ["src_mac"] ["dst_mac"] [eth_type] [timeout] [timeout-rt]

Description

Enable tracing of appearances of the src_mac, dst_mac or eth_type is discovered in the network stream by the link.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<network_breakpoint>.bp-trace-network

Synopsis

<network_breakpoint>.bp-trace-network ["src_mac"] ["dst_mac"] [eth_type]

Description

Postspones execution of a script branch until specified src_mac, dst_mac or eth_type is discovered in the network stream by the link.

Provided By

bp-manager

<network_breakpoint>.bp-wait-for-network

Synopsis

<network_breakpoint>.bp-wait-for-network ["src_mac"] ["dst_mac"] [eth_type] [timeout] [timeout-rt]

Description

Run Simulation until specified src src_mac, dst_mac or eth_type is discovered in the network stream by the link.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<nikita>.info

Synopsis

<nikita>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<nikita>.status

Synopsis

<nikita>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<onfi_flash>.info

Synopsis

<onfi_flash>.info

Description

Print detailed information about the configuration of the object.

Provided By

onfi-flash

<onfi_flash>.status

Synopsis

<onfi_flash>.status

Description

Print detailed information about the current status of the object.

Provided By

onfi-flash

<os_awareness>.active-node

Synopsis

<os_awareness>.active-node [-id] [cpu-name|-all] [node]

Description

List the canonical node path for all leaf nodes that have an active processor.

The current processor is automatically selected unless a processor is given by the cpu-name argument, or the -all argument is used to list the active nodes for all processors that the os awareness system is aware of.

Node numbers are returned instead of the node paths, when the -id argument is given.

A subset of the nodes can be selected with the node argument.

Provided By

os-awareness

See Also

<os_awareness>.find, <os_awareness>.list, <os_awareness>.node-info, <os_awareness>.node-tree

<os_awareness>.delete-tracker

Synopsis

<os_awareness>.delete-tracker

Description

Delete the tracker component inserted into this software domain.

This deletes all of the sub-objects of the tracker component, including any sub-trackers inserted under it. It will fail if there is no tracker inserted or if OS Awareness is currently enabled for this software domain.

Provided By

os-awareness

See Also

<os_awareness>.insert-tracker

<os_awareness>.disable-tracker

Synopsis

<os_awareness>.disable-tracker

Description

Stop tracking the software running on the target system.

When tracking is disabled, it is no longer possible to follow individual processes and tasks. Note that if another user, such as Eclipse, has activated the tracker, the tracker will remain active.

Provided By

os-awareness

See Also

<os_awareness>.enable-tracker

<os_awareness>.enable-tracker

Synopsis

<os_awareness>.enable-tracker

Description

Start tracking the software running on the target system.

This allows inspection of processes and tasks and other operating system information for the software running on the target. It is also required to do other tracking operations such as process debugging or analysis.

Provided By

os-awareness

See Also

<os_awareness>.disable-tracker

<os_awareness>.find

Synopsis

<os_awareness>.find node [-unique] [-raise] [-id] [root-id]

Description

Search for a node in the node tree. The find command takes a node specification as input and from that finds all nodes matching the expression. By default the matching nodes are represented with their node path specification. If this command is run from the CLI the matching nodes will be printed on the console. If this command is run from a script it will return a list with the result.

The node contains the node specification to use when searching for matching nodes. This is backward compatible with the old system. If the node argument is an integer only, it will be treated as a node id. For more information about node specifications please see the Analyzer User's Guide.

The -id parameter can be specified in order to identify the matched nodes with their node id instead of with a node path.

The -unique parameter can be specified to only allow one matching node to be found. If multiple matches are found, no matches at all will be listed.

The -raise can be used to specify that the command should raise a CliError if no nodes are found. It can also be used in combination with the -unique parameter to force an exception if multiple nodes matches the node specification.

The root-id argument specifies if only nodes belonging to that specific node tree should be searched for. Leaving this out will search all node trees.

Provided By

os-awareness

See Also

<os_awareness>.active-node, <os_awareness>.list, <os_awareness>.node-info, <os_awareness>.node-tree

<os_awareness>.info

Synopsis

<os_awareness>.info

Description

Print detailed information about the configuration of the object.

Provided By

os-awareness

<os_awareness>.insert-tracker

Synopsis

<os_awareness>.insert-tracker "tracker" [parameters] ["name"]

Description

Create and insert a new child tracker component.

The tracker will be configured as a child tracker of this tracker.

The tracker argument specifies the tracker component to be inserted.

The optional parameters argument is used to set parameters for the inserted tracker. This should be an existing file with the configuration parameters for that tracker.

The name argument can be used to specify the component name in the component hierarchy. If this argument is ignored a default component name set by the component will be used.

Provided By

os-awareness

<os_awareness>.list

Synopsis

<os_awareness>.list [root-id]

Description

Prints a list of all processes in the system (or tasks, or whatever the currently active operating system calls them). Some additional information, such as the ID of each process, is usually printed as well.

The root-id argument can be used to specify that only processes belonging to that specific node tree should be listed.

Provided By

os-awareness

See Also

<os_awareness>.active-node, <os_awareness>.find, <os_awareness>.node-info, <os_awareness>.node-tree

<os_awareness>.node-info

Synopsis

<os_awareness>.node-info node

Description

Prints the name and value of all properties of the given node.

Provided By

os-awareness

See Also

<os_awareness>.active-node, <os_awareness>.find, <os_awareness>.list, <os_awareness>.node-tree

<os_awareness>.node-tree

Synopsis

<os_awareness>.node-tree [-id] [root-id]

Description

Lists the node trees for an active software tracker for debugging purposes. In the general case the first level node represents an operating system. The second level nodes represent the kernel and the userspace of the OS. Further node levels are tracker specific.

The -id argument specifies if node ids should be printed in the node tree.

The root-id argument specifies if only that specific node tree should be printed.

Active nodes will be indicated by the "*" character.

See document "Analyzer - User's Guide", chapter "OS Awareness Details".

Provided By

os-awareness

See Also

<os_awareness>.active-node, <os_awareness>.find, <os_awareness>.list, <os_awareness>.node-info

<os_awareness>.status

Synopsis

<os_awareness>.status

Description

Print detailed information about the current status of the object.

Provided By

os-awareness

<osa_component>.bp-break

Synopsis

<osa_component>.bp-break ("node-pattern"|node-id) (-active|-inactive) [-immediately] [cpu] [-once]

Description

Stop the simulation when one or more OS Awareness nodes that matches node-pattern or node-id becomes active (-active) or inactive (-inactive).

The nodes that are evaluated are specified in either in the node-pattern or in the node-id. The node-pattern parameter should contain string with a node path pattern. Node path patterns are described in the Analyzer User's Guide. The node-id parameter should contain a node-id.

If -immediately is specified, and the node condition is true when the command is issued, the command take action immediately, otherwise, the next time the node condition evaluates to true.

If a cpu is specified, this command will ignore events on all other processors. The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<osa_component>.bp-run-until

Synopsis

<osa_component>.bp-run-until ("node-pattern"|node-id) (-active|-inactive) [-immediately] [cpu] [timeout] [timeout-rt]

Description

Run until one or more OS Awareness nodes that matches node-pattern or node-id becomes active (-active) or inactive (-inactive).

The nodes that are evaluated are specified in either in the node-pattern or in the node-id. The node-pattern parameter should contain string with a node path pattern. Node path patterns are described in the Analyzer User's Guide. The node-id parameter should contain a node-id.

If -immediately is specified, and the node condition is true when the command is issued, the command take action immediately, otherwise, the next time the node condition evaluates to true.

If a cpu is specified, this command will ignore events on all other processors. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<osa_component>.bp-trace

Synopsis

<osa_component>.bp-trace ("node-pattern"|node-id) (-active|-inactive) [-immediately] [cpu]

Description

Trace when one or more OS Awareness nodes that matches node-pattern or node-id becomes active (-active) or inactive (-inactive).

The nodes that are evaluated are specified in either in the node-pattern or in the node-id. The node-pattern parameter should contain string with a node path pattern. Node path patterns are described in the Analyzer User's Guide. The node-id parameter should contain a node-id.

If -immediately is specified, and the node condition is true when the command is issued, the command take action immediately, otherwise, the next time the node condition evaluates to true.

If a cpu is specified, this command will ignore events on all other processors.

Provided By

bp-manager

<osa_component>.bp-wait-for

Synopsis

<osa_component>.bp-wait-for ("node-pattern"|node-id) (-active|-inactive) [-immediately] [cpu] [timeout] [timeout-rt]

Description

Postpone execution of a script branch until one or more OS Awareness nodes that matches node-pattern or node-id becomes active (-active) or inactive (-inactive).

The nodes that are evaluated are specified in either in the node-pattern or in the node-id. The node-pattern parameter should contain string with a node path pattern. Node path patterns are described in the Analyzer User's Guide. The node-id parameter should contain a node-id.

If -immediately is specified, and the node condition is true when the command is issued, the command take action immediately, otherwise, the next time the node condition evaluates to true.

If a cpu is specified, this command will ignore events on all other processors. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<osa_parameters>.load-parameters

Synopsis

<osa_parameters>.load-parameters file

Description

Load configuration parameters for a software tracker from a file. The file argument should point to the file containing the parameters configuration.

To create a tracker configuration parameter file, refer to the documentation of the software tracker that will be used (typically the tracker inserted with command <os_awareness>.insert-tracker). Usually software tracker component and class have a detect-parameters command which can be used to create a configuration parameter file. To find the detect-parameters command, issue apropos detect-parameters in the Simics CLI.

Provided By

os-awareness

See Also

<osa_parameters>.save-parameters, <osa_parameters>.supports-parameters

<osa_parameters>.save-parameters

Synopsis

<osa_parameters>.save-parameters file [-no-children] [-overwrite]

Description

Save the current configuration parameters to a file.

The file argument points to the file that should be written. If the -overwrite argument is given any existing file will be overwritten.

The -no-children argument can be used to exclude parameters of child trackers, this is only meaningful for stacked trackers with guests, such as Hypervisor trackers.

Provided By

os-awareness

See Also

<osa_parameters>.load-parameters, <osa_parameters>.supports-parameters

<osa_parameters>.supports-parameters

Synopsis

<osa_parameters>.supports-parameters file

Description

Returns TRUE if the parameters in file are of a type supported by this tracker. This does not guarantee that the parameters are valid and can actually be set, as they may still be broken, or not match the software that is running on the target.

Provided By

os-awareness

See Also

<osa_parameters>.load-parameters, <osa_parameters>.save-parameters

<partition_mapper>.info

Synopsis

<partition_mapper>.info

Description

Print detailed information about the configuration of the object.

Provided By

partition-tracker

<partition_mapper>.status

Synopsis

<partition_mapper>.status

Description

Print detailed information about the current status of the object.

Provided By

partition-tracker

<partition_tracker>.info

Synopsis

<partition_tracker>.info

Description

Print detailed information about the configuration of the object.

Provided By

partition-tracker

<partition_tracker>.status

Synopsis

<partition_tracker>.status

Description

Print detailed information about the current status of the object.

Provided By

partition-tracker

<partition_tracker_comp>.info

Synopsis

<partition_tracker_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

partition-tracker

<partition_tracker_comp>.insert-empty-partition

Synopsis

<partition_tracker_comp>.insert-empty-partition "partition" cpus

Description

Add a new partition that is not associated with any tracker.

partition specifies the name of the partition and cpus specifies the processors that are assigned to the partition.

Run the <partition_tracker_comp>.insert-tracker with the node argument to insert a tracker on the empty partition.

Provided By

partition-tracker

<partition_tracker_comp>.insert-tracker

Synopsis

<partition_tracker_comp>.insert-tracker "tracker" [parameters] ["name"] ("partition"|node) [cpus]

Description

Create and insert a new child tracker component.

The tracker will be configured as a child tracker of this tracker.

The tracker argument specifies the tracker component to be inserted.

The optional parameters argument is used to set parameters for the inserted tracker. This should be an existing file with the configuration parameters for that tracker.

The name argument can be used to specify the component name in the component hierarchy. If this argument is ignored a default component name set by the component will be used.

The partition argument is used to specify the partition name. This is required if the partition is not inserted on an empty node. In that case the node argument is used to insert a tracker on an existing node for an empty partition. The node should be given as a node path pattern or a node number.

The cpus argument is a list of processors to be assigned to the added partition. This argument is required if the partition argument is used and should only be used in that case, when then node argument is used that partition should already have processors assigned to it.

Provided By

partition-tracker

<partition_tracker_comp>.remove-partition

Synopsis

<partition_tracker_comp>.remove-partition ("partition"|node|id)

Description

Remove a partition by selecting either a partition name, a node specification or a partition id.

Provided By

partition-tracker

<partition_tracker_comp>.status

Synopsis

<partition_tracker_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

partition-tracker

<pc-shadow>.info

Synopsis

<pc-shadow>.info

Description

Print detailed information about the configuration of the object.

Provided By

pc-shadow

<pc-shadow>.status

Synopsis

<pc-shadow>.status

Description

Print the shadow RAM status for each 2kb region between 640kb and 1Mb.

Provided By

pc-shadow

<pci-bus>.info

Synopsis

<pci-bus>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-bus

<pci-controller-connector>.info

Synopsis

<pci-controller-connector>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-bp

<pci-controller-connector>.status

Synopsis

<pci-controller-connector>.status

Description

Print detailed information about the current status of the object.

Provided By

std-bp

<pci-device-connector>.info

Synopsis

<pci-device-connector>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-bp

<pci-device-connector>.status

Synopsis

<pci-device-connector>.status

Description

Print detailed information about the current status of the object.

Provided By

std-bp

<pci_accel_vga_comp>.info

Synopsis

<pci_accel_vga_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_accel_vga_comp>.status

Synopsis

<pci_accel_vga_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_accel_vga_v2_comp>.info

Synopsis

<pci_accel_vga_v2_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_accel_vga_v2_comp>.status

Synopsis

<pci_accel_vga_v2_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_am79c973_comp>.info

Synopsis

<pci_am79c973_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_am79c973_comp>.status

Synopsis

<pci_am79c973_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_bcm5703c_comp>.info

Synopsis

<pci_bcm5703c_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_bcm5703c_comp>.status

Synopsis

<pci_bcm5703c_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_bcm5704c_comp>.info

Synopsis

<pci_bcm5704c_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_bcm5704c_comp>.status

Synopsis

<pci_bcm5704c_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_dec21041_comp>.info

Synopsis

<pci_dec21041_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_dec21041_comp>.status

Synopsis

<pci_dec21041_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_dec21140>.info

Synopsis

<pci_dec21140>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_dec21140>.status

Synopsis

<pci_dec21140>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_dec21140_panel>.info

Synopsis

<pci_dec21140_panel>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_dec21140_panel>.status

Synopsis

<pci_dec21140_panel>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_dec21140a_comp>.info

Synopsis

<pci_dec21140a_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_dec21140a_comp>.status

Synopsis

<pci_dec21140a_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_dec21143_comp>.info

Synopsis

<pci_dec21143_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_dec21143_comp>.status

Synopsis

<pci_dec21143_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_i21152_comp>.info

Synopsis

<pci_i21152_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_i21152_comp>.status

Synopsis

<pci_i21152_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_i82543gc_comp>.info

Synopsis

<pci_i82543gc_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_i82543gc_comp>.status

Synopsis

<pci_i82543gc_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_i82546bg_comp>.info

Synopsis

<pci_i82546bg_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_i82546bg_comp>.status

Synopsis

<pci_i82546bg_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_i82559_comp>.info

Synopsis

<pci_i82559_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_i82559_comp>.status

Synopsis

<pci_i82559_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_pd6729_comp>.info

Synopsis

<pci_pd6729_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_pd6729_comp>.status

Synopsis

<pci_pd6729_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pci_proxy>.info

Synopsis

<pci_proxy>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-proxy

<pci_proxy>.status

Synopsis

<pci_proxy>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-proxy

<pci_proxy_mf>.info

Synopsis

<pci_proxy_mf>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-proxy

<pci_proxy_mf>.status

Synopsis

<pci_proxy_mf>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-proxy

<pci_vga_comp>.info

Synopsis

<pci_vga_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

pci-comp

<pci_vga_comp>.status

Synopsis

<pci_vga_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

pci-comp

<pcie-bus>.info

Synopsis

<pcie-bus>.info

Description

Print detailed information about the configuration of the object.

Provided By

pcie-bus

<pcie-downstream-port-legacy.cfg>.map

Synopsis

<pcie-downstream-port-legacy.cfg>.map

Description

Prints the memory map of the port's memory space object.

Provided By

pcie-downstream-port

See Also

<memory-space>.map

<pcie-downstream-port-legacy.io>.map

Synopsis

<pcie-downstream-port-legacy.io>.map

Description

Prints the memory map of the port's memory space object.

Provided By

pcie-downstream-port

See Also

<memory-space>.map

<pcie-downstream-port-legacy.mem>.map

Synopsis

<pcie-downstream-port-legacy.mem>.map

Description

Prints the memory map of the port's memory space object.

Provided By

pcie-downstream-port

See Also

<memory-space>.map

<pcie-downstream-port-legacy.msg>.map

Synopsis

<pcie-downstream-port-legacy.msg>.map

Description

Prints the memory map of the port's memory space object.

Provided By

pcie-downstream-port

See Also

<memory-space>.map

<pcie-downstream-port-legacy>.info

Synopsis

<pcie-downstream-port-legacy>.info

Description

Print detailed information about the configuration of the object.

Provided By

pcie-downstream-port

<pcie-downstream-port-legacy>.status

Synopsis

<pcie-downstream-port-legacy>.status

Description

Print detailed information about the current status of the object.

Provided By

pcie-downstream-port

<pcie-downstream-port.cfg>.map

Synopsis

<pcie-downstream-port.cfg>.map

Description

Prints the memory map of the port's memory space object.

Provided By

pcie-downstream-port

See Also

<memory-space>.map

<pcie-downstream-port.io>.map

Synopsis

<pcie-downstream-port.io>.map

Description

Prints the memory map of the port's memory space object.

Provided By

pcie-downstream-port

See Also

<memory-space>.map

<pcie-downstream-port.mem>.map

Synopsis

<pcie-downstream-port.mem>.map

Description

Prints the memory map of the port's memory space object.

Provided By

pcie-downstream-port

See Also

<memory-space>.map

<pcie-downstream-port.msg>.map

Synopsis

<pcie-downstream-port.msg>.map

Description

Prints the memory map of the port's memory space object.

Provided By

pcie-downstream-port

See Also

<memory-space>.map

<pcie-downstream-port>.info

Synopsis

<pcie-downstream-port>.info

Description

Print detailed information about the configuration of the object.

Provided By

pcie-downstream-port

<pcie-downstream-port>.status

Synopsis

<pcie-downstream-port>.status

Description

Print detailed information about the current status of the object.

Provided By

pcie-downstream-port

<pcie_function_info>.pcie-dma-read

Synopsis

<pcie_function_info>.pcie-dma-read address [size] [-l] [-b] [-inquiry] [-add-atoms]

Description

PCIe DMA read from a PCIe function. The DMA will be of size bytes to address. The default size is 4 bytes, but it can be anywhere between 1 and 1024 inclusive. This command will issue a transaction with the payload and flags set, pcie_requester_id atom set to the device id of the PCIe function, the pcie_type atom set to PCIE_Type_Mem and the initiator atom set to the function object. It will issue the transaction to the upstream target of the PCIe device the function belongs to.

The -inquiry flag is used to mark the issued transaction as an inquiry, which result in the DMA setting the memory without any side-effects. By default, the transaction is not using the inquiry flag.

The -l and -b flags are used to select little-endian or big-endian byte order, respectively used to determine how the bytes in memory should be interpreted as a value. If neither is given, then little endian is used.

Transaction atoms can be used for routing rules and access rights in a platform. The -add-atoms flag opens up the capability to set transaction atoms on the command line: once the flag is set the command accepts additional arguments that have names starting with ATOM_ prefix. Tab complete after setting the -add-atoms flag to see the available atoms. These arguments are used by the command to pass in atom values to the translators it passes through during the transaction probing.

Please note that the ATOM_... arguments can be used only to specify values for transaction atoms that have integer values and provide Python wrappings. Complex atoms such as pointers and structures are not available from CLI.

Note! The data, flags, pcie_requester_id, pcie_type and initiator atoms will be ignored if they are set using the -add-atoms as those are added by this command.

Provided By

Simics Core

See Also

<pcie_function_info>.pcie-dma-write

<pcie_function_info>.pcie-dma-write

Synopsis

<pcie_function_info>.pcie-dma-write address value [size] [-l] [-b] [-t] [-fit] [-inquiry] [-add-atoms]

Description

PCIe DMA write from a PCIe function. The DMA will be of size bytes to address with value. The default size is 4 bytes, but it can be anywhere between 1 and 1024 inclusive. If value is larger than the specified size, an error is given. Unless -t is specified, the value will be truncated to size bytes. If -fit is specified, the value will be fitted to the least number of bytes that can hold the value (size must not be smaller than then the least number of bytes needed). This command will issue a transaction with the payload and flags set, pcie_requester_id atom set to the device id of the PCIe function, the pcie_type atom set to PCIE_Type_Mem and the initiator atom set to the function object. It will issue the transaction to the upstream target of the PCIe device the function belongs to.

The -inquiry flag is used to mark the issued transaction as an inquiry, which result in the DMA setting the memory without any side-effects. By default, the transaction is not using the inquiry flag.

The -l and -b flags are used to select little-endian or big-endian byte order, respectively used to determine how the bytes in memory should be interpreted as a value. If neither is given, then little endian is used.

Transaction atoms can be used for routing rules and access rights in a platform. The -add-atoms flag opens up the capability to set transaction atoms on the command line: once the flag is set the command accepts additional arguments that have names starting with ATOM_ prefix. Tab complete after setting the -add-atoms flag to see the available atoms. These arguments are used by the command to pass in atom values to the translators it passes through during the transaction probing.

Please note that the ATOM_... arguments can be used only to specify values for transaction atoms that have integer values and provide Python wrappings. Complex atoms such as pointers and structures are not available from CLI.

Note! The data, flags, pcie_requester_id, pcie_type and initiator atoms will be ignored if they are set using the -add-atoms as those are added by this command.

Provided By

Simics Core

See Also

<pcie_function_info>.pcie-dma-read

<pcmcia_flash_disk_comp>.info

Synopsis

<pcmcia_flash_disk_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-comp

<pcmcia_flash_disk_comp>.status

Synopsis

<pcmcia_flash_disk_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

std-comp

<persistent-ram>.info

Synopsis

<persistent-ram>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<persistent-ram>.status

Synopsis

<persistent-ram>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<phy_comp>.info

Synopsis

<phy_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

phy-comp

<phy_comp>.status

Synopsis

<phy_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

phy-comp

<pipe_manager>.info

Synopsis

<pipe_manager>.info

Description

Print detailed information about the configuration of the object.

Provided By

pipe-manager-example

<pipe_manager>.status

Synopsis

<pipe_manager>.status

Description

Print detailed information about the current status of the object.

Provided By

pipe-manager-example

<port-forward-outgoing-server>.status

Synopsis

<port-forward-outgoing-server>.status

Description

Print detailed information about the current status of the object.

Provided By

service-node

<port-space>.add-map

Synopsis

<port-space>.add-map device base length [function] [offset]

Description

Map device into a port-space at address base and with length length. Different mappings of the same device may be identified by a device specific function number. The mapping may specify an offset into the device's memory space, using the offset argument.

Provided By

Simics Core

See Also

<port-space>.map, <port-space>.del-map

<port-space>.del-map

Synopsis

<port-space>.del-map device [function] [base]

Description

Remove the mapping of device from a port-space. If a function number is given by the function argument, then only mappings with a matching number is removed.

If a base address is specified, only mappings with the matching address are removed.

Provided By

Simics Core

See Also

<port-space>.map, <port-space>.add-map

<port-space>.info

Synopsis

<port-space>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<port-space>.map

Synopsis

<port-space>.map

Description

Prints the memory map of the memory space object.

One line per entry in the map attribute of the memory space is printed. The base column is the starting address of the map. The object column contains the object mapped at that address. The fn is the function number (deprecated - should be zero in all new devices). The offset is the offset for the object and the length is the number of bytes mapped.

Provided By

Simics Core

See Also

<port-space>.add-map, <port-space>.del-map, memory-map

<port-space>.status

Synopsis

<port-space>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<port_space>.get-string

Synopsis

<port_space>.get-string address [max-size] [-list] [term]

Description

Read up to max-size characters (default 256, maximum 1024) from physical memory at address, returning them as a string or list. The term argument controls how the end of the string in memory is determined. If term is "none" then all max-size characters are read and the returned string will contain any null bytes encountered. If it is "null" (default) the command stops reading from memory when it finds a null-terminator while an error is generated if no null-terminator is found within max-size characters. The "optional-null" argument value is similar to "null" but all max-size characters are returned as a string if no null-terminator is found.

The string is returned as a list of bytes if the -list argument is supplied.

The string read from memory must be in ASCII or UTF-8 encoding to be returned as a CLI string otherwise an exception is raised.

The <port_space>.get-string command performs the access in inquiry mode without triggering any side-effects while <port_space>.read-string may trigger side-effects.

Provided By

Simics Core

See Also

<port_space>.set-string, <port_space>.read-string, <port_space>.get, <port_space>.read

<port_space>.set-string

Synopsis

<port_space>.set-string "string" address [max-size] [term]

Description

Write up to max-size characters from the string string to physical memory at location address. The term argument determines how the string is terminated in memory. If term is "none", no string terminator is written. If it is "null" (default), a null-terminator is written at the end of the string (meaning that at most max-size - 1 bytes from the string will be written) and for "optional-null", a null-terminator is only added it fits within the max-size character count. Any null characters embedded in the CLI string will be written to memory and not treated as string terminators.

The <port_space>.set-string command performs the access in inquiry mode without triggering any side-effects while <port_space>.write-string may trigger side-effects.

Provided By

Simics Core

See Also

<port_space>.get-string, <port_space>.write-string, <port_space>.set, <port_space>.write

<preferences>.info

Synopsis

<preferences>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<preferences>.status

Synopsis

<preferences>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<probe_monitor>.add-probe

Synopsis

<probe_monitor>.add-probe [-verbose] [-hidden] [-no-sampling] ([ "probe-kind" ... ] | list of "probe-kind") ([ "probe" ... ] | list of "probe") [mode]

Description

Add probes to the monitor. Using the probe-kind argument will add all instances of that probe to the monitor, i.e. all objects that have that probe, will be added.

To be more selective on which objects that should be monitored, the probe argument can be used instead, specific which object's probes that should be added.

Either way a prefix which ends with a dot (.) is allowed to add any probes below the prefix in the probe name hierarchy, e.g., probe="board.mb.cpu[0]:cpu." will add all probes that start with "cpu.". in the board.mb.cpu[0] object, and similarly, a probe-kind of just "cpu." will add all probes having "cpu." as prefix, in all objects.

The mode argument tells the monitor how the probe values should be display in each sample, by default the delta value from last sample is shown. Other options are current and session. current means the actual probe value is displayed in each sample. With the session mode, the delta value since the probe was added to the monitor is displayed.

For example, a steps probe might have a value of several millions when you add the probe to the monitor. With current the full number will be displayed, with session it will start at zero and increase. The delta will show the number of steps between each sample.

A probe can be added with different modes by using the command repeatedly. A probe can only be added once in each mode and adding it several time will have no effect.

If -verbose is given all the proves added are logged to the console.

The -hidden flag can be used to collect a probe during sampling, but not print the value on the console. (Reducing the width and the amount of data being presented). Hidden probes will still be printed by the various commands that list or export the data.

The -no-sampling flags tells the monitor to ignore the probe in each sample, and only display the final probe value. The probe will however be available in the <probe_monitor>.summary and <probe_monitor>.export-to-json commands. The purpose of this is to reduce memory footprint and to lower sampling overhead.

The command returns a list of the probe names added if used as a value.

Provided By

probe-monitor

See Also

<probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.clear-history

Synopsis

<probe_monitor>.clear-history

Description

Clear the collected history of sampled data.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.delete

Synopsis

<probe_monitor>.delete

Description

Delete the monitor and all sampling activities.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.export-json

Synopsis

<probe_monitor>.export-json filename ["workload"] [-indent]

Description

Save all probe data to the JSON file filename. The workload specifies what that has been executed, this is also saved in the JSON file. The -indent flag causes the json output to be properly indented for readability, but also makes the file larger.

Additional information on Simics, the host and target is also saved.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.force-sample

Synopsis

<probe_monitor>.force-sample

Description

Force a sample to be triggered. For various testing scenarios, it can be useful to trigger a sample manually. For example to get a final sample of data measured, but not yet included in a sample.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.html-report

Synopsis

<probe_monitor>.html-report [html-dir] [probe-json-file] [graph-spec-json-file] [-open-browser] [-one-page]

Description

Produce a performance report in HTML. The graphs that are included depend on the probes that have been monitored. The <arg>html-dir</arg> argument specifies the directory for the HTML report. If not specified, a temporary directory will be created. The file "index.html" is the start page. The <arg>probe-json-file</arg> can specify an already generated json file containing the probe information, and a report of its data will be presented (instead of the current session). The <arg>graph-spec-json-file</arg> argument points out an json file used for selecting which graphs to produce. If not specified, a default file will be used. The <tt>-open-browser</tt> switch starts a web-browser directly on the generated file. To decrease browser load time, and to make the main-page more high-level, some graphs can request to be added to sub-pages instead of the main page. The <tt>-one-page</tt> switch prevents this and puts all graphs on the same page. The graph specification (see <arg>graphs-spec-json-file</arg) defines which graphs that should be generated. The top-level <tt>"graphs"</tt> key holds a value-list of all defined graphs. In this list, each graph support the following key/value pairs: <br/>Key:"<b>description</b>" Type:<i>list or str</i> Default:<i>No description</i><br/>Optional. A textual description of what a graph represents.<br/><br/>Key:"<b>title</b>" Type:<i>str</i> Default:<i>None</i><br/>Mandatory. Specifies the main title of the graph. The title is also used to identification, if there is a problem in the json file.<br/><br/>Key:"<b>x_axis_title</b>" Type:<i>str</i> Default:<i>None</i><br/>Optional. Specifies the title of the x-axis. If not supplied, the name will be taken from the x-probe's display-name. For histogram-probes' the key-value pairs are unnamed so here the name can represent the key type.<br/><br/>Key:"<b>y_axis_title</b>" Type:<i>str</i> Default:<i>None</i><br/>Optional. Specifies the title of the y-axis. If not supplied, the name will be taken from the first y-probe's display-name. For histogram-probes' the key-value pairs are unnamed so here the name can represent value type.<br/><br/>Key:"<b>type</b>" Type:<i>str</i> Default:<i>line</i> Valid-values:<i> "bar", "line", "pie"</i><br/>Optional. The type of graph that should be generated.<br/><br/>Key:"<b>x_probe</b>" Type:<i>str</i> Default:<i>None</i><br/>Optional. The probe data representing the X-axis values. This is typically sim:sim.time.wallclock-session or sim:sim.time.virtual-session.<br/><br/>Key:"<b>y_probes</b>" Type:<i>list or str</i> Default:<i>None</i><br/>The probe(s) representing the data on the Y-axis, for the sampled X-values.It can be specified in multiple ways:<br/><br/>- "sim:sim.mips" - The global MIPS data<br/>- "cpu0:cpu.mips" - The MIPS data for cpu0 only<br/>- "*:cpu.mips" - All objects MIPS data each as its own graph<br/><br/>Note, that the wildcard (*) syntax is only used for the complete object, it is not possible to use it as a filter, with prefix or suffix characters. Multiple probes can also be specified as a single-list:<br/><br/>- ["sim:sim.exec_mode.interpreter_percent", "sim:sim.exec_mode.jit_percent",", "sim:sim.exec_mode.vmp_percent"]<br/><br/>Here three graphs would be shown, however if any prope is missing this is silently ignored. If no probes are found no chart will be generated. It is also possible to add annotations to each graph:<br/><br/>- ["sim:sim.mips", ["sim:sim.module_profile"]]<br/><br/> Annotation probes provides additional data shown when hovering over a specific point in the graph.In this example, the module profile information is shown when hovering over a data-point in the mips graph.<br/>Wildcard (*) is also handled in the annotation probes, however if the probe assigned with annotations, the *-annotation objects must match those in the original probe-object.<br/><br/>Key:"<b>histogram_probe</b>" Type:<i>str</i> Default:<i>None</i><br/>If a probe is of histogram type, it holds two datapoints: key and value. Such a probe can be used to show a pie or bar chart from the gathered final value. It can also be used by looking at all samples and stack the bars on-top of each-other. In this case the "x-probe" must also be supplied.<br/><br/>Key:"<b>histogram_data_set</b>" Type:<i>str</i> Default:<i>samples</i> Valid-values:<i> "final", "samples"</i><br/>For histogram data, selects if the graph should be based on all the samples or just the final data in the end.<br/><br/>Key:"<b>stacked</b>" Type:<i>bool</i> Default:<i>False</i><br/>If graph-data should be placed stacked on-top of each graph, instead as a separate line/bar.<br/><br/>Key:"<b>arith_mean</b>" Type:<i>bool</i> Default:<i>False</i><br/>TODO re-implement<br/><br/>Key:"<b>percent</b>" Type:<i>bool</i> Default:<i>False</i><br/>Show the Y-data in percent format.<br/><br/>Key:"<b>multi_graph</b>" Type:<i>bool</i> Default:<i>False</i><br/>Generate a separate graph for each object.<br/><br/>Key:"<b>y_range</b>" Type:<i>list</i> Default:<i>None</i><br/>The range shown on the y-axis by default. If not specified, this will be automatic from the actual y-values given.<br/><br/>Key:"<b>min_data_series</b>" Type:<i>int</i> Default:<i>None</i><br/>The minimum number of data-series to draw, for the the graph be shown.<br/><br/>Key:"<b>max_data_series</b>" Type:<i>int</i> Default:<i>None</i><br/>The minimum number of data-series to draw, for the the graph be shown.<br/><br/>Key:"<b>min_graphs</b>" Type:<i>int</i> Default:<i>None</i><br/>With multi-graph, the minimum graphs that must be generated or all of these graphs are skipped.<br/><br/>Key:"<b>max_graphs</b>" Type:<i>int</i> Default:<i>None</i><br/>With multi-graph, the maximum number of graphs that may generated or all of these graphs are skipped.<br/><br/>Key:"<b>cutoff_percent</b>" Type:<i>float</i> Default:<i>0.0</i><br/>Reduce the number of data-series by putting all series that totals in less than the cutoff% value in a special cutoff-bucket<br/><br/>Key:"<b>html_page</b>" Type:<i>str</i> Default:<i>index.html</i><br/>The name of the html-page where this graph should be included if not set, defaults to 'index.html'<br/> Please note that some key/value pairs only affect certain graphs. Future improvements to the graph generation process may result in changes, additions, or removals of the supported key/value pairs. Therefore, backward compatibility of the JSON file is not guaranteed.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.info

Synopsis

<probe_monitor>.info

Description

Print detailed information about the configuration of the object.

Provided By

probe-monitor

<probe_monitor>.merge-json

Synopsis

<probe_monitor>.merge-json (input-filenames ... | list of input-filenames) output-filename [-indent] [-truncate-samples]

Description

Combine multiple runs in JSON format into one file. This can be used to combine multiple runs with different probes, represented as one run. The input-filenames lists all json files that should be merged. When data exists in several files, the last file with the data is used.

The output-filename specifies the name of the generated merged json file.

With the -indent switch, the output file becomes readable by indenting the json text output, but leads to larger in file-size.

When several json files are merged, the probes needs to have equal amount of samples in order to align the sample data properly. If this is not true, the command will abort complain that this was not the case. However, the difference between runs can be due to indeterministic execution of the models. The -truncate-samples flag can be used to ignore the error and truncate the samples to the smallest amount.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.plot-graph

Synopsis

<probe_monitor>.plot-graph "graph-name" [graph-type] [-from-now] [window-size] "x" ("ys" ... | list of "ys") ([ "annotations" ... ] | list of "annotations")

Description

This command only works when Simics runs inside simics-client. This command produces a graphical graph which is updated while Simics is running.

The graph-name argument specifies a unique name for the graph.

The graph-type can be any of "line" or "line-stacked", where "line" is default. With "line-stacked" all graphs are put on-top of each-other.

The -from-now flag allows the plot to start from this point in time, otherwise the already collected data in the monitor is used also.

The window-size may be used to only look at the latest 'n' points in the history. If not specied all points are drawn.

The x argument specifies which of the probes (added to the monitor) should be used for the x-axis values. Note that it is important for this probe to be monotonically increasing if a normal graph with growing x values is to be plotted. All probes in the monitor are added with a mode option (see the add-probe command), and the delta mode is not suitable for the x-axis probes for this reason.

ys argument specifies one, or several, probes for the y-axis.

The annotations argument can be used to add one or several annotations to each dot in the graph. When the user hover over the dot with the mouse pointer the information will be displayed. Each value in the graph will be annotated with the values from the probes given in this argument (using the probes display settings). If several graphs are displayed in the same window (due to multiple 'ys'), these annotations will be displayed for all graphs.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.print-history

Synopsis

<probe_monitor>.print-history [-include-hidden] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

The <probe_monitor> prints the samples during execution, but the data is also saved in a history buffer. This command allows to look at the collected data afterwards. Using -include-hidden also prints the probes which have been added with the -hidden flag (in the <probe_monitor>.add-probe command).

Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.profile-probes

Synopsis

<probe_monitor>.profile-probes [samples]

Description

On the given set of defined probes, fake samples without actually executing any code in the processors and provide a Python profile of where the most of the time is spent.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.remove-probe

Synopsis

<probe_monitor>.remove-probe [mode] [-verbose] ([ "probe-kind" ... ] | list of "probe-kind") ([ "probe" ... ] | list of "probe")

Description

Remove probes previously added to the monitor.

If mode is used the probes added in that mode will be removed, otherwise probes in delta mode will be removed. To remove a probe added in several modes, this command should be run repeatedly, one for each mode.

Using the probe-kind argument will remove all instances of that probe to the monitor, i.e. all objects that have that probe, will be removed.

To more selectively remove certain object probes the probe argument can be used instead.

Just like in the <probe_monitor>.add-probe command, it is possible to specify parts of the object or probe-kind to get multiple matches.

If -verbose is given all the proves added are logged to the console.

The command returns a list of the probe names added if used as a value.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.reset-session

Synopsis

<probe_monitor>.reset-session

Description

Reset the probes' start values. This causes the future session and delta values to be calculated based from the current values, and not from the values when the probe was originally added to the probe_monitor.

This can be useful between the <probe_monitor>.stop and <probe_monitor>.start commands, for example, to start measurement at wallclock zero.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.sampling-settings

Synopsis

<probe_monitor>.sampling-settings [sampling-mode] [interval] [clock] ["notifier-type"] [notifier-obj]

Description

Reset the sampling-mode of sampling and the attributes attached to each mode: the interval if the selected mode is "realtime", the interval and clock if the selected mode is "virtual", the notifier-type and notifier-obj if the selected mode is "notifier".

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.start

Synopsis

<probe_monitor>.start

Description

Start monitor again if it has been stopped. The options used when creating the monitor will be restored.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.stop, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.status

Synopsis

<probe_monitor>.status

Description

Print detailed information about the current status of the object.

Provided By

probe-monitor

<probe_monitor>.stop

Synopsis

<probe_monitor>.stop

Description

Stop monitor. No more samples will be printed. The monitor can be started with the <probe_monitor>.start command again.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.summary, <probe_monitor>.table-settings

<probe_monitor>.summary

Synopsis

<probe_monitor>.summary ["probe-name-substr"] [-raw-value] [histogram-max-lines] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Shows summary of all added probes. The total value from the start of the monitor will be shown. The probe-name-substr argument can be used to filter for probes with a given substring in their name. The -raw-value flag adds an extra column showing the raw format of the probe value. The histogram-max-lines can be used to set the maximum number of lines printed for historam probes. The default is to use the table settings that can be controlled by the <probe_monitor>.table-settings command in the monitor. Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.table-settings

<probe_monitor>.table-settings

Synopsis

<probe_monitor>.table-settings [repeat-height] [histogram-rows]

Description

Reset the table settings.

The repeat-height option tells when the header will repeat in the sampling table. Whenever the table height grows to a multiple of this value it will repeat the headings.

The histogram-rows controls the maximum number of rows that should be printed in histogram. One additional row may be printed indicating the total amount of discarded rows. Default is 5 rows.

Provided By

probe-monitor

See Also

<probe_monitor>.add-probe, <probe_monitor>.clear-history, <probe_monitor>.delete, <probe_monitor>.export-json, <probe_monitor>.force-sample, <probe_monitor>.html-report, <probe_monitor>.merge-json, <probe_monitor>.plot-graph, <probe_monitor>.print-history, <probe_monitor>.profile-probes, <probe_monitor>.remove-probe, <probe_monitor>.reset-session, <probe_monitor>.sampling-settings, <probe_monitor>.start, <probe_monitor>.stop, <probe_monitor>.summary

<probe_streamer>.add-probe

Synopsis

<probe_streamer>.add-probe [-verbose] [-hidden] [-no-sampling] ([ "probe-kind" ... ] | list of "probe-kind") ([ "probe" ... ] | list of "probe") [mode]

Description

Add probes to the streamer. Using the probe-kind argument will add all instances of that probe to the streamer, i.e. all objects that have that probe, will be added.

To be more selective on which objects that should be monitored, the probe argument can be used instead, specific which object's probes that should be added.

Either way a prefix which ends with a dot (.) is allowed to add any probes below the prefix in the probe name hierarchy, e.g., probe="board.mb.cpu[0]:cpu." will add all probes that start with "cpu.". in the board.mb.cpu[0] object, and similarly, a probe-kind of just "cpu." will add all probes having "cpu." as prefix, in all objects.

The mode argument tells the streamer how the probe values should be display in each sample, by default the delta value from last sample is shown. Other options are current and session. current means the actual probe value is displayed in each sample. With the session mode, the delta value since the probe was added to the streamer is displayed.

For example, a steps probe might have a value of several millions when you add the probe to the streamer. With current the full number will be displayed, with session it will start at zero and increase. The delta will show the number of steps between each sample.

A probe can be added with different modes by using the command repeatedly. A probe can only be added once in each mode and adding it several time will have no effect.

If -verbose is given all the proves added are logged to the console.

The -hidden flag can be used to collect a probe during sampling, but not print the value on the console. (Reducing the width and the amount of data being presented). Hidden probes will still be printed by the various commands that list or export the data.

The -no-sampling flags tells the monitor to ignore the probe in each sample, and only display the final probe value. The probe will however be available in the <probe_streamer>.summary and <probe_streamer>.export-to-json commands. The purpose of this is to reduce memory footprint and to lower sampling overhead.

The command returns a list of the probe names added if used as a value.

Provided By

probe-monitor

See Also

<probe_streamer>.delete, <probe_streamer>.force-sample, <probe_streamer>.remove-probe, <probe_streamer>.reset-session, <probe_streamer>.sampling-settings, <probe_streamer>.start, <probe_streamer>.stop, <probe_streamer>.summary

<probe_streamer>.delete

Synopsis

<probe_streamer>.delete

Description

Delete the streamer and all sampling activities.

Provided By

probe-monitor

See Also

<probe_streamer>.add-probe, <probe_streamer>.force-sample, <probe_streamer>.remove-probe, <probe_streamer>.reset-session, <probe_streamer>.sampling-settings, <probe_streamer>.start, <probe_streamer>.stop, <probe_streamer>.summary

<probe_streamer>.force-sample

Synopsis

<probe_streamer>.force-sample

Description

Force a sample to be triggered. For various testing scenarios, it can be useful to trigger a sample manually. For example to get a final sample of data measured, but not yet included in a sample.

Provided By

probe-monitor

See Also

<probe_streamer>.add-probe, <probe_streamer>.delete, <probe_streamer>.remove-probe, <probe_streamer>.reset-session, <probe_streamer>.sampling-settings, <probe_streamer>.start, <probe_streamer>.stop, <probe_streamer>.summary

<probe_streamer>.info

Synopsis

<probe_streamer>.info

Description

Print detailed information about the configuration of the object.

Provided By

probe-monitor

<probe_streamer>.remove-probe

Synopsis

<probe_streamer>.remove-probe [mode] [-verbose] ([ "probe-kind" ... ] | list of "probe-kind") ([ "probe" ... ] | list of "probe")

Description

Remove probes previously added to the streamer.

If mode is used the probes added in that mode will be removed, otherwise probes in delta mode will be removed. To remove a probe added in several modes, this command should be run repeatedly, one for each mode.

Using the probe-kind argument will remove all instances of that probe to the streamer, i.e. all objects that have that probe, will be removed.

To more selectively remove certain object probes the probe argument can be used instead.

Just like in the <probe_streamer>.add-probe command, it is possible to specify parts of the object or probe-kind to get multiple matches.

If -verbose is given all the proves added are logged to the console.

The command returns a list of the probe names added if used as a value.

Provided By

probe-monitor

See Also

<probe_streamer>.add-probe, <probe_streamer>.delete, <probe_streamer>.force-sample, <probe_streamer>.reset-session, <probe_streamer>.sampling-settings, <probe_streamer>.start, <probe_streamer>.stop, <probe_streamer>.summary

<probe_streamer>.reset-session

Synopsis

<probe_streamer>.reset-session

Description

Reset the probes' start values. This causes the future session and delta values to be calculated based from the current values, and not from the values when the probe was originally added to the probe_streamer.

This can be useful between the <probe_streamer>.stop and <probe_streamer>.start commands, for example, to start measurement at wallclock zero.

Provided By

probe-monitor

See Also

<probe_streamer>.add-probe, <probe_streamer>.delete, <probe_streamer>.force-sample, <probe_streamer>.remove-probe, <probe_streamer>.sampling-settings, <probe_streamer>.start, <probe_streamer>.stop, <probe_streamer>.summary

<probe_streamer>.sampling-settings

Synopsis

<probe_streamer>.sampling-settings [sampling-mode] [interval] [clock] ["notifier-type"] [notifier-obj]

Description

Reset the sampling-mode of sampling and the attributes attached to each mode: the interval if the selected mode is "realtime", the interval and clock if the selected mode is "virtual", the notifier-type and notifier-obj if the selected mode is "notifier".

Provided By

probe-monitor

See Also

<probe_streamer>.add-probe, <probe_streamer>.delete, <probe_streamer>.force-sample, <probe_streamer>.remove-probe, <probe_streamer>.reset-session, <probe_streamer>.start, <probe_streamer>.stop, <probe_streamer>.summary

<probe_streamer>.start

Synopsis

<probe_streamer>.start

Description

Start streamer again if it has been stopped. The options used when creating the streamer will be restored.

Provided By

probe-monitor

See Also

<probe_streamer>.add-probe, <probe_streamer>.delete, <probe_streamer>.force-sample, <probe_streamer>.remove-probe, <probe_streamer>.reset-session, <probe_streamer>.sampling-settings, <probe_streamer>.stop, <probe_streamer>.summary

<probe_streamer>.status

Synopsis

<probe_streamer>.status

Description

Print detailed information about the current status of the object.

Provided By

probe-monitor

<probe_streamer>.stop

Synopsis

<probe_streamer>.stop

Description

Stop streamer. No more samples will be printed. The streamer can be started with the <probe_streamer>.start command again.

Provided By

probe-monitor

See Also

<probe_streamer>.add-probe, <probe_streamer>.delete, <probe_streamer>.force-sample, <probe_streamer>.remove-probe, <probe_streamer>.reset-session, <probe_streamer>.sampling-settings, <probe_streamer>.start, <probe_streamer>.summary

<probe_streamer>.summary

Synopsis

<probe_streamer>.summary ["probe-name-substr"] [-raw-value] [histogram-max-lines] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Shows summary of all added probes. The total value from the start of the streamer will be shown. The probe-name-substr argument can be used to filter for probes with a given substring in their name. The -raw-value flag adds an extra column showing the raw format of the probe value. The histogram-max-lines can be used to set the maximum number of lines printed for historam probes. The default is to use the table settings that can be controlled by the <probe_streamer>.table-settings command in the monitor. Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

probe-monitor

See Also

<probe_streamer>.add-probe, <probe_streamer>.delete, <probe_streamer>.force-sample, <probe_streamer>.remove-probe, <probe_streamer>.reset-session, <probe_streamer>.sampling-settings, <probe_streamer>.start, <probe_streamer>.stop

<probe_system_perfmeter>.add-probe

Synopsis

<probe_system_perfmeter>.add-probe [-verbose] [-hidden] [-no-sampling] ([ "probe-kind" ... ] | list of "probe-kind") ([ "probe" ... ] | list of "probe") [mode]

Description

Add probes to the system-perfmeter. Using the probe-kind argument will add all instances of that probe to the system-perfmeter, i.e. all objects that have that probe, will be added.

To be more selective on which objects that should be monitored, the probe argument can be used instead, specific which object's probes that should be added.

Either way a prefix which ends with a dot (.) is allowed to add any probes below the prefix in the probe name hierarchy, e.g., probe="board.mb.cpu[0]:cpu." will add all probes that start with "cpu.". in the board.mb.cpu[0] object, and similarly, a probe-kind of just "cpu." will add all probes having "cpu." as prefix, in all objects.

The mode argument tells the system-perfmeter how the probe values should be display in each sample, by default the delta value from last sample is shown. Other options are current and session. current means the actual probe value is displayed in each sample. With the session mode, the delta value since the probe was added to the system-perfmeter is displayed.

For example, a steps probe might have a value of several millions when you add the probe to the system-perfmeter. With current the full number will be displayed, with session it will start at zero and increase. The delta will show the number of steps between each sample.

A probe can be added with different modes by using the command repeatedly. A probe can only be added once in each mode and adding it several time will have no effect.

If -verbose is given all the proves added are logged to the console.

The -hidden flag can be used to collect a probe during sampling, but not print the value on the console. (Reducing the width and the amount of data being presented). Hidden probes will still be printed by the various commands that list or export the data.

The -no-sampling flags tells the monitor to ignore the probe in each sample, and only display the final probe value. The probe will however be available in the <probe_system_perfmeter>.summary and <probe_system_perfmeter>.export-to-json commands. The purpose of this is to reduce memory footprint and to lower sampling overhead.

The command returns a list of the probe names added if used as a value.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.clear-history

Synopsis

<probe_system_perfmeter>.clear-history

Description

Clear the collected history of sampled data.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.delete

Synopsis

<probe_system_perfmeter>.delete

Description

Delete the system-perfmeter and all sampling activities.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.export-json

Synopsis

<probe_system_perfmeter>.export-json filename ["workload"] [-indent]

Description

Save all probe data to the JSON file filename. The workload specifies what that has been executed, this is also saved in the JSON file. The -indent flag causes the json output to be properly indented for readability, but also makes the file larger.

Additional information on Simics, the host and target is also saved.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.force-sample

Synopsis

<probe_system_perfmeter>.force-sample

Description

Force a sample to be triggered. For various testing scenarios, it can be useful to trigger a sample manually. For example to get a final sample of data measured, but not yet included in a sample.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.html-report

Synopsis

<probe_system_perfmeter>.html-report [html-dir] [probe-json-file] [graph-spec-json-file] [-open-browser] [-one-page]

Description

Produce a performance report in HTML. The graphs that are included depend on the probes that have been monitored. The <arg>html-dir</arg> argument specifies the directory for the HTML report. If not specified, a temporary directory will be created. The file "index.html" is the start page. The <arg>probe-json-file</arg> can specify an already generated json file containing the probe information, and a report of its data will be presented (instead of the current session). The <arg>graph-spec-json-file</arg> argument points out an json file used for selecting which graphs to produce. If not specified, a default file will be used. The <tt>-open-browser</tt> switch starts a web-browser directly on the generated file. To decrease browser load time, and to make the main-page more high-level, some graphs can request to be added to sub-pages instead of the main page. The <tt>-one-page</tt> switch prevents this and puts all graphs on the same page. The graph specification (see <arg>graphs-spec-json-file</arg) defines which graphs that should be generated. The top-level <tt>"graphs"</tt> key holds a value-list of all defined graphs. In this list, each graph support the following key/value pairs: <br/>Key:"<b>description</b>" Type:<i>list or str</i> Default:<i>No description</i><br/>Optional. A textual description of what a graph represents.<br/><br/>Key:"<b>title</b>" Type:<i>str</i> Default:<i>None</i><br/>Mandatory. Specifies the main title of the graph. The title is also used to identification, if there is a problem in the json file.<br/><br/>Key:"<b>x_axis_title</b>" Type:<i>str</i> Default:<i>None</i><br/>Optional. Specifies the title of the x-axis. If not supplied, the name will be taken from the x-probe's display-name. For histogram-probes' the key-value pairs are unnamed so here the name can represent the key type.<br/><br/>Key:"<b>y_axis_title</b>" Type:<i>str</i> Default:<i>None</i><br/>Optional. Specifies the title of the y-axis. If not supplied, the name will be taken from the first y-probe's display-name. For histogram-probes' the key-value pairs are unnamed so here the name can represent value type.<br/><br/>Key:"<b>type</b>" Type:<i>str</i> Default:<i>line</i> Valid-values:<i> "bar", "line", "pie"</i><br/>Optional. The type of graph that should be generated.<br/><br/>Key:"<b>x_probe</b>" Type:<i>str</i> Default:<i>None</i><br/>Optional. The probe data representing the X-axis values. This is typically sim:sim.time.wallclock-session or sim:sim.time.virtual-session.<br/><br/>Key:"<b>y_probes</b>" Type:<i>list or str</i> Default:<i>None</i><br/>The probe(s) representing the data on the Y-axis, for the sampled X-values.It can be specified in multiple ways:<br/><br/>- "sim:sim.mips" - The global MIPS data<br/>- "cpu0:cpu.mips" - The MIPS data for cpu0 only<br/>- "*:cpu.mips" - All objects MIPS data each as its own graph<br/><br/>Note, that the wildcard (*) syntax is only used for the complete object, it is not possible to use it as a filter, with prefix or suffix characters. Multiple probes can also be specified as a single-list:<br/><br/>- ["sim:sim.exec_mode.interpreter_percent", "sim:sim.exec_mode.jit_percent",", "sim:sim.exec_mode.vmp_percent"]<br/><br/>Here three graphs would be shown, however if any prope is missing this is silently ignored. If no probes are found no chart will be generated. It is also possible to add annotations to each graph:<br/><br/>- ["sim:sim.mips", ["sim:sim.module_profile"]]<br/><br/> Annotation probes provides additional data shown when hovering over a specific point in the graph.In this example, the module profile information is shown when hovering over a data-point in the mips graph.<br/>Wildcard (*) is also handled in the annotation probes, however if the probe assigned with annotations, the *-annotation objects must match those in the original probe-object.<br/><br/>Key:"<b>histogram_probe</b>" Type:<i>str</i> Default:<i>None</i><br/>If a probe is of histogram type, it holds two datapoints: key and value. Such a probe can be used to show a pie or bar chart from the gathered final value. It can also be used by looking at all samples and stack the bars on-top of each-other. In this case the "x-probe" must also be supplied.<br/><br/>Key:"<b>histogram_data_set</b>" Type:<i>str</i> Default:<i>samples</i> Valid-values:<i> "final", "samples"</i><br/>For histogram data, selects if the graph should be based on all the samples or just the final data in the end.<br/><br/>Key:"<b>stacked</b>" Type:<i>bool</i> Default:<i>False</i><br/>If graph-data should be placed stacked on-top of each graph, instead as a separate line/bar.<br/><br/>Key:"<b>arith_mean</b>" Type:<i>bool</i> Default:<i>False</i><br/>TODO re-implement<br/><br/>Key:"<b>percent</b>" Type:<i>bool</i> Default:<i>False</i><br/>Show the Y-data in percent format.<br/><br/>Key:"<b>multi_graph</b>" Type:<i>bool</i> Default:<i>False</i><br/>Generate a separate graph for each object.<br/><br/>Key:"<b>y_range</b>" Type:<i>list</i> Default:<i>None</i><br/>The range shown on the y-axis by default. If not specified, this will be automatic from the actual y-values given.<br/><br/>Key:"<b>min_data_series</b>" Type:<i>int</i> Default:<i>None</i><br/>The minimum number of data-series to draw, for the the graph be shown.<br/><br/>Key:"<b>max_data_series</b>" Type:<i>int</i> Default:<i>None</i><br/>The minimum number of data-series to draw, for the the graph be shown.<br/><br/>Key:"<b>min_graphs</b>" Type:<i>int</i> Default:<i>None</i><br/>With multi-graph, the minimum graphs that must be generated or all of these graphs are skipped.<br/><br/>Key:"<b>max_graphs</b>" Type:<i>int</i> Default:<i>None</i><br/>With multi-graph, the maximum number of graphs that may generated or all of these graphs are skipped.<br/><br/>Key:"<b>cutoff_percent</b>" Type:<i>float</i> Default:<i>0.0</i><br/>Reduce the number of data-series by putting all series that totals in less than the cutoff% value in a special cutoff-bucket<br/><br/>Key:"<b>html_page</b>" Type:<i>str</i> Default:<i>index.html</i><br/>The name of the html-page where this graph should be included if not set, defaults to 'index.html'<br/> Please note that some key/value pairs only affect certain graphs. Future improvements to the graph generation process may result in changes, additions, or removals of the supported key/value pairs. Therefore, backward compatibility of the JSON file is not guaranteed.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.info

Synopsis

<probe_system_perfmeter>.info

Description

Print detailed information about the configuration of the object.

Provided By

probe-monitor

<probe_system_perfmeter>.merge-json

Synopsis

<probe_system_perfmeter>.merge-json (input-filenames ... | list of input-filenames) output-filename [-indent] [-truncate-samples]

Description

Combine multiple runs in JSON format into one file. This can be used to combine multiple runs with different probes, represented as one run. The input-filenames lists all json files that should be merged. When data exists in several files, the last file with the data is used.

The output-filename specifies the name of the generated merged json file.

With the -indent switch, the output file becomes readable by indenting the json text output, but leads to larger in file-size.

When several json files are merged, the probes needs to have equal amount of samples in order to align the sample data properly. If this is not true, the command will abort complain that this was not the case. However, the difference between runs can be due to indeterministic execution of the models. The -truncate-samples flag can be used to ignore the error and truncate the samples to the smallest amount.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.plot-graph

Synopsis

<probe_system_perfmeter>.plot-graph "graph-name" [graph-type] [-from-now] [window-size] "x" ("ys" ... | list of "ys") ([ "annotations" ... ] | list of "annotations")

Description

This command only works when Simics runs inside simics-client. This command produces a graphical graph which is updated while Simics is running.

The graph-name argument specifies a unique name for the graph.

The graph-type can be any of "line" or "line-stacked", where "line" is default. With "line-stacked" all graphs are put on-top of each-other.

The -from-now flag allows the plot to start from this point in time, otherwise the already collected data in the system-perfmeter is used also.

The window-size may be used to only look at the latest 'n' points in the history. If not specied all points are drawn.

The x argument specifies which of the probes (added to the monitor) should be used for the x-axis values. Note that it is important for this probe to be monotonically increasing if a normal graph with growing x values is to be plotted. All probes in the monitor are added with a mode option (see the add-probe command), and the delta mode is not suitable for the x-axis probes for this reason.

ys argument specifies one, or several, probes for the y-axis.

The annotations argument can be used to add one or several annotations to each dot in the graph. When the user hover over the dot with the mouse pointer the information will be displayed. Each value in the graph will be annotated with the values from the probes given in this argument (using the probes display settings). If several graphs are displayed in the same window (due to multiple 'ys'), these annotations will be displayed for all graphs.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.print-history

Synopsis

<probe_system_perfmeter>.print-history [-include-hidden] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

The <probe_system_perfmeter> prints the samples during execution, but the data is also saved in a history buffer. This command allows to look at the collected data afterwards. Using -include-hidden also prints the probes which have been added with the -hidden flag (in the <probe_system_perfmeter>.add-probe command).

Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.profile-probes

Synopsis

<probe_system_perfmeter>.profile-probes [samples]

Description

On the given set of defined probes, fake samples without actually executing any code in the processors and provide a Python profile of where the most of the time is spent.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.remove-probe

Synopsis

<probe_system_perfmeter>.remove-probe [mode] [-verbose] ([ "probe-kind" ... ] | list of "probe-kind") ([ "probe" ... ] | list of "probe")

Description

Remove probes previously added to the system-perfmeter.

If mode is used the probes added in that mode will be removed, otherwise probes in delta mode will be removed. To remove a probe added in several modes, this command should be run repeatedly, one for each mode.

Using the probe-kind argument will remove all instances of that probe to the system-perfmeter, i.e. all objects that have that probe, will be removed.

To more selectively remove certain object probes the probe argument can be used instead.

Just like in the <probe_system_perfmeter>.add-probe command, it is possible to specify parts of the object or probe-kind to get multiple matches.

If -verbose is given all the proves added are logged to the console.

The command returns a list of the probe names added if used as a value.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.reset-session

Synopsis

<probe_system_perfmeter>.reset-session

Description

Reset the probes' start values. This causes the future session and delta values to be calculated based from the current values, and not from the values when the probe was originally added to the probe_system_perfmeter.

This can be useful between the <probe_system_perfmeter>.stop and <probe_system_perfmeter>.start commands, for example, to start measurement at wallclock zero.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.sampling-settings

Synopsis

<probe_system_perfmeter>.sampling-settings [sampling-mode] [interval] [clock] ["notifier-type"] [notifier-obj]

Description

Reset the sampling-mode of sampling and the attributes attached to each mode: the interval if the selected mode is "realtime", the interval and clock if the selected mode is "virtual", the notifier-type and notifier-obj if the selected mode is "notifier".

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.start

Synopsis

<probe_system_perfmeter>.start

Description

Start system-perfmeter again if it has been stopped. The options used when creating the system-perfmeter will be restored.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.status

Synopsis

<probe_system_perfmeter>.status

Description

Print detailed information about the current status of the object.

Provided By

probe-monitor

<probe_system_perfmeter>.stop

Synopsis

<probe_system_perfmeter>.stop

Description

Stop system-perfmeter. No more samples will be printed. The system-perfmeter can be started with the <probe_system_perfmeter>.start command again.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.summary, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.summary

Synopsis

<probe_system_perfmeter>.summary ["probe-name-substr"] [-raw-value] [histogram-max-lines] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Shows summary of all added probes. The total value from the start of the system-perfmeter will be shown. The probe-name-substr argument can be used to filter for probes with a given substring in their name. The -raw-value flag adds an extra column showing the raw format of the probe value. The histogram-max-lines can be used to set the maximum number of lines printed for historam probes. The default is to use the table settings that can be controlled by the <probe_system_perfmeter>.table-settings command in the monitor. Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.table-settings

<probe_system_perfmeter>.table-settings

Synopsis

<probe_system_perfmeter>.table-settings [repeat-height] [histogram-rows]

Description

Reset the table settings.

The repeat-height option tells when the header will repeat in the sampling table. Whenever the table height grows to a multiple of this value it will repeat the headings.

The histogram-rows controls the maximum number of rows that should be printed in histogram. One additional row may be printed indicating the total amount of discarded rows. Default is 5 rows.

Provided By

probe-monitor

See Also

<probe_system_perfmeter>.add-probe, <probe_system_perfmeter>.clear-history, <probe_system_perfmeter>.delete, <probe_system_perfmeter>.export-json, <probe_system_perfmeter>.force-sample, <probe_system_perfmeter>.html-report, <probe_system_perfmeter>.merge-json, <probe_system_perfmeter>.plot-graph, <probe_system_perfmeter>.print-history, <probe_system_perfmeter>.profile-probes, <probe_system_perfmeter>.remove-probe, <probe_system_perfmeter>.reset-session, <probe_system_perfmeter>.sampling-settings, <probe_system_perfmeter>.start, <probe_system_perfmeter>.stop, <probe_system_perfmeter>.summary

<probes>.info

Synopsis

<probes>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<probes>.list-kinds

Synopsis

<probes>.list-kinds [-classes] [-objects] [-definition] [-probe-type] [-categories] [-no-description] ["probe-kind"] [object] [-recursive] ["substr"] ([ "categories" ... ] | list of "categories") ([ probe-types ... ] | list of probe-types) [-active] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Print a table with all probe-kinds detected in the system, useful for exploring what kind of information that is available.

By default all probe-kinds are listed, but there are many filter arguments reducing the amount of probes presented.

The probe-kind filter specifies which probe-kinds to include. This can be the full name of a specific probe kind, or the string can be a partial kind, for example specifying cpu.exec_modes. would include all probe-kinds starting with this string.

The substr argument filter allows only probes which has a specific string in the probe name to be displayed.

To find probes in a particular object the object argument can be used, only showing the probes on that specific object.

In combination with the object argument the -recursive switch can be used to look at the probes that exists beneath the specified object, in the object hierarchy. This allows zooming in on the probes within a particular subsystem of the entire target system.

Each probe might be assigned with a number of categories represented as strings that describe some property of what they measure. The categories filter can be used to only include the probes which have all of the requested categories included.

Probes can returned different types when read. The probe-types argument allows only certain types to be shown.

Some probes requires subscription before they can return any value. The -active switch automatically discards the probes that cannot currently be read. For these to be shown the <probes>.subscribe command should be used first.

Output column selection.

By default, a few columns are printed for each probe-kind. To add additional information, or remove some columns the following command switches.

The -classes switch list the Simics classes where the probe-kind belongs. The -objects flag adds a column showing the objects that provides the probe. -probe-type lists the probe-type in a additional column.

-definition adds a column on how the probes have been defined.

-categories adds a column showing which categories that was assigned to the probe-kind.

By default the probe description is printed in the rightmost column, since this can become wide, the -no-description switch removes this column from the output.

Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

Simics Core

<probes>.new-aggregate-probe

Synopsis

<probes>.new-aggregate-probe "name" ["display-name"] "probe" function ([ objects ... ] | list of objects) [width]

Description

Creates a new global probe with a name that will be the aggregate of all probes with the name probe using the function. The following aggregator functions are supported:

sum: All probe values are summed together. Valid probe types: float, fraction, histogram, int, int128.

min: The lowest value among the probe values is returned. For fraction-probes, if any denominator contains a zero value, the calculated sum returned is [0, 0]. Valid probe types: float, fraction, int, int128.

max: The highest value among probe values is returned. Valid probe types: float, fraction, int, int128.

arith-mean: The arithmetic mean is calculated for all the probe values. Valid probe types: float, fraction, int, int128.

weighted-arith-mean: The denominators are used as weights. Using these weights implies that the weighted arithmetic mean can be calculated by adding all numerators and denominators, producing a new fraction of these sums. For example, when calculating the mean instruction per cycles (IPC) on all processors (where the IPC per processor is represented as a fraction: instructions / cycles). With two processors having [20/30] and [40/50], the total IPC becomes [(20+40)/(30+50)] or [60/80] and the IPC value of 0.75. Valid probe types: fraction.

median: The median among the probe values is returned. Valid probe types: float, int, int128.

object-histogram: A histogram probe is created using the probe-owner-objects as key and their probe-values value. Valid probe types: float, int.

class-histogram: Similar to the object-histogram, but here the histogram uses the classname of the owner-object as key, and the value is the sum of the probe-values with the same class. Valid probe types: float, int.

The display-name can be used when presenting the probe in a monitor tool or similar.

The objects argument is optional, if used, only the specified objects will be part of the sum.

The display width (used by probe-monitors) can be set by the width argument. If not set it will default to 10 character for scalar probes and 40 for histograms.

Provided By

Simics Core

<probes>.new-attribute-probe

Synopsis

<probes>.new-attribute-probe "class" "attribute-name" ["name"] ["display-name"]

Description

Creates a new probe with a name that uses an attribute as the source of data. The class is the Simics class and the attribute-name is the attribute in the class to use. The display-name can be used when presenting the probe in a monitor tool or similar.

A new probe will be created for all object of the class that has the attribute. Only these attribute types are accepted: "i", "f", "b", "s".

Provided By

Simics Core

<probes>.new-fraction-object-probe

Synopsis

<probes>.new-fraction-object-probe "name" ["display-name"] "numerator-probe" "denominator-probe" [extra-factor] [owner]

Description

Add a new probe with name which is the fraction of the numerator-probe compared to the denominator-probe. The display-name can be used when presenting the probe in a monitor tool or similar. The extra-factor argument can be used to add a factor to the new fraction probe to scale it. Default extra-factor is 1.

This numerator and the denominator represents a single probe in possibly different objects. The syntax for pointing out the probes is object:probe-name, e.g., board.mb.cpu[0]:cpu.cycles, or just probe-name if it is a global object.

The owner sets the owner of the new fraction probe.

Provided By

Simics Core

<probes>.new-fraction-probe

Synopsis

<probes>.new-fraction-probe "name" ["display-name"] "numerator-probe" "denominator-probe" [extra-factor]

Description

Add a new probe with name which is the fraction of the numerator-probe compared to the denominator-probe. The display-name can be used when presenting the probe in a monitor tool or similar. The extra-factor argument can be used to add a factor to the new fraction probe to scale it. Default extra-factor is 1.

For all objects that have the numerator probe and the denominator probe (the owner object of the probes is the same) a new fraction probe will be created for that object.

If one of the numerator or denominator probes is a global probe (i.e. only one probe exists in the system and it does not belong to an object) and the other has an owner object, a new fraction probe will be created for the nonomator or denominator that has the owner object. Each of the new fraction probes for the owner objects will then relate to the single global probe as either numerator or denominator.

If both probes are global only one new global probe will be created that is the fraction of the numerator and the denominator probes.

The numerator and denominator must be of the following types: "int", "int128", "float", or "fraction".

Provided By

Simics Core

<probes>.new-percent-probe

Synopsis

<probes>.new-percent-probe "name" "display-name" "numerator-probe" "denominator-probe"

Description

Add a new probe-kind called name which is the percent of the numerator-probe compared to the denominator-probe. The display-name can be used when presenting the probe in a monitor tool or similar.

For all objects that have the numerator probe and the denominator probe (the owner object of the probes is the same) a new percent probe will be created for that object.

If one of the numerator or denominator probes is a global probe (i.e. only one probe exists in the system and it does not belong to an object) and the other has an owner object, a new percent probe will be created for the nonomator or denominator that has the owner object. Each of the new percent probes for the owner objects will then relate to the single global probe as either numerator or denominator.

If both probes are global only one new global probe will be created that is the percent of the numerator and the denominator probes.

The numerator and denominator must be of the following types: "int", "int128", "float", or "fraction".

Provided By

Simics Core

<probes>.new-sum-probe

Synopsis

<probes>.new-sum-probe "name" ["display-name"] "probe" ([ objects ... ] | list of objects)

Description

Creates a new global probe-kind with a name that will be the sum of all probes with the probe-kind probe.

The display-name can be used when presenting the probe in a monitor tool or similar.

The objects argument is optional, if used, only the specified objects will be part of the sum.

This command is deprecated, use new-aggregate-probe instead.

Provided By

Simics Core

<probes>.read

Synopsis

<probes>.read ["probe"] [-values] [-raw-values] ["probe-kind"] [object] [-recursive] ["substr"] ([ "categories" ... ] | list of "categories") ([ probe-types ... ] | list of probe-types) [-active] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Reads and display the current value of one, or several probes in the system.

The optional probe argument specifies a specific probe to read. When this is used, only one probe is read, displayed and returned. In all other cases a table is shown and a list of values is being returned, even if there is only one probe actually read.

Without any arguments or switches, all probes in the system are being read and shown.

Filtering.

To reduce the number of probes shown, there are a large number of command arguments/switches that filters out the non-matching probes. Many filters can be used in the same command invocation.

The probe-kind filter specifies which probe-kinds to include. This can be the full name of a specific probe kind, or the string can be a partial kind, for example specifying cpu.exec_modes. would include all probe-kinds starting with this string.

The substr argument filter allows only probes which has a specific string in the probe name to be displayed.

To find probes in a particular object the object argument can be used, only showing the probes on that specific object.

In combination with the object argument the -recursive switch can be used to look at the probes that exists beneath the specified object, in the object hierarchy. This allows zooming in on the probes within a particular subsystem of the entire target system.

Each probe might be assigned with a number of categories represented as strings that describe some property of what they measure. The categories filter can be used to only include the probes which have all of the requested categories included.

Probes can returned different types when read. The probe-types argument allows only certain types to be shown.

Some probes requires subscription before they can return any value. The -active switch automatically discards the probes that cannot currently be read. For these to be shown the <probes>.subscribe command should be used first.

Controlling value output format.

By default, the value displayed, and returned, is formatted as a string, according to how the probe's suggested human-readable format.

To get the actual (non-formatted) values, the -values switch can be used.

If -raw-values is given the raw representation of the probe will be printed, i.e., for fraction probes the numerator and the denominator will be printed separately and for histogram probes the list of keys together with the corresponding value will printed. If the command is used in an expression these values will also be returned in CLI lists. Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

Simics Core

<probes>.status

Synopsis

<probes>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<probes>.subscribe

Synopsis

<probes>.subscribe ["probe-kind"] [object] [-recursive] ["substr"] ([ "categories" ... ] | list of "categories") ([ probe-types ... ] | list of probe-types)

Description

Some probes cannot be read without someone first subscribing to them. These subscription probes typically need to activate some feature which could reduce run-time performance. Hence, they are only accessible when someone wants to read them.

Without any arguments, all probes that requires subscription will be subscribed too.

To more precisely select the probes that should be subscribed to, there are a number of filters to reduce the scope.

The probe-kind filter specifies which probe-kinds to include. This can be the full name of a specific probe kind, or the string can be a partial kind, for example specifying cpu.exec_modes. would include all probe-kinds starting with this string.

The substr argument filter allows only probes which has a specific string in the probe name to be displayed.

To find probes in a particular object the object argument can be used, only showing the probes on that specific object.

In combination with the object argument the -recursive switch can be used to look at the probes that exists beneath the specified object, in the object hierarchy. This allows zooming in on the probes within a particular subsystem of the entire target system.

Each probe might be assigned with a number of categories represented as strings that describe some property of what they measure. The categories filter can be used to only include the probes which have all of the requested categories included.

Probes can returned different types when read. The probe-types argument allows only certain types to be shown.

Provided By

Simics Core

<probes>.unsubscribe

Synopsis

<probes>.unsubscribe ["probe-kind"] [object] [-recursive] ["substr"] ([ "categories" ... ] | list of "categories") ([ probe-types ... ] | list of probe-types)

Description

Probes which have already been subscribed to, using the <probes>.subscribe command, can with this command be unsubscribed to. If there are zero users on the subscribed probe, some features can be turned off, potentially reducing run-time overhead.

Without any arguments, all probes which have been earlier subscribed too will be unsubscribed. To more precisely select the probes that should be unsubscribed to, there are a number of filters to reduce the scope.

The probe-kind filter specifies which probe-kinds to include. This can be the full name of a specific probe kind, or the string can be a partial kind, for example specifying cpu.exec_modes. would include all probe-kinds starting with this string.

The substr argument filter allows only probes which has a specific string in the probe name to be displayed.

To find probes in a particular object the object argument can be used, only showing the probes on that specific object.

In combination with the object argument the -recursive switch can be used to look at the probes that exists beneath the specified object, in the object hierarchy. This allows zooming in on the probes within a particular subsystem of the entire target system.

Each probe might be assigned with a number of categories represented as strings that describe some property of what they measure. The categories filter can be used to only include the probes which have all of the requested categories included.

Probes can returned different types when read. The probe-types argument allows only certain types to be shown.

Provided By

Simics Core

<process_filter>.add-pattern

Synopsis

<process_filter>.add-pattern "pattern"

Description

Restrict instrumentation to only a specific node path pattern as given by the pattern argument. The pattern can be a simple string just naming a process, e.g., "grep", or it can be more precise, like "pid=103,tid=103". For more information about node path patterns see the Analyzer User Guide. The filter uses os-awareness to automatically enable measurements for the tool when the given pattern matches the currently running process/thread on a processor. Similarly, disable measurement for the tool on the processor when the process/thread stops executing. Note that one single pattern can match several processes or threads. More than one pattern can be given by using this command several times, then the union of all patterns will be used.

Provided By

process-filter

See Also

<process_filter>.remove-pattern

<process_filter>.delete

Synopsis

<process_filter>.delete

Description

Removes the filter.

Provided By

process-filter

<process_filter>.info

Synopsis

<process_filter>.info

Description

Print detailed information about the configuration of the object.

Provided By

process-filter

<process_filter>.remove-pattern

Synopsis

<process_filter>.remove-pattern ("pattern"|-all)

Description

Remove a pattern from being tracked. If -all is given all patterns will be removed.

Provided By

process-filter

See Also

<process_filter>.add-pattern

<process_filter>.status

Synopsis

<process_filter>.status

Description

Print detailed information about the current status of the object.

Provided By

process-filter

<process_histogram>.add-filter

Synopsis

<process_histogram>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

process-histogram

<process_histogram>.add-instrumentation

Synopsis

<process_histogram>.add-instrumentation software ["group"]

Description

Connects the tool to one software as given by the software argument.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

process-histogram

<process_histogram>.clear

Synopsis

<process_histogram>.clear

Description

Removes information on processes that has been gathered.

Provided By

process-histogram

<process_histogram>.delete

Synopsis

<process_histogram>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

process-histogram

<process_histogram>.histogram

Synopsis

<process_histogram>.histogram ["process-regexp"] [cpu] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Prints histogram of the processes executed on the system.

The process-regexp argument can be used to filter out only certain processes which matches the given regular expression.

The cpu argument can be used to only show the steps executed on a particular processor. Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

process-histogram

See Also

<process_histogram>.clear, <process_histogram>.process-info

<process_histogram>.info

Synopsis

<process_histogram>.info

Description

Print detailed information about the configuration of the object.

Provided By

process-histogram

<process_histogram>.list-providers

Synopsis

<process_histogram>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

process-histogram

<process_histogram>.process-info

Synopsis

<process_histogram>.process-info "process-name"

Description

Prints detailed scheduling information about a process executed on the system. The name of the process is given by the process-name argument.

Provided By

process-histogram

See Also

<process_histogram>.histogram

<process_histogram>.remove-filter

Synopsis

<process_histogram>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

process-histogram

<process_histogram>.remove-instrumentation

Synopsis

<process_histogram>.remove-instrumentation [id] [software] ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The software selects the connections towards one or several software that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

process-histogram

<process_histogram>.status

Synopsis

<process_histogram>.status

Description

Print detailed information about the current status of the object.

Provided By

process-histogram

<process_histogram_connection>.info

Synopsis

<process_histogram_connection>.info

Description

Print detailed information about the configuration of the object.

Provided By

process-histogram

<process_histogram_connection>.status

Synopsis

<process_histogram_connection>.status

Description

Print detailed information about the current status of the object.

Provided By

process-histogram

<processor_info>.debug

Synopsis

<processor_info>.debug ["name"]

Description

Get a debug context for the memory space or processor with the given name.

Also enables the debugger.

Provided By

tcf-agent

<processor_info>.enabled

Synopsis

<processor_info>.enabled

Description

Get enable status for the processor. Returns TRUE or FALSE when used in expression and string when used interactively. Enabled is the architectural state of the processor and not its simulation state.

Provided By

Simics Core

<processor_internal>.bp-break-control-register

Synopsis

<processor_internal>.bp-break-control-register ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [-once]

Description

Enables breaking simulation on control register updates.

The name or number parameter specifies which control register is considered. The available control registers depend on the simulated target. If the -all flag is specified, all registers are considered.

If -r is specified, only register read accesses are considered. If -w is specified, only register write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the register value are considered. In this case, if mask is specified, only changes affecting this mask of the register are considered.

If value is specified, only write accesses that results in the register having this value are considered, or read accesses when the register has this value. If mask is specified, only this mask of the register and given value are considered.

If no processor object is specified, the currently selected processor is used.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<processor_internal>.bp-break-magic

Synopsis

<processor_internal>.bp-break-magic [number|-all] [-once]

Description

Enables breaking the simulation on magic instructions.

If the number parameter is specified, only magic instructions with that argument value are considered. The possible argument values depends on the processor type. To consider all magic instructions, the -all flag can be used. The default is to consider magic instructions with argument 0.

If no processor object is specified, magic instructions from all processors are considered.

See further about magic breakpoints in Simics User's Guide.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<processor_internal>.bp-run-until-control-register

Synopsis

<processor_internal>.bp-run-until-control-register ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [timeout] [timeout-rt]

Description

Run the simulation until the specified control register update occurs.

The name or number parameter specifies which control register is considered. The available control registers depend on the simulated target. If the -all flag is specified, all registers are considered.

If -r is specified, only register read accesses are considered. If -w is specified, only register write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the register value are considered. In this case, if mask is specified, only changes affecting this mask of the register are considered.

If value is specified, only write accesses that results in the register having this value are considered, or read accesses when the register has this value. If mask is specified, only this mask of the register and given value are considered.

If no processor object is specified, the currently selected processor is used.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<processor_internal>.bp-run-until-magic

Synopsis

<processor_internal>.bp-run-until-magic [number|-all] [timeout] [timeout-rt]

Description

Run the simulation until the specified magic instruction occurs.

If the number parameter is specified, only magic instructions with that argument value are considered. The possible argument values depends on the processor type. To consider all magic instructions, the -all flag can be used. The default is to consider magic instructions with argument 0.

If no processor object is specified, magic instructions from all processors are considered.

See further about magic breakpoints in Simics User's Guide.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<processor_internal>.bp-trace-control-register

Synopsis

<processor_internal>.bp-trace-control-register ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes]

Description

Enables tracing of control register updates. When this is enabled, every time the specified control register is updated during simulation a message is printed. The message will name the register being updated, and the new value. The new value will be printed even if it is identical to the previous value.

The name or number parameter specifies which control register is considered. The available control registers depend on the simulated target. If the -all flag is specified, all registers are considered.

If -r is specified, only register read accesses are considered. If -w is specified, only register write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the register value are considered. In this case, if mask is specified, only changes affecting this mask of the register are considered.

If value is specified, only write accesses that results in the register having this value are considered, or read accesses when the register has this value. If mask is specified, only this mask of the register and given value are considered.

If no processor object is specified, the currently selected processor is used.

Provided By

bp-manager

<processor_internal>.bp-trace-magic

Synopsis

<processor_internal>.bp-trace-magic [number|-all]

Description

Enables tracing of magic instruction. When this is enabled, every time the specified magic instruction occurs during simulation, a message is printed.

If the number parameter is specified, only magic instructions with that argument value are considered. The possible argument values depends on the processor type. To consider all magic instructions, the -all flag can be used. The default is to consider magic instructions with argument 0.

If no processor object is specified, magic instructions from all processors are considered.

See further about magic breakpoints in Simics User's Guide.

Provided By

bp-manager

<processor_internal>.bp-wait-for-control-register

Synopsis

<processor_internal>.bp-wait-for-control-register ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the specified control register update occurs.

The name or number parameter specifies which control register is considered. The available control registers depend on the simulated target. If the -all flag is specified, all registers are considered.

If -r is specified, only register read accesses are considered. If -w is specified, only register write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the register value are considered. In this case, if mask is specified, only changes affecting this mask of the register are considered.

If value is specified, only write accesses that results in the register having this value are considered, or read accesses when the register has this value. If mask is specified, only this mask of the register and given value are considered.

If no processor object is specified, the currently selected processor is used.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<processor_internal>.bp-wait-for-magic

Synopsis

<processor_internal>.bp-wait-for-magic [number|-all] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the specified magic instruction occurs.

If the number parameter is specified, only magic instructions with that argument value are considered. The possible argument values depends on the processor type. To consider all magic instructions, the -all flag can be used. The default is to consider magic instructions with argument 0.

If no processor object is specified, magic instructions from all processors are considered.

See further about magic breakpoints in Simics User's Guide.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<rachel>.info

Synopsis

<rachel>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<rachel>.status

Synopsis

<rachel>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<ram>.info

Synopsis

<ram>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<ram>.status

Synopsis

<ram>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<ram_tracer>.add-filter

Synopsis

<ram_tracer>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

ram-tracer

<ram_tracer>.add-instrumentation

Synopsis

<ram_tracer>.add-instrumentation ([ ram-objects ... ] | list of ram-objects) [parent] [-connect-all] ["group"] [-read] [-write] [-execute] [-inquiry] [-block-only]

Description

Connects the tool to one or several ram-objects as given by the ram-objects argument.The parent argument specifies an hierarchical object and all ram-objects below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported ram-objects in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

The -read, -write, -execute flags can be set to only trace specific accesses. The -inquiry flag can be used to trace inquiry accesses as well. Every access is traced by default but with inquiry switched off. If -block-only is given, no tracing will occur, but the tool will still block caching of ram/rom pages which is useful for other tools, such as the transaction-tracer.

Provided By

ram-tracer

<ram_tracer>.delete

Synopsis

<ram_tracer>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

ram-tracer

<ram_tracer>.disable-instrumentation

Synopsis

<ram_tracer>.disable-instrumentation [id] [ram] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The ram selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

ram-tracer

<ram_tracer>.enable-instrumentation

Synopsis

<ram_tracer>.enable-instrumentation [id] [ram] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The ram selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

ram-tracer

<ram_tracer>.info

Synopsis

<ram_tracer>.info

Description

Print detailed information about the configuration of the tool.

Provided By

ram-tracer

<ram_tracer>.list-providers

Synopsis

<ram_tracer>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

ram-tracer

<ram_tracer>.remove-filter

Synopsis

<ram_tracer>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

ram-tracer

<ram_tracer>.remove-instrumentation

Synopsis

<ram_tracer>.remove-instrumentation [id] ([ ram-objects ... ] | list of ram-objects) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The ram-objects selects the connections towards one or several ram-objects that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

ram-tracer

<ram_tracer>.status

Synopsis

<ram_tracer>.status

Description

Print detailed information about the current status of the tool.

Provided By

ram-tracer

<real_network_bridge_comp>.disconnect-real-network

Synopsis

<real_network_bridge_comp>.disconnect-real-network

Description

Disconnect the real network connection from a simulated Ethernet link.

Provided By

real-network

<real_network_bridge_comp>.info

Synopsis

<real_network_bridge_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

real-network

<real_network_bridge_comp>.status

Synopsis

<real_network_bridge_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

real-network

<real_network_host_comp>.disconnect-real-network

Synopsis

<real_network_host_comp>.disconnect-real-network

Description

Disconnect the real network connection from a simulated Ethernet link.

Provided By

real-network

<real_network_host_comp>.info

Synopsis

<real_network_host_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

real-network

<real_network_host_comp>.status

Synopsis

<real_network_host_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

real-network

<realtime>.disable

Synopsis

<realtime>.disable

Description

Disable real-time behavior.

Provided By

realtime

See Also

<realtime>.enable

<realtime>.enable

Synopsis

<realtime>.enable [speed] [check-interval] [drift-compensate]

Description

When enabled, a realtime object will periodically check the simulation speed and wait for a while if it is too high.

speed specifies how fast simulated time is allowed to run, in percent of real time; default is 100.

check-interval specifies how often the check should take place, in milliseconds of simulated time; default is 1000. Higher values give better performance; lower values reduce the maximum difference between real and simulated time. Setting this to less than set-time-quantum has no effect.

Upon deviation, drift-compensate regulates how much may be adjusted. If set to (for example) 0.25, simulation speed may be increased or decreased by up to 25% if necessary to make up for any accumulated drift with respect to real time. If set to zero (the default), the simulation speed may not be changed at all from its set value.

Provided By

realtime

See Also

enable-real-time-mode, <realtime>.disable

<realtime>.info

Synopsis

<realtime>.info

Description

Print detailed information about the configuration of the object.

Provided By

realtime

<realtime>.status

Synopsis

<realtime>.status

Description

Print detailed information about the current status of the object.

Provided By

realtime

<recorder>.info

Synopsis

<recorder>.info

Description

Print detailed information about the configuration of the object.

Provided By

recorder

<recorder>.playback-start

Synopsis

<recorder>.playback-start input-file

Description

Starts playback of a recording from specified file input-file. The input events in the file that is to be played back must have been recorded using a machine configuration identical to the current one. It is highly recommended that console input is blocked during play back, or the session may lose its synchronization.

Provided By

recorder

See Also

<recorder>.playback-stop

<recorder>.playback-stop

Synopsis

<recorder>.playback-stop

Description

Stop the playback of asynchronous data from a file. Once playback has been stopped in cannot be restarted.

Provided By

recorder

See Also

<recorder>.playback-start

<recorder>.recorder-start

Synopsis

<recorder>.recorder-start output-file

Description

Record asynchronous input to specified file output-file. The input is recorded fom all modules that are recording aware, typically consoles and other connections to the real world, and that use this recorder, typically there is one recorder per cell.

After the recording is started input events will be written to output-file until <recorder>.recorder-stop.

This is a command for a single recorder. To record input for the entire simulation use start-recording instead. You can not have more than one recording running at the same time. This includes recordings started by <recorder>.recorder-start and recordings started with start-recording.

Provided By

recorder

See Also

start-recording, <recorder>.recorder-stop

<recorder>.recorder-stop

Synopsis

<recorder>.recorder-stop

Description

Stop the recording of asynchronous input.

This turns off the recording for this recorder. This affects both recordings started with <recorder>.recorder-start and recordings started with start-recording. You should not use this command together with start-recording.

Provided By

recorder

See Also

<recorder>.recorder-start, stop-recording

<recorder>.status

Synopsis

<recorder>.status

Description

Print detailed information about the current status of the object.

Provided By

recorder

<register_breakpoint>.break-register

Synopsis

<register_breakpoint>.break-register "register" [value] [mask]

Description

Set a breakpoint on the register. If value is given, simulation will stop everytime when the register content becomes this value, otherwise simulation will stop when the register value changes. When the mask is given, it is applied to the register value. This can be used when only certain bits are of interest. Note that, using register breakpoints will have a large performance impact. This command breaks execution on most processor register changes, both explicit changes by the software, or implicit changes by the model itself. For explicit control-register changes, the bp.control_register.break command can used instead, which has lower performance overhead.

Provided By

Simics Core

See Also

<register_breakpoint>.break-register-list, <register_breakpoint>.unbreak-register, <processor_internal>.bp-break-control-register

<register_breakpoint>.break-register-list

Synopsis

<register_breakpoint>.break-register-list

Description

List the active register breakpoints.

Provided By

Simics Core

See Also

<register_breakpoint>.break-register, <register_breakpoint>.unbreak-register

<register_breakpoint>.unbreak-register

Synopsis

<register_breakpoint>.unbreak-register (id|-all)

Description

Remove either a breakpoint with the given id, or all breakpoints with -all.

Provided By

Simics Core

See Also

<register_breakpoint>.break-register, <register_breakpoint>.break-register-list, bp.delete

<remote_sync_domain>.info

Synopsis

<remote_sync_domain>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<remote_sync_domain>.status

Synopsis

<remote_sync_domain>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<remote_sync_node>.info

Synopsis

<remote_sync_node>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<remote_sync_node>.status

Synopsis

<remote_sync_node>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<remote_sync_server>.info

Synopsis

<remote_sync_server>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<remote_sync_server>.status

Synopsis

<remote_sync_server>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<ripley>.info

Synopsis

<ripley>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<ripley>.status

Synopsis

<ripley>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<rn-eth-bridge-tap>.info

Synopsis

<rn-eth-bridge-tap>.info

Description

Print detailed information about the configuration of the object.

Provided By

real-network

<rn-eth-bridge-tap>.status

Synopsis

<rn-eth-bridge-tap>.status

Description

Print detailed information about the current status of the object.

Provided By

real-network

<rom>.info

Synopsis

<rom>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<rom>.status

Synopsis

<rom>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<roy_batty>.info

Synopsis

<roy_batty>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<roy_batty>.status

Synopsis

<roy_batty>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<sample-device-c>.info

Synopsis

<sample-device-c>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c

<sample-device-c>.simple-method

Synopsis

<sample-device-c>.simple-method arg

Description

Simple method used as a sample. Prints the arg argument.

Provided By

sample-device-c

<sample-device-c>.status

Synopsis

<sample-device-c>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c

<sample-i3c-target>.info

Synopsis

<sample-i3c-target>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-i3c-devices

<sample-i3c-target>.status

Synopsis

<sample-i3c-target>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-i3c-devices

<sample-pcie-device>.info

Synopsis

<sample-pcie-device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-pcie-device

<sample-pcie-device>.status

Synopsis

<sample-pcie-device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-pcie-device

<sample-risc-core>.info

Synopsis

<sample-risc-core>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-risc

<sample-risc-core>.status

Synopsis

<sample-risc-core>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-risc

<sample-risc>.info

Synopsis

<sample-risc>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-risc

<sample-risc>.status

Synopsis

<sample-risc>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-risc

<sample-x86-isa-extension>.info

Synopsis

<sample-x86-isa-extension>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-x86-isa-extension

<sample-x86-isa-extension>.status

Synopsis

<sample-x86-isa-extension>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-x86-isa-extension

<sample_802_15_4_panel>.info

Synopsis

<sample_802_15_4_panel>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-802-15-4-transceiver-comp

<sample_802_15_4_panel>.status

Synopsis

<sample_802_15_4_panel>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-802-15-4-transceiver-comp

<sample_802_15_4_transceiver>.info

Synopsis

<sample_802_15_4_transceiver>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-802-15-4-transceiver

<sample_802_15_4_transceiver>.rm-rssi

Synopsis

<sample_802_15_4_transceiver>.rm-rssi ["node_name"] [-all]

Description

Remove the RSSI value matching node_name. If -all is given, delete all RSSI value.

Provided By

sample-802-15-4-transceiver

<sample_802_15_4_transceiver>.set-contention-ratio

Synopsis

<sample_802_15_4_transceiver>.set-contention-ratio contention_ratio

Description

Set contention_ratio to the given value. The higher the contention ratio, the lower the effective bandwidth offered.

Provided By

sample-802-15-4-transceiver

<sample_802_15_4_transceiver>.set-rssi

Synopsis

<sample_802_15_4_transceiver>.set-rssi "node_name" rssi

Description

Set RSSI value given by rssi. The value will be associated with the messages that are sent from this node to the node with the specified node_name.

Provided By

sample-802-15-4-transceiver

<sample_802_15_4_transceiver>.set-rssi-always-drop

Synopsis

<sample_802_15_4_transceiver>.set-rssi-always-drop rssi_always_drop

Description

Set rssi-always-drop. Messages taking an RSSI value lower than rssi_always_drop will always be dropped by the receiving endpoint.

Provided By

sample-802-15-4-transceiver

<sample_802_15_4_transceiver>.set-rssi-random-drop

Synopsis

<sample_802_15_4_transceiver>.set-rssi-random-drop rssi_random_drop

Description

Set rssi-random-drop. Messages taking an RSSI value higher than rssi_random_drop will always be delivered. Messages that take an RSSI value between rssi_always_drop and rssi_random_drop are dropped at a percentage of rssi_random_drop_ratio.

Provided By

sample-802-15-4-transceiver

<sample_802_15_4_transceiver>.set-rssi-random-drop-ratio

Synopsis

<sample_802_15_4_transceiver>.set-rssi-random-drop-ratio rssi_random_drop_ratio

Description

Set rssi-random-drop-ratio. Messages that take an RSSI value between rssi_always_drop and rssi_random_drop are dropped at a percentage of rssi_random_drop_ratio.

Provided By

sample-802-15-4-transceiver

<sample_802_15_4_transceiver>.status

Synopsis

<sample_802_15_4_transceiver>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-802-15-4-transceiver

<sample_802_15_4_transceiver_comp>.info

Synopsis

<sample_802_15_4_transceiver_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-802-15-4-transceiver-comp

<sample_802_15_4_transceiver_comp>.status

Synopsis

<sample_802_15_4_transceiver_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-802-15-4-transceiver-comp

<sample_device_cxx_after>.info

Synopsis

<sample_device_cxx_after>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_after>.status

Synopsis

<sample_device_cxx_after>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_after_bank>.info

Synopsis

<sample_device_cxx_after_bank>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_after_bank>.status

Synopsis

<sample_device_cxx_after_bank>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_class_attribute>.info

Synopsis

<sample_device_cxx_attribute_class_attribute>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_class_attribute>.status

Synopsis

<sample_device_cxx_attribute_class_attribute>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_class_member_method>.info

Synopsis

<sample_device_cxx_attribute_class_member_method>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_class_member_method>.status

Synopsis

<sample_device_cxx_attribute_class_member_method>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_class_member_variable>.info

Synopsis

<sample_device_cxx_attribute_class_member_variable>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_class_member_variable>.status

Synopsis

<sample_device_cxx_attribute_class_member_variable>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_custom_method>.info

Synopsis

<sample_device_cxx_attribute_custom_method>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_custom_method>.status

Synopsis

<sample_device_cxx_attribute_custom_method>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_global_method>.info

Synopsis

<sample_device_cxx_attribute_global_method>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_global_method>.status

Synopsis

<sample_device_cxx_attribute_global_method>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_nested_stl_container>.info

Synopsis

<sample_device_cxx_attribute_nested_stl_container>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_nested_stl_container>.status

Synopsis

<sample_device_cxx_attribute_nested_stl_container>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_pseudo>.info

Synopsis

<sample_device_cxx_attribute_pseudo>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_pseudo>.status

Synopsis

<sample_device_cxx_attribute_pseudo>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_specialized_converter>.info

Synopsis

<sample_device_cxx_attribute_specialized_converter>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_attribute_specialized_converter>.status

Synopsis

<sample_device_cxx_attribute_specialized_converter>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_bank_by_code>.info

Synopsis

<sample_device_cxx_bank_by_code>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_bank_by_code>.status

Synopsis

<sample_device_cxx_bank_by_code>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_bank_by_data>.info

Synopsis

<sample_device_cxx_bank_by_data>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_bank_by_data>.status

Synopsis

<sample_device_cxx_bank_by_data>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_class_with_init_class>.info

Synopsis

<sample_device_cxx_class_with_init_class>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_class_with_init_class>.status

Synopsis

<sample_device_cxx_class_with_init_class>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_class_without_init_class>.info

Synopsis

<sample_device_cxx_class_without_init_class>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_class_without_init_class>.status

Synopsis

<sample_device_cxx_class_without_init_class>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_class_without_init_local>.info

Synopsis

<sample_device_cxx_class_without_init_local>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_class_without_init_local>.status

Synopsis

<sample_device_cxx_class_without_init_local>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_connect>.info

Synopsis

<sample_device_cxx_connect>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_connect>.status

Synopsis

<sample_device_cxx_connect>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_connect_map_target>.info

Synopsis

<sample_device_cxx_connect_map_target>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_connect_map_target>.status

Synopsis

<sample_device_cxx_connect_map_target>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_connect_to_descendant>.info

Synopsis

<sample_device_cxx_connect_to_descendant>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_connect_to_descendant>.status

Synopsis

<sample_device_cxx_connect_to_descendant>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_event>.info

Synopsis

<sample_device_cxx_event>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_event>.status

Synopsis

<sample_device_cxx_event>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_interface>.info

Synopsis

<sample_device_cxx_interface>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_interface>.status

Synopsis

<sample_device_cxx_interface>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_interface_c>.info

Synopsis

<sample_device_cxx_interface_c>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_interface_c>.status

Synopsis

<sample_device_cxx_interface_c>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_interface_with_custom_info>.info

Synopsis

<sample_device_cxx_interface_with_custom_info>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_interface_with_custom_info>.status

Synopsis

<sample_device_cxx_interface_with_custom_info>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_logging>.info

Synopsis

<sample_device_cxx_logging>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_logging>.status

Synopsis

<sample_device_cxx_logging>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_port_use_confobject.sample>.info

Synopsis

<sample_device_cxx_port_use_confobject.sample>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_port_use_confobject.sample>.status

Synopsis

<sample_device_cxx_port_use_confobject.sample>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_port_use_confobject>.info

Synopsis

<sample_device_cxx_port_use_confobject>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_port_use_confobject>.status

Synopsis

<sample_device_cxx_port_use_confobject>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_port_use_port.sample>.info

Synopsis

<sample_device_cxx_port_use_port.sample>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_port_use_port.sample>.status

Synopsis

<sample_device_cxx_port_use_port.sample>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_port_use_port>.info

Synopsis

<sample_device_cxx_port_use_port>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_port_use_port>.status

Synopsis

<sample_device_cxx_port_use_port>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_cxx_user_interface>.info

Synopsis

<sample_device_cxx_user_interface>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-c++

<sample_device_cxx_user_interface>.status

Synopsis

<sample_device_cxx_user_interface>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-c++

<sample_device_dml>.info

Synopsis

<sample_device_dml>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-dml

<sample_device_dml>.status

Synopsis

<sample_device_dml>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-dml

<sample_device_mixed>.info

Synopsis

<sample_device_mixed>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-mixed

<sample_device_mixed>.status

Synopsis

<sample_device_mixed>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-mixed

<sample_device_pkg_prio>.info

Synopsis

<sample_device_pkg_prio>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-pkg-prio

<sample_device_pkg_prio>.status

Synopsis

<sample_device_pkg_prio>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-pkg-prio

<sample_device_python>.info

Synopsis

<sample_device_python>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-device-python

<sample_device_python>.status

Synopsis

<sample_device_python>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-device-python

<sample_dma_device>.info

Synopsis

<sample_dma_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-dma-device

<sample_dma_device>.status

Synopsis

<sample_dma_device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-dma-device

<sample_dma_device_cpp>.info

Synopsis

<sample_dma_device_cpp>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-dma-device-c++

<sample_dma_device_cpp>.status

Synopsis

<sample_dma_device_cpp>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-dma-device-c++

<sample_dma_device_python>.info

Synopsis

<sample_dma_device_python>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-dma-device-python

<sample_dma_device_python>.status

Synopsis

<sample_dma_device_python>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-dma-device-python

<sample_dynamic_connectors>.info

Synopsis

<sample_dynamic_connectors>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-dynamic-connectors

<sample_dynamic_connectors>.status

Synopsis

<sample_dynamic_connectors>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-dynamic-connectors

<sample_event_device>.info

Synopsis

<sample_event_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-event-device

<sample_event_device>.status

Synopsis

<sample_event_device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-event-device

<sample_firewire_device>.info

Synopsis

<sample_firewire_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-firewire-device

<sample_firewire_device>.status

Synopsis

<sample_firewire_device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-firewire-device

<sample_generic_message_device>.info

Synopsis

<sample_generic_message_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-generic-message-device

<sample_generic_message_device>.status

Synopsis

<sample_generic_message_device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-generic-message-device

<sample_i2c_device>.info

Synopsis

<sample_i2c_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-i2c-device

<sample_i2c_device>.status

Synopsis

<sample_i2c_device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-i2c-device

<sample_i3c_master>.info

Synopsis

<sample_i3c_master>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-i3c-devices

<sample_i3c_master>.status

Synopsis

<sample_i3c_master>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-i3c-devices

<sample_i3c_target_comp>.info

Synopsis

<sample_i3c_target_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-i3c-target-comp

<sample_i3c_target_comp>.status

Synopsis

<sample_i3c_target_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-i3c-target-comp

<sample_interrupt_device>.info

Synopsis

<sample_interrupt_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-interrupt-device

<sample_interrupt_device>.status

Synopsis

<sample_interrupt_device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-interrupt-device

<sample_linux_mapper>.info

Synopsis

<sample_linux_mapper>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-linux-tracker

<sample_linux_mapper>.status

Synopsis

<sample_linux_mapper>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-linux-tracker

<sample_linux_tracker>.detect-parameters

Synopsis

<sample_linux_tracker>.detect-parameters [param-file] ["name"] [-load] [-overwrite]

Description

Generate parameters for the sample Linux tracker. In a more generic version, this would have to analyze a symbol file or target memory in order to generate parameters matching the target software. Detect the parameters to use with the Linux tracker.

The optional param-file argument is used to specify where to save the parameters, the default is 'detect.params'. If this argument is left out and the -load flag is used then no parameters will be saved.

The optional name argument is used to specify the root node name in the node tree.

The -load flag can be used to load the newly detected parameters directly after detection.

The optional -overwrite flag can be used to update the parameter file, even if it already exists.

Provided By

sample-linux-tracker

See Also

<osa_parameters>.load-parameters

<sample_linux_tracker>.info

Synopsis

<sample_linux_tracker>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-linux-tracker

<sample_linux_tracker>.status

Synopsis

<sample_linux_tracker>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-linux-tracker

<sample_linux_tracker_comp>.detect-parameters

Synopsis

<sample_linux_tracker_comp>.detect-parameters [param-file] ["name"] [-load] [-overwrite]

Description

Generate parameters for the sample Linux tracker. In a more generic version, this would have to analyze a symbol file or target memory in order to generate parameters matching the target software. Detect the parameters to use with the Linux tracker.

The optional param-file argument is used to specify where to save the parameters, the default is 'detect.params'. If this argument is left out and the -load flag is used then no parameters will be saved.

The optional name argument is used to specify the root node name in the node tree.

The -load flag can be used to load the newly detected parameters directly after detection.

The optional -overwrite flag can be used to update the parameter file, even if it already exists.

Provided By

sample-linux-tracker

See Also

<osa_parameters>.load-parameters

<sample_linux_tracker_comp>.info

Synopsis

<sample_linux_tracker_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-linux-tracker

<sample_linux_tracker_comp>.status

Synopsis

<sample_linux_tracker_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-linux-tracker

<sample_notifier_cc>.info

Synopsis

<sample_notifier_cc>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-notifier-c++

<sample_notifier_cc>.status

Synopsis

<sample_notifier_cc>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-notifier-c++

<sample_notifier_dml>.info

Synopsis

<sample_notifier_dml>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-notifier-dml

<sample_notifier_dml>.status

Synopsis

<sample_notifier_dml>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-notifier-dml

<sample_pci_card>.info

Synopsis

<sample_pci_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-components

<sample_pci_card>.status

Synopsis

<sample_pci_card>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-components

<sample_pci_device>.info

Synopsis

<sample_pci_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-pci-device

<sample_pci_device>.status

Synopsis

<sample_pci_device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-pci-device

<sample_pcie_device_comp>.info

Synopsis

<sample_pcie_device_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-pcie-device-comp

<sample_pcie_device_comp>.status

Synopsis

<sample_pcie_device_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-pcie-device-comp

<sample_pcie_device_old>.info

Synopsis

<sample_pcie_device_old>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-pcie-device-old

<sample_pcie_device_old>.status

Synopsis

<sample_pcie_device_old>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-pcie-device-old

<sample_pcie_endpoint_shim_comp>.info

Synopsis

<sample_pcie_endpoint_shim_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-pcie-shim

<sample_pcie_endpoint_shim_comp>.status

Synopsis

<sample_pcie_endpoint_shim_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-pcie-shim

<sample_pcie_sriov_device>.info

Synopsis

<sample_pcie_sriov_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-pcie-sriov-device

<sample_pcie_sriov_device>.status

Synopsis

<sample_pcie_sriov_device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-pcie-sriov-device

<sample_pcie_switch_shim_comp>.info

Synopsis

<sample_pcie_switch_shim_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-pcie-shim

<sample_pcie_switch_shim_comp>.status

Synopsis

<sample_pcie_switch_shim_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-pcie-shim

<sample_serial_device>.info

Synopsis

<sample_serial_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-serial-device

<sample_serial_device>.status

Synopsis

<sample_serial_device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-serial-device

<sample_signal_device>.info

Synopsis

<sample_signal_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-signal-device

<sample_signal_device>.status

Synopsis

<sample_signal_device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-signal-device

<sample_signal_device_impl>.info

Synopsis

<sample_signal_device_impl>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-signal-device

<sample_signal_device_impl>.status

Synopsis

<sample_signal_device_impl>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-signal-device

<sample_timer_device>.info

Synopsis

<sample_timer_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

sample-timer-device

<sample_timer_device>.status

Synopsis

<sample_timer_device>.status

Description

Print detailed information about the current status of the object.

Provided By

sample-timer-device

<sata-controller-connector>.info

Synopsis

<sata-controller-connector>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-bp

<sata-controller-connector>.status

Synopsis

<sata-controller-connector>.status

Description

Print detailed information about the current status of the object.

Provided By

std-bp

<sata-device-connector>.info

Synopsis

<sata-device-connector>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-bp

<sata-device-connector>.status

Synopsis

<sata-device-connector>.status

Description

Print detailed information about the current status of the object.

Provided By

std-bp

<sata>.info

Synopsis

<sata>.info

Description

Print detailed information about the configuration of the object.

Provided By

sata

<sata>.status

Synopsis

<sata>.status

Description

Print detailed information about the current status of the object.

Provided By

sata

<sata_cdrom_comp>.info

Synopsis

<sata_cdrom_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-comp

<sata_cdrom_comp>.status

Synopsis

<sata_cdrom_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

std-comp

<sata_disk_comp>.info

Synopsis

<sata_disk_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-comp

<sata_disk_comp>.status

Synopsis

<sata_disk_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

std-comp

<script-engine>.info

Synopsis

<script-engine>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-bp

<script-engine>.status

Synopsis

<script-engine>.status

Description

Print detailed information about the current status of the object.

Provided By

std-bp

<script-params>.assigned

Synopsis

<script-params>.assigned

Description

return names of assigned parameters

Provided By

Simics Core

See Also

run-script, load-target

<script-params>.describe

Synopsis

<script-params>.describe "name"

Description

Display information about parameter name.

Provided By

Simics Core

See Also

run-script, load-target

<script-params>.get

Synopsis

<script-params>.get "name"

Description

Get value of parameter name. If the parameter is not assigned, NIL is returned.

Provided By

Simics Core

See Also

run-script, load-target

<script-params>.help

Synopsis

<script-params>.help ("target"|file) [-yml] [advanced] [-tree] ["substr"] ["namespace"]

Description

Display available script parameter tree in script file or target target.

If -tree is specified, the parameter tree structure is displayed. Otherwise the parameters are displayed in a table.

The namespace argument can be used to only display the sub-tree defined by that namespace value.

Only parameters whose advanced setting is less than or equal to the value of the advanced argument will be displayed.

The substr argument can be used to only display parameters whose names contain the specified sub-string.

If the -yml flag is specified, the output will be pure YAML, suitable for parsing.

Provided By

Simics Core

See Also

run-script, load-target

<script-params>.info

Synopsis

<script-params>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<script-params>.list

Synopsis

<script-params>.list [-tree] [-verbose] ["substr"] ["namespace"] [-only-changed] [-include-outputs] [advanced] [-yml]

Description

List parameter values.

If -tree is specified, the parameter tree structure is displayed. Otherwise the parameters are displayed in a table.

The namespace argument can be used to only display the sub-tree defined by that namespace value.

Only parameters whose advanced setting is less than or equal to the value of the advanced argument will be displayed.

The substr argument can be used to only display parameters whose names contain the specified sub-string. The flag -only-changed can also be specified to only display parameters whose values are non-default. The -include-outputs flag can be used to display output parameters. The flag -verbose can be specified to display more information about each parameter.

If the -yml flag is specified, the output will be pure YAML, suitable for parsing.

Provided By

Simics Core

See Also

run-script, load-target

<script-params>.save

Synopsis

<script-params>.save file [-overwrite] [-all] ["namespace"]

Description

Save parameter values in YAML format in file. If -overwrite is specified, the file is overwritten if it already exists.

The namespace argument can be used to only save the sub-tree defined by that namespace value.

Only the non-default parameter values are saved, unless -all is specified.

Provided By

Simics Core

See Also

run-script, load-target

<script-params>.setdefault

Synopsis

<script-params>.setdefault "name" value

Description

Set default value of parameter name to be value.

Provided By

Simics Core

See Also

run-script, load-target

<script-params>.status

Synopsis

<script-params>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<sd_card>.info

Synopsis

<sd_card>.info

Description

Print detailed information about the configuration of the object.

Provided By

generic-sdmmc-card

<sd_card>.status

Synopsis

<sd_card>.status

Description

Print detailed information about the current status of the object.

Provided By

generic-sdmmc-card

<sdram_memory_module_comp>.info

Synopsis

<sdram_memory_module_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

memory-comp

<sdram_memory_module_comp>.status

Synopsis

<sdram_memory_module_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

memory-comp

<sebastian>.info

Synopsis

<sebastian>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<sebastian>.status

Synopsis

<sebastian>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<selfprof>.info

Synopsis

<selfprof>.info

Description

Print detailed information about the configuration of the object.

Provided By

selfprof

<selfprof>.status

Synopsis

<selfprof>.status

Description

Print detailed information about the current status of the object.

Provided By

selfprof

<ser_link>.info

Synopsis

<ser_link>.info

Description

Print detailed information about the configuration of the object.

Provided By

ser-link

<ser_link>.status

Synopsis

<ser_link>.status

Description

Print detailed information about the current status of the object.

Provided By

ser-link

<service-node-device>.info

Synopsis

<service-node-device>.info

Description

Print detailed information about the configuration of the object.

Provided By

service-node

<service-node-device>.status

Synopsis

<service-node-device>.status

Description

Print detailed information about the current status of the object.

Provided By

service-node

<service-node>.add-host

Synopsis

<service-node>.add-host "ip" "name" ["domain"] ["mac"]

Description

Add or modify a host entry to the DHCP and DNS server tables. ip is the ip address. name may either be a host name or a host.domain. The domain can also be set in the domain argument. If no domain is set, the default is network.sim. The mac address, if given, should be six hexadecimal numbers separated by colon.

If there already exist an entry with the same address as the given ip address, that entry is modified.

Provided By

service-node

See Also

<service-node>.list-host-info

<service-node>.arp

Synopsis

<service-node>.arp [-d] ["delete-ip"]

Description

Prints the ARP table for the service node if called with no arguments. An ARP table entry can be deleted by specifying the -d flag and the IP address in delete-ip.

Provided By

service-node

<service-node>.delete-host

Synopsis

<service-node>.delete-host ["ip"] ["name"] ["domain"] ["mac"]

Description

Delete a host entry from the DHCP and DNS server tables. Deletes the first entry that matches either name.domain, ip address, or mac address. The name may specify host name or host.domain. The domain may also be set in the domain argument. if no domain is set, it defaults to network.sim.

Provided By

service-node

See Also

<service-node>.list-host-info

<service-node>.dhcp-add-pool

Synopsis

<service-node>.dhcp-add-pool pool-size "ip" ["name"] ["domain"]

Description

Add an IP address pool to the DHCP server. The pool-size parameter defines the number of available addresses in the pool, starting with address ip. The DNS server will map the addresses to a name that is the name parameter with a number appended, in the domain domain.

Provided By

service-node

<service-node>.dhcp-leases

Synopsis

<service-node>.dhcp-leases

Description

Print the list of active DHCP leases.

Provided By

service-node

<service-node>.disable-real-dns

Synopsis

<service-node>.disable-real-dns

Description

Disable forwarding of DNS queries for unknown hosts to the real DNS server.

Provided By

service-node

<service-node>.disable-service

Synopsis

<service-node>.disable-service ["name"] [-all]

Description

Disable the name network service in the service-node, or all of them if the -all flag is used.

Provided By

service-node

<service-node>.enable-ftp-alg

Synopsis

<service-node>.enable-ftp-alg

Description

Enable the FTP ALG. FTP ALG processing is needed to support port forwarded FTP from the outside network to simulated machines.

Provided By

service-node

<service-node>.enable-real-dns

Synopsis

<service-node>.enable-real-dns

Description

Enable forwarding of DNS queries for unknown hosts to the real DNS server.

Provided By

service-node

<service-node>.enable-service

Synopsis

<service-node>.enable-service ["name"] [-all]

Description

Enable the name network service in the service-node or all of them if the -all flag is used.

Provided By

service-node

<service-node>.get-ip-address-from-pool

Synopsis

<service-node>.get-ip-address-from-pool

Description

Pop an IP address from the DHCP pool.

Provided By

service-node

<service-node>.info

Synopsis

<service-node>.info

Description

Print detailed information about the configuration of the object.

Provided By

service-node

<service-node>.list-host-info

Synopsis

<service-node>.list-host-info

Description

Print the host information database, used by the DHCP and DNS server. If used in an expression the database will be returned.

Provided By

service-node

See Also

<service-node>.add-host

<service-node>.route

Synopsis

<service-node>.route [-port]

Description

Print the routing table.

By default, the name of the link on which traffic will be send is printed in the last column, but if the -port flag is use, the port device will be printed instead.

Provided By

service-node

<service-node>.set-tftp-directory

Synopsis

<service-node>.set-tftp-directory (dir|-default)

Description

Set the directory used by the TFTP service for files read and written over TFTP. By default or with the -default flag, the SIM_lookup_file is used for finding files to read, and the current directory is used for writing files. Otherwise the given dir will b used.

Provided By

service-node

<service-node>.status

Synopsis

<service-node>.status

Description

Print detailed information about the current status of the object.

Provided By

service-node

<service-node>.tcpip-info

Synopsis

<service-node>.tcpip-info

Description

Print all TCP/IP connections.

Provided By

service-node

<service_node_comp>.add-connector

Synopsis

<service_node_comp>.add-connector "ip" ["netmask"]

Description

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, and optionally a prefix length on the form "1.2.3.4/24". The netmask argument can be used instead of a prefix length for IPv4 addresses for backwards compatibility. The default prefix length for IPv4 addresses is 24, and for IPv6 addresses 64.

The name of the new connector is returned.

Provided By

service-node

<service_node_comp>.add-host

Synopsis

<service_node_comp>.add-host "ip" "name" ["domain"] ["mac"]

Description

Add or modify a host entry to the DHCP and DNS server tables. ip is the ip address. name may either be a host name or a host.domain. The domain can also be set in the domain argument. If no domain is set, the default is network.sim. The mac address, if given, should be six hexadecimal numbers separated by colon.

If there already exist an entry with the same address as the given ip address, that entry is modified.

Provided By

service-node

See Also

<service-node>.list-host-info

<service_node_comp>.arp

Synopsis

<service_node_comp>.arp [-d] ["delete-ip"]

Description

Prints the ARP table for the service node if called with no arguments. An ARP table entry can be deleted by specifying the -d flag and the IP address in delete-ip.

Provided By

service-node

<service_node_comp>.change-reference-clock

Synopsis

<service_node_comp>.change-reference-clock obj

Description

Change the reference clock of a service-node component to obj, if the automatically chosen clock was not optimal for the current configuration.

Provided By

service-node

<service_node_comp>.connect-to-link

Synopsis

<service_node_comp>.connect-to-link link "ip" ["netmask"] ["vlan_id"]

Description

Connect the service-node to the given link.

The ip argument is the IP address that the service node will use on the link, and optionally a prefix length on the form "1.2.3.4/24". The netmask argument can be used instead of a prefix length for IPv4 addresses for backwards compatibility. The default prefix length for IPv4 addresses is 24, and for IPv6 addresses 64. Use vlan_id to connect to VLAN.

Provided By

service-node

<service_node_comp>.delete-host

Synopsis

<service_node_comp>.delete-host ["ip"] ["name"] ["domain"] ["mac"]

Description

Delete a host entry from the DHCP and DNS server tables. Deletes the first entry that matches either name.domain, ip address, or mac address. The name may specify host name or host.domain. The domain may also be set in the domain argument. if no domain is set, it defaults to network.sim.

Provided By

service-node

See Also

<service-node>.list-host-info

<service_node_comp>.dhcp-add-pool

Synopsis

<service_node_comp>.dhcp-add-pool pool-size "ip" ["name"] ["domain"]

Description

Add an IP address pool to the DHCP server. The pool-size parameter defines the number of available addresses in the pool, starting with address ip. The DNS server will map the addresses to a name that is the name parameter with a number appended, in the domain domain.

Provided By

service-node

<service_node_comp>.dhcp-leases

Synopsis

<service_node_comp>.dhcp-leases

Description

Print the list of active DHCP leases.

Provided By

service-node

<service_node_comp>.disable-real-dns

Synopsis

<service_node_comp>.disable-real-dns

Description

Disable forwarding of DNS queries for unknown hosts to the real DNS server.

Provided By

service-node

<service_node_comp>.disable-service

Synopsis

<service_node_comp>.disable-service ["name"] [-all]

Description

Disable the name network service in the service-node, or all of them if the -all flag is used.

Provided By

service-node

<service_node_comp>.enable-ftp-alg

Synopsis

<service_node_comp>.enable-ftp-alg

Description

Enable the FTP ALG. FTP ALG processing is needed to support port forwarded FTP from the outside network to simulated machines.

Provided By

service-node

<service_node_comp>.enable-real-dns

Synopsis

<service_node_comp>.enable-real-dns

Description

Enable forwarding of DNS queries for unknown hosts to the real DNS server.

Provided By

service-node

<service_node_comp>.enable-service

Synopsis

<service_node_comp>.enable-service ["name"] [-all]

Description

Enable the name network service in the service-node or all of them if the -all flag is used.

Provided By

service-node

<service_node_comp>.get-ip-address-from-pool

Synopsis

<service_node_comp>.get-ip-address-from-pool

Description

Pop an IP address from the DHCP pool.

Provided By

service-node

<service_node_comp>.info

Synopsis

<service_node_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

service-node

<service_node_comp>.list-host-info

Synopsis

<service_node_comp>.list-host-info

Description

Print the host information database, used by the DHCP and DNS server. If used in an expression the database will be returned.

Provided By

service-node

See Also

<service-node>.add-host

<service_node_comp>.ntp-set-virtual-time

Synopsis

<service_node_comp>.ntp-set-virtual-time ["date"]

Description

Set virtual base time to be used over NTP via date. As default the host time is used. If no date is given then the host time is used. The base is used together with simulated time to be transmitted at NTP requests. Given base time must have the format ISO8601 as 'yyyy-mm-ddTh:m:s'.

Provided By

service-node

<service_node_comp>.ntp-time

Synopsis

<service_node_comp>.ntp-time

Description

Get the current NTP time that server sends to clients

Provided By

service-node

<service_node_comp>.ntp-virtual-time-mode

Synopsis

<service_node_comp>.ntp-virtual-time-mode

Description

Set virtual time mode to be used as base time over NTP. The current virtual time base will be used. To set virtual the time use 'ntp-set-virtual-time.

Provided By

service-node

<service_node_comp>.route

Synopsis

<service_node_comp>.route [-port]

Description

Print the routing table.

By default, the name of the link on which traffic will be send is printed in the last column, but if the -port flag is use, the port device will be printed instead.

Provided By

service-node

<service_node_comp>.route-add

Synopsis

<service_node_comp>.route-add "net" ["netmask"] ["gateway"] link

Description

Adds a network, netmask, gateway, remote service node entry to the service node's routing table. The net and gateway are ip addresses in dot notation. The netmask specifies the prefix length either as an ip address with a number of bits set, or an integer. If the netmask is not set, it is derived from the net argument, which can be in the form a.b.c.d/pfx. The link, is a link component connected to the remote service node. The default gateway is 0.0.0.0.

Provided By

service-node

<service_node_comp>.set-ftp-directory

Synopsis

<service_node_comp>.set-ftp-directory [dir]

Description

Set the root directory given by dir for files read and written over FTP. If no argument is given, this command will print the current root directory.

Provided By

service-node

<service_node_comp>.set-tftp-directory

Synopsis

<service_node_comp>.set-tftp-directory (dir|-default)

Description

Set the directory used by the TFTP service for files read and written over TFTP. By default or with the -default flag, the SIM_lookup_file is used for finding files to read, and the current directory is used for writing files. Otherwise the given dir will b used.

Provided By

service-node

<service_node_comp>.status

Synopsis

<service_node_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

service-node

<service_node_comp>.tcpip-info

Synopsis

<service_node_comp>.tcpip-info

Description

Print all TCP/IP connections.

Provided By

service-node

<set-memory>.info

Synopsis

<set-memory>.info

Description

Print detailed information about the configuration of the object.

Provided By

set-memory

<set-memory>.status

Synopsis

<set-memory>.status

Description

Print detailed information about the current status of the object.

Provided By

set-memory

<signal-bus>.info

Synopsis

<signal-bus>.info

Description

Print detailed information about the configuration of the object.

Provided By

signal-bus

<signal-bus>.status

Synopsis

<signal-bus>.status

Description

Print detailed information about the current status of the object.

Provided By

signal-bus

<signal_link>.get-free-receiver-connector

Synopsis

<signal_link>.get-free-receiver-connector

Description

This command returns the name of a receiver connector which is not connected to anything.

Provided By

signal-link

<signal_link>.get-free-sender-connector

Synopsis

<signal_link>.get-free-sender-connector

Description

This command returns the name of a sender connector which is not connected to anything.

Provided By

signal-link

<signal_link>.info

Synopsis

<signal_link>.info

Description

Print detailed information about the configuration of the object.

Provided By

signal-link

<signal_link>.status

Synopsis

<signal_link>.status

Description

Print detailed information about the current status of the object.

Provided By

signal-link

<signal_to_interrupt>.info

Synopsis

<signal_to_interrupt>.info

Description

Print detailed information about the configuration of the object.

Provided By

signal-to-interrupt

<signal_to_interrupt>.status

Synopsis

<signal_to_interrupt>.status

Description

Print detailed information about the current status of the object.

Provided By

signal-to-interrupt

<sim>.info

Synopsis

<sim>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<sim>.status

Synopsis

<sim>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<simics-uefi>.info

Synopsis

<simics-uefi>.info

Description

Print detailed information about the configuration of the object.

Provided By

simics-uefi

<simics-uefi>.status

Synopsis

<simics-uefi>.status

Description

Print detailed information about the current status of the object.

Provided By

simics-uefi

<simics_nvme_comp>.add_namespace

Synopsis

<simics_nvme_comp>.add_namespace [size] ["file"]

Description

Add a namespace to the NVMe drive. This command can only be used before instantiating the component. Therefore using create-simics-nvme-comp is preferred to new-simics-nvme-comp (the latter instantiates the component automatically after it is created). Either a file, containing for example a file system can be provided, and/or a size of the namespace. If no size if provided, the size of the namespace will be the size of the provided file. If the size is smaller than the file, an error will be returned. If no file is provided, the namespace will be empty with the size provided

Provided By

simics-nvme-comp

<simics_nvme_comp>.info

Synopsis

<simics_nvme_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

simics-nvme-comp

<simics_nvme_comp>.status

Synopsis

<simics_nvme_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

simics-nvme-comp

<simics_nvme_controller>.info

Synopsis

<simics_nvme_controller>.info

Description

Print detailed information about the configuration of the object.

Provided By

simics-nvme-controller

<simics_nvme_controller>.status

Synopsis

<simics_nvme_controller>.status

Description

Print detailed information about the current status of the object.

Provided By

simics-nvme-controller

<simicsfs_server>.add-client-group

Synopsis

<simicsfs_server>.add-client-group "group" "key" value

Description

Add or update a client group.

The client group with group is created or updated with key and value. Repeat the command for the same group name to update it with new key and value arguments or change the value of an existing key.

The command <simicsfs_server>.list-clients will show the possible keys and values of the clients.

Provided By

simicsfs-server

See Also

<simicsfs_server>.list-client-groups, <simicsfs_server>.remove-client-group

<simicsfs_server>.add-path-rule

Synopsis

<simicsfs_server>.add-path-rule reqdir destdir ["group"]

Description

Add a new path rule.

The path rule will, for matching clients (if group is defined), replace the requested directory (reqdir) with a new destination directory (destdir) on each access.

The path rules are matched in the order they were added (oldest first) and only the first matching rule is applied.

The path rule with reqdir and group is created or updated with destdir. The group defines a subset of clients that this rule applies to. If no group name is given, the path rule is valid for all clients.

Provided By

simicsfs-server

See Also

<simicsfs_server>.check-path-rules, <simicsfs_server>.list-path-rules, <simicsfs_server>.remove-path-rule

<simicsfs_server>.check-path-rules

Synopsis

<simicsfs_server>.check-path-rules

Description

Check for obsolete or broken path rules.

This command is meant to help the user find problems with the path rules. It will detect if a path rules matches no clients, or has a broken destination path, and give warnings for these cases.

It does not currently warn about path rules that cannot be reached because a prior path rule will always match for a client.

Provided By

simicsfs-server

See Also

<simicsfs_server>.add-path-rule, <simicsfs_server>.list-path-rules, <simicsfs_server>.remove-path-rule

<simicsfs_server>.info

Synopsis

<simicsfs_server>.info

Description

Print detailed information about the configuration of the object.

Provided By

simicsfs-server

<simicsfs_server>.list-client-groups

Synopsis

<simicsfs_server>.list-client-groups ["group"]

Description

List client groups.

A client group is used to select clients for path rules to apply to. A key and its value is matched against the client information to determine whether a client belongs to the group or not.

The group will list all matching clients by their magic numbers.

The group argument is used to list the information about that particular group.

Provided By

simicsfs-server

See Also

<simicsfs_server>.add-client-group, <simicsfs_server>.list-clients, <simicsfs_server>.list-path-rules, <simicsfs_server>.remove-client-group

<simicsfs_server>.list-clients

Synopsis

<simicsfs_server>.list-clients ["key"] [value]

Description

List SimicsFS clients and their information. The available information will depend on the client.

The client data is presented as key-value string pairs.

SimicsFS client version 1.0 will only show up after the first operation is performed on the filesystem. For later client versions, mounting the filesystem is enough for it to appear on this list.

It is also possible to list clients by just a key or both a key and value, then only the matching clients will be listed.

Provided By

simicsfs-server

See Also

<simicsfs_server>.list-client-groups, <simicsfs_server>.list-path-rules

<simicsfs_server>.list-path-rules

Synopsis

<simicsfs_server>.list-path-rules [reqdir] [destdir] ["group"]

Description

List path rules.

Each path rule is listed with the requested directory (reqdir) to be replaced with the destination directory (destdir) and client group, if set.

The path rules are listed in order of priority, with highest priority first. This is the order in which they are matched against the clients, but in two sweeps. Where the first sweep is for path rules with a group and the second sweep is for path rules without a group. Note that only the first matching rule is applied.

The arguments reqdir, destdir and group may be used to filter the listed path rules.

Provided By

simicsfs-server

See Also

<simicsfs_server>.add-path-rule, <simicsfs_server>.check-path-rules, <simicsfs_server>.list-clients, <simicsfs_server>.list-client-groups, <simicsfs_server>.remove-path-rule

<simicsfs_server>.remove-client-group

Synopsis

<simicsfs_server>.remove-client-group ["group"] [-all]

Description

Remove a client group.

The client group is removed.

It is also possible to remove all client groups with the argument -all.

At least one argument is required.

Provided By

simicsfs-server

See Also

<simicsfs_server>.add-client-group, <simicsfs_server>.list-client-groups

<simicsfs_server>.remove-path-rule

Synopsis

<simicsfs_server>.remove-path-rule [reqdir] [destdir] ["group"] [-all]

Description

Remove a path rule.

The reqdir argument is used to select rules by the host subdirectory requested by the client.

The destdir argument is used to select rules by the host replacement destination subdirectory.

The group argument is used to select rules by a group name.

The command will only remove a path rule if there is an unique match, unless the -all flag is given. Enabling that flag will remove all the path rules that match the criteria. When the flag is used without any other arguments, all rules will be removed.

At least one argument is required.

Provided By

simicsfs-server

See Also

<simicsfs_server>.add-path-rule, <simicsfs_server>.check-path-rules, <simicsfs_server>.list-path-rules

<simicsfs_server>.status

Synopsis

<simicsfs_server>.status

Description

Print detailed information about the current status of the object.

Provided By

simicsfs-server

<simple-byte-dump>.info

Synopsis

<simple-byte-dump>.info

Description

Print detailed information about the configuration of the object.

Provided By

simple-byte-dump

<simple-byte-dump>.set-output-file

Synopsis

<simple-byte-dump>.set-output-file [filename]

Description

Set the filename of the file to which bytes will be written.

Provided By

simple-byte-dump

<simple-byte-dump>.status

Synopsis

<simple-byte-dump>.status

Description

Print detailed information about the current status of the object.

Provided By

simple-byte-dump

<simple-scsi-disk>.add-diff-file

Synopsis

<simple-scsi-disk>.add-diff-file filename [-replace] [-rw] [-force]

Description

Adds a diff file filename to the list of files for an disk. This is basically the same command as <image>.add-diff-file.

The diff file was typically created with the save-diff-file command, or by a saved configuration. The file can be made writable instead of read-only using the -rw flag. The <image>.clear-files command should be used instead of the deprecated -replace flag.

If any unsaved changes are found in the image object, the command will fail. Such changes can be discarded by using the -force flag, or first saved using the <image>.save-diff-file command.

Provided By

simple-scsi-disk

See Also

<simple-scsi-disk>.save-diff-file, <image>.add-diff-file

<simple-scsi-disk>.add-partial-diff-file

Synopsis

<simple-scsi-disk>.add-partial-diff-file filename start [size] [-force]

Description

Adds a partial diff file, filename, to the list of files for a disk. This is basically the same command as add-partial-diff-file.

The diff file was typically created with the save-diff-file command, or by a saved configuration. The start and size arguments specify the location within the image. If size is left out, the (virtual) size of the file is used.

If any unsaved changes are found in the image object, the command will fail. Such changes can be discarded by using the -force flag, or first saved using the <image>.save-diff-file command.

Provided By

simple-scsi-disk

See Also

<simple-scsi-disk>.save-diff-file, <image>.add-diff-file, <image>.add-partial-diff-file

<simple-scsi-disk>.info

Synopsis

<simple-scsi-disk>.info

Description

Print information about the state of the simple SCSI disk.

Provided By

simple-scsi-disk

<simple-scsi-disk>.print-partition-table

Synopsis

<simple-scsi-disk>.print-partition-table

Description

Print the partition table for a disk. MBR is the only supported format.

Provided By

simple-scsi-disk

See Also

<simple-scsi-disk>.save-mbr-partition

<simple-scsi-disk>.save-diff-file

Synopsis

<simple-scsi-disk>.save-diff-file filename [-overwrite]

Description

Writes changes to the image as a diff file filename in the craff file format.

The command will fail if the destination file already exists, unless -overwrite is specified.

This is basically the same command as <image>.save-diff-file.

Provided By

simple-scsi-disk

See Also

<simple-scsi-disk>.add-diff-file, <image>.save-diff-file

<simple-scsi-disk>.save-mbr-partition

Synopsis

<simple-scsi-disk>.save-mbr-partition partition filename [-save-craff|-save-raw]

Description

Writes a selected MBR partition to the file filename. If -save-craff is specified, data is saved in craff format. If -save-raw is specified, data is saved in raw format, which is also the default option.

Provided By

simple-scsi-disk

See Also

<image>.save, <simple-scsi-disk>.print-partition-table

<simple_cache>.info

Synopsis

<simple_cache>.info

Description

Print detailed information about the configuration of the object.

Provided By

simple-cache-tool

<simple_cache>.print-cache-content

Synopsis

<simple_cache>.print-cache-content [-no-invalid-sets] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Print cache meta content. -no-invalid-sets can be givent to skip all ways for an index if all of them are invalid.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

simple-cache-tool

<simple_cache>.print-statistics

Synopsis

<simple_cache>.print-statistics [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Print statistics about the cache. Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

simple-cache-tool

<simple_cache>.status

Synopsis

<simple_cache>.status

Description

Print detailed information about the current status of the object.

Provided By

simple-cache-tool

<simple_cache_tool>.add-filter

Synopsis

<simple_cache_tool>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

simple-cache-tool

<simple_cache_tool>.add-instrumentation

Synopsis

<simple_cache_tool>.add-instrumentation ([ providers ... ] | list of providers) [parent] [-connect-all] ["group"]

Description

Connects the tool to one or several providers as given by the providers argument.The parent argument specifies an hierarchical object and all providers below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported providers in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

simple-cache-tool

<simple_cache_tool>.add-l1d-cache

Synopsis

<simple_cache_tool>.add-l1d-cache ["name"] [line-size] sets [ways] [read-penalty] [read-miss-penalty] [write-penalty] [write-miss-penalty] [prefetch-additional] [-write-through] [-no-write-allocate] [-prefetch-adjacent] [-ip-read-prefetcher] [-ip-write-prefetcher]

Description

Add a level 1 data cache to all connected processor. Each hardware thread in the same core will be connected to the same level 1 cache. The command also created an extra namespace, cache[N] for each core where the cache hierarchy will be created. name can be given to set a name for the cache object in the hierarchy. line-size is cache line size (default 64 bytes), sets number of sets/indices, and ways number of ways (default 1).

You can configure the cache to be a write through cache by giving the -write-through flag, default is a write back cache.

To prevent the cache from allocating lines on writes use the -no-write-allocate flag.

The read-penalty, read-miss-penalty, write-penalty, write-miss-penalty sets the penalties in cycles for cache accesses and misses, respectively. The read/write penalty is added to the total penalty when accessing the cache (i.e., the cost of reaching the cache), a miss penalty is added when a miss occurs and there is no next level cache.

If prefetch-additional is given, the cache will prefetch additional consecutive cache lines on a miss.

-prefetch-adjacent means that the cache will, on a miss, prefetch the adjacent cache line as well, so the total fetch region is cache line size * 2, naturally aligned.

-ip-read-prefetcher and -ip-write-prefetcher adds a hardware instruction pointer based stride prefetcher for reads and writes respectively. Write prefetching will issue read for ownership prefetch accesses to the cache, meaning that other caches having those lines will be forced to flush them.

Provided By

simple-cache-tool

See Also

<simple_cache_tool>.add-l1i-cache, <simple_cache_tool>.add-l2-cache, <simple_cache_tool>.add-l3-cache, <simple_cache_tool>.add-l3-cache-slice, <simple_cache_tool>.list-caches

<simple_cache_tool>.add-l1i-cache

Synopsis

<simple_cache_tool>.add-l1i-cache ["name"] [-no-issue] [line-size] sets [ways] [read-penalty] [read-miss-penalty] [write-penalty] [write-miss-penalty] [prefetch-additional] [-write-through] [-no-write-allocate] [-prefetch-adjacent] [-ip-read-prefetcher] [-ip-write-prefetcher]

Description

Add a level 1 instruction cache to all connected processor. Each hardware thread in the same core will be connected to the same level 1 cache. The command also created an extra namespace, cache[N] for each core where the cache hierarchy will be created. The -no-issue flag means that the connection will not issue any instruction accesses to the cache. This can be useful if the instruction cache should be called from another tool instead, for instance a branch predictor. Also, if the cache block for an instruction is the same as last access, no instruction cache issue will be done, thus modeling that several instructions can be read from the same cache block. name can be given to set a name for the cache object in the hierarchy. line-size is cache line size (default 64 bytes), sets number of sets/indices, and ways number of ways (default 1).

You can configure the cache to be a write through cache by giving the -write-through flag, default is a write back cache.

To prevent the cache from allocating lines on writes use the -no-write-allocate flag.

The read-penalty, read-miss-penalty, write-penalty, write-miss-penalty sets the penalties in cycles for cache accesses and misses, respectively. The read/write penalty is added to the total penalty when accessing the cache (i.e., the cost of reaching the cache), a miss penalty is added when a miss occurs and there is no next level cache.

If prefetch-additional is given, the cache will prefetch additional consecutive cache lines on a miss.

-prefetch-adjacent means that the cache will, on a miss, prefetch the adjacent cache line as well, so the total fetch region is cache line size * 2, naturally aligned.

-ip-read-prefetcher and -ip-write-prefetcher adds a hardware instruction pointer based stride prefetcher for reads and writes respectively. Write prefetching will issue read for ownership prefetch accesses to the cache, meaning that other caches having those lines will be forced to flush them.

Provided By

simple-cache-tool

See Also

<simple_cache_tool>.add-l2-cache, <simple_cache_tool>.add-l3-cache, <simple_cache_tool>.add-l3-cache-slice, <simple_cache_tool>.list-caches

<simple_cache_tool>.add-l2-cache

Synopsis

<simple_cache_tool>.add-l2-cache ["name"] [line-size] sets [ways] [read-penalty] [read-miss-penalty] [write-penalty] [write-miss-penalty] [prefetch-additional] [-write-through] [-no-write-allocate] [-prefetch-adjacent] [-ip-read-prefetcher] [-ip-write-prefetcher]

Description

Add level 2 caches to all connected processors. The level 1 data and instruction caches will be connected to this one. name can be given to set a name for the cache object in the hierarchy. line-size is cache line size (default 64 bytes), sets number of sets/indices, and ways number of ways (default 1).

You can configure the cache to be a write through cache by giving the -write-through flag, default is a write back cache.

To prevent the cache from allocating lines on writes use the -no-write-allocate flag.

The read-penalty, read-miss-penalty, write-penalty, write-miss-penalty sets the penalties in cycles for cache accesses and misses, respectively. The read/write penalty is added to the total penalty when accessing the cache (i.e., the cost of reaching the cache), a miss penalty is added when a miss occurs and there is no next level cache.

If prefetch-additional is given, the cache will prefetch additional consecutive cache lines on a miss.

-prefetch-adjacent means that the cache will, on a miss, prefetch the adjacent cache line as well, so the total fetch region is cache line size * 2, naturally aligned.

-ip-read-prefetcher and -ip-write-prefetcher adds a hardware instruction pointer based stride prefetcher for reads and writes respectively. Write prefetching will issue read for ownership prefetch accesses to the cache, meaning that other caches having those lines will be forced to flush them.

Provided By

simple-cache-tool

See Also

<simple_cache_tool>.add-l1i-cache, <simple_cache_tool>.add-l3-cache, <simple_cache_tool>.add-l3-cache-slice, <simple_cache_tool>.list-caches

<simple_cache_tool>.add-l3-cache

Synopsis

<simple_cache_tool>.add-l3-cache ["name"] [line-size] sets [ways] [read-penalty] [read-miss-penalty] [write-penalty] [write-miss-penalty] [prefetch-additional] [-write-through] [-no-write-allocate] [-prefetch-adjacent] [-ip-read-prefetcher] [-ip-write-prefetcher]

Description

Add a level 3 cache for all CPU sockets. The cache will be connected to all level 2 caches in the same CPU and therefore shared by all cores in the CPU. name can be given to set a name for the cache object in the hierarchy. line-size is cache line size (default 64 bytes), sets number of sets/indices, and ways number of ways (default 1).

You can configure the cache to be a write through cache by giving the -write-through flag, default is a write back cache.

To prevent the cache from allocating lines on writes use the -no-write-allocate flag.

The read-penalty, read-miss-penalty, write-penalty, write-miss-penalty sets the penalties in cycles for cache accesses and misses, respectively. The read/write penalty is added to the total penalty when accessing the cache (i.e., the cost of reaching the cache), a miss penalty is added when a miss occurs and there is no next level cache.

If prefetch-additional is given, the cache will prefetch additional consecutive cache lines on a miss.

-prefetch-adjacent means that the cache will, on a miss, prefetch the adjacent cache line as well, so the total fetch region is cache line size * 2, naturally aligned.

-ip-read-prefetcher and -ip-write-prefetcher adds a hardware instruction pointer based stride prefetcher for reads and writes respectively. Write prefetching will issue read for ownership prefetch accesses to the cache, meaning that other caches having those lines will be forced to flush them.

Provided By

simple-cache-tool

See Also

<simple_cache_tool>.add-l1i-cache, <simple_cache_tool>.add-l2-cache, <simple_cache_tool>.add-l3-cache-slice, <simple_cache_tool>.list-caches

<simple_cache_tool>.add-l3-cache-slice

Synopsis

<simple_cache_tool>.add-l3-cache-slice ["name"] [line-size] sets [ways] [read-penalty] [read-miss-penalty] [write-penalty] [write-miss-penalty] [prefetch-additional] [-write-through] [-no-write-allocate] [-prefetch-adjacent] [-ip-read-prefetcher] [-ip-write-prefetcher]

Description

Add a slice of a level 3 cache to all connected processors. This means that it will not be shared with lower level 2 caches in other cores. name can be given to set a name for the cache object in the hierarchy. line-size is cache line size (default 64 bytes), sets number of sets/indices, and ways number of ways (default 1).

You can configure the cache to be a write through cache by giving the -write-through flag, default is a write back cache.

To prevent the cache from allocating lines on writes use the -no-write-allocate flag.

The read-penalty, read-miss-penalty, write-penalty, write-miss-penalty sets the penalties in cycles for cache accesses and misses, respectively. The read/write penalty is added to the total penalty when accessing the cache (i.e., the cost of reaching the cache), a miss penalty is added when a miss occurs and there is no next level cache.

If prefetch-additional is given, the cache will prefetch additional consecutive cache lines on a miss.

-prefetch-adjacent means that the cache will, on a miss, prefetch the adjacent cache line as well, so the total fetch region is cache line size * 2, naturally aligned.

-ip-read-prefetcher and -ip-write-prefetcher adds a hardware instruction pointer based stride prefetcher for reads and writes respectively. Write prefetching will issue read for ownership prefetch accesses to the cache, meaning that other caches having those lines will be forced to flush them.

Provided By

simple-cache-tool

See Also

<simple_cache_tool>.add-l1i-cache, <simple_cache_tool>.add-l2-cache, <simple_cache_tool>.add-l3-cache, <simple_cache_tool>.list-caches

<simple_cache_tool>.delete

Synopsis

<simple_cache_tool>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

simple-cache-tool

<simple_cache_tool>.disable-instrumentation

Synopsis

<simple_cache_tool>.disable-instrumentation [id] [provider] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The provider selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

simple-cache-tool

<simple_cache_tool>.enable-instrumentation

Synopsis

<simple_cache_tool>.enable-instrumentation [id] [provider] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The provider selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

simple-cache-tool

<simple_cache_tool>.info

Synopsis

<simple_cache_tool>.info

Description

Print detailed information about the configuration of the tool.

Provided By

simple-cache-tool

<simple_cache_tool>.list-caches

Synopsis

<simple_cache_tool>.list-caches [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

List all caches connected to the cache toolBelow are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

simple-cache-tool

See Also

<simple_cache_tool>.add-l1i-cache, <simple_cache_tool>.add-l2-cache, <simple_cache_tool>.add-l3-cache, <simple_cache_tool>.add-l3-cache-slice

<simple_cache_tool>.list-providers

Synopsis

<simple_cache_tool>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

simple-cache-tool

<simple_cache_tool>.remove-filter

Synopsis

<simple_cache_tool>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

simple-cache-tool

<simple_cache_tool>.remove-instrumentation

Synopsis

<simple_cache_tool>.remove-instrumentation [id] ([ providers ... ] | list of providers) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The providers selects the connections towards one or several providers that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

simple-cache-tool

<simple_cache_tool>.status

Synopsis

<simple_cache_tool>.status

Description

Print detailed information about the current status of the tool.

Provided By

simple-cache-tool

<simple_i2c_device>.info

Synopsis

<simple_i2c_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

simple-i2c-device

<simple_i2c_device>.status

Synopsis

<simple_i2c_device>.status

Description

Print detailed information about the current status of the object.

Provided By

simple-i2c-device

<simple_memory_module>.info

Synopsis

<simple_memory_module>.info

Description

Print detailed information about the configuration of the object.

Provided By

memory-comp

<simple_memory_module>.status

Synopsis

<simple_memory_module>.status

Description

Print detailed information about the current status of the object.

Provided By

memory-comp

<simple_pcie_device>.info

Synopsis

<simple_pcie_device>.info

Description

Print detailed information about the configuration of the object.

Provided By

simple-pcie-device

<simple_pcie_device>.status

Synopsis

<simple_pcie_device>.status

Description

Print detailed information about the current status of the object.

Provided By

simple-pcie-device

<sja1000_can>.info

Synopsis

<sja1000_can>.info

Description

Print detailed information about the configuration of the object.

Provided By

sja1000-can

<sja1000_can>.status

Synopsis

<sja1000_can>.status

Description

Print detailed information about the current status of the object.

Provided By

sja1000-can

<sparse-memory>.info

Synopsis

<sparse-memory>.info

Description

Print detailed information about the configuration of the object.

Provided By

sparse-memory

<sparse-memory>.status

Synopsis

<sparse-memory>.status

Description

Print detailed information about the current status of the object.

Provided By

sparse-memory

<spi_checker>.info

Synopsis

<spi_checker>.info

Description

Print detailed information about the configuration of the object.

Provided By

spi_checker

<spi_checker>.status

Synopsis

<spi_checker>.status

Description

Print detailed information about the current status of the object.

Provided By

spi_checker

<sr_histogram>.add-filter

Synopsis

<sr_histogram>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

simics-inspector

<sr_histogram>.add-instrumentation

Synopsis

<sr_histogram>.add-instrumentation ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"] [-with-vmp]

Description

Connects the tool to one or several processors as given by the processors argument.The parent argument specifies an hierarchical object and all processors below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

VMP on x86 targets is disabled by this instrumentation. The -with-vmp will enable VMP and the tool will only measure execution of the instructions outside of VMP.

Provided By

simics-inspector

<sr_histogram>.delete

Synopsis

<sr_histogram>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

simics-inspector

<sr_histogram>.disable-instrumentation

Synopsis

<sr_histogram>.disable-instrumentation [id] [processor] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The processor selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

simics-inspector

<sr_histogram>.enable-instrumentation

Synopsis

<sr_histogram>.enable-instrumentation [id] [processor] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The processor selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

simics-inspector

<sr_histogram>.info

Synopsis

<sr_histogram>.info

Description

Print detailed information about the configuration of the tool.

Provided By

simics-inspector

<sr_histogram>.list-providers

Synopsis

<sr_histogram>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

simics-inspector

<sr_histogram>.remove-filter

Synopsis

<sr_histogram>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

simics-inspector

<sr_histogram>.remove-instrumentation

Synopsis

<sr_histogram>.remove-instrumentation [id] ([ processors ... ] | list of processors) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The processors selects the connections towards one or several processors that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

simics-inspector

<sr_histogram>.status

Synopsis

<sr_histogram>.status

Description

Print detailed information about the current status of the tool.

Provided By

simics-inspector

<sr_ticks>.add-filter

Synopsis

<sr_ticks>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

simics-inspector

<sr_ticks>.add-instrumentation

Synopsis

<sr_ticks>.add-instrumentation ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"] [-with-vmp]

Description

Connects the tool to one or several processors as given by the processors argument.The parent argument specifies an hierarchical object and all processors below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

VMP on x86 targets is disabled by this instrumentation. The -with-vmp will enable VMP and the tool will only measure execution of the instructions outside of VMP.

Provided By

simics-inspector

<sr_ticks>.delete

Synopsis

<sr_ticks>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

simics-inspector

<sr_ticks>.disable-instrumentation

Synopsis

<sr_ticks>.disable-instrumentation [id] [processor] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The processor selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

simics-inspector

<sr_ticks>.enable-instrumentation

Synopsis

<sr_ticks>.enable-instrumentation [id] [processor] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The processor selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

simics-inspector

<sr_ticks>.info

Synopsis

<sr_ticks>.info

Description

Print detailed information about the configuration of the tool.

Provided By

simics-inspector

<sr_ticks>.list-providers

Synopsis

<sr_ticks>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

simics-inspector

<sr_ticks>.remove-filter

Synopsis

<sr_ticks>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

simics-inspector

<sr_ticks>.remove-instrumentation

Synopsis

<sr_ticks>.remove-instrumentation [id] ([ processors ... ] | list of processors) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The processors selects the connections towards one or several processors that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

simics-inspector

<sr_ticks>.status

Synopsis

<sr_ticks>.status

Description

Print detailed information about the current status of the tool.

Provided By

simics-inspector

<standard-pcie-switch>.info

Synopsis

<standard-pcie-switch>.info

Description

Print detailed information about the configuration of the object.

Provided By

standard-pcie-switch

<standard-pcie-switch>.status

Synopsis

<standard-pcie-switch>.status

Description

Print detailed information about the current status of the object.

Provided By

standard-pcie-switch

<standard_pcie_switch_comp>.info

Synopsis

<standard_pcie_switch_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

standard-pcie-switch-comp

<standard_pcie_switch_comp>.press-attention-button

Synopsis

<standard_pcie_switch_comp>.press-attention-button slot

Description

Press the attention button of a Downstream Port Slot with index slot in the switch. This should be done for Hot-Plug removal of a device connected to that port.

Provided By

standard-pcie-switch-comp

<standard_pcie_switch_comp>.status

Synopsis

<standard_pcie_switch_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

standard-pcie-switch-comp

<state-assertion>.add

Synopsis

<state-assertion>.add obj steps [type] ["attribute"] [step-obj]

Description

Add an object to a state assertion file so its state will be recorded.
- obj is the name of the object to be added.
- steps is the number of steps between each save.
- type is the type of state saved in the file (for devices that provide several, the most complete state is saved by default).
- attribute is the attribute to save. If specified, the save_state interface is not used and the attribute is saved instead. This is useful for object not implementing the save_state interface.
- step-obj is the object that implements the event queue you want to post the event to. If not specified, the obj must implement step interface.

Provided By

state-assertion

<state-assertion>.add-mem-lis

Synopsis

<state-assertion>.add-mem-lis "memory_space"

Description

Add a memory listener to a memory space so that all memory transactions will be recorded in the file.
- memory_space is the name of the memory space to listen to.

Provided By

state-assertion

<state-assertion>.fforward

Synopsis

<state-assertion>.fforward object steps

Description

Fast-forward a state assertion file. The contents of the file are ignored until the object has skipped steps steps. The simulation is not fast-forwarded. Other objects in the file are fast-forwarded along.

Provided By

state-assertion

<state-assertion>.info

Synopsis

<state-assertion>.info

Description

Describe the state assertion performed by the current object.

Provided By

state-assertion

<state-assertion>.start

Synopsis

<state-assertion>.start

Description

Start the recording/comparison.

Provided By

state-assertion

<state-assertion>.status

Synopsis

<state-assertion>.status

Description

Describe the status of the state assertion performed by the current object.

Provided By

state-assertion

<state-assertion>.stop

Synopsis

<state-assertion>.stop

Description

Stop the recording/comparison, flush the buffers and close the file.

Provided By

state-assertion

<step>.bp-break-step

Synopsis

<step>.bp-break-step step [-absolute]

Description

Sets a breakpoint that will trigger when the processor's step counter has reached the step number of steps from the time the command was issued. If -absolute is specified, the number of steps is counted from the start of the simulation instead.

If no processor is specified, the currently selected frontend processor is used.

Provided By

bp-manager

<step>.bp-run-until-step

Synopsis

<step>.bp-run-until-step step [-absolute] [timeout] [timeout-rt]

Description

Run the simulation until the processor has executed step number of steps. If -absolute is specified, the simulation will instead run until the processor reaches the specified step in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<step>.bp-trace-step

Synopsis

<step>.bp-trace-step step [-absolute]

Description

Enable tracing for when the processor's step counter reaches the step number of step from the time the command was issued. If -absolute is specified, the number of step is counted from the start of the simulation instead.

If no processor is specified, the currently selected frontend processor is used.

Provided By

bp-manager

<step>.bp-wait-for-step

Synopsis

<step>.bp-wait-for-step step [-absolute] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the processor has executed step number of steps. If -absolute is specified, the branch will instead be suspended until the processor reaches the specified step in the simulation.

If no processor is specified, the currently selected frontend processor is used. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<step_cycle_ratio>.set-step-rate

Synopsis

<step_cycle_ratio>.set-step-rate [ipc|"quotient"]

Description

Sets the in-order step rate - also known as instructions per cycle (IPC) - to the floating-point number ipc or the string quotient. The quotient is a string on the form "q/p". The given step rate must be in the range [1/128,128] and it will be rounded to the closest rational number q/p in the range [1/128,128], where p is a power of 2.

The argument specifies how many steps should be issued per cycle in the absence of stalling. The inverse of this value is cycles per instruction (CPI). Without an argument, the current rate is displayed.

Provided By

Simics Core

<step_event_instrumentation>.bp-break-step-event

Synopsis

<step_event_instrumentation>.bp-break-step-event [event-object] ["event-class"] ["description"] [-once]

Description

Adds an event breakpoint on a clock object. The object needs to implement the step_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<step_event_instrumentation>.bp-run-until-step-event

Synopsis

<step_event_instrumentation>.bp-run-until-step-event [event-object] ["event-class"] ["description"] [timeout] [timeout-rt]

Description

Runs until an event triggers on a clock object. The object needs to implement the step_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<step_event_instrumentation>.bp-trace-step-event

Synopsis

<step_event_instrumentation>.bp-trace-step-event [event-object] ["event-class"] ["description"]

Description

Traces events posted on a clock object. The object needs to implement the step_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value.

Provided By

bp-manager

<step_event_instrumentation>.bp-wait-for-step-event

Synopsis

<step_event_instrumentation>.bp-wait-for-step-event [event-object] ["event-class"] ["description"] [timeout] [timeout-rt]

Description

Waits for an event to trigger on a clock object. The object needs to implement the step_event_instrumentation interface for this to work.

To narrow down the events to match you can give the properties event-class to match the name of the event class, and/or event-object to match the object in the event, and/or description to match the description of the event. If a property is not given it will match any value. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<symdebug>.bp-break-source-line

Synopsis

<symdebug>.bp-break-source-line ["line"|"filename"] [line-number] [column] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [-once]

Description

Add a breakpoint at a given source code line. The line should be given as filename:linenumber[:columnnumber].

Alternatively the file name, line number and column number can be specified using the filename, line-number, and optional column arguments. This will allow the filename to contain the colon character, something the line argument cannot handle. If filename is left out the file of the current stack frame will be used.

The break condition will evaluate to true if any of the selected access methods operates on the address of the line in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If line could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts.

The command returns the id of the new breakpoint. This can be used to manage and delete the breakpoint using the bp object. The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<symdebug>.bp-break-source-location

Synopsis

<symdebug>.bp-break-source-location ("location"|address) [length] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [-once]

Description

Add a breakpoint on a particular location. The location is either location, which should specify a C expression or address. In addition you can specify the length of the breakpoint, i.e. how many consecutive memory addresses it should match with length.

The break condition will evaluate to true if any of the selected access methods operates on the address of the location in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If location could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts.

The command returns the id of the new breakpoint. This can be used to manage and delete the breakpoint using the bp object. The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<symdebug>.bp-run-until-source-line

Synopsis

<symdebug>.bp-run-until-source-line ["line"|"filename"] [line-number] [column] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [timeout] [timeout-rt]

Description

Run until the specified line is reached or until simulation stops. The line should be given as filename:linenumber[:columnnumber]

Alternatively the file name, line number and column number can be specified using the filename, line-number, and optional column arguments. This will allow the filename to contain the colon character, something the line argument cannot handle. If filename is left out the file of the current stack frame will be used.

The simulation will run until any of the selected access methods operates on the address of the line in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If line could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<symdebug>.bp-run-until-source-location

Synopsis

<symdebug>.bp-run-until-source-location ("location"|address) [length] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [timeout] [timeout-rt]

Description

Run until the specified location is reached. The location is either location, which should specify a C expression or address. In addition you can specify the length of the breakpoint, i.e. how many consecutive memory addresses it should match with length.

The simulation will run until any of the selected access methods operates on the address of the location argument in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If location could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<symdebug>.bp-trace-source-line

Synopsis

<symdebug>.bp-trace-source-line ["line"|"filename"] [line-number] [column] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"]

Description

Enable tracing of the events that the specified line is reached. The line should be given as filename:linenumber[:columnnumber].

Alternatively the file name, line number and column number can be specified using the filename, line-number, and optional column arguments. This will allow the filename to contain the colon character, something the line argument cannot handle. If filename is left out the file of the current stack frame will be used.

Any of the selected access methods operating on the address of the line in the target memory object will be traced. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If line could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the tracing applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts.

Provided By

bp-manager

<symdebug>.bp-trace-source-location

Synopsis

<symdebug>.bp-trace-source-location ("location"|address) [length] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"]

Description

Enable tracing of the events that the specified location is reached. The location is either location, which should specify a C expression or address. In addition you can specify the length of the breakpoint, i.e. how many consecutive memory addresses it should match with length.

Any of the selected access methods operating on the address of the location argument in the target memory object will be traced. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If location could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts.

Provided By

bp-manager

<symdebug>.bp-wait-for-source-line

Synopsis

<symdebug>.bp-wait-for-source-line ["line"|"filename"] [line-number] [column] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [timeout] [timeout-rt]

Description

Wait in the current script branch until specified line is reached. The line should be given as filename:linenumber[:columnnumber].

Alternatively the file name, line number and column number can be specified using the filename, line-number, and optional column arguments. This will allow the filename to contain the colon character, something the line argument cannot handle. If filename is left out the file of the current stack frame will be used.

The script branch will wait until any of the selected access methods operates on the address of the line in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If line could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<symdebug>.bp-wait-for-source-location

Synopsis

<symdebug>.bp-wait-for-source-location ("location"|address) [length] [-error-not-planted] [-r] [-w] [-x] [-p] ["context-query"] [timeout] [timeout-rt]

Description

Wait in the current script branch until specified location is reached. The location is either location, which should specify a C expression or address. In addition you can specify the length of the breakpoint, i.e. how many consecutive memory addresses it should match with length.

The script branch will wait until any of the selected access methods operates on the address of the location argument in the target memory object. The default access method is execution and the default target memory object is the virtual memory space of the processor associated with the debug context.

To use other access methods, use any combination -r for read, -w for write and -x for execute.

To change the target memory object from the virtual memory object to the physical memory object of the processor for the debug context, set the -p argument flag.

If location could not be resolved to an address among the added symbol files, it is possible to make the command fail by specifying -error-not-planted.

You can limit the debug contexts the breakpoint applies to by providing a context query with context-query. It defaults to *, which matches all debug contexts. If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<symdebug>.down

Synopsis

<symdebug>.down [N]

Description

Moves N frames down the stack (towards the innermost frame). N defaults to one.

Provided By

tcf-agent

See Also

frame, up, stack-trace

<symdebug>.frame

Synopsis

<symdebug>.frame [frame-number]

Description

Changes current stack frame to frame-number, or displays the current frame.

Provided By

tcf-agent

See Also

stack-trace, up, down

<symdebug>.list

Synopsis

<symdebug>.list [-s|-d] [address|"location"] [maxlines]

Description

List the source code corresponding to a given address, function or line. The location can be specified as line or file:line (list from that line); function or file:function (list that function); or address (list from that address).

At most maxlines lines of source or asm are printed. -s produces source intermixed with disassembly, and -d disassembly only.

Provided By

tcf-agent

See Also

disassemble, sym-source, sym-value

<symdebug>.stack-trace

Synopsis

<symdebug>.stack-trace [maxdepth]

Description

Displays a stack trace in the current context of the specified processor, or the current processor if none was specified. At most maxdepth frames are shown, 64 by default.

Provided By

tcf-agent

See Also

frame

<symdebug>.step-into

Synopsis

<symdebug>.step-into

Description

step-into causes the simulation to run until it reaches another source line.

Provided By

tcf-agent

See Also

<symdebug>.step-into-instruction, <symdebug>.step-out, <symdebug>.step-over, <symdebug>.step-over-instruction

<symdebug>.step-into-instruction

Synopsis

<symdebug>.step-into-instruction

Description

<symdebug>.step-into-instruction causes the simulation to run one instruction.

Provided By

tcf-agent

See Also

<symdebug>.step-into, <symdebug>.step-out, <symdebug>.step-over, <symdebug>.step-over-instruction

<symdebug>.step-out

Synopsis

<symdebug>.step-out

Description

step-out causes the simulation to run until the current function has returned.

Provided By

tcf-agent

See Also

<symdebug>.step-into, <symdebug>.step-into-instruction, <symdebug>.step-over, <symdebug>.step-over-instruction

<symdebug>.step-over

Synopsis

<symdebug>.step-over

Description

step-over causes the simulation to run until it reaches another source line, but will not stop in subroutine calls.

Provided By

tcf-agent

See Also

<symdebug>.step-into, <symdebug>.step-into-instruction, <symdebug>.step-out, <symdebug>.step-over-instruction

<symdebug>.step-over-instruction

Synopsis

<symdebug>.step-over-instruction

Description

step-over-instruction causes the simulation to run until it reaches another instruction, but will not stop in subroutine calls.

Provided By

tcf-agent

See Also

<symdebug>.step-into, <symdebug>.step-into-instruction, <symdebug>.step-out, <symdebug>.step-over

<symdebug>.sym-address

Synopsis

<symdebug>.sym-address (line|"expression")

Description

Returns the address of the line or the evaluated expression, for example a symbol, in the current stack frame or the source reference in the file:line or line format. The argument may have to be surrounded by double quotes if it contains certain meta-characters.

Provided By

tcf-agent

See Also

sym-value, sym-type, sym-string, sym-source

<symdebug>.sym-file

Synopsis

<symdebug>.sym-file ("function"|address)

Description

Returns the source file with complete path in the host machine's file system for function or address.

Provided By

tcf-agent

See Also

sym-function, sym-line, sym-source, sym-address

<symdebug>.sym-function

Synopsis

<symdebug>.sym-function address

Description

Returns the function at the specified address in memory.

Provided By

tcf-agent

See Also

sym-file, sym-line, sym-source, sym-address

<symdebug>.sym-line

Synopsis

<symdebug>.sym-line ("function"|address)

Description

Returns the source line for function or address.

Provided By

tcf-agent

See Also

sym-function, sym-file, sym-source, sym-address

<symdebug>.sym-list

Synopsis

<symdebug>.sym-list [-globals] [-locals] [-functions] ["substr"] [-regex] [-sort-by-address] [-show-all-rows]

Description

List symbols visible from current context together with type, address and size. Not all symbols have type, address or size.

With the options the set of symbols listed can be controlled, -globals includes global data symbols, -locals includes local symbols and arguments currently visible, and -functions includes function symbols. Default is to list global and local symbols.

If substr is specified, just symbols whose names contain the given substring (case sensitive) are included in the list.

If -regex is specified substr is treated as a Python regular expression.

Symbols are listed in alphabetical order unless -sort-by-address flag is specified.

By default max 100 symbols are listed. With the -show-all-rows flag all symbols are included.

Provided By

tcf-agent

See Also

sym-address, sym-type, sym-value

<symdebug>.sym-source

Synopsis

<symdebug>.sym-source ("function"|address)

Description

Prints the source file, line and function for function or address.

Provided By

tcf-agent

See Also

sym-file, sym-line, sym-function, sym-address

<symdebug>.sym-string

Synopsis

<symdebug>.sym-string ("expression"|address)

Description

Interprets address or the value of expression as a pointer to a string in target memory, returning the string. The expression, if used, is evaluated in the current stack frame. The argument may have to be surrounded by double quotes if it contains certain meta-characters.

Provided By

tcf-agent

See Also

sym-value, sym-type, sym-address

<symdebug>.sym-type

Synopsis

<symdebug>.sym-type "expression"

Description

Returns the type of the symbol, or the evaluated expression, in the current stack frame. The argument may have to be surrounded by double quotes if it contains certain meta-characters.

Provided By

tcf-agent

See Also

sym-value, sym-address, sym-string

<symdebug>.sym-value

Synopsis

<symdebug>.sym-value "expression"

Description

Evaluates expression in the current stack frame. The argument may have to be surrounded by double quotes if it contains certain meta-characters. When sym-value is used in a CLI expression, the value of the supplied expression is returned. When used stand-alone, the value is pretty-printed.

Provided By

tcf-agent

See Also

stack-trace, frame, sym-type, sym-address, sym-string

<symdebug>.sym-write

Synopsis

<symdebug>.sym-write "variable" value

Description

Writes the value to the variable with the size of the variable. If the value is greater than the size of the variable, the behavior is undefined. Only variables with basic type or pointer type may be written to. When writing floating point values, the variable must be of floating point type.

Provided By

tcf-agent

See Also

sym-address, <memory_space>.write, set

<symdebug>.up

Synopsis

<symdebug>.up [N]

Description

Moves N frames up the stack (towards the outermost frame). N defaults to one.

Provided By

tcf-agent

See Also

frame, down, stack-trace

<sync_domain>.info

Synopsis

<sync_domain>.info

Description

Print detailed information about the configuration of the object.

Provided By

Simics Core

<sync_domain>.status

Synopsis

<sync_domain>.status

Description

Print detailed information about the current status of the object.

Provided By

Simics Core

<system_panel_bool>.info

Synopsis

<system_panel_bool>.info

Description

Print detailed information about the configuration of the object.

Provided By

system-panel

<system_panel_bool>.status

Synopsis

<system_panel_bool>.status

Description

Print detailed information about the current status of the object.

Provided By

system-panel

<system_panel_number>.info

Synopsis

<system_panel_number>.info

Description

Print detailed information about the configuration of the object.

Provided By

system-panel

<system_panel_number>.status

Synopsis

<system_panel_number>.status

Description

Print detailed information about the current status of the object.

Provided By

system-panel

<system_panel_state_manager>.info

Synopsis

<system_panel_state_manager>.info

Description

Print detailed information about the configuration of the object.

Provided By

system-panel

<system_panel_state_manager>.status

Synopsis

<system_panel_state_manager>.status

Description

Print detailed information about the current status of the object.

Provided By

system-panel

<table>.export-table-csv

Synopsis

<table>.export-table-csv file

Description

Print a table to a file (specified with the file argument) in csv format (comma separated values). This file can be used to process the data by other tools, such as spreadsheet programs. Only the raw-data of the columns is printed. The data may be sorted by the default column, specified by the table.

Provided By

Simics Core

See Also

<table>.print-table

<table>.print-table

Synopsis

<table>.print-table [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Prints the contents of a table on screen. Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

Simics Core

See Also

<table>.export-table-csv

<tcf-agent>.info

Synopsis

<tcf-agent>.info

Description

Print detailed information about the configuration of the object.

Provided By

tcf-agent

<tcf-agent>.status

Synopsis

<tcf-agent>.status

Description

Print detailed information about the current status of the object.

Provided By

tcf-agent

<tcf-context-proxy>.info

Synopsis

<tcf-context-proxy>.info

Description

Print detailed information about the configuration of the object.

Provided By

tcf-agent

<tcf-context-proxy>.status

Synopsis

<tcf-context-proxy>.status

Description

Print detailed information about the current status of the object.

Provided By

tcf-agent

<tcp-server>.info

Synopsis

<tcp-server>.info

Description

Print detailed information about the configuration of the object.

Provided By

external-connection

<tcp-server>.status

Synopsis

<tcp-server>.status

Description

Print detailed information about the current status of the object.

Provided By

external-connection

<telemetry_manager>.info

Synopsis

<telemetry_manager>.info

Description

Print detailed information about the configuration of the object.

Provided By

simics-telemetry

<telemetry_manager>.status

Synopsis

<telemetry_manager>.status

Description

Print detailed information about the current status of the object.

Provided By

simics-telemetry

<telnet_frontend>.info

Synopsis

<telnet_frontend>.info

Description

Print detailed information about the configuration of the object.

Provided By

telnet-frontend

<telnet_frontend>.status

Synopsis

<telnet_frontend>.status

Description

Print detailed information about the current status of the object.

Provided By

telnet-frontend

<text-frontend-winsome>.info

Synopsis

<text-frontend-winsome>.info

Description

Print detailed information about the configuration of the object.

Provided By

textcon

<text-frontend-winsome>.status

Synopsis

<text-frontend-winsome>.status

Description

Print detailed information about the current status of the object.

Provided By

textcon

<textcon>.capture-start

Synopsis

<textcon>.capture-start filename [-overwrite]

Description

Capture all output from the console to filename. If -overwrite is specified, the file is overwritten, otherwise it is appended.

Provided By

textcon

See Also

<textcon>.capture-stop

<textcon>.capture-stop

Synopsis

<textcon>.capture-stop

Description

Stop capturing all output from the console.

Provided By

textcon

See Also

<textcon>.capture-start

<textcon>.enable-cmd-line-output

Synopsis

<textcon>.enable-cmd-line-output
<textcon>.disable-cmd-line-output

Description

If enabled, console output will be sent to the Simics command line, and also logged at level 3. This is automatically enabled if Simics is started with the console invisible.

Provided By

textcon

See Also

<textcon>.disable-cmd-line-output

<textcon>.hide

Synopsis

<textcon>.hide

Description

Hide the console window. When the console window is hidden, any output is redirected to the Simics command line. This can be suppressed using the cmd_line_output attribute.

Provided By

textcon

See Also

<textcon>.show

<textcon>.host-serial-setup

Synopsis

<textcon>.host-serial-setup ["pty"]

Description

Start host serial server on pty (or newly opened pty/COM if not set or if None). If the pty/COM is busy, the command fails. The name of the pty/COM is returned, or NIL on failure.

Provided By

textcon

See Also

<textcon>.telnet-setup

<textcon>.info

Synopsis

<textcon>.info

Description

Print detailed information about the configuration of the object.

Provided By

textcon

<textcon>.input

Synopsis

<textcon>.input "string" [-e]

Description

Send string to the text console.

The command supports common escape sequences such as "\n" for new line and "\t" for tab.

Octal or hexadecimal escape sequences can be used to send control characters to the console, for example "\003" or "\x03" for Ctrl-C.

If -e is specified, then the string is interpreted as an Emacs-style keystroke sequence. The following characters and modifiers are accepted: 'C' (Ctrl), 'A' (Alt), 'S (Shift)', 'Enter', 'Backspace', 'Del', 'Up', 'Down', 'Left', 'Right', 'Esc', 'Tab', 'Home', 'End', 'Ins', 'Spc', 'PgDn', 'PgUp', 'F1' to 'F12', keypad keys 'Kp_0' to 'Kp_9', 'Kp_Plus', 'Kp_Minus', 'Kp_Mul', 'Kp_Div', 'Kp_Dot', 'Kp_Enter' as well as regular alpha-numeric characters, i.e. [a-zA-Z0-9_?]. Key strokes are delimited by whitespace, and characters/modifiers are combined using the '-' character. For example, "C-a" will input Ctrl and 'a' pressed together, "C-a a" will do that followed by a single 'a' but "C-aa" is invalid. "C-A-Del" will produce the famous Ctrl-Alt-Del sequence. Modifiers cannot be sent individually, so e.g. "C" will send the character 'C', not Ctrl.

Provided By

textcon

See Also

bp.console_string.wait-then-write

<textcon>.input-file

Synopsis

<textcon>.input-file file [-binary]

Description

Inputs the contents of file into the text console. If -binary is specified, the file is treated as a binary file. If not, line endings are converted to CR.

Provided By

textcon

<textcon>.record-start

Synopsis

<textcon>.record-start

Description

Starts recording of output on the console. All previously recorded output will be discarded. The recorded string can be read with the <textcon>.record-stop command.

Provided By

textcon

See Also

<textcon>.record-stop

<textcon>.record-stop

Synopsis

<textcon>.record-stop

Description

Stops recording of output on the console, and return the recorded string.

Provided By

textcon

See Also

<textcon>.record-start

<textcon>.save-to-file

Synopsis

<textcon>.save-to-file filename [-overwrite]

Description

Save all console screen and scrollback data to filename. If -overwrite is specified, the file is overwritten, otherwise it is appended.

Provided By

textcon

See Also

<textcon>.capture-start

<textcon>.show

Synopsis

<textcon>.show

Description

Display the console window

Provided By

textcon

See Also

<textcon>.hide

<textcon>.status

Synopsis

<textcon>.status

Description

Print detailed information about the current status of the object.

Provided By

textcon

<textcon>.telnet-setup

Synopsis

<textcon>.telnet-setup [port|unix_socket] [-shutdown] [-raw]

Description

Start telnet server on port or on UNIX socket unix_socket. If neither port or unix_socket is specified, or if port is set to 0, then an arbitrary port is used. If the port is busy, the command fails, unless the new_telnet_port_if_busy attribute has been set. The listening port is returned, or NIL on failure.

The given port must not be a privileged port, i.e. allowed range is [1024, 65535]. The command will fail if the unix_socket argument specifies an already existing file. UNIX sockets are not supported on Windows.

If -raw is specified, the telnet connections will use raw mode, where telnet control codes will not be interpreted.

If -shutdown is specified, any open telnet connections will be shutdown before starting a new server.

Provided By

textcon

See Also

<textcon>.telnet-status

<textcon>.telnet-status

Synopsis

<textcon>.telnet-status

Description

Prints information about the telnet server connection status.

When used in an expression, the command returns a list with 5 entries:

1. The local port, or NIL if no telnet server is started.

2. TRUE if telnet raw mode is used, else FALSE.

3. TRUE if IPv4 is used, else FALSE.

4. The remote IP, or NIL if no telnet connection is active.

5. The remote port, or NIL if no telnet connection is active.

Provided By

textcon

See Also

<textcon>.telnet-setup

<trace-sync>.enable

Synopsis

<trace-sync>.enable
<trace-sync>.disable

Description

Enables trace synchronization.
This module provides a workaround for a hardware determinism problem present in certain Core2 Duo processors.

Provided By

trace-sync

<trace-sync>.info

Synopsis

<trace-sync>.info

Description

Print detailed information about the configuration of the object.

Provided By

trace-sync

<trace-sync>.status

Synopsis

<trace-sync>.status

Description

Print detailed information about the current status of the object.

Provided By

trace-sync

<tracer_tool>.add-filter

Synopsis

<tracer_tool>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

instrumentation-tracer-tool

<tracer_tool>.add-instrumentation

Synopsis

<tracer_tool>.add-instrumentation ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"] [-trace-data] [-trace-instructions] [-trace-exceptions] [-print-virtual-address] [-print-physical-address] [-print-linear-address] [-print-opcode] [-print-access-type] [-print-memory-type] [-print-register-changes] [-print-old-value] [-print-execution-mode] [-use-cpu-number] [-remove-duplicates]

Description

Connects the tool to one or several processors as given by the processors argument.The parent argument specifies an hierarchical object and all processors below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Each new connection to the tracer tool can be configured with flags. The flags are described below.

The following three flags control what type of tracing is done:

-trace-data : Enabling tracing of data operations.
-trace-instructions : Enabling tracing of instruction.
-trace-exceptions : Enabling tracing of exceptions.

The following flags allow controlling the output:


-print-register-changes : Print register changes after traced instruction and/or traced exception. Registers that normally change with every instruction, like program counter or cycles counter, are not listed.
-print-old-value : Print the previous register value together with register changes.
-print-virtual-address : Print the virtual address of an entry.
-print-physical-address : Print the physical address of an entry.
-print-linear-address : Print the linear address of an entry (only x86).
-print-opcode : Print the opcode of an instruction entry.
-print-access-type : Print the access type (only x86).
-print-memory-type : Print the memory type (only x86).
-print-execution-mode : Print the execution mode (only x86). See description of recognized modes below.
-use-cpu-number : Print the CPU number instead of its name.
-remove-duplicates : Remove duplicated lines from the output.

If none of the -print... or -trace.. flags are given all of those will be enabled by default except -print-register-changes, i.e., trace and print everything except register changes.

If only -print-register-changes are given everything including register changes will be enabled.

The -print-execution-mode recognizes the following modes of execution. Note that several modes can be recognized simultaneously.
AC : The processor is executing inside an Authenticated Code Module (ACM).
SEAM : The processor is executing inside Secure Arbitration Mode (SEAM) mode.
SGX : The processor is executing inside an Intel® Software Guard Extensions (Intel® SGX) enclave.
SMM : The processor is executing inside System Management Mode (SMM) mode.
VMX root : The processor is executing inside Virtual Machine Extensions (VMX) root mode.
VMX non-root : The processor is executing inside Virtual Machine Extensions (VMX) non-root mode.

Provided By

instrumentation-tracer-tool

<tracer_tool>.add-log-message

Synopsis

<tracer_tool>.add-log-message (log-objects ... | list of log-objects) [level] ([ types ... ] | list of types) ([ "groups" ... ] | list of "groups")

Description

Add log entries to the log output for specific objects. log-objects is one or several object to add log outputs from. The level specifies the log level to consider. Log messages with less than or equal level will be included. The current log level for each object is ignored, i.e., specifying 4 here will include all messages for an object regardless of its log level setting. The types argument specifies what log types to include. All log types are included if not set. The groups argument specifies the log group for the object to consider. All objects given must define the groups specified. If this is not the case, this command can be executed several times, adding different objects with different log groups. All log groups are included if not set.

Provided By

instrumentation-tracer-tool

<tracer_tool>.del-log-message

Synopsis

<tracer_tool>.del-log-message (log-objects ... | list of log-objects)

Description

Delete all log entries from the log output for objects in log-objects.

Provided By

instrumentation-tracer-tool

<tracer_tool>.delete

Synopsis

<tracer_tool>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

instrumentation-tracer-tool

<tracer_tool>.disable-instrumentation

Synopsis

<tracer_tool>.disable-instrumentation [id] [processor] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The processor selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

instrumentation-tracer-tool

<tracer_tool>.enable-instrumentation

Synopsis

<tracer_tool>.enable-instrumentation [id] [processor] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The processor selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

instrumentation-tracer-tool

<tracer_tool>.info

Synopsis

<tracer_tool>.info

Description

Print detailed information about the configuration of the tool.

Provided By

instrumentation-tracer-tool

<tracer_tool>.list-providers

Synopsis

<tracer_tool>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

instrumentation-tracer-tool

<tracer_tool>.print-trace-buffer

Synopsis

<tracer_tool>.print-trace-buffer

Description

Print the current trace buffer.

Provided By

instrumentation-tracer-tool

<tracer_tool>.remove-filter

Synopsis

<tracer_tool>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

instrumentation-tracer-tool

<tracer_tool>.remove-instrumentation

Synopsis

<tracer_tool>.remove-instrumentation [id] ([ processors ... ] | list of processors) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The processors selects the connections towards one or several processors that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

instrumentation-tracer-tool

<tracer_tool>.save-trace-buffer

Synopsis

<tracer_tool>.save-trace-buffer file

Description

Save the current trace buffer to the specified file.

Provided By

instrumentation-tracer-tool

<tracer_tool>.status

Synopsis

<tracer_tool>.status

Description

Print detailed information about the current status of the tool.

Provided By

instrumentation-tracer-tool

<transaction>.wait-for-get

Synopsis

<transaction>.wait-for-get address [size] [-l|-b] [initiator]

Description

The command issues an inquiry read transaction (via the 'transaction' interface) to address. If the transaction is not completed immediately the command postpones the execution of a script branch until the transaction is completed.

The size argument specifies how many bytes should be read. It defaults to 4, but can be set to any positive value.

Providing initiator is rarely needed, but some devices may only accept accesses from certain initiating objects. If provided, initiator is the object that will be used as the source of the access.

The -l and -b flags are used to select little-endian or big-endian byte order, respectively. They determine how the bytes in memory should be interpreted as a value. If neither is given, the byte order of the initiator is used if specified and a processor, or else the order of the current frontend processor.

When used in an expression the command returns the value read.

If a request fails an error is reported.

Provided By

Simics Core

See Also

wait-for-read, wait-for-write, wait-for-get, wait-for-set

<transaction>.wait-for-read

Synopsis

<transaction>.wait-for-read address [size] [-l|-b] [initiator]

Description

The command issues a read transaction (via the 'transaction' interface) to address. If the transaction is not completed immediately the command postpones the execution of a script branch until the transaction is completed.

The size argument specifies how many bytes should be read. It defaults to 4, but can be set to any positive value.

Providing initiator is rarely needed, but some devices may only accept accesses from certain initiating objects. If provided, initiator is the object that will be used as the source of the access.

The -l and -b flags are used to select little-endian or big-endian byte order, respectively. They determine how the bytes in memory should be interpreted as a value. If neither is given, the byte order of the initiator is used if specified and a processor, or else the order of the current frontend processor.

When used in an expression the command returns the value read.

If a request fails an error is reported.

Provided By

Simics Core

See Also

wait-for-read, wait-for-write, wait-for-get, wait-for-set

<transaction>.wait-for-set

Synopsis

<transaction>.wait-for-set address value [size] [-l|-b] [initiator]

Description

The command issues an inquiry write transaction (via the 'transaction' interface) to address with the value value and the length of size bytes. The default size is 4 bytes, but it can have any positive value. If the transaction is not completed immediately the command postpones the execution of a script branch until the transaction is completed.

If a positive value doesn't fit in the specified size, an error is reported.

Providing initiator is rarely needed, but some devices may only accept accesses from certain initiating objects. If provided, initiator is the object that will be used as the source of the access.

The -l and -b flags are used to select little-endian and big-endian byte order, respectively. If neither is given, the byte order of the initiator is used if specified and a processor, or else the order of the currently selected processor.

If the value argument is a list, then each item is written to memory as a value of size bytes, starting at address. The byte order flags operate on each item in the list.

If a request fails an error is reported.

Provided By

Simics Core

See Also

wait-for-read, wait-for-write, wait-for-get, wait-for-set

<transaction>.wait-for-write

Synopsis

<transaction>.wait-for-write address value [size] [-l|-b] [initiator]

Description

The command issues a write transaction (via the 'transaction' interface) to address with the value value and the length of size bytes. The default size is 4 bytes, but it can have any positive value. If the transaction is not completed immediately the command postpones the execution of a script branch until the transaction is completed.

If a positive value doesn't fit in the specified size, an error is reported.

Providing initiator is rarely needed, but some devices may only accept accesses from certain initiating objects. If provided, initiator is the object that will be used as the source of the access.

The -l and -b flags are used to select little-endian and big-endian byte order, respectively. If neither is given, the byte order of the initiator is used if specified and a processor, or else the order of the currently selected processor.

If the value argument is a list, then each item is written to memory as a value of size bytes, starting at address. The byte order flags operate on each item in the list.

If a request fails an error is reported.

Provided By

Simics Core

See Also

wait-for-read, wait-for-write, wait-for-get, wait-for-set

<transaction_splitter>.info

Synopsis

<transaction_splitter>.info

Description

Print detailed information about the configuration of the object.

Provided By

transaction-splitter

<transaction_splitter>.status

Synopsis

<transaction_splitter>.status

Description

Print detailed information about the current status of the object.

Provided By

transaction-splitter

<transaction_translator>.memory-map

Synopsis

<transaction_translator>.memory-map ["class"] ["interface"] [-r|-w|-x] [-recurse|-local] [max-regions] ([ exclude ... ] | list of exclude) [start] [end] ["substr"] [-add-atoms]

Description

Displays the physical memory map for a processor or a translator (e.g. a memory-space). The map of the currently selected frontend processor is shown, unless the object argument selects another processor or a specific translator in the system.

The interface, class and exclude arguments can be used to filter the output, only including objects of a certain class, or implementing a certain interface. The exclude argument is a list holding objects and/or classes to filter out.

Example excluding RAM objects, memory spaces and object board.foo:
memory-map object = board.phys_mem exclude = ram memory-space board.foo
or with the list syntax:
memory-map object = board.phys_mem exclude = ["ram", "memory-space", board.foo]

If the optional substr argument is specified, only objects with a name matching this sub-string will be printed. The current namespace part of the object name will not be included in the name matched against.

If possible, the memory map will be probed using 'rwx' access mode. Otherwise, the mode specified by either of the -r, -w or -x flags is used, default is -r.

The command can probe the memory map recursively, or it can show the local map only. This can be controlled using the flags -recurse and -local. The default behavior of the non-namespaced version of this command is to probe recursively, while the default behaviour of the namespaced version is to probe the local memory map only.

Transaction atoms can be used for routing rules and access rights in a platform. The -add-atoms flag opens up the capability to set transaction atoms on the command line: once the flag is set the command accepts additional arguments that have names starting with ATOM_ prefix. Tab complete after setting the -add-atoms flag to see the available atoms. These arguments are used by the command to pass in atom values to the translators it passes through during the transaction probing.

Please note that the ATOM_... arguments can be used only to specify values for transaction atoms that have integer values and provide Python wrappings. Complex atoms such as pointers and structures are not available from CLI.

The output table minimally shows these columns:
- Start and End are the start and the end of the mapping
- Device is the destination device

Optional columns, which are shown when required, are:
- Offset is the offset in the destination device
- Access is the access type for which the entry is valid
- Fn is the (deprecated) function number for the entry
- Target is the default target of the entry, which is used when device is a translator. This can only occur if -local was used or the command ended prematurely

Argument max-regions can be used to increase the number of rows presented. Default is a maximum of 256 rows.

Arguments start and end can be used to view a subrange of the memory map. The subrange spans [start, end).

When the command is used in an expression, a list is returned with entries describing individual mappings. Each entry describing an individual mapping is a list in the form [start, end, device, offset, access].

The list items are:
- start and end are the start and the end of the mapping
- device is the destination device
- offset is the offset in the destination device
- access is the bitmap of the access_t values showing for which access types the entry is valid.

Please note that the list describing an individual mapping may grow in future Simics versions, but the currently defined fields will not change.

Please note that the command can in some cases take a long time to execute. Long execution times happen when there is a high occurrence of small map segments in a platform. The memory-map command has to iterate over all these segments.

Provided By

Simics Core

See Also

probe-address

<translator>.memory-map

Synopsis

<translator>.memory-map ["class"] ["interface"] [-r|-w|-x] [-recurse|-local] [max-regions] ([ exclude ... ] | list of exclude) [start] [end] ["substr"] [-add-atoms]

Description

Displays the physical memory map for a processor or a translator (e.g. a memory-space). The map of the currently selected frontend processor is shown, unless the object argument selects another processor or a specific translator in the system.

The interface, class and exclude arguments can be used to filter the output, only including objects of a certain class, or implementing a certain interface. The exclude argument is a list holding objects and/or classes to filter out.

Example excluding RAM objects, memory spaces and object board.foo:
memory-map object = board.phys_mem exclude = ram memory-space board.foo
or with the list syntax:
memory-map object = board.phys_mem exclude = ["ram", "memory-space", board.foo]

If the optional substr argument is specified, only objects with a name matching this sub-string will be printed. The current namespace part of the object name will not be included in the name matched against.

If possible, the memory map will be probed using 'rwx' access mode. Otherwise, the mode specified by either of the -r, -w or -x flags is used, default is -r.

The command can probe the memory map recursively, or it can show the local map only. This can be controlled using the flags -recurse and -local. The default behavior of the non-namespaced version of this command is to probe recursively, while the default behaviour of the namespaced version is to probe the local memory map only.

Transaction atoms can be used for routing rules and access rights in a platform. The -add-atoms flag opens up the capability to set transaction atoms on the command line: once the flag is set the command accepts additional arguments that have names starting with ATOM_ prefix. Tab complete after setting the -add-atoms flag to see the available atoms. These arguments are used by the command to pass in atom values to the translators it passes through during the transaction probing.

Please note that the ATOM_... arguments can be used only to specify values for transaction atoms that have integer values and provide Python wrappings. Complex atoms such as pointers and structures are not available from CLI.

The output table minimally shows these columns:
- Start and End are the start and the end of the mapping
- Device is the destination device

Optional columns, which are shown when required, are:
- Offset is the offset in the destination device
- Access is the access type for which the entry is valid
- Fn is the (deprecated) function number for the entry
- Target is the default target of the entry, which is used when device is a translator. This can only occur if -local was used or the command ended prematurely

Argument max-regions can be used to increase the number of rows presented. Default is a maximum of 256 rows.

Arguments start and end can be used to view a subrange of the memory map. The subrange spans [start, end).

When the command is used in an expression, a list is returned with entries describing individual mappings. Each entry describing an individual mapping is a list in the form [start, end, device, offset, access].

The list items are:
- start and end are the start and the end of the mapping
- device is the destination device
- offset is the offset in the destination device
- access is the bitmap of the access_t values showing for which access types the entry is valid.

Please note that the list describing an individual mapping may grow in future Simics versions, but the currently defined fields will not change.

Please note that the command can in some cases take a long time to execute. Long execution times happen when there is a high occurrence of small map segments in a platform. The memory-map command has to iterate over all these segments.

Provided By

Simics Core

See Also

probe-address

<txt_console_comp>.info

Synopsis

<txt_console_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

console-components

<txt_console_comp>.status

Synopsis

<txt_console_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

console-components

<tyler_durden>.info

Synopsis

<tyler_durden>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<tyler_durden>.status

Synopsis

<tyler_durden>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<tyrell>.info

Synopsis

<tyrell>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<tyrell>.status

Synopsis

<tyrell>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<uart-device-connector>.info

Synopsis

<uart-device-connector>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-bp

<uart-device-connector>.status

Synopsis

<uart-device-connector>.status

Description

Print detailed information about the current status of the object.

Provided By

std-bp

<uart-remote-connector>.info

Synopsis

<uart-remote-connector>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-bp

<uart-remote-connector>.status

Synopsis

<uart-remote-connector>.status

Description

Print detailed information about the current status of the object.

Provided By

std-bp

<uefi_fw_mapper>.info

Synopsis

<uefi_fw_mapper>.info

Description

Print detailed information about the configuration of the object.

Provided By

uefi-fw-tracker

<uefi_fw_mapper>.list-modules

Synopsis

<uefi_fw_mapper>.list-modules [-no-unknown-modules] ["module-regexp"] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

List all loaded modules known by the tracker. To search for a specific module name, specify a module name filter with module-regexp.

To filter out the modules for which no module name has been found, specify -no-unknown-modules.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

uefi-fw-tracker

<uefi_fw_mapper>.status

Synopsis

<uefi_fw_mapper>.status

Description

Print detailed information about the current status of the object.

Provided By

uefi-fw-tracker

<uefi_fw_tracker>.detect-parameters

Synopsis

<uefi_fw_tracker>.detect-parameters [param-file] [-overwrite] [-verbose] [-load] [map-file] [-enable-pre-dxe-tracking] [pre-dxe-start] [pre-dxe-size] [-disable-dxe-tracking] [-disable-hand-off-tracking] [dxe-start] [dxe-size] [-disable-execution-tracking] [exec-scan-size] [-disable-notification-tracking] [-disable-smm-tracking] [-disable-reset-support]

Description

Detect the parameters to use with the UEFI Firmware tracker and write to a parameter file. For information about tracking techniques, see Analyzer User's Guide.

The optional param-file argument is used to specify where to save the parameters, the default is uefi.params. If this argument is left out and the -load flag is used then no parameters will be saved.

The -load flag can be used to load the newly detected parameters directly after detection.

The optional -overwrite flag tells the detect command to overwrite the file specified by the param-file argument, if it exists.

Use -verbose to show a configuration overview of the tracker configuration.

Configure map file tracking by setting the map-file argument to the UEFI build's map-file.

Pre-DXE tracking is only supported for X86 platform and is enabled by setting -enable-pre-dxe-tracking. This requires that the scanning range which will be scanned for dynamic PEI modules by the tracker is set with pre-dxe-start and pre-dxe-size.

DXE tracking is enabled by default and can be disabled with -disable-dxe-tracking. The default scanning range to locate EFI_SYSTEM_TABLE_POINTER is from 0 to 4 GB, but this range can be modified by specifying dxe-start and dxe-size.

OS hand-off tracking tracks hand-off to the OS from UEFI, and when this happens, only SMM and reset-tracking are preserved. OS hand-off tracking requires DXE tracking, which means that if DXE tracking is disabled, OS hand-off tracking must be disabled as well. To disable OS hand-off tracking, use -disable-hand-off-tracking.

Execution tracking is enabled by default and can be disabled with -disable-execution-tracking. This tracking requires that the scanning size is as large as the largest module in the system and defaults to 327680 bytes. To modify the scanning size, set exec-scan-size.

Notification tracking is only available on an X86 platform, and is enabled by default on X86. To disable notification tracking, use -disable-notification-tracking. This tracking requires that notification support has been added to the UEFI system.

SMM tracking is only available on an X86 platform, and is enabled by default on X86, but can be disabled with -disable-smm-tracking.

Processor reset monitoring is only available on an X86 platform, and is enabled by default on X86, but can be disabled with -disable-reset-support.

For further details, see the Analyzer User's Guide.

Provided By

uefi-fw-tracker

See Also

<osa_parameters>.load-parameters

<uefi_fw_tracker>.info

Synopsis

<uefi_fw_tracker>.info

Description

Print detailed information about the configuration of the object.

Provided By

uefi-fw-tracker

<uefi_fw_tracker>.status

Synopsis

<uefi_fw_tracker>.status

Description

Print detailed information about the current status of the object.

Provided By

uefi-fw-tracker

<uefi_fw_tracker_comp>.detect-parameters

Synopsis

<uefi_fw_tracker_comp>.detect-parameters [param-file] [-overwrite] [-verbose] [-load] [map-file] [-enable-pre-dxe-tracking] [pre-dxe-start] [pre-dxe-size] [-disable-dxe-tracking] [-disable-hand-off-tracking] [dxe-start] [dxe-size] [-disable-execution-tracking] [exec-scan-size] [-disable-notification-tracking] [-disable-smm-tracking] [-disable-reset-support]

Description

Detect the parameters to use with the UEFI Firmware tracker and write to a parameter file. For information about tracking techniques, see Analyzer User's Guide.

The optional param-file argument is used to specify where to save the parameters, the default is uefi.params. If this argument is left out and the -load flag is used then no parameters will be saved.

The -load flag can be used to load the newly detected parameters directly after detection.

The optional -overwrite flag tells the detect command to overwrite the file specified by the param-file argument, if it exists.

Use -verbose to show a configuration overview of the tracker configuration.

Configure map file tracking by setting the map-file argument to the UEFI build's map-file.

Pre-DXE tracking is only supported for X86 platform and is enabled by setting -enable-pre-dxe-tracking. This requires that the scanning range which will be scanned for dynamic PEI modules by the tracker is set with pre-dxe-start and pre-dxe-size.

DXE tracking is enabled by default and can be disabled with -disable-dxe-tracking. The default scanning range to locate EFI_SYSTEM_TABLE_POINTER is from 0 to 4 GB, but this range can be modified by specifying dxe-start and dxe-size.

OS hand-off tracking tracks hand-off to the OS from UEFI, and when this happens, only SMM and reset-tracking are preserved. OS hand-off tracking requires DXE tracking, which means that if DXE tracking is disabled, OS hand-off tracking must be disabled as well. To disable OS hand-off tracking, use -disable-hand-off-tracking.

Execution tracking is enabled by default and can be disabled with -disable-execution-tracking. This tracking requires that the scanning size is as large as the largest module in the system and defaults to 327680 bytes. To modify the scanning size, set exec-scan-size.

Notification tracking is only available on an X86 platform, and is enabled by default on X86. To disable notification tracking, use -disable-notification-tracking. This tracking requires that notification support has been added to the UEFI system.

SMM tracking is only available on an X86 platform, and is enabled by default on X86, but can be disabled with -disable-smm-tracking.

Processor reset monitoring is only available on an X86 platform, and is enabled by default on X86, but can be disabled with -disable-reset-support.

For further details, see the Analyzer User's Guide.

Provided By

uefi-fw-tracker

See Also

<osa_parameters>.load-parameters

<uefi_fw_tracker_comp>.info

Synopsis

<uefi_fw_tracker_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

uefi-fw-tracker

<uefi_fw_tracker_comp>.list-modules

Synopsis

<uefi_fw_tracker_comp>.list-modules [-no-unknown-modules] ["module-regexp"] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

List all loaded modules known by the tracker. To search for a specific module name, specify a module name filter with module-regexp.

To filter out the modules for which no module name has been found, specify -no-unknown-modules.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

uefi-fw-tracker

<uefi_fw_tracker_comp>.status

Synopsis

<uefi_fw_tracker_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

uefi-fw-tracker

<unix-socket-server>.info

Synopsis

<unix-socket-server>.info

Description

Print detailed information about the configuration of the object.

Provided By

external-connection

<unix-socket-server>.status

Synopsis

<unix-socket-server>.status

Description

Print detailed information about the current status of the object.

Provided By

external-connection

<usb-device-connector>.info

Synopsis

<usb-device-connector>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-bp

<usb-device-connector>.status

Synopsis

<usb-device-connector>.status

Description

Print detailed information about the current status of the object.

Provided By

std-bp

<usb-host-connector>.info

Synopsis

<usb-host-connector>.info

Description

Print detailed information about the configuration of the object.

Provided By

std-bp

<usb-host-connector>.status

Synopsis

<usb-host-connector>.status

Description

Print detailed information about the current status of the object.

Provided By

std-bp

<usb_disk_comp>.info

Synopsis

<usb_disk_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

usb-comp

<usb_disk_comp>.status

Synopsis

<usb_disk_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

usb-comp

<usb_hs_keyboard>.info

Synopsis

<usb_hs_keyboard>.info

Description

Print detailed information about the configuration of the object.

Provided By

usb-input-devices

<usb_hs_keyboard>.key-down

Synopsis

<usb_hs_keyboard>.key-down key-code
<usb_hs_keyboard>.key-up key-code
<usb_keyboard>.key-up key-code

Description

Send a key press to the keyboard controller. The key-code argument is the internal Simics keycode. The <usb_hs_keyboard>.key-press command is recommend instead.

Provided By

usb-input-devices

See Also

<usb_hs_keyboard>.key-press

<usb_hs_keyboard>.key-press

Synopsis

<usb_hs_keyboard>.key-press ("key" ... | list of "key") [simultaneously]

Description

Press one or more keys on the keyboard. This translates to a series of key down events followed by the matching key up events. The key names correspond to the keys on a U.S. keyboard with no keys remapped by software. If simultaneously is true, that means you press keys simultaneously, otherwise, you press keys sequentially. Default of simultaneously is false.

Provided By

usb-input-devices

<usb_hs_keyboard>.status

Synopsis

<usb_hs_keyboard>.status

Description

Print detailed information about the current status of the object.

Provided By

usb-input-devices

<usb_hs_keyboard_comp>.info

Synopsis

<usb_hs_keyboard_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

usb-hid-components

<usb_hs_keyboard_comp>.status

Synopsis

<usb_hs_keyboard_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

usb-hid-components

<usb_keyboard>.info

Synopsis

<usb_keyboard>.info

Description

Print detailed information about the configuration of the object.

Provided By

usb-input-devices

<usb_keyboard>.key-down

Synopsis

<usb_keyboard>.key-down key-code

Description

Send a key press to the keyboard controller. The key-code argument is the internal Simics keycode. The <usb_keyboard>.key-press command is recommend instead.

Provided By

usb-input-devices

See Also

<usb_hs_keyboard>.key-press

<usb_keyboard>.key-press

Synopsis

<usb_keyboard>.key-press ("key" ... | list of "key") [simultaneously]

Description

Press one or more keys on the keyboard. This translates to a series of key down events followed by the matching key up events. The key names correspond to the keys on a U.S. keyboard with no keys remapped by software. If simultaneously is true, that means you press keys simultaneously, otherwise, you press keys sequentially. Default of simultaneously is false.

Provided By

usb-input-devices

<usb_keyboard>.status

Synopsis

<usb_keyboard>.status

Description

Print detailed information about the current status of the object.

Provided By

usb-input-devices

<usb_keyboard_comp>.info

Synopsis

<usb_keyboard_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

usb-hid-components

<usb_keyboard_comp>.status

Synopsis

<usb_keyboard_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

usb-hid-components

<usb_mouse>.info

Synopsis

<usb_mouse>.info

Description

Print detailed information about the configuration of the object.

Provided By

usb-input-devices

<usb_mouse>.left-button

Synopsis

<usb_mouse>.left-button "direction"
<usb_mouse>.middle-button "direction"
<usb_mouse>.right-button "direction"

Description

Presses or releases a mouse button. The direction is up or down.

Provided By

usb-input-devices

<usb_mouse>.moveto

Synopsis

<usb_mouse>.moveto coordinator_x coordinator_y

Description

Move the mouse cursor to a specific position of the screen identified by coordinator_x and coordinator_y. To correctly run this command, target OS should disable its mouse acceleration feature. The feature has been available in Windows through "Enhance Pointer Precision" setting from Mouse properties in control panel. If the target OS is Linux, the feature can also be disabled through xinput command as "xinput set-prop 10 259 -1". It is better to run "Reset" command right after the target OS setting to clear previous side-effects caused by this target OS feature.

Provided By

usb-input-devices

See Also

<usb_mouse>.reset

<usb_mouse>.reset

Synopsis

<usb_mouse>.reset

Description

Reset the mouse cursor to the left-top of the screen. It is recommended to run this command before a serial of "moveto" commands. The mouse acceleration feature of the target OS should be disabled before this command.

Provided By

usb-input-devices

See Also

<usb_mouse>.moveto

<usb_mouse>.status

Synopsis

<usb_mouse>.status

Description

Print detailed information about the current status of the object.

Provided By

usb-input-devices

<usb_mouse_comp>.info

Synopsis

<usb_mouse_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

usb-hid-components

<usb_mouse_comp>.status

Synopsis

<usb_mouse_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

usb-hid-components

<usb_tablet>.info

Synopsis

<usb_tablet>.info

Description

Print detailed information about the configuration of the object.

Provided By

usb-tablet

<usb_tablet>.status

Synopsis

<usb_tablet>.status

Description

Print detailed information about the current status of the object.

Provided By

usb-tablet

<usb_tablet_component>.info

Synopsis

<usb_tablet_component>.info

Description

Print detailed information about the configuration of the object.

Provided By

usb-comp

<usb_tablet_component>.status

Synopsis

<usb_tablet_component>.status

Description

Print detailed information about the current status of the object.

Provided By

usb-comp

<vga>.info

Synopsis

<vga>.info

Description

Print detailed information about the configuration of the object.

Provided By

vga

<vga>.redraw

Synopsis

<vga>.redraw

Description

This command sends the current frame buffer contents of the simulated video device to the graphics console. If a simulated cursor is active, it is updated as well.

Provided By

vga

<vga>.refresh-rate

Synopsis

<vga>.refresh-rate [rate]

Description

Set the rate at which the device updates the display. The default is 1000 Hz in virtual time.

NOTE: The rate is currently the same for all devices of the same class.

Provided By

vga

<vga>.status

Synopsis

<vga>.status

Description

Print detailed information about the current status of the object.

Provided By

vga

<vga>.text-dump

Synopsis

<vga>.text-dump

Description

Print the contents of the display in text mode.

Provided By

vga

<vga_pci>.info

Synopsis

<vga_pci>.info

Description

Print detailed information about the configuration of the object.

Provided By

vga-pci

<vga_pci>.redraw

Synopsis

<vga_pci>.redraw

Description

This command sends the current frame buffer contents of the simulated video device to the graphics console. If a simulated cursor is active, it is updated as well.

Provided By

vga-pci

<vga_pci>.refresh-rate

Synopsis

<vga_pci>.refresh-rate [rate]

Description

Set the rate at which the device updates the display. The default is 1000 Hz in virtual time.

NOTE: The rate is currently the same for all devices of the same class.

Provided By

vga-pci

<vga_pci>.status

Synopsis

<vga_pci>.status

Description

Print detailed information about the current status of the object.

Provided By

vga-pci

<vga_pci>.text-dump

Synopsis

<vga_pci>.text-dump

Description

Print the contents of the display in text mode.

Provided By

vga-pci

<virtio-mmio-entropy>.info

Synopsis

<virtio-mmio-entropy>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio

<virtio-mmio-entropy>.status

Synopsis

<virtio-mmio-entropy>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio

<virtio-pcie-sriov-blk>.info

Synopsis

<virtio-pcie-sriov-blk>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio

<virtio-pcie-sriov-blk>.status

Synopsis

<virtio-pcie-sriov-blk>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio

<virtio_mmio_blk>.info

Synopsis

<virtio_mmio_blk>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio

<virtio_mmio_blk>.status

Synopsis

<virtio_mmio_blk>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio

<virtio_mmio_blk_comp>.info

Synopsis

<virtio_mmio_blk_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio-comp

<virtio_mmio_blk_comp>.status

Synopsis

<virtio_mmio_blk_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio-comp

<virtio_mmio_fs>.info

Synopsis

<virtio_mmio_fs>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio

<virtio_mmio_fs>.status

Synopsis

<virtio_mmio_fs>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio

<virtio_mmio_net>.info

Synopsis

<virtio_mmio_net>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio

<virtio_mmio_net>.status

Synopsis

<virtio_mmio_net>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio

<virtio_pcie_blk>.info

Synopsis

<virtio_pcie_blk>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio

<virtio_pcie_blk>.status

Synopsis

<virtio_pcie_blk>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio

<virtio_pcie_blk_comp>.info

Synopsis

<virtio_pcie_blk_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio-comp

<virtio_pcie_blk_comp>.status

Synopsis

<virtio_pcie_blk_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio-comp

<virtio_pcie_fs>.info

Synopsis

<virtio_pcie_fs>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio

<virtio_pcie_fs>.status

Synopsis

<virtio_pcie_fs>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio

<virtio_pcie_fs_comp>.info

Synopsis

<virtio_pcie_fs_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio-comp

<virtio_pcie_fs_comp>.status

Synopsis

<virtio_pcie_fs_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio-comp

<virtio_pcie_net>.info

Synopsis

<virtio_pcie_net>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio

<virtio_pcie_net>.status

Synopsis

<virtio_pcie_net>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio

<virtio_pcie_net_comp>.info

Synopsis

<virtio_pcie_net_comp>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtio-comp

<virtio_pcie_net_comp>.status

Synopsis

<virtio_pcie_net_comp>.status

Description

Print detailed information about the current status of the object.

Provided By

virtio-comp

<virtiofs_fuse>.info

Synopsis

<virtiofs_fuse>.info

Description

Print detailed information about the configuration of the object.

Provided By

virtiofs-fuse

<virtiofs_fuse>.status

Synopsis

<virtiofs_fuse>.status

Description

Print detailed information about the current status of the object.

Provided By

virtiofs-fuse

<vmcom>.info

Synopsis

<vmcom>.info

Description

Print detailed information about the configuration of the object.

Provided By

vmcom

<vmcom>.status

Synopsis

<vmcom>.status

Description

Print detailed information about the current status of the object.

Provided By

vmcom

<vtune_measurement>.flamegraph

Synopsis

<vtune_measurement>.flamegraph [-open-browser] [-discard-module] [-modules-only] [svg-output-filename] ["thread-group"]

Description

This command produces a Scalable Vector Graphics (SVG) file, suitable to view the profile in a web-browser. A flamegraph is a graphical presentation of the profile, providing a good overview of where the time is spent and the call-chains for the bottlenecks.

In order to use this feature the flamegraph package must be installed on the host where Simics runs. See http://www.brendangregg.com/flamegraphs.html.

The flamegraph.pl file, must have executable permissions and be located within the PATH environment variable when Simics is started.

The graphic is dynamic, allowing you to hover over the mouse to get further details on the functions, or click to zoom-in on all a particular function and its children.

In the browser, it is also possible to search in the flamegraph by pressing CTRL-f and giving a regular expression for functions to locate and see how much percent the hits represents.

The -open-browser flag will attempt to open the generated file on the default webbrowser on the system.

The -discard-module flag only includes the function names in the profile, causing shorter identifiers in the graph.

The -modules-only flag only lists the modules and tries to collapse intra-module calls, providing an overview of the profile on module level and how the modules are called.

The output file is optional and specified with the svg-output-filename argument. If omitted, a temporary file will be created.

The thread-group argument allow filtering on threads which have a certain name.

Provided By

vtune-measurement

See Also

<vtune_measurement>.start, <vtune_measurement>.stop

<vtune_measurement>.info

Synopsis

<vtune_measurement>.info

Description

Print detailed information about the configuration of the object.

Provided By

vtune-measurement

<vtune_measurement>.launch-gui

Synopsis

<vtune_measurement>.launch-gui

Description

Start the VTune™ GUI on the collected data, allowing more detailed inspection and analysis of the performance profile.

Provided By

vtune-measurement

See Also

<vtune_measurement>.start, <vtune_measurement>.stop

<vtune_measurement>.module-profile

Synopsis

<vtune_measurement>.module-profile ["thread-group"] [-csv] [csv-output-filename] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Show hotspot profile of the run based on modules. The thread-group argument allow filtering on threads which have a certain name.

By default, the output will be presented in a table, for a more machine readable format, use the -csv flag which prints the entire profile in a comma separated value list. With csv-output-filename the csv formatted profile can be written to a file Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

vtune-measurement

See Also

<vtune_measurement>.start, <vtune_measurement>.stop, <vtune_measurement>.profile, <vtune_measurement>.summary

<vtune_measurement>.profile

Synopsis

<vtune_measurement>.profile ["thread-group"] ["function-regexp"] ["module-regexp"] ["file-regexp"] [-aggregate-filtered-out] [-csv] [csv-output-filename] [-no-inline] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Show hotspot profile of the run. The thread-group argument allow filtering on threads which have a certain name.

By default inline functions are included in the report, which might cause multiple instances of the same function to be reported. The -no-inline switch accounts the caller of the inline functions instead.

The function-regexp, module-regexp and file-regexp allows the profile to contain the rows that matches one or all of these regular expressions.

The -aggregate-filtered-out flag merges all reg-exp rows which are filtered out, into a single row. (This flag does not effect the thread-group filtering).

By default, the output will be presented in a table, for a more machine readable format, use the -csv flag which prints the entire profile in a comma separated value list. With csv-output-filename the csv formatted profile can be written to a file. Regular expression filters are discarded with this flag. Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

vtune-measurement

See Also

<vtune_measurement>.start, <vtune_measurement>.stop, <vtune_measurement>.module-profile, <vtune_measurement>.summary

<vtune_measurement>.save-folded-stacks

Synopsis

<vtune_measurement>.save-folded-stacks [-discard-module] [-modules-only] [-json] ["thread-group"] output-filename

Description

Produce a file with folded stack from the profile.

This is the intermediate file format which flamegraph works on. This file can be used to run flamegraph manually or to make diffs comparing two runs.

With the -json switch the output file is instead written as a json file.

The -discard-module flag only includes the function names in the profile, causing shorter identifiers in the graph.

The -modules-only flag only lists the modules and tries to collapse intra-module calls, providing an overview of the profile on module level and how the modules are called.

The thread-group argument allow filtering on threads which have a certain name.

The output file is specified with the output-filename argument.

Provided By

vtune-measurement

See Also

<vtune_measurement>.start, <vtune_measurement>.stop

<vtune_measurement>.start

Synopsis

<vtune_measurement>.start [collect]

Description

Start VTune measurements. The collect argument is optional and defaults to 'hotspots' which identifies the most time consuming functions and lines of source code. There are other types of analyses that can be used, use tab-completion to see the list it is unsure how well these works and the result needs to be examined inside vtune-gui

Provided By

vtune-measurement

See Also

<vtune_measurement>.stop, <vtune_measurement>.summary, <vtune_measurement>.module-profile, <vtune_measurement>.profile

<vtune_measurement>.status

Synopsis

<vtune_measurement>.status

Description

Print detailed information about the current status of the object.

Provided By

vtune-measurement

<vtune_measurement>.stop

Synopsis

<vtune_measurement>.stop

Description

Stop VTune measurements.

Provided By

vtune-measurement

See Also

<vtune_measurement>.start, <vtune_measurement>.summary, <vtune_measurement>.module-profile, <vtune_measurement>.profile

<vtune_measurement>.summary

Synopsis

<vtune_measurement>.summary

Description

Show VTune™ summary of the run.

Provided By

vtune-measurement

See Also

<vtune_measurement>.start, <vtune_measurement>.stop, <vtune_measurement>.module-profile, <vtune_measurement>.profile

<vtune_measurement>.thread-groups

Synopsis

<vtune_measurement>.thread-groups

Description

Show available thread groups.

Provided By

vtune-measurement

See Also

<vtune_measurement>.start, <vtune_measurement>.stop, <vtune_measurement>.module-profile, <vtune_measurement>.profile

<vtune_measurement>.thread-profile

Synopsis

<vtune_measurement>.thread-profile [-thread-details] [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Show which threads that have executed most during the measurement. All threads registered to the same thread-group are accumulated into one row, unless the -thread-details flag is used where each row represents a thread-id (tid). Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

vtune-measurement

See Also

<vtune_measurement>.start, <vtune_measurement>.stop, <vtune_measurement>.profile, <vtune_measurement>.summary

<wall_e>.info

Synopsis

<wall_e>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<wall_e>.status

Synopsis

<wall_e>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

<x2apic_v2>.info

Synopsis

<x2apic_v2>.info

Description

Print detailed information about the configuration of the object.

Provided By

x2apic-c++

<x2apic_v2>.status

Synopsis

<x2apic_v2>.status

Description

Print detailed information about the current status of the object.

Provided By

x2apic-c++

<x86-reset-bus>.info

Synopsis

<x86-reset-bus>.info

Description

Print detailed information about the configuration of the object.

Provided By

x86-reset-bus

<x86-tlb>.info

Synopsis

<x86-tlb>.info

Description

Print detailed information about the configuration of the object.

Provided By

x86_tlb

<x86-tlb>.status

Synopsis

<x86-tlb>.status

Description

Print detailed information about the current status of the TLB object.

Provided By

x86_tlb

<x86>.disable-vmp

Synopsis

<x86>.disable-vmp

Description

Disable VMP for this processor. Its timing settings remain unchanged.

Provided By

Simics Core

See Also

enable-vmp, setup-x86-timing

<x86>.enable-vmp

Synopsis

<x86>.enable-vmp

Description

Enable VMP for this processor. The command will fail if the processor timing settings are not VMP compatible. Use setup-x86-timing to change the timing settings.

Even when enabled for use with VMP, host acceleration may still not be engaged due to features being used that cannot be supported with direct execution. The info command on the processor will list the execution mode as VMP if VMP is enabled, and will also show a reason for VMP not being engaged if such a reason exists.

Provided By

Simics Core

See Also

disable-vmp, setup-x86-timing

<x86>.setup-x86-timing

Synopsis

<x86>.setup-x86-timing model

Description

Set the timing parameters for this processor to the given model. The supported models are "vmp" which sets up a VMP-compatible timing model optimized for interactive use, and "classic" which uses a simple one-cycle-per-instruction mode. The classic model is not VMP compatible.

Provided By

Simics Core

<x86>.vmp

Synopsis

<x86>.vmp

Description

Query if VMP is enabled or not.

Provided By

Simics Core

See Also

enable-vmp, disable-vmp

<x86_branch_profiler>.add-filter

Synopsis

<x86_branch_profiler>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

x86-branch-profiler

<x86_branch_profiler>.add-instrumentation

Synopsis

<x86_branch_profiler>.add-instrumentation ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"]

Description

Connects the tool to one or several processors as given by the processors argument.The parent argument specifies an hierarchical object and all processors below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

x86-branch-profiler

<x86_branch_profiler>.delete

Synopsis

<x86_branch_profiler>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

x86-branch-profiler

<x86_branch_profiler>.disable-instrumentation

Synopsis

<x86_branch_profiler>.disable-instrumentation [id] [processor] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The processor selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

x86-branch-profiler

<x86_branch_profiler>.enable-instrumentation

Synopsis

<x86_branch_profiler>.enable-instrumentation [id] [processor] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The processor selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

x86-branch-profiler

<x86_branch_profiler>.histogram

Synopsis

<x86_branch_profiler>.histogram [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Print an histogram over all normal branches used by the connected processors.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

x86-branch-profiler

<x86_branch_profiler>.info

Synopsis

<x86_branch_profiler>.info

Description

Print detailed information about the configuration of the tool.

Provided By

x86-branch-profiler

<x86_branch_profiler>.list-providers

Synopsis

<x86_branch_profiler>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

x86-branch-profiler

<x86_branch_profiler>.remove-filter

Synopsis

<x86_branch_profiler>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

x86-branch-profiler

<x86_branch_profiler>.remove-instrumentation

Synopsis

<x86_branch_profiler>.remove-instrumentation [id] ([ processors ... ] | list of processors) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The processors selects the connections towards one or several processors that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

x86-branch-profiler

<x86_branch_profiler>.status

Synopsis

<x86_branch_profiler>.status

Description

Print detailed information about the current status of the tool.

Provided By

x86-branch-profiler

<x86_broadcast>.info

Synopsis

<x86_broadcast>.info

Description

Print detailed information about the configuration of the object.

Provided By

x86_broadcast

<x86_broadcast>.status

Synopsis

<x86_broadcast>.status

Description

Print detailed information about the current status of the object.

Provided By

x86_broadcast

<x86_chassis>.info

Synopsis

<x86_chassis>.info

Description

Print detailed information about the configuration of the object.

Provided By

x86-comp

<x86_chassis>.status

Synopsis

<x86_chassis>.status

Description

Print detailed information about the current status of the object.

Provided By

x86-comp

<x86_mode_filter>.add-mode

Synopsis

<x86_mode_filter>.add-mode mode

Description

Adds a processor mode that will pass through the filter. Available modes are: RealMode16, RealMode32, Virtual86, ProtectedMode16, ProtectedMode32, ProtectedMode64, CompatibilityMode16, or CompatibilityMode32. Several modes can be combined by using this command several times.

Provided By

x86-mode-filter

See Also

new-x86-mode-filter, <x86_mode_filter>.remove-mode, <x86_mode_filter>.delete

<x86_mode_filter>.delete

Synopsis

<x86_mode_filter>.delete

Description

Delete the filter.

Provided By

x86-mode-filter

See Also

new-x86-mode-filter, <x86_mode_filter>.add-mode, <x86_mode_filter>.remove-mode

<x86_mode_filter>.info

Synopsis

<x86_mode_filter>.info

Description

Print detailed information about the configuration of the object.

Provided By

x86-mode-filter

<x86_mode_filter>.remove-mode

Synopsis

<x86_mode_filter>.remove-mode "mode"

Description

Remove the mode from the filter.

Provided By

x86-mode-filter

See Also

new-x86-mode-filter, <x86_mode_filter>.add-mode, <x86_mode_filter>.delete

<x86_mode_filter>.status

Synopsis

<x86_mode_filter>.status

Description

Print detailed information about the current status of the object.

Provided By

x86-mode-filter

<x86_mode_histogram>.add-filter

Synopsis

<x86_mode_histogram>.add-filter filter ["group"]

Description

Add a filter object to the tool. This allows the filter to control fine grained enabling and disabling of connections in the tool. See the documentation of the existing filters for more information of their capabilities. Use the group parameter to tie the filter to just a particular instrumentation group.

Provided By

x86-mode-histogram

<x86_mode_histogram>.add-instrumentation

Synopsis

<x86_mode_histogram>.add-instrumentation ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"]

Description

Connects the tool to one or several processors as given by the processors argument.The parent argument specifies an hierarchical object and all processors below this object matching the provider requirements will be added to the tool.The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

x86-mode-histogram

<x86_mode_histogram>.delete

Synopsis

<x86_mode_histogram>.delete

Description

Removes any connected instrumentation and deletes the tool object.

Provided By

x86-mode-histogram

<x86_mode_histogram>.disable-instrumentation

Synopsis

<x86_mode_histogram>.disable-instrumentation [id] [processor] ["group"]

Description

Disables instrumentation for established connections. The connection(s) between the provider and host remains, but instrumentation is either stopped from the provider or filtered away in the tool.

Without any arguments, all connections for the tool will be disabled.

The id specifies a specific connection number to be disabled.

The processor selects the connections towards a specific provider that should be disabled.

The group will only disable the connections which have been associated to a specific group.

Provided By

x86-mode-histogram

<x86_mode_histogram>.enable-instrumentation

Synopsis

<x86_mode_histogram>.enable-instrumentation [id] [processor] ["group"]

Description

Enables instrumentation for previously disabled connections. Without any arguments, all connections for the tool will be enabled.

The id specifies a specific connection number to be enabled.

The processor selects the connections towards a specific provider that should be enabled. The group will only enable the connections which have been associated to a specific group.

Provided By

x86-mode-histogram

<x86_mode_histogram>.histogram

Synopsis

<x86_mode_histogram>.histogram [max] [max-table-width] ["sort-on-column"] [sort-order] [float-decimals] [border-style] [-show-all-columns] [-ignore-column-widths] [-verbose] [-no-row-column] [-no-footers]

Description

Show aggregated x86 mode histogram for all connected processors. The histogram shows how many instructions that have been executed in the System Management mode, Vmx Root mode and Non-Root mode, and the various 16/32/64 bit execution modes, and combinations thereof.Below are the generic table arguments. The max argument selects how many rows that should be printed, default is 40. Use max = 0 to get the entire table.

The max-table-width argument specifies how many characters the table width is allowed to be. Default is zero, which means that Simics will get the current width of the terminal where the command is executed. Tables which initially become wider than this, will be shrunk down by splitting cells to multiple lines.

The sort-on-column argument allows the table to be sorted on certain column names, not all columns are allowed to be sorted on. If sort-on-column is not specified, the table may be sorted on a the column it finds most interesting or present the table unsorted.

The sort-order argument allows the sort-order to be changed, so either high values are listed first ('descending') or low values are listed first ('ascending'). If not selected, the default order is selected by the column which is being sorted upon.

The float-decimals argument can be used to print out more or less number of decimals on the floating point numbers in the table.

The border-style argument specifies how the borders for the table should look like. Possible values are borderless, ascii, thin and thick. Default is 'thin'.

The -show-all-columns flag possibly displays some hidden columns. Some autogenerated columns associated with another column are normally only displayed if that column is used for sorting. This flag enables all columns to be showed in the same table.

The -ignore-column-widths flag formats the table columns to be the max widths of the contents in the displayed rows. Consequently ignoring any explicitly set widths set in the columns.

The -verbose flag displays additional information of the table such as a description on what each column represents.

By default, an additional 'row' column is added to the far left, displaying each row's number. This can be suppressed with the -no-row-column flag. Note that footers uses the row column for the footer-names. Consequently, if the row column is removed, and footers are printed, another empty column is created instead.

Any columns have data which should be calculated and displayed in the footer, this will be printed by default. The footer can be suppressed with the -no-footers flag.

Provided By

x86-mode-histogram

<x86_mode_histogram>.info

Synopsis

<x86_mode_histogram>.info

Description

Print detailed information about the configuration of the tool.

Provided By

x86-mode-histogram

<x86_mode_histogram>.list-providers

Synopsis

<x86_mode_histogram>.list-providers

Description

List all provider objects that can be connected to the tool.

Provided By

x86-mode-histogram

<x86_mode_histogram>.remove-filter

Synopsis

<x86_mode_histogram>.remove-filter [filter] [-all] ["group"]

Description

Removes the filter from the tool. If -all is given, all filters will be removed. If group is given only filters connected to a group will be removed.

Provided By

x86-mode-histogram

<x86_mode_histogram>.remove-instrumentation

Synopsis

<x86_mode_histogram>.remove-instrumentation [id] ([ processors ... ] | list of processors) ["group"]

Description

Removes instrumentation for established connections.

Without any arguments all connection for the tool will be removed.

The id specifies a specific connection number to be removed.

The processors selects the connections towards one or several processors that should be removed.

The group will only remove the connections which have been associated to a specific group.

Provided By

x86-mode-histogram

<x86_mode_histogram>.status

Synopsis

<x86_mode_histogram>.status

Description

Print detailed information about the current status of the tool.

Provided By

x86-mode-histogram

<x86_msr>.bp-break-msr

Synopsis

<x86_msr>.bp-break-msr ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [-once]

Description

Enables breaking simulation on MSR architectural updates.

The name or number parameter specifies which MSR is considered. The available MSRs depend on the simulated target. Only MSRs implemented in CPU model are supported. MSRs are supported by x86 CPUs starting from Pentium®. If the -all flag is specified, all MSRs are considered. Usage of -all could degrade performance.

If -r is specified, only MSR read accesses are considered. If -w is specified, only MSR write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the MSR value are considered. In this case, if mask is specified, only changes affecting this mask of the MSR are considered.

If value is specified, only write accesses that results in the MSR having this value are considered, or read accesses when the MSR has this value. If mask is specified, only this mask of the MSR and given value are considered.

If no processor object is specified, the currently selected processor is used.

The -once flag causes the breakpoint to automatically be removed after it has triggered.

Provided By

bp-manager

<x86_msr>.bp-run-until-msr

Synopsis

<x86_msr>.bp-run-until-msr ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [timeout] [timeout-rt]

Description

Run the simulation until the specified MSR architectural update occurs.

The name or number parameter specifies which MSR is considered. The available MSRs depend on the simulated target. Only MSRs implemented in CPU model are supported. MSRs are supported by x86 CPUs starting from Pentium®. If the -all flag is specified, all MSRs are considered. Usage of -all could degrade performance.

If -r is specified, only MSR read accesses are considered. If -w is specified, only MSR write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the MSR value are considered. In this case, if mask is specified, only changes affecting this mask of the MSR are considered.

If value is specified, only write accesses that results in the MSR having this value are considered, or read accesses when the MSR has this value. If mask is specified, only this mask of the MSR and given value are considered.

If no processor object is specified, the currently selected processor is used.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<x86_msr>.bp-trace-msr

Synopsis

<x86_msr>.bp-trace-msr ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes]

Description

Enables tracing of MSR updates via architectural means. When this is enabled, every time the specified MSR is updated during simulation a message is printed. The message will name the MSR being updated, and the new value. The new value will be printed even if it is identical to the previous value.

The name or number parameter specifies which MSR is considered. The available MSRs depend on the simulated target. Only MSRs implemented in CPU model are supported. MSRs are supported by x86 CPUs starting from Pentium®. If the -all flag is specified, all MSRs are considered. Usage of -all could degrade performance.

If -r is specified, only MSR read accesses are considered. If -w is specified, only MSR write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the MSR value are considered. In this case, if mask is specified, only changes affecting this mask of the MSR are considered.

If value is specified, only write accesses that results in the MSR having this value are considered, or read accesses when the MSR has this value. If mask is specified, only this mask of the MSR and given value are considered.

If no processor object is specified, the currently selected processor is used.

Provided By

bp-manager

<x86_msr>.bp-wait-for-msr

Synopsis

<x86_msr>.bp-wait-for-msr ("name"|number|-all) [value] [mask] [-r] [-w] [-only-changes] [timeout] [timeout-rt]

Description

Postpones execution of a script branch until the specified MSR architectural update occurs.

The name or number parameter specifies which MSR is considered. The available MSRs depend on the simulated target. Only MSRs implemented in CPU model are supported. MSRs are supported by x86 CPUs starting from Pentium®. If the -all flag is specified, all MSRs are considered. Usage of -all could degrade performance.

If -r is specified, only MSR read accesses are considered. If -w is specified, only MSR write accesses are considered. The default is to consider both reads and writes.

If -only-changes is specified, only write accesses that change the MSR value are considered. In this case, if mask is specified, only changes affecting this mask of the MSR are considered.

If value is specified, only write accesses that results in the MSR having this value are considered, or read accesses when the MSR has this value. If mask is specified, only this mask of the MSR and given value are considered.

If no processor object is specified, the currently selected processor is used.

If timeout is a positive number, the command will run for at most that many seconds of virtual time.

If timeout-rt is a positive number, the command will run for at most that many seconds of real time.

A time-out will be signaled by throwing a CLI exception, which can be captured using try/except in order to take specific action, or to let it pass unhandled.

Provided By

bp-manager

<x87_exception>.info

Synopsis

<x87_exception>.info

Description

Print detailed information about the configuration of the object.

Provided By

x87_exception

<x87_exception>.status

Synopsis

<x87_exception>.status

Description

Print detailed information about the current status of the object.

Provided By

x87_exception

<zorg>.info

Synopsis

<zorg>.info

Description

Print detailed information about the configuration of the object.

Provided By

examples-comp

<zorg>.status

Synopsis

<zorg>.status

Description

Print detailed information about the current status of the object.

Provided By

examples-comp

add-data-to-script-pipe

Synopsis

add-data-to-script-pipe pipe data

Description

Sends data to a script branch using the pipe script pipe. The data will be queued until the receiving script branch reads it with wait-for-script-pipe. The data can be an integer, string, floating point value, nil or a list.

Provided By

Simics Core

See Also

script-branch, create-script-pipe, script-pipe-has-data, wait-for-script-pipe

add-directory

Synopsis

add-directory path [-prepend]

Description

Adds a directory to the Simics search path. The Simics search path is a list of directories where Simics searches for additional files when loading a configuration or executing a command like load-file.

The value of path is normally appended at the end of the list. If the -prepend flag is given, the path will be added as first in the list.

Provided By

Simics Core

See Also

list-directories, clear-directories

add-instrumentation-filter

Synopsis

add-instrumentation-filter filter ["group"]

Description

Apply the instrumentation filter to all tools with the instrumentation group, or to all tools if no group is given.

Provided By

Simics Core

See Also

<instrumentation_order>.instrumentation-move, <instrumentation_order>.instrumentation-order, add-instrumentation-group, disable-instrumentation, enable-instrumentation, instrumentation-move, instrumentation-order, list-instrumentation, list-instrumentation-groups, remove-instrumentation, remove-instrumentation-filter, remove-instrumentation-group

add-instrumentation-group

Synopsis

add-instrumentation-group "name"

Description

Create a new named group that can be used in commands that add instrumentation to the system. This allows connections to be grouped together.

The name argument specifies the name of the group. A connection can then be assigned a group with the <tool>.add-instrumentation command. The group can be used in the list-instrumentation, [<tool>.]enable-instrumentation, [<tool>.]disable-instrumentation or [<tool>.]remove-instrumentation commands to handle multiple connections with one command.

Provided By

Simics Core

See Also

add-instrumentation-filter, disable-instrumentation, enable-instrumentation, list-instrumentation, list-instrumentation-groups, remove-instrumentation, remove-instrumentation-filter, remove-instrumentation-group

add-module-directory

Synopsis

add-module-directory path

Description

Adds a directory, specified by path, to the Simics module search path. This path is used to look for additional modules, that can be used to extend the functionality of Simics.

Modules from directories added with this command have lower priority than modules in the project, and higher priority than modules in installed packages (including prioritized packages).

Provided By

Simics Core

add-pathmap-entry

Synopsis

add-pathmap-entry "source" destination ["context-query"]

Description

Add an entry mapping from source path in binaries known by the debugger to a destination path on the Simics host.

The mapping can be limitied to debug contexts matching a particular context query with context-query. It defaults to *, which matches all debug contexts.

The pathmap is the name for the translations from paths in target binaries to paths on the Simics host. This pathmap is specific to the command line interface to the debugger, it is not shared with the Eclipse frontend to the debugger.

Provided By

tcf-agent

See Also

show-pathmap

add-session-comment

Synopsis

add-session-comment "comment"

Description

Add a comment to the session at the current time. If a session is being recorded, for example using the record-session command, the comment will be saved with the session checkpoint for replay at a later time.

Provided By

Simics Core

See Also

list-session-comments, record-session, start-recording, stop-recording

add-symbol-file

Synopsis

add-symbol-file symbolfile ["context-query"] [relocation-address] [-relative] ["section"] [segment]

Description

Add the symbol file symbolfile to debugging contexts matching the context query context-query.

symbolfile uses Simics's Search Path and path markers (%simics%, %script%) to find the symbol file. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information on how Simics's Search Path is used to locate files.

context-query defaults to * which matches all contexts.

relocation-address is the address, the file/segment/section should be mapped to. The -relative flag specifies if the relocation address will be relative to the load address in the binary. When not set the address will be the absolule address specified.

section is the name of the section to relocate. See the list-sections command.

segment is the number of the segment to relocate. See the list-segments command.

The command will return an ID that can be used with remove-symbol-file to remove that mappings that were added.

Provided By

tcf-agent

See Also

list-sections, list-segments, show-memorymap, clear-memorymap, remove-symbol-file

alias

Synopsis

alias ["alias"] ["as"] [-r]

Description

Make an alias for a command or an object reference. The alias argument is the name of the new alias and the as argument the command or reference to make an alias for. For example:

alias ds disassemble-settings

will create an alias 'ds' for the command 'disassemble-settings'. So instead of writing disassemble-setting you can write 'ds' at the command line or in a Simics script.

You can also define an alias for an object reference like:

alias cpu0 system_cmp0.board1.cpu[0]

which allows you to write, for example, 'cpu0.print-processor-registers' instead of 'system_cmp0.board1.cpu[0].print-processor-registers' to print the registers for the cpu[0] processor in the component board1 in the component system_cmp0.

Use alias alias as -r if you want to replace an existing alias with a new one, or alias alias -r if you want to remove the alias.

Aliases defined by this command have higher priority then build-in aliases. This allows you to redefine the built-ins.

If no arguments are given a list of all aliases, including the built-ins, will be printed.

Aliases must only contain letters, digits and underscores. The first character is not allowed to be a digit.

Provided By

Simics Core

and

Synopsis

arg1 and arg2

Description

Evaluates arg1 and returns its value if it is false. Otherwise arg2 is evaluated and its value is returned.

Provided By

Simics Core

api-help

Synopsis

api-help "topic"

Description

Shows API help on the given topic.

This command does the same thing as help api:topic.

Provided By

Simics Core

See Also

help, api-search, help-search

api-search

Synopsis

api-search "search-string"

Description

Search the API documentation for the string search-string.

Provided By

Simics Core

See Also

api-help, help, help-search

atoi

Synopsis

atoi "string" [base]

Description

Convert the string argument to an integer. The string will be interpreted according to the given base. If the base argument is left out, the command will try to guess the base based on the string. A string prefix of 0x is interpreted as base 16, 0o or 0 is interpreted as base 8, and 0b as base 2. The base argument must be between 2 and 36 inclusive.

Provided By

Simics Core

See Also

signed, print, hex, dec, oct, bin

bin

Synopsis

bin value [-u] [-p]

Description

Returns the parameter as a string in binary notation. This is similar to print -b value. To ignore any default digit grouping, the -u (unformatted) flag is used, while -p removes the radix prefix 0b.

Provided By

Simics Core

See Also

print, hex, oct, dec, digit-grouping, atoi

bits

Synopsis

bits [action] value first last [-size]

Description

Perform bit manipulation on value and return the result.

The manipulation done depends on action. In all cases, a bit range is specified using 0-based (little endian) bit numbers first and last. If the -size flag is given, last is instead interpreted as the number of bits in the range.

Some examples:

Provided By

Simics Core

break-io

Synopsis

break-io ["device"] [port] [offset] [length] [-r] [-w] [-all] [-list]

Description

Enable breaking simulation on accesses to devices. The simulation will be stopped when an access is made to one or all devices objects through their io_memory interface.

The breakpoint is set either on a given device, or on all devices with the -all flag.

Devices providing multiple banks of registers usually expose them as io_memory port interfaces using the bank names. Some devices use the non-port io_memory interface with a function number instead.

If port is given, argument restricts the monitoring in different ways. If it is a string, only accesses to the io_memory port interface by that name are considered. If an integer, only accesses to the non-port io_memory interface using that function number are considered.

If offset and length are given, the breakpoint is restricted to that address interval within the bank. The default interval length is 1 if offset is given.

By default, both reads and writes trigger the breakpoint. With -r only reads are considered, and with -w only writes are considered.

If several breakpoints are set on the same address, Simics will only break once.

List all breakpoints and their ID numbers with the -list flag.

Provided By

Simics Core

See Also

bp.bank.break, bp.bank.trace, <memory-space>.map

break-loop

Synopsis

break-loop

Description

The break-loop commands ends the execution of the neareast enclosing foreach or while loop. It is an error to use it outside of a loop construct.

Provided By

Simics Core

See Also

foreach, while, continue-loop

break-script-branch

Synopsis

break-script-branch

Description

The break-script-branch commands ends the execution of the current script branch. It is an error to use it outside of a script-branch.

Provided By

Simics Core

See Also

script-branch, interrupt-script-branch, list-script-branches

cd

Synopsis

cd path

Description

Changes the working directory of Simics to path. Use with caution since this is a global setting that may affect other parts of Simics. The path is converted to host native form by the command (see native-path).

Provided By

Simics Core

See Also

ls, pwd

change-namespace

Synopsis

change-namespace ["namespace"]

Description

Change current namespace to namespace. Objects in the current namespace can be specified using a relative object name. The full object name can also be used even if a current namespace has been set.

For example, if there is an object system.cpu, it is possible to do:

  simics> cn system
  simics> cpu.log-level 2

Use

  simics> cn ..

to go "up" one level.

If no namespace is given, current namespace will be changed to the top level.

If a current namespace is set the list-objects command will only list the objects in that namespace.

Provided By

Simics Core

See Also

current-namespace, list-objects

check-cell-partitioning

Synopsis

check-cell-partitioning [checkpoint]

Description

Verify that the cell partitioning into cells of the given checkpoint is correct; that is, that no objects in one cell have references to objects in another cell.

If no checkpoint is given, check the currently loaded configuration.

Objects having a boolean attribute outside_cell that is set to True are not considered part of any cell and are thus exempted from the check.

When used in an expression, command returns True if no errors were found. False is returned if any errors were found.

Provided By

Simics Core

clear-directories

Synopsis

clear-directories

Description

Empty the Simics search path.

Provided By

Simics Core

See Also

add-directory, list-directories

clear-io-stats

Synopsis

clear-io-stats [cell]

Description

Reset all counts reported by print-device-access-stats. The cell argument can be used to restrict flushing only to the devices belonging to the particular cell.

Provided By

Simics Core

See Also

print-device-access-stats

clear-memorymap

Synopsis

clear-memorymap

Description

Remove all files in the current memory map used by the debugger.

The memory map is built with the add-symbol-file command. The memory map is used in addition to the memory map configured in Eclipse.

Provided By

tcf-agent

See Also

add-symbol-file, remove-symbol-file, show-memorymap

clear-object-lock-stats

Synopsis

clear-object-lock-stats

Description

Clear collected object lock statistics.

Provided By

Simics Core

See Also

enable-object-lock-stats, disable-object-lock-stats, print-object-lock-stats

clear-pathmap

Synopsis

clear-pathmap

Description

Remove all entries used to translate from paths in binaries to paths on the Simics host.

The pathmap is the name for the translations from paths in target binaries to paths on the Simics host. This pathmap is specific to the command line interface to the debugger, it is not shared with the Eclipse frontend to the debugger.

Provided By

tcf-agent

collect-coverage

Synopsis

collect-coverage "context-query" ["name"] [-next|-running] [-branch-coverage] [-access-count] [-linear]

Description

Start collecting code coverage for the context matching the context query given by the context-query argument.

If the -running flag is given, code coverage will be started on an already existing context.

If the -next flag is given, code coverage will be started on the next created context that matches the context query.

If the -branch-coverage flag is given, then instruction level branch coverage will be collected and stored in the report. Using this option can affect simulation performance. Note that this option is only for disassembly output, source level branch coverage is not supported.

If the -access-count flag is given, the times each instruction has been accessed will be stored in the report. Otherwise the count will always be set to 1. Using this option will affect simulation performance.

If the -linear flag is given, addresses on x86 processors will be collected as linear addresses instead of logical.

The name of the code coverage object can be specified by the name argument. If no name is provided a random name is selected.

Provided By

code-coverage

command-file-history

Synopsis

command-file-history [-v]

Description

Displays a list of all CLI command files that have run, useful for script debug purposes. The list is returned instead if the command is used in an expression. The -v flag tells the command to include the full file system paths to the command files in the output.

Provided By

Simics Core

See Also

run-script, command-file-stack

command-file-stack

Synopsis

command-file-stack

Description

Displays the current CLI command file stack, useful for script debug purposes. The stack is returned as a list if the command is used in an expression.

Provided By

Simics Core

See Also

run-script, command-file-history

command-history

Synopsis

command-history [max-lines] ["substr"]

Description

Prints the recent CLI command-line history. Up to max-lines lines are displayed, default is 100. Use substr to filter for matching commands.

Provided By

Simics Core

connect

Synopsis

connect [cnt0] [cnt1]

Description

Connect connector cnt0 to cnt1.

Provided By

Simics Core

connect-panel-to-frontend

Synopsis

connect-panel-to-frontend panel frontend

Description

Connects the panel object to a frontend object. The panel, which belongs to the modeled system, displays visible parts of the system, for example LED's. The frontend object belongs to the simulator and controls how to present the panel. Use tab completion to find available panels and frontend objects.

Provided By

system-panel

connect-real-network

Synopsis

connect-real-network ["target-ip"] [ethernet-link] ["service-node-ip"]

Description

Enables NAPT for accesses that are initiated from the simulated machine.

If target-ip is specified, the command also enables port forwarding from the host that Simics is running on, to a simulated machine specified by target-ip, allowing access from real hosts to the simulated one. If target-ip is already used for any of the target ports 21, 22, 23, or 80, this command just prints the current port forwarding.

Ports are opened on the host for a number of commonly used protocols (such as FTP and telnet). Additional ports can be configured using the connect-real-network-port-in command.

Port forwarding can be enabled for several simulated machines at the same time.

If several Ethernet links exists, the one that the simulated machine is connected to must be specified as ethernet-link. If no Ethernet link exists, one will be created and all Ethernet devices are connected to it.

A service-node will also be added to the link if there isn't one connected already. If a service-node is added it will either get the IP address service-node-ip, if it was specified, or the IP of the target with the lowest byte set to 1. If neither service-node-ip nor target-ip is specified, it will get the 10.10.0.1 as IP.

If a default port-forwarding target has been set using the default-port-forward-target command, this will be used as default value for the target-ip parameters.

Provided By

service-node

See Also

default-port-forward-target, connect-real-network-napt, connect-real-network-port-in, connect-real-network-port-out, connect-real-network-host, connect-real-network-bridge, disconnect-real-network

connect-real-network-bridge

Synopsis

connect-real-network-bridge ["interface"] [-f] [-poll]
<ethernet_cable>.connect-real-network-bridge ["interface"] [-f] [-poll]
<ethernet_hub>.connect-real-network-bridge ["interface"] [-f] [-poll]
<ethernet_switch>.connect-real-network-bridge ["interface"] [-f] [-poll]

Description

Creates an Ethernet bridge between a simulated Ethernet link and a real network through an Ethernet interface of the simulation host.

The optional interface argument specifies the TAP interface of the host to use.

If a service-node with enabled services exists on the Ethernet link being used, then this command will fail, unless -f is specified.

Use -poll to enable poll mode, where the packets are received in full before handed off to worker threads. This will block all other real time events while receiving the data, which may impact overall performance. Use at your own discretion.

This command returns the new real-network component object.

Provided By

real-network

See Also

connect-real-network, connect-real-network-host, disconnect-real-network

connect-real-network-host

Synopsis

connect-real-network-host ["interface"] [-poll]
<ethernet_cable>.connect-real-network-host ["interface"] [-poll]
<ethernet_hub>.connect-real-network-host ["interface"] [-poll]
<ethernet_switch>.connect-real-network-host ["interface"] [-poll]

Description

Connects a TAP interface of the simulation host to a simulated Ethernet link.

The optional interface argument specifies the TAP interface of the host to use.

Use -poll to enable poll mode, where the packets are received in full before handed off to worker threads. This will block all other real time events while receiving the data, which may impact overall performance. Use at your own discretion.

This command returns the new real-network component object.

Provided By

real-network

See Also

connect-real-network, connect-real-network-bridge, disconnect-real-network

connect-real-network-napt

Synopsis

connect-real-network-napt ethernet-link [service-node]
<ethernet_cable>.connect-real-network-napt [service-node]
<ethernet_hub>.connect-real-network-napt [service-node]
<ethernet_switch>.connect-real-network-napt [service-node]
<ethernet_vlan_switch>.connect-real-network-napt [service-node]

Description

Enables machines on the simulated Ethernet network ethernet-link to initiate accesses to real hosts without the need to configure the simulated machine with a real IP address. NAPT (Network Address Port Translation) uses the IP address and a port number of the host that Simics is running on to perform the access. Replies are then translated back to match the request from the simulated machine. This command also enables NAPT for accesses that are initiated from the simulated machine.

The service-node that will perform the port forwarding is selected automatically based on the Ethernet link unless one is specified using the service-node argument.

Provided By

service-node

See Also

connect-real-network, connect-real-network-port-in, connect-real-network-port-out, connect-real-network-host, connect-real-network-bridge, disconnect-real-network

connect-real-network-port-in

Synopsis

connect-real-network-port-in (target-port|"service") ethernet-link [service-node] ["host-ip"] [host-port] ["target-ip"] [-tcp] [-udp] [-f] [-preserve-ip]

Description

Enable or disable port forwarding from the host that Simics is running on, to a simulated machine, specified by target-ip. The externally visible port host-port on the host is mapped to the port target-port on the simulated machine. The external port (host-port) can be associated with a certain IP address on the host by specifying the host-ip argument.

For commonly used services the string argument service can be used instead of a port number. If several Ethernet links exists, the one that the simulated machine is connected to must be specified using ethernet-link.

The service-node that will perform the port forwarding is selected automatically based on the Ethernet link unless one is specified using the service-node argument.

The flags -tcp and -udp can be used to specify the protocol to forward. The default is to forward only the usual protocol for named services and both tcp and udp for numerically specified ports.

The host-port given is only a hint, and the actual port used may be a different one. The command output shows the actual port used, and it can also be determined by inspecting the connections attribute in the appropriate port forwarding object.

The flag -f can be used to cause the command to fail if the suggested host port could not be allocated, without the flag the command will assign the first available port starting from the specified host port and upwards.

The flag -preserve-ip let source ip pass through proxy when doing portforwarding.

Provided By

service-node

See Also

connect-real-network, connect-real-network-port-out, connect-real-network-napt, connect-real-network-host, connect-real-network-bridge, disconnect-real-network, disconnect-real-network-port-in

connect-real-network-port-out

Synopsis

connect-real-network-port-out service-node-port ethernet-link [service-node] "target-ip" target-port [-tcp] [-udp] [source-port]

Description

Enable or disable port forwarding to a machine on the real network.

Traffic targeting port service-node-port on the service node connected to ethernet-link will be forwarded to port target-port on target-ip.

Both tcp and udp will be forwarded unless one of the -tcp or -udp flags are given in which case only that protocol will be forwarded.

The service-node that will perform the port forwarding is selected automatically based on the Ethernet link unless one is specified using the service-node argument.

source-port can be used to specify the source port from which service node forwards packets to the target. If not specified, a dynamically allocated port will be used.

Provided By

service-node

See Also

connect-real-network, connect-real-network-port-in, connect-real-network-napt, connect-real-network-host, connect-real-network-bridge, disconnect-real-network, disconnect-real-network-port-out

context-query-for-object

Synopsis

context-query-for-object object

Description

Returns a context query that matches a Simics object.

This returned context query can then be used with other commands that take a context query as argument to match only the specified Simics object.

The printed output is formatted for use with CLI commands.

An error will be raised if the object doesn't have a backing debug context or isn't a debug context object.

Provided By

tcf-agent

See Also

context-query-for-object-list

context-query-for-object-list

Synopsis

context-query-for-object-list objects

Description

Returns a context query that matches a list of objects.

This returned context query can then be used with other commands that take a context query as argument to match only the specified Simics object.

The printed output is formatted for use with CLI commands.

An error will be raised if the list contains any object that doesn't have a backing debug context or isn't a debug context object.

Provided By

tcf-agent

See Also

context-query-for-object

continue-loop

Synopsis

continue-loop

Description

The continue-loop commands ends the execution of the current iteration of the neareast enclosing foreach or while loop. It is an error to use it outside of a loop construct.

Provided By

Simics Core

See Also

foreach, while, break-loop

copy-connector

Synopsis

copy-connector src "dst"

Description

Copy connector from src to dst.

Provided By

Simics Core

copyright

Synopsis

copyright

Description

Prints the copyright information that applies to this copy of Simics.

Provided By

Simics Core

See Also

license

create-and-connect-ddr-memory-comp

Synopsis

create-and-connect-ddr-memory-comp "system" memory_megs "organization" ["slot_name"] [ranks_per_module] [min_module_size] [max_module_size] [ecc] ["ddr_type"] ["module_type"] [-h] [columns] [rows]

Description

Create and connect DDR memory modules to the system. The memory_megs attribute defines the total module memory size in MB.

It is possible to create different kind of module combinations with the organization parameter. The organization is a string. Each character in the string represents a module. The first character is module 0, second character is module 1, etc. Supported characters are a-d and A-D. Two modules can have the same character. An equal upper case character means that the modules must be of identical size. An equal lower case character means that the modules must be identical or unpopulated. The character '-' indicates that the slot should not contain any modules. A maximum of 8 characters are supported, i.e. maximum number of DIMMs is 8.

Example 1: AB Create one or two modules with any size (all slots need not be populated).

Example 2: AA Create two modules with identical size.

Example 3: aa Create one module or two modules with identical size.

Setting ecc argument to 1 enables ECC in the SPD data, which means ecc_width will be set to 8 and module_data_with to 72 for the underlying ddrN-memory-module component.

ddr_type may be set to one of 'DDR' (default), 'DDR2' or 'DDR3'. Default module_type is 'UDIMM' but may be set to a valid type for the given ddr_type.

The -h flag (hierarchical) will put the created memory component in the slot named memoryX in system, where X is the DIMM number.

Optional arguments are slot_name, ranks_per_module, min_module_size, max_module_size, columns and rows.

Provided By

memory-comp

create-brody

Synopsis

create-brody ["name"]

Description

This command creates a non-instantiated component of the class brody.

The class description for the brody class: The Brody component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-can-link

Synopsis

create-can-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class can_link.

The class description for the can_link class: This component represents a simple CAN link allowing any number of devices to connect.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

can-link

create-cell-and-clocks-comp

Synopsis

create-cell-and-clocks-comp ["name"] [clock_number] [freq_mhz]

Description

This command creates a non-instantiated component of the class cell_and_clocks_comp.

The class description for the cell_and_clocks_comp class: The "cell_and_clock_comp" component builds a simulation cell with a configurable number of clocks. Each clock is exported as a connector. This component is meant to be used for building small test configurations.

name is Optional
If not specified, the component will get a class-specific default name.

clock_number is Optional
Number of clocks to run

freq_mhz is Optional
Frequency of Clocks

Provided By

clock

create-cp3-quad100tx

Synopsis

create-cp3-quad100tx ["name"] "mac_addr1" "mac_addr2" "mac_addr3" "mac_addr4"

Description

This command creates a non-instantiated component of the class cp3_quad100tx.

The class description for the cp3_quad100tx class: The cp3-quad100tx component class.

name is Optional
If not specified, the component will get a class-specific default name.

mac_addr1 is Required
The MAC address of eth1

mac_addr2 is Required
The MAC address of eth2

mac_addr3 is Required
The MAC address of eth3

mac_addr4 is Required
The MAC address of eth4

Provided By

cp3_quad100tx

create-cpci-adapter

Synopsis

create-cpci-adapter ["name"]

Description

This command creates a non-instantiated component of the class cpci_adapter.

The class description for the cpci_adapter class: Adapter between a standard PCI up-connector and a cPCI down-connector.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

cpci-adapter-comp

create-cpci-backplane

Synopsis

create-cpci-backplane ["name"]

Description

This command creates a non-instantiated component of the class cpci_backplane.

The class description for the cpci_backplane class: A sample cPCI backplane.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

sample-cpci-comp

create-datagram-link

Synopsis

create-datagram-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class datagram_link.

The class description for the datagram_link class: The datagram link component creates a datagram-link, which is a simple broadcast bus forwarding messages (as sequences of bytes) from a sender device to all other devices present of the link. The datagram-link is both an example of how to build a link with the Simics Link Library, and a simple broadcast link that can be reused when multi-cell communication between devices is necessary. Refer to the Link Library Programming Guide for more information.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

datagram-link

create-ddr-memory-module-comp

Synopsis

create-ddr-memory-module-comp ["name"] [banks] [cas_latency] [columns] [ecc_width] [module_data_width] ["module_type"] [primary_width] [rank_density] [ranks] [rows] ["speed"]

Description

This command creates a non-instantiated component of the class ddr_memory_module_comp.

The class description for the ddr_memory_module_comp class: The "ddr_memory_module_comp" component represents a DDR memory module.

name is Optional
If not specified, the component will get a class-specific default name.

banks is Optional
Number of banks.

cas_latency is Optional
CAS-latency; each set bit corresponds to a latency the memory can handle.

columns is Optional
Number of columns.

ecc_width is Optional
The error correction width.

module_data_width is Optional
The module SDRAM width (including ECC width if enabled).

module_type is Optional
Type of memory.

primary_width is Optional
Primary SDRAM width.

rank_density is Optional
The rank density.

ranks is Optional
Number of ranks (logical banks).

rows is Optional
Number of rows.

speed is Optional
PC standard speed. Supported values are PC2700 and none.

Provided By

memory-comp

create-ddr2-memory-module-comp

Synopsis

create-ddr2-memory-module-comp ["name"] [banks] [cas_latency] [columns] [ecc_width] [module_data_width] ["module_type"] [primary_width] [rank_density] [ranks] [rows]

Description

This command creates a non-instantiated component of the class ddr2_memory_module_comp.

The class description for the ddr2_memory_module_comp class: The "ddr2_memory_module_comp" component represents a DDR2 memory module.

name is Optional
If not specified, the component will get a class-specific default name.

banks is Optional
Number of banks.

cas_latency is Optional
CAS-latency; each set bit corresponds to a latency the memory can handle.

columns is Optional
Number of columns.

ecc_width is Optional
The error correction width.

module_data_width is Optional
The module SDRAM width (including ECC width if enabled).

module_type is Optional
Type of memory.

primary_width is Optional
Primary SDRAM width.

rank_density is Optional
The rank density.

ranks is Optional
Number of ranks (logical banks).

rows is Optional
Number of rows.

Provided By

memory-comp

create-ddr3-memory-module-comp

Synopsis

create-ddr3-memory-module-comp ["name"] [banks] [cas_latency] [columns] [ecc_width] [module_data_width] ["module_type"] [primary_width] [rank_density] [ranks] [rows]

Description

This command creates a non-instantiated component of the class ddr3_memory_module_comp.

The class description for the ddr3_memory_module_comp class: The "ddr3_memory_module_comp" component represents a DDR3 memory module.

name is Optional
If not specified, the component will get a class-specific default name.

banks is Optional
Number of banks.

cas_latency is Optional
CAS-latency; each set bit corresponds to a latency the memory can handle.

columns is Optional
Number of columns.

ecc_width is Optional
The error correction width.

module_data_width is Optional
The module SDRAM width (including ECC width if enabled).

module_type is Optional
Type of memory.

primary_width is Optional
Primary SDRAM width.

rank_density is Optional
The rank density.

ranks is Optional
Number of ranks (logical banks).

rows is Optional
Number of rows.

Provided By

memory-comp

create-deckard

Synopsis

create-deckard ["name"]

Description

This command creates a non-instantiated component of the class deckard.

The class description for the deckard class: The Deckard component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-dummy-comp

Synopsis

create-dummy-comp ["name"]

Description

This command creates a non-instantiated component of the class dummy_comp.

The class description for the dummy_comp class: Dummy component used for configurations that are not component based.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

std-comp

create-elliot

Synopsis

create-elliot ["name"]

Description

This command creates a non-instantiated component of the class elliot.

The class description for the elliot class: The Elliot component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-emmett

Synopsis

create-emmett ["name"]

Description

This command creates a non-instantiated component of the class emmett.

The class description for the emmett class: The long description for the Emmett component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-empty-components

Synopsis

create-empty-components ["name"] [attribute0] [attribute1]

Description

This command creates a non-instantiated component of the class empty_components.

The class description for the empty_components class: The empty component class.

name is Optional
If not specified, the component will get a class-specific default name.

attribute0 is Optional
attribute0

attribute1 is Optional
attribute1

Provided By

empty-components

create-etg-comp

Synopsis

create-etg-comp ["name"] "dst_ip" ["gateway_ip"] "ip" ["mac_address"] "netmask" [packet_size] [port] [pps]

Description

This command creates a non-instantiated component of the class etg_comp.

The class description for the etg_comp class: The "etg_comp" component represents an Ethernet traffic generator.

name is Optional
If not specified, the component will get a class-specific default name.

dst_ip is Required
Destination IP address for generated traffic.

gateway_ip is Optional
Gateway for non-local traffic.

ip is Required
IP address of the traffic generator.

mac_address is Optional
The MAC address of the traffic generator.

netmask is Required
IP netmask of the traffic generator.

packet_size is Optional
Packet size.

port is Optional
Port.

pps is Optional
Traffic rate in packets per second.

Provided By

std-comp

create-etg-panel-comp

Synopsis

create-etg-panel-comp ["name"]

Description

This command creates a non-instantiated component of the class etg_panel_comp.

The class description for the etg_panel_comp class: The Ethernet Generator System Panel.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

std-comp

create-eth-injector-comp

Synopsis

create-eth-injector-comp ["name"]

Description

This command creates a non-instantiated component of the class eth_injector_comp.

The class description for the eth_injector_comp class: The Ethernet frame injector is a pseudo-device that reads a pcap formatted file and inject the packets it found into another device, or an Ethernet link.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

eth-injector-comp

create-ethan

Synopsis

create-ethan ["name"]

Description

This command creates a non-instantiated component of the class ethan.

The class description for the ethan class: The Ethan component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-ethernet-cable

Synopsis

create-ethernet-cable ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class ethernet_cable.

The class description for the ethernet_cable class: Ethernet cable: this component represents a two-points Ethernet cable, allowing two devices to connect to each other.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

eth-links

create-ethernet-hub

Synopsis

create-ethernet-hub ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class ethernet_hub.

The class description for the ethernet_hub class: Ethernet hub: this component represents a simple broadcasting Ethernet link allowing any number of devices to connect.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

eth-links

create-ethernet-switch

Synopsis

create-ethernet-switch ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class ethernet_switch.

The class description for the ethernet_switch class: Ethernet switch: this component represents a switched Ethernet network, allowing any number of devices to connect and optimizing the packet routing according to what is learned about the MAC addresses talking on the link.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

eth-links

create-ethernet-vlan-switch

Synopsis

create-ethernet-vlan-switch ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class ethernet_vlan_switch.

The class description for the ethernet_vlan_switch class: Ethernet VLAN switch: this component represents a switched Ethernet network with VLAN support. Any number of devices is allowed to connect to various ports of the switch. Each port can be configured with its own VLAN information, in order to create sub-networks in the switch.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

eth-links

create-frankie-carbone

Synopsis

create-frankie-carbone ["name"]

Description

This command creates a non-instantiated component of the class frankie_carbone.

The class description for the frankie_carbone class: The wiseguy, Frankie Carbone component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-generic-pcie-switch

Synopsis

create-generic-pcie-switch ["name"] [device_id] [port_count] [vendor_id]

Description

This command creates a non-instantiated component of the class generic_pcie_switch.

The class description for the generic_pcie_switch class: Generic PCIe switch with a configurable number of ports and configurable vendor and device IDs

name is Optional
If not specified, the component will get a class-specific default name.

device_id is Optional
Device ID

port_count is Optional
Number of down ports

vendor_id is Optional
Vendor ID

Provided By

generic-pcie-switch-comp

create-gertie

Synopsis

create-gertie ["name"]

Description

This command creates a non-instantiated component of the class gertie.

The class description for the gertie class: The Gertie PCI component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-gfx-console-comp

Synopsis

create-gfx-console-comp ["name"] [height] ["title"] [visible] [vnc_port] [width]

Description

This command creates a non-instantiated component of the class gfx_console_comp.

The class description for the gfx_console_comp class: Simics graphics console.

name is Optional
If not specified, the component will get a class-specific default name.

height is Optional
The initial screen height in pixels.

title is Optional
The Window title.

visible is Optional
Should console be visible upon startup?.

vnc_port is Optional
Port to open a VNC server on. This is independent of the visible parameter. The port must not be a privileged port, i.e. the allowed range is [1024, 65535], or 0 for an arbitrary port.

width is Optional
The initial screen width in pixels.

Provided By

console-components

create-gml-link

Synopsis

create-gml-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class gml_link.

The class description for the gml_link class: The gml link component creates a gml-link, which is a simple bus for forwarding messages (as sequences of bytes) from a sender to one or more destination devices.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

gml-link

create-godzilla

Synopsis

create-godzilla ["name"]

Description

This command creates a non-instantiated component of the class godzilla.

The class description for the godzilla class: The Godzilla component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-hal

Synopsis

create-hal ["name"]

Description

This command creates a non-instantiated component of the class hal.

The class description for the hal class: The HAL component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-hunt

Synopsis

create-hunt ["name"]

Description

This command creates a non-instantiated component of the class hunt.

The class description for the hunt class: The Hunt component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-i210-comp

Synopsis

create-i210-comp ["name"] ["bios"] ["mac_address"] [phy_id]

Description

This command creates a non-instantiated component of the class i210_comp.

The class description for the i210_comp class: PCIe i210 Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Optional
MAC address, default 20:20:20:20:30:30

phy_id is Optional
PHY ID value, default 0x01410C00 (i210 Linux 4.3)

Provided By

i210-comp

create-i210-v2-comp

Synopsis

create-i210-v2-comp ["name"] ["bios"] ["mac_address"] [phy_id]

Description

This command creates a non-instantiated component of the class i210_v2_comp.

The class description for the i210_v2_comp class: PCIe i210 Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Optional
MAC address, default 20:20:20:20:30:30

phy_id is Optional
PHY ID value, default 0x01410C00 (i210 Linux 4.3)

Provided By

i210-v2-comp

create-i3c-cable

Synopsis

create-i3c-cable ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class i3c_cable.

The class description for the i3c_cable class: I3C cable: this component represents a two-points i3c cable, allowing two devices to connect to each other or connects an I3C device to I3C bus.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

i3c-link

create-i3c-link

Synopsis

create-i3c-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class i3c_link.

The class description for the i3c_link class: This component represents a simple i3c link allowing any number of devices to connect.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

i3c-link

create-i82571EB-v2-comp

Synopsis

create-i82571EB-v2-comp ["name"] ["bios"] ["mac_address0"] ["mac_address1"]

Description

This command creates a non-instantiated component of the class i82571EB_v2_comp.

The class description for the i82571EB_v2_comp class: PCIe i82571EB Ethernet controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address0 is Optional
MAC address 0 for LAN A.

mac_address1 is Optional
MAC address 1 for LAN B.

Provided By

i82571EB-v2-comp

create-i82574-v2-comp

Synopsis

create-i82574-v2-comp ["name"] ["bios"] ["mac_address"] [phy_id]

Description

This command creates a non-instantiated component of the class i82574_v2_comp.

The class description for the i82574_v2_comp class: PCIe i82574 Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Optional
MAC address, default 20:20:20:20:30:30

phy_id is Optional
PHY ID value, default 0x01410cb1 (BME1000 Rev 2)

Provided By

i82574-v2-comp

create-i82576EB-v2-comp

Synopsis

create-i82576EB-v2-comp ["name"] ["bios"] ["mac_address0"] ["mac_address1"]

Description

This command creates a non-instantiated component of the class i82576EB_v2_comp.

The class description for the i82576EB_v2_comp class: PCIe i82576EB Ethernet controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address0 is Optional
MAC address 0 for LAN A. If not specified then 20:20:20:20:30:30 is used.

mac_address1 is Optional
MAC address 1 for LAN B. If not specified then 20:20:20:20:30:31 is used.

Provided By

i82576EB-v2-comp

create-i82583V-v2-comp

Synopsis

create-i82583V-v2-comp ["name"] ["bios"] ["eeprom_file"] ["mac_address"]

Description

This command creates a non-instantiated component of the class i82583V_v2_comp.

The class description for the i82583V_v2_comp class: PCIe i82583V Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

eeprom_file is Optional
The eeprom image file.

mac_address is Optional
MAC address.

Provided By

i82583V-v2-comp

create-ide-cdrom-comp

Synopsis

create-ide-cdrom-comp ["name"]

Description

This command creates a non-instantiated component of the class ide_cdrom_comp.

The class description for the ide_cdrom_comp class: The "ide_cdrom_comp" component represents an IDE ATAPI CD-ROM.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

std-comp

create-ide-disk-comp

Synopsis

create-ide-disk-comp ["name"] ["file"] [size]

Description

This command creates a non-instantiated component of the class ide_disk_comp.

The class description for the ide_disk_comp class: The "ide_disk_comp" component represents an IDE disk. Disk data is stored in the hd_image subobject.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

std-comp

create-ieee-802-15-4-link

Synopsis

create-ieee-802-15-4-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class ieee_802_15_4_link.

The class description for the ieee_802_15_4_link class: The IEEE 802.15.4 link component creates a ieee-802-15-4-link.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

ieee-802-15-4-link

create-korben

Synopsis

create-korben ["name"]

Description

This command creates a non-instantiated component of the class korben.

The class description for the korben class: The Korben component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-leeloo

Synopsis

create-leeloo ["name"]

Description

This command creates a non-instantiated component of the class leeloo.

The class description for the leeloo class: The Leeloo component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-legacy-upstream-pcie-adapter-comp

Synopsis

create-legacy-upstream-pcie-adapter-comp ["name"]

Description

This command creates a non-instantiated component of the class legacy_upstream_pcie_adapter_comp.

The class description for the legacy_upstream_pcie_adapter_comp class: An adapter component that allows connecting a PCIe endpoint implemented with the new PCIe library to an upstream that is implemented with the legacy PCIe library. Note that the upstream must be PCIe compatible (a pcie-bus, not a pci-bus).

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

legacy-upstream-pcie-adapter-comp

create-maria-singer

Synopsis

create-maria-singer ["name"]

Description

This command creates a non-instantiated component of the class maria_singer.

The class description for the maria_singer class: The Maria Singer component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-marvin

Synopsis

create-marvin ["name"]

Description

This command creates a non-instantiated component of the class marvin.

The class description for the marvin class: The Marvin component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-mcfly

Synopsis

create-mcfly ["name"]

Description

This command creates a non-instantiated component of the class mcfly.

The class description for the mcfly class: The McFly component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-micron-mtfc128gap-emmc-card

Synopsis

create-micron-mtfc128gap-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc128gap_emmc_card.

The class description for the micron_mtfc128gap_emmc_card class: A Micron 128 GB MTFC128GAP eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-micron-mtfc16gap-emmc-card

Synopsis

create-micron-mtfc16gap-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc16gap_emmc_card.

The class description for the micron_mtfc16gap_emmc_card class: A Micron 16 GB MTFC16GAP eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-micron-mtfc2ggqdi-emmc-card

Synopsis

create-micron-mtfc2ggqdi-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc2ggqdi_emmc_card.

The class description for the micron_mtfc2ggqdi_emmc_card class: A 2GB Micron eMMC card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-micron-mtfc32gap-emmc-card

Synopsis

create-micron-mtfc32gap-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc32gap_emmc_card.

The class description for the micron_mtfc32gap_emmc_card class: A Micron 32 GB MTFC32GAP eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-micron-mtfc4gacaeam-emmc-card

Synopsis

create-micron-mtfc4gacaeam-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc4gacaeam_emmc_card.

The class description for the micron_mtfc4gacaeam_emmc_card class: A Micron MTFC4GACAEAM-1M WT eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-micron-mtfc4gacaeam-emmc-card-with-boot-part

Synopsis

create-micron-mtfc4gacaeam-emmc-card-with-boot-part ["name"] ["boot0_part"] ["boot1_part"] ["file"] ["rpbm_part"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc4gacaeam_emmc_card_with_boot_part.

The class description for the micron_mtfc4gacaeam_emmc_card_with_boot_part class: A Micron MTFC4GACAEAM-1M WT eMMC Card with adjustable partitions.

name is Optional
If not specified, the component will get a class-specific default name.

boot0_part is Optional
Boot 0 partition file

boot1_part is Optional
Boot 1 partition file

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

rpbm_part is Optional
RPBM partition file

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-micron-mtfc4ggqdi-emmc-card

Synopsis

create-micron-mtfc4ggqdi-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc4ggqdi_emmc_card.

The class description for the micron_mtfc4ggqdi_emmc_card class: A Micron MTFC4GGQDI-IT eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-micron-mtfc4ggqdi-sdhc-card

Synopsis

create-micron-mtfc4ggqdi-sdhc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc4ggqdi_sdhc_card.

The class description for the micron_mtfc4ggqdi_sdhc_card class: A SDHC card component similar to Micron MTFC4GGQDI-IT eMMC.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-micron-mtfc64gap-emmc-card

Synopsis

create-micron-mtfc64gap-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc64gap_emmc_card.

The class description for the micron_mtfc64gap_emmc_card class: A Micron 64 GB MTFC64GAP eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-micron-mtfc64ggqdi-sdhc-card

Synopsis

create-micron-mtfc64ggqdi-sdhc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc64ggqdi_sdhc_card.

The class description for the micron_mtfc64ggqdi_sdhc_card class: A SDHC card component similar to Micron MTFC64GGQDI-IT eMMC.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-micron-mtfc8gacaeam-emmc-card

Synopsis

create-micron-mtfc8gacaeam-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc8gacaeam_emmc_card.

The class description for the micron_mtfc8gacaeam_emmc_card class: A Micron MTFC8GACAEAM-1M WT eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-micron-mtfc8gam-emmc-card

Synopsis

create-micron-mtfc8gam-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates a non-instantiated component of the class micron_mtfc8gam_emmc_card.

The class description for the micron_mtfc8gam_emmc_card class: A Micron 8 GB MTFC8GAM eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

create-mmc-card-comp

Synopsis

create-mmc-card-comp ["name"] ["file"] size ["type"]

Description

This command creates a non-instantiated component of the class mmc_card_comp.

The class description for the mmc_card_comp class: The mmc_card_comp component represents an MMC/SD/SDHC/SDIO card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

size is Required
Card size, in bytes

type is Optional
Card type ('mmc', 'sd', 'sdhc' or 'sdio'). Note that the card type will be adjusted by the model to handle large card sizes (i.e. card type will be forced to 'sdhc' if you create an 8 GB 'mmc' card).

Provided By

std-comp

create-motherboard-x86-simple

Synopsis

create-motherboard-x86-simple ["name"] [acpi] ["bios"] [break_on_reboot] ["rtc_time"] [system_clock] ["system_clock_class"]

Description

This command creates a non-instantiated component of the class motherboard_x86_simple.

The class description for the motherboard_x86_simple class: X86 simple motherboard.

name is Optional
If not specified, the component will get a class-specific default name.

acpi is Optional
Use ACPI when True, default value is True.

bios is Optional
The x86 BIOS file to use.

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

rtc_time is Optional
The date and time of the Real-Time clock. Please note that time-zone information is not supported and will be silently dropped when passed to the RTC object.

system_clock is Optional
If true, the motherboard will contain a clock separate from the processor, which will be used as queue for all devices. The class used for the clock is taken from system_clock_class.

system_clock_class is Optional
The class used for the system_clock.

Provided By

x86-comp

create-motherboard-x86-simple-no-apic

Synopsis

create-motherboard-x86-simple-no-apic ["name"] [acpi] ["bios"] [break_on_reboot] ["rtc_time"] [system_clock] ["system_clock_class"]

Description

This command creates a non-instantiated component of the class motherboard_x86_simple_no_apic.

The class description for the motherboard_x86_simple_no_apic class: X86 simple motherboard for processors without APIC.

name is Optional
If not specified, the component will get a class-specific default name.

acpi is Optional
Use ACPI when True, default value is True.

bios is Optional
The x86 BIOS file to use.

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

rtc_time is Optional
The date and time of the Real-Time clock. Please note that time-zone information is not supported and will be silently dropped when passed to the RTC object.

system_clock is Optional
If true, the motherboard will contain a clock separate from the processor, which will be used as queue for all devices. The class used for the clock is taken from system_clock_class.

system_clock_class is Optional
The class used for the system_clock.

Provided By

x86-comp

create-nemo

Synopsis

create-nemo ["name"]

Description

This command creates a non-instantiated component of the class nemo.

The class description for the nemo class: The Nemo component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-nikita

Synopsis

create-nikita ["name"]

Description

This command creates a non-instantiated component of the class nikita.

The class description for the nikita class: The Nikita component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-os-awareness

Synopsis

create-os-awareness "name" [processors]

Description

Create OS Awareness framework / software domain for adding trackers and configuring cpus with. The framework provides interfaces for scripting and for use by trackers.

namespecifies the object name to create.

Use processors to specify the names of the processors.

Provided By

os-awareness

create-pci-accel-vga-comp

Synopsis

create-pci-accel-vga-comp ["name"] ["bios"] [bochs_workaround] [vram_size_mb]

Description

This command creates a non-instantiated component of the class pci_accel_vga_comp.

The class description for the pci_accel_vga_comp class: The "pci_accel_vga_comp" component represents a PCI based VGA compatible graphics adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The VGA BIOS file to use (empty string if no VGA BIOS is needed)

bochs_workaround is Optional
When true, activating workaround for bochs driver bug which is present, for instance, in RHEL 7.1

vram_size_mb is Optional
Video RAM volume (MB)

Provided By

pci-comp

create-pci-accel-vga-v2-comp

Synopsis

create-pci-accel-vga-v2-comp ["name"] ["bios"] [bochs_workaround] [vram_size_mb]

Description

This command creates a non-instantiated component of the class pci_accel_vga_v2_comp.

The class description for the pci_accel_vga_v2_comp class: The "pci_accel_vga_v2_comp" component represents a PCI based VGA compatible graphics adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The VGA BIOS file to use (empty string if no VGA BIOS is needed)

bochs_workaround is Optional
When true, activating workaround for bochs driver bug which is present, for instance, in RHEL 7.1

vram_size_mb is Optional
Video RAM volume (MB)

Provided By

pci-comp

create-pci-am79c973-comp

Synopsis

create-pci-am79c973-comp ["name"] ["bios"] "mac_address"

Description

This command creates a non-instantiated component of the class pci_am79c973_comp.

The class description for the pci_am79c973_comp class: The "pci_am79c973_comp" component represents a AM79C973 PCI based Ethernet adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

create-pci-bcm5703c-comp

Synopsis

create-pci-bcm5703c-comp ["name"] ["bios"] "mac_address"

Description

This command creates a non-instantiated component of the class pci_bcm5703c_comp.

The class description for the pci_bcm5703c_comp class: The "pci_bcm5703c_comp" component represents a Broadcom 5703C PCI based gigabit Ethernet adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

create-pci-bcm5704c-comp

Synopsis

create-pci-bcm5704c-comp ["name"] ["bios"] "mac_address0" "mac_address1"

Description

This command creates a non-instantiated component of the class pci_bcm5704c_comp.

The class description for the pci_bcm5704c_comp class: The "pci_bcm5704c_comp" component represents a Broadcom 5704C PCI based dual-port gigabit Ethernet adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address0 is Required
The MAC address of the first Ethernet adapter.

mac_address1 is Required
The MAC address of the second Ethernet adapter.

Provided By

pci-comp

create-pci-dec21041-comp

Synopsis

create-pci-dec21041-comp ["name"] ["bios"] "mac_address"

Description

This command creates a non-instantiated component of the class pci_dec21041_comp.

The class description for the pci_dec21041_comp class: The "pci_dec21041_comp" component represents an Intel DEC21041 PCI based fast Ethernet adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

create-pci-dec21140

Synopsis

create-pci-dec21140 ["name"] ["bios"] "mac_address"

Description

This command creates a non-instantiated component of the class pci_dec21140.

The class description for the pci_dec21140 class: The pci-dec21140a component represents a DEC21140A PCI based fast Ethernet adapter

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

create-pci-dec21140-panel

Synopsis

create-pci-dec21140-panel ["name"]

Description

This command creates a non-instantiated component of the class pci_dec21140_panel.

The class description for the pci_dec21140_panel class: System panel for a DEC21140 PCI network card.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

pci-comp

create-pci-dec21140a-comp

Synopsis

create-pci-dec21140a-comp ["name"] ["bios"] "mac_address"

Description

This command creates a non-instantiated component of the class pci_dec21140a_comp.

The class description for the pci_dec21140a_comp class: The pci_dec21140a_comp component represents a DEC21140A PCI based fast Ethernet adapter

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

create-pci-dec21143-comp

Synopsis

create-pci-dec21143-comp ["name"] ["bios"] "mac_address"

Description

This command creates a non-instantiated component of the class pci_dec21143_comp.

The class description for the pci_dec21143_comp class: The "pci_dec21143_comp" component represents an Intel DEC21143 PCI based fast Ethernet adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

create-pci-i21152-comp

Synopsis

create-pci-i21152-comp ["name"]

Description

This command creates a non-instantiated component of the class pci_i21152_comp.

The class description for the pci_i21152_comp class: The "pci_i21152_comp" component represents an Intel® 21152 Transparent PCI-to-PCI Bridge.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

pci-comp

create-pci-i82543gc-comp

Synopsis

create-pci-i82543gc-comp ["name"] ["bios"] "mac_address"

Description

This command creates a non-instantiated component of the class pci_i82543gc_comp.

The class description for the pci_i82543gc_comp class: The "pci_i82543gc_comp" component represents the PCI-based Intel® 82543 Gigabit Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

create-pci-i82546bg-comp

Synopsis

create-pci-i82546bg-comp ["name"] ["bios"] "mac_address"

Description

This command creates a non-instantiated component of the class pci_i82546bg_comp.

The class description for the pci_i82546bg_comp class: The "pci_i82546bg_comp" component represents an Intel® 82546 Gigabit Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

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

Provided By

pci-comp

create-pci-i82559-comp

Synopsis

create-pci-i82559-comp ["name"] ["bios"] "mac_address"

Description

This command creates a non-instantiated component of the class pci_i82559_comp.

The class description for the pci_i82559_comp class: An Ethernet device with Intel® 82559 Fast Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

create-pci-pd6729-comp

Synopsis

create-pci-pd6729-comp ["name"]

Description

This command creates a non-instantiated component of the class pci_pd6729_comp.

The class description for the pci_pd6729_comp class: The "pci_pd6729_comp" component represents a Cirrus Logic PD6729 PCI-to-PCMCIA (PC-Card) Controller with two slots.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

pci-comp

create-pci-vga-comp

Synopsis

create-pci-vga-comp ["name"] ["bios"]

Description

This command creates a non-instantiated component of the class pci_vga_comp.

The class description for the pci_vga_comp class: The "pci_vga_comp" component represents a PCI based VGA compatible graphics adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The VGA BIOS file to use (empty string if no VGA BIOS is needed)

Provided By

pci-comp

create-pcmcia-flash-disk-comp

Synopsis

create-pcmcia-flash-disk-comp ["name"] ["file"] [size]

Description

This command creates a non-instantiated component of the class pcmcia_flash_disk_comp.

The class description for the pcmcia_flash_disk_comp class: The "pcmcia_flash_disk_comp" component represents a PCMCIA flash disk. Disk data is stored in the hd_image subobject.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

std-comp

create-phy-comp

Synopsis

create-phy-comp ["name"] [mii_address] [phy_id]

Description

This command creates a non-instantiated component of the class phy_comp.

The class description for the phy_comp class: Component representing a generic IEEE 802.3 PHY

name is Optional
If not specified, the component will get a class-specific default name.

mii_address is Optional
PHY address on MII bus

phy_id is Optional
PHY ID (i.e., vendor)

Provided By

phy-comp

create-rachel

Synopsis

create-rachel ["name"]

Description

This command creates a non-instantiated component of the class rachel.

The class description for the rachel class: The Rachel component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-real-network-bridge-comp

Synopsis

create-real-network-bridge-comp ["name"] "interface"

Description

This command creates a non-instantiated component of the class real_network_bridge_comp.

The class description for the real_network_bridge_comp class: The "real_network_bridge_comp" component represents a bridged connection to a real network

name is Optional
If not specified, the component will get a class-specific default name.

interface is Required
Interface to connect to

Provided By

real-network

create-real-network-host-comp

Synopsis

create-real-network-host-comp ["name"] "interface"

Description

This command creates a non-instantiated component of the class real_network_host_comp.

The class description for the real_network_host_comp class: The "real_network_host_comp" component represents a host-based connection to a real network

name is Optional
If not specified, the component will get a class-specific default name.

interface is Required
Interface to connect to

Provided By

real-network

create-ripley

Synopsis

create-ripley ["name"] [eggs] ["marine"] sequels

Description

This command creates a non-instantiated component of the class ripley.

The class description for the ripley class: The Ripley component.

name is Optional
If not specified, the component will get a class-specific default name.

eggs is Optional
The number of hatched eggs.

marine is Optional
The name of the marine.

sequels is Required
Number of sequels.

Provided By

examples-comp

create-roy-batty

Synopsis

create-roy-batty ["name"]

Description

This command creates a non-instantiated component of the class roy_batty.

The class description for the roy_batty class: The Roy Batty component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-sample-802-15-4-panel

Synopsis

create-sample-802-15-4-panel ["name"]

Description

This command creates a non-instantiated component of the class sample_802_15_4_panel.

The class description for the sample_802_15_4_panel class: a sample 802.15.4 panel.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

sample-802-15-4-transceiver-comp

create-sample-802-15-4-transceiver-comp

Synopsis

create-sample-802-15-4-transceiver-comp ["name"] [id]

Description

This command creates a non-instantiated component of the class sample_802_15_4_transceiver_comp.

The class description for the sample_802_15_4_transceiver_comp class: a sample 802.15.4 transceiver component.

name is Optional
If not specified, the component will get a class-specific default name.

id is Optional
node ID

Provided By

sample-802-15-4-transceiver-comp

create-sample-dynamic-connectors

Synopsis

create-sample-dynamic-connectors ["name"]

Description

This command creates a non-instantiated component of the class sample_dynamic_connectors.

The class description for the sample_dynamic_connectors class: A sample component dynamically creating connectors.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

sample-dynamic-connectors

create-sample-i3c-target-comp

Synopsis

create-sample-i3c-target-comp ["name"] [dcr] [pid] [read_value] [static_address]

Description

This command creates a non-instantiated component of the class sample_i3c_target_comp.

The class description for the sample_i3c_target_comp class: The component for sample I3C target.

name is Optional
If not specified, the component will get a class-specific default name.

dcr is Optional
Device Characteristics Register

pid is Optional
Provisional ID

read_value is Optional
Read response value

static_address is Optional
Static address, set if initial communication use static address

Provided By

sample-i3c-target-comp

create-sample-pci-card

Synopsis

create-sample-pci-card ["name"] integer_attribute

Description

This command creates a non-instantiated component of the class sample_pci_card.

The class description for the sample_pci_card class: A sample component containing a sample PCI device.

name is Optional
If not specified, the component will get a class-specific default name.

integer_attribute is Required
Example integer attribute.

Provided By

sample-components

create-sample-pcie-device-comp

Synopsis

create-sample-pcie-device-comp ["name"]

Description

This command creates a non-instantiated component of the class sample_pcie_device_comp.

The class description for the sample_pcie_device_comp class: A sample PCIe endpoint

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

sample-pcie-device-comp

create-sample-pcie-endpoint-shim-comp

Synopsis

create-sample-pcie-endpoint-shim-comp ["name"] ["socket_type"] [tcp_port] ["unix_socket_name"]

Description

This command creates a non-instantiated component of the class sample_pcie_endpoint_shim_comp.

The class description for the sample_pcie_endpoint_shim_comp class: Sample PCIe Endpoint Shim component with external connection

name is Optional
If not specified, the component will get a class-specific default name.

socket_type is Optional
socket_type can be either of 'unix-socket' or 'tcp', default is unix-socket

tcp_port is Optional

unix_socket_name is Optional
unit_socket_name is the name of the socket

Provided By

sample-pcie-shim

create-sample-pcie-switch-shim-comp

Synopsis

create-sample-pcie-switch-shim-comp ["name"] ["socket_type"] [tcp_port] ["unix_socket_name"]

Description

This command creates a non-instantiated component of the class sample_pcie_switch_shim_comp.

The class description for the sample_pcie_switch_shim_comp class: Sample PCIe Switch Shim component with external connection

name is Optional
If not specified, the component will get a class-specific default name.

socket_type is Optional
socket_type can be either of 'unix-socket' or 'tcp', default is unix-socket

tcp_port is Optional

unix_socket_name is Optional
unit_socket_name is the name of the socket

Provided By

sample-pcie-shim

create-sample-signal-device

Synopsis

create-sample-signal-device ["name"] [count] [period]

Description

This command creates a non-instantiated component of the class sample_signal_device.

The class description for the sample_signal_device class: A sample-signal-device with in/out connectors

name is Optional
If not specified, the component will get a class-specific default name.

count is Optional
Count of this component, connected to sub objects.

period is Optional
Period of this component, connected to sub objects.

Provided By

sample-signal-device

create-sata-cdrom-comp

Synopsis

create-sata-cdrom-comp ["name"]

Description

This command creates a non-instantiated component of the class sata_cdrom_comp.

The class description for the sata_cdrom_comp class: The "sata_cdrom" component represents an Serial ATA CD-ROM.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

std-comp

create-sata-disk-comp

Synopsis

create-sata-disk-comp ["name"] ["file"] [size]

Description

This command creates a non-instantiated component of the class sata_disk_comp.

The class description for the sata_disk_comp class: The "sata_disk" component represents a Serial ATA Disk. Disk data is stored in the hd_image subobject.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

std-comp

create-script-barrier

Synopsis

create-script-barrier num_branches

Description

Creates a script barrier that can be used for synchronization of script branches. The return value should only be used as argument to the wait-for-script-barrier or script-barrier-limit commands.

A script branch enters a barrier by calling wait-for-script-barrier. It will then be suspended until num_branches script branches have entered the barrier. Once all script branches have reached the barrier, they are released and will continue executing. At the same time the barrier is reset and can be used again.

Provided By

Simics Core

See Also

script-branch, script-barrier-limit, wait-for-script-barrier

create-script-pipe

Synopsis

create-script-pipe

Description

Creates a script pipe that can be used to send data from one script branch, or the main branch, to another script branch. The return value should only be used as argument to the wait-for-script-pipe and add-data-to-script-pipe commands.

Provided By

Simics Core

See Also

script-branch, script-pipe-has-data, wait-for-script-pipe, add-data-to-script-pipe

create-sdram-memory-module-comp

Synopsis

create-sdram-memory-module-comp ["name"] [banks] [cas_latency] [columns] [ecc_width] [module_data_width] ["module_type"] [primary_width] [rank_density] [ranks] [rows]

Description

This command creates a non-instantiated component of the class sdram_memory_module_comp.

The class description for the sdram_memory_module_comp class: The "sdram-memory-module-comp" component represents a SDRAM memory module.

name is Optional
If not specified, the component will get a class-specific default name.

banks is Optional
Number of banks.

cas_latency is Optional
CAS-latency; each set bit corresponds to a latency the memory can handle.

columns is Optional
Number of columns.

ecc_width is Optional
The error correction width.

module_data_width is Optional
The module SDRAM width (including ECC width if enabled).

module_type is Optional
Type of memory.

primary_width is Optional
Primary SDRAM width.

rank_density is Optional
The rank density.

ranks is Optional
Number of ranks (logical banks).

rows is Optional
Number of rows.

Provided By

memory-comp

create-sebastian

Synopsis

create-sebastian ["name"]

Description

This command creates a non-instantiated component of the class sebastian.

The class description for the sebastian class: The Sebastian component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-ser-link

Synopsis

create-ser-link ["name"] [buffer_size] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class ser_link.

The class description for the ser_link class: Serial link connecting two serial devices

name is Optional
If not specified, the component will get a class-specific default name.

buffer_size is Optional
The number of characters the link may buffer. Must be at least 1.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

ser-link

create-service-node-comp

Synopsis

create-service-node-comp ["name"] [top]

Description

This command creates a non-instantiated component of the class service_node_comp.

The class description for the service_node_comp class: The "service_node_comp" 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 <service_node_comp>.add-connector command.

name is Optional
If not specified, the component will get a class-specific default name.

top is Optional
Create the service-node as a top level component when set to true. Default is false.

Provided By

service-node

create-signal-link

Synopsis

create-signal-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates a non-instantiated component of the class signal_link.

The class description for the signal_link class: The "signal_link" component represents a unidirectional signal that can be either high or low. It can be used to model electrical wires or more abstract binary signals.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

signal-link

create-simics-nvme-comp

Synopsis

create-simics-nvme-comp ["name"] [bandwidth] disk_size [dynamic_size]

Description

This command creates a non-instantiated component of the class simics_nvme_comp.

The class description for the simics_nvme_comp class: A generic NVMe device over PCIe with support for multiple namespaces. Namespaces can be added with the add_namespace command, before instantiating the component.

name is Optional
If not specified, the component will get a class-specific default name.

bandwidth is Optional
The read/write speed of the NVMe disk, provided in MB/s. 0 means instant read/write:s, which is the default value

disk_size is Required
The size of the underlying storage for the NVMe drive. The combined size of the namespaces added with the add_namespace command must not exceed this value.

dynamic_size is Optional
If set to True, adding a namespace will increase the disk size if needed.

Provided By

simics-nvme-comp

create-simple-memory-module

Synopsis

create-simple-memory-module ["name"] [memory_megs]

Description

This command creates a non-instantiated component of the class simple_memory_module.

The class description for the simple_memory_module class: A simple memory module.

name is Optional
If not specified, the component will get a class-specific default name.

memory_megs is Optional
MB memory.

Provided By

memory-comp

create-standard-pcie-switch-comp

Synopsis

create-standard-pcie-switch-comp ["name"]

Description

This command creates a non-instantiated component of the class standard_pcie_switch_comp.

The class description for the standard_pcie_switch_comp class: A generic PCIe switch with 4 slots implemented using the new Simics PCIe library

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

standard-pcie-switch-comp

create-txt-console-comp

Synopsis

create-txt-console-comp ["name"] ["bg_color"] ["fg_color"] [height] ["pty"] [scrollback] [telnet_port] ["title"] [visible] [width]

Description

This command creates a non-instantiated component of the class txt_console_comp.

The class description for the txt_console_comp class: Simics text console.

name is Optional
If not specified, the component will get a class-specific default name.

bg_color is Optional
The default background color, either by name ("red") or on the form #RRGGBB.

fg_color is Optional
The default foreground color, either by name ("blue") or on the form #RRGGBB.

height is Optional
The height of the console window.

pty is Unknown
Existing pty to open a host-serial server on. This is independent of the visible parameter. If the port cannot be opened, an error is thrown. If this parameter is the empty string, a new port is created and opened.

scrollback is Optional
The maximum number of scrollback lines.

telnet_port is Optional
Port to open a telnet server on. This is independent of the visible parameter. The port must not be a privileged port, i.e. the allowed range is [1024, 65535], or 0 for an arbitrary port. If the port cannot be opened, an arbitrary port is chosen instead.

title is Optional
The Window title.

visible is Optional
Should console be visible upon startup?.

width is Optional
The width of the console window.

Provided By

console-components

create-tyler-durden

Synopsis

create-tyler-durden ["name"]

Description

This command creates a non-instantiated component of the class tyler_durden.

The class description for the tyler_durden class: The Tyler Durden component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-tyrell

Synopsis

create-tyrell ["name"]

Description

This command creates a non-instantiated component of the class tyrell.

The class description for the tyrell class: The Tyrell component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-unconnected-ethernet-probe

Synopsis

create-unconnected-ethernet-probe ["name"] [clock]

Description

Create an unconnected Ethernet probe.

Optionally a name as well as a clock may be given as arguments.

Provided By

eth-probe

create-usb-disk-comp

Synopsis

create-usb-disk-comp ["name"] ["file"] [size]

Description

This command creates a non-instantiated component of the class usb_disk_comp.

The class description for the usb_disk_comp class: The "usb_disk_comp" component represents a USB SCSI disk. Disk data is stored in the usb_scsi_disk_image subobject.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

usb-comp

create-usb-hs-keyboard-comp

Synopsis

create-usb-hs-keyboard-comp ["name"]

Description

This command creates a non-instantiated component of the class usb_hs_keyboard_comp.

The class description for the usb_hs_keyboard_comp class: The High Speed USB Keyboard component class. Encapsulated usb-hs-keyboard device in 'usb_device' slot.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

usb-hid-components

create-usb-keyboard-comp

Synopsis

create-usb-keyboard-comp ["name"]

Description

This command creates a non-instantiated component of the class usb_keyboard_comp.

The class description for the usb_keyboard_comp class: The USB Keyboard component class. Encapsulated usb-keyboard device in 'usb_device' slot.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

usb-hid-components

create-usb-mouse-comp

Synopsis

create-usb-mouse-comp ["name"]

Description

This command creates a non-instantiated component of the class usb_mouse_comp.

The class description for the usb_mouse_comp class: The USB Mouse component class. Encapsulated usb-mouse device in 'usb_device' slot.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

usb-hid-components

create-usb-tablet-component

Synopsis

create-usb-tablet-component ["name"]

Description

This command creates a non-instantiated component of the class usb_tablet_component.

The class description for the usb_tablet_component class: The "usb_tablet_component" component represents a USB tablet device.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

usb-comp

create-virtio-mmio-blk-comp

Synopsis

create-virtio-mmio-blk-comp ["name"] ["file"] [size]

Description

This command creates a non-instantiated component of the class virtio_mmio_blk_comp.

The class description for the virtio_mmio_blk_comp class: "virtio_mmio_blk" component setups a disk using the virtio mmio block device

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

virtio-comp

create-virtio-pcie-blk-comp

Synopsis

create-virtio-pcie-blk-comp ["name"] ["file"] [size]

Description

This command creates a non-instantiated component of the class virtio_pcie_blk_comp.

The class description for the virtio_pcie_blk_comp class: PCIe Virtio Block Device.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

virtio-comp

create-virtio-pcie-fs-comp

Synopsis

create-virtio-pcie-fs-comp ["name"] ["daemon_log_file"] "share" ["tag_name"]

Description

This command creates a non-instantiated component of the class virtio_pcie_fs_comp.

The class description for the virtio_pcie_fs_comp class: PCIe Virtio File System Device. This component should be used with the configuration attribute share set to either a directory or a Unix domain socket file. If the former case, the virtioFS daemon will be started automatically by Simics. In the latter case, the user has to start the daemon manually. This can be beneficial in cases where one would want to run the daemon under fakeroot or root.

name is Optional
If not specified, the component will get a class-specific default name.

daemon_log_file is Optional
If set, the FUSE daemon will enable DEBUG logs and log to the provided path, default is unset

share is Required
Either a directory to share with the target, or a unix domain socket file.

tag_name is Optional
The tag name to be used when mounting the device on the guest, default is simics

Provided By

virtio-comp

create-virtio-pcie-net-comp

Synopsis

create-virtio-pcie-net-comp ["name"] ["mac_address"]

Description

This command creates a non-instantiated component of the class virtio_pcie_net_comp.

The class description for the virtio_pcie_net_comp class: PCIe Virtio Net Device.

name is Optional
If not specified, the component will get a class-specific default name.

mac_address is Optional
MAC Address for the Virtio Net Device

Provided By

virtio-comp

create-wall-e

Synopsis

create-wall-e ["name"]

Description

This command creates a non-instantiated component of the class wall_e.

The class description for the wall_e class: The WALL-E component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

create-x86-chassis

Synopsis

create-x86-chassis ["name"]

Description

This command creates a non-instantiated component of the class x86_chassis.

The class description for the x86_chassis class: Standard x86 chassis.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

x86-comp

create-zorg

Synopsis

create-zorg ["name"]

Description

This command creates a non-instantiated component of the class zorg.

The class description for the zorg class: The Zorg component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

current-namespace

Synopsis

current-namespace

Description

Return the current namespace. This can be passed to change-namespace if you later want to return to the present location.

Provided By

Simics Core

See Also

change-namespace

current-processor – deprecated

Synopsis

current-processor

Description

Returns the name of the currently selected processor, similar to pselect.

Provided By

Simics Core

See Also

pselect, cpu

date

Synopsis

date [-t] ["format"]

Description

Return the current date and time on the host, in the form Fri Nov 7 12:00:36 2008. If the -t flag used, the time is instead returned in seconds as a floating point value.

The format argument enables the user to pass custom formatting of date and time based on formatting codes from the C standard. The file formats are designed to be used to construct file names at CLI, such as $filename = (date format=fileDate) + ".log".

Pre-Defined format option: (Results may vary slightly depending on host locale)

custom       Format codes from the C standard
full         Friday November 07, 2008 at 12:00:36.3467824 AM
fullDate     Friday November 07, 2008
fullTime     12:00:36.3467824 AM
iso          2008-11-07T12:00:36
long         November 07, 2008 at 12:00:36 AM
longDate     November 07, 2008
longTime     12:00:36 AM
medium       Nov 07, 2008, 12:00 AM
mediumDate   Nov 07, 2008
mediumTime   12:00:36 AM
short        11/07/08, 12:00 AM
shortDate    11/07/08
shortTime    12:00 AM
date         2008-11-07
time         12:00:36
file         20081107_120036
fileDate     20081107
fileTime     120036

Provided By

Simics Core

debug-context

Synopsis

debug-context [object|"context-query"] ["name"]

Description

Optionally change the current debug context and return it, naming the debug object name unless a object for the debug context already exists.

The current debug context can be specified either using the object argument to select a processor object, or the context-query argument to match any kind of debug context with state. The context query should match one unique processor or OS awareness leaf node.

The current debug context is the debug context global stepping and debugger inspection commands will affect.

Setting the current debug context also enables the debugger.

Provided By

tcf-agent

dec

Synopsis

dec value [-u]

Description

Returns the parameter as a string in decimal notation. This is similar to print -d value. To ignore any default digit grouping, the -u (unformatted) flag is used.

Provided By

Simics Core

See Also

print, hex, bin, oct, digit-grouping, atoi

decl

Synopsis

decl { declarations }

Description

A Simics script may have an optional script declaration block first in the file. The block declares parameter that the user can specify on the command line when launching Simics, or from the GUI, to alter the behavior of the script.

Possible declarations are:

Scripts may be documented by adding one or more lines starting with ! first in the decl block.

A parameter declaration includes the name and the type of a script parameter and an optional default value. It can also be followed by one or more lines of documentation, each starting with !.

param name : type [ = default-value]
! documentation line

Example:

param ram_size : int = 8
! Size of RAM in MiB

This means that the variable $ram_size will be set when the script is executed, that it must be an integer, and that it will be 8 if not specified in any other way. If there is no default value, then the parameter must be specified when the script is started; otherwise it is optional.

A script with a declaration block will only see the variables that have been declared as parameters. Other variables are hidden during the script's execution and will re-appear when the script terminates.

Several parameter declarations may be collected together by declaring a group. All parameters after a group declaration will belong to it, until a new group is declared. Example:

group "Disks"

Script parameters may be imported from another script, typically one included in the command section using run-command-file. Example:

params from "qsp-system.include"
 except mac_address, system
 default num_cpus = 8

The except statement is used to skip the import of some named parameters, while default provides a way to assign a default value to a parameter in the imported script.

A script can return variables that it has set by declaring results in the following way:

result param : type

Example:

result mac_address : string

It means that the script must set $mac_address before terminating, that it must be a string value, and that this variable is available to the caller. All other variables assigned to by the script are lost. The same name can be used for both a parameter and a result.

The automatically generated script trampolines in project directories use a single substitute line in the decl block to inherit all parameters and return values from another script. This keyword is not supposed to be used in user written scripts.

Whitespace (spaces, tabs, line breaks) are in general not significant in script declaration blocks unless specifically noted. Comments are allowed, starting with # and running to the end of the line.

Provided By

Simics Core

See Also

run-script

default-port-forward-target

Synopsis

default-port-forward-target ["target-ip"]

Description

Sets the IP address of a simulated machine that will be used by the connect-real-network command if none is given as argument. This is useful in single machine configurations where the same IP address, target-ip, is used all the time.

Provided By

service-node

See Also

connect-real-network, connect-real-network-port-in

defined

Synopsis

defined "variable"

Description

Returns TRUE if variable is a defined CLI variable, and FALSE if not.

Note that defined foo tests whether the variable foo is defined, whereas defined $bar tests whether the variable whose name is stored in $bar is defined.

Provided By

Simics Core

See Also

read-variable, $, list-variables

delete-connector

Synopsis

delete-connector cnt

Description

Delete connector copy cnt.

Provided By

Simics Core

delete-snapshot

Synopsis

delete-snapshot ([ "names" ... ] | list of "names") [-all]

Description

Delete one or more in-memory snapshots with the specified names. If the -all flag is specified all snapshots are deleted.

Provided By

Simics Core

See Also

take-snapshot, restore-snapshot, list-snapshots

devs

Synopsis

devs [object] [object-name]

Description

Print a list of all mapped devices in Simics, with information about how many times each device has been accessed, and where they are mapped. The object argument can be used to show information for a single device only.

The object-name argument has been deprecated in favor of object.

The mappings are presented as start and end offsets within a named memory space.

The function number or port name associated with each different mapping for a device is also printed.

Provided By

Simics Core

digit-grouping

Synopsis

digit-grouping [base] [digits]

Description

Change or display how numbers are formatted for the given base (radix). If not both arguments are given the current preferences are printed.

This command will separate groups of digits digits by an underscore when they are formatted for output. Separate grouping is maintained for each radix. If digits is zero, no separators are printed for that radix.

Run save-preferences to save any changes.

Provided By

Simics Core

See Also

output-radix, print, hex, dec, oct, bin

dirs

Synopsis

dirs

Description

Shows the contents of the directory stack.

Provided By

Simics Core

See Also

pushd, popd

disable-cell-threading – deprecated

Synopsis

disable-cell-threading [cell]

Description

Provided By

Simics Core

disable-debugger

Synopsis

disable-debugger

Description

Disables the command line debugger.

Provided By

tcf-agent

See Also

enable-debugger

disable-hypersim

Synopsis

disable-hypersim [-v]

Description

Disable hypersimulation.

Enable verbose mode with the flag -v.

Provided By

hypersim-pattern-matcher

disable-instrumentation

Synopsis

disable-instrumentation [id] ["name"] ["group"] [-verbose]

Description

Disable instrumentation connections. The connections between the provider and tool remains, but instrumentation gathering is stopped.

Specify which connections to disable with one of id, name or group arguments. The id specifies one unique connection. The name specifies all connections associated with a specific tool. The group selects all connections associated with a connection group.

The -verbose lists information on the connections that becomes disabled.

Provided By

Simics Core

See Also

add-instrumentation-filter, add-instrumentation-group, enable-instrumentation, list-instrumentation, list-instrumentation-groups, remove-instrumentation, remove-instrumentation-filter, remove-instrumentation-group

disable-jit

Synopsis

disable-jit

Description

Disable JIT compilation for all JIT-capable processors

Provided By

Simics Core

See Also

enable-jit

disable-mtprof

Synopsis

disable-mtprof

Description

Disable multithreaded simulation profiling.

Provided By

mtprof

disable-multicore-accelerator

Synopsis

disable-multicore-accelerator [cell]

Description

Disable the multicore on multicore accelerator feature.

If cell is given multicore acceleration will be deactivated for that particular cell, otherwise it will be deactivated for all cells in the configuration.

Provided By

Simics Core

disable-multithreading

Synopsis

disable-multithreading

Description

Disable the use of multiple concurrent threads for processor model simulation.

Note: turning off multithreading only prevents multiple threads from being used for instruction simulation. It does not disable usage of additional threads for things like JIT compilation.

Disabling multithreading does not affect the threading mode of the simulation (see set-threading-mode). In particular, the thread domain partitioning and the virtual time synchronization mechanism is not affected.

The ability to turn off multithreading is primarily intended as way to help debug concurrency issues in models.

Provided By

Simics Core

See Also

set-threading-mode

disable-object-lock-stats

Synopsis

disable-object-lock-stats

Description

Disable object lock statistics collection.

Provided By

Simics Core

See Also

enable-object-lock-stats, clear-object-lock-stats, print-object-lock-stats

disable-page-sharing

Synopsis

disable-page-sharing

Description

Disable page sharing.

Provided By

Simics Core

disable-subsystem-threading

Synopsis

disable-subsystem-threading [cell]

Description

Disable the use of 'subsystem' threading mode in the cell cell,

If the cell cell is currently using the 'subsystem' threading mode, then the threading mode is changed to 'serialized'.

If the cell parameter is omitted, then all cells running in 'subsystem' mode are switched to the 'serialized' threading mode.

Note: cells using the 'multicore' threading mode are not affected by this command.

Provided By

Simics Core

See Also

set-threading-mode

disable-tech-preview

Synopsis

disable-tech-preview (-all|"preview")

Description

Disable the Technology Preview feature specified by preview and hide all related CLI commands. Or disable all with the -all flag.

Provided By

Simics Core

See Also

enable-tech-preview, enable-unsupported-feature

disable-unsupported-feature

Synopsis

disable-unsupported-feature (-all|"feature")

Description

Disable the specified unsupported feature and hide all related CLI commands. Or disable all with the -all flag.

Provided By

Simics Core

See Also

enable-unsupported-feature, enable-tech-preview

disable-vmp

Synopsis

disable-vmp

Description

Disable VMP for all VMP-capable processors. The processor timing settings remain unchanged

Provided By

Simics Core

See Also

enable-vmp, setup-x86-timing

disable-vmp-feature

Synopsis

disable-vmp-feature "feature"

Description

Disable VMP simulation feature. Supported values for feature: backoff, direct_rdtsc, ept, five_level_paging, nested_ept, shadow_vmcs, tpr_threshold, unrestricted_guest

Provided By

Simics Core

disassemble

Synopsis

disassemble [cpu-name] [address] [count] [bytes]
<processor_info>.disassemble [address] [count] [bytes]

Description

Disassembles count instructions or bytes octets starting at address for processor cpu-name. If the processor is not given the current frontend processor will be used. You may also select a processor, e.g. cpu0.disassemble.

On some architectures, address must be word aligned. A physical address is given by prefixing the address with p: (e.g., p:0xf000). With no prefix, a virtual address will be assumed. If the address is omitted the current program counter will be used. count defaults to 1 instruction.

Global disassembly settings, such as whether to print the raw opcodes, can be set by the disassemble-settings command.

If supported by the processor, this command will also include various profiling statistics for the address of each instruction. One column is printed for each selected profiler. See the aprof-views command in each processor for more information.

Provided By

Simics Core

See Also

x, disassemble-settings

disassemble-settings

Synopsis

disassemble-settings [opcode] [physaddr] [partial-opcode] [turbo]

Description

Change disassemble output settings. Each of these settings can be set to on or off.

opcode indicates whether to print the raw bytes of the instruction in addition to the disassembly. If partial-opcode is set, and the opcode encodes more than one instruction (which can be the case on VLIW architectures), the opcode bytes will be divided among the instructions so that the entire opcode has been printed exactly once when all the instructions have been disassembled. If partial-opcode is not set, the entire opcode will be printed for every instruction.

physaddr indicates whether to compute and display the physical address if the virtual address was specified (if the physical address was specified, the virtual address is never printed).

turbo will show information about generated code (internal).

Without arguments, the current settings will be shown.

Provided By

Simics Core

See Also

disassemble

disconnect

Synopsis

disconnect [cnt0] [cnt1]

Description

Disconnect connector cnt0 from cnt1.

Provided By

Simics Core

disconnect-real-network

Synopsis

disconnect-real-network
<ethernet_cable>.disconnect-real-network
<ethernet_hub>.disconnect-real-network
<ethernet_switch>.disconnect-real-network

Description

Closes all connections to real networks. Also turns off NAPT and closes all forwarded ports.

Provided By

real-network

See Also

connect-real-network-host, connect-real-network-bridge

disconnect-real-network-port-in

Synopsis

disconnect-real-network-port-in (target-port|"service") ethernet-link [service-node] ["host-ip"] [host-port] ["target-ip"] [-tcp] [-udp]

Description

Enable or disable port forwarding from the host that Simics is running on, to a simulated machine, specified by target-ip. The externally visible port host-port on the host is mapped to the port target-port on the simulated machine. The external port (host-port) can be associated with a certain IP address on the host by specifying the host-ip argument.

For commonly used services the string argument service can be used instead of a port number. If several Ethernet links exists, the one that the simulated machine is connected to must be specified using ethernet-link.

The service-node that will perform the port forwarding is selected automatically based on the Ethernet link unless one is specified using the service-node argument.

The flags -tcp and -udp can be used to specify the protocol to forward. The default is to forward only the usual protocol for named services and both tcp and udp for numerically specified ports.

The host-port given is only a hint, and the actual port used may be a different one. The command output shows the actual port used, and it can also be determined by inspecting the connections attribute in the appropriate port forwarding object.

Provided By

service-node

disconnect-real-network-port-out

Synopsis

disconnect-real-network-port-out service-node-port ethernet-link [service-node] "target-ip" target-port [-tcp] [-udp]

Description

Enable or disable port forwarding to a machine on the real network.

Traffic targeting port service-node-port on the service node connected to ethernet-link will be forwarded to port target-port on target-ip.

Both tcp and udp will be forwarded unless one of the -tcp or -udp flags are given in which case only that protocol will be forwarded.

The service-node that will perform the port forwarding is selected automatically based on the Ethernet link unless one is specified using the service-node argument.

Provided By

service-node

display

Synopsis

display ["expression"] [-l] [-p] [-v] [-t]

Description

Install a CLI or Python expression or statement that will be printed every time Simics returns to a prompt after having advanced the simulation. The -p flag is used to indicate that the expression argument is in Python. The -l flags can be used to list all installed display expressions together with their assigned identifier. This identifier is used when removing expressions with the undisplay command. Calling display with no arguments will print the current value of all expressions. The -t flag tags the output of an expression in a way that simplifies capture by external means. To include the expression itself in the output, use the -v (verbose) flag.

Provided By

Simics Core

See Also

undisplay

down

Synopsis

down [N]

Description

Moves N frames down the stack (towards the innermost frame). N defaults to one.

Provided By

tcf-agent

See Also

frame, up, stack-trace

echo

Synopsis

echo [arg] [-n]

Description

Prints the value of arg on the command line. The -n flag can be used to inhibit output of a trailing newline.

Provided By

Simics Core

enable-cell-threading – deprecated

Synopsis

enable-cell-threading [cell]

Description

Provided By

Simics Core

enable-debugger

Synopsis

enable-debugger

Description

Enables the command line debugger and sets the current debug context to the software running on the current processor.

Provided By

tcf-agent

See Also

disable-debugger, <memory_space>.debug, <processor_info>.debug, debug-context

enable-hypersim

Synopsis

enable-hypersim [-v] [-no-auto] [-no-pattern-matching]

Description

Enable hypersimulation.

Hypersimulation is the ability of the simulator to detect that a loop is only waiting for something to happen without actually doing anything, and that it is possible to skip forward in time immediately to the next interesting event (such as a timer interrupt).

Single-instruction loops (an instruction that jumps to itself) can often be detected by the processor model itself; this detection is always enabled.

Some simple loops can be detected during JIT compilation of the target software. This feature is only supported for some processor architectures. This detection is normally enabled, but can be turned off with the -no-auto flag.

More complicated loops can be detected using the hypersim-pattern-matcher module which uses hand-written specifications, hypersim classes, that describe the structure of the loops and how to simulate them correctly. Hypersim classes are specific to processor architectures and target software. By enabling hypersimulation, all hypersim classes are connected to matching processors in the configuration. To disable the pattern-matcher the -no-pattern-matching flag can be used.

Enable verbose mode with the flag -v. The command returns the names of the used hypersim-pattern-matcher objects.

Provided By

hypersim-pattern-matcher

enable-instrumentation

Synopsis

enable-instrumentation [id] ["name"] ["group"] [-verbose]

Description

Enable an instrumentation connection that has been disabled earlier with the disable-instrumentation.

Specify which connections to enable with one of the id, name or group arguments. The id specifies one unique connection. name specifies all connections associated with a specific tool. The group selects all connections associated with a connection group.

The -verbose lists information on the connections that becomes enabled.

Provided By

Simics Core

See Also

add-instrumentation-filter, add-instrumentation-group, disable-instrumentation, list-instrumentation, list-instrumentation-groups, remove-instrumentation, remove-instrumentation-filter, remove-instrumentation-group

enable-jit

Synopsis

enable-jit

Description

Enable JIT compilation for all JIT-capable processors

Provided By

Simics Core

See Also

disable-jit

enable-mtprof

Synopsis

enable-mtprof [interval]

Description

Enable multithreaded simulation profiling. The amount of host cpu time required to simulate each cell is measured every interval virtual ms.

The collected data is fed into a performance model which estimates how fast the simulation would run on a system with enough host cores and Simics Accelerator licenses to allow each cell to run on a dedicated core. The performance model also gives some insights into the performance implications of various min-latency settings (settable though the set-min-latency commands).

The interval parameter should normally be set to a value of the same order as the min-latency setting of interest.

Provided By

mtprof

See Also

<mtprof>.cellstat, <mtprof>.modelstat, <mtprof>.save-data

enable-multicore-accelerator

Synopsis

enable-multicore-accelerator [cell] [protocol] [max-time-span]

Description

Activate the "multicore" threading mode. In this mode, multiple threads are used to simulate processors and clocks concurrently within a cell, provided that the models support this execution mode.

The command is a shorthand for set-threading-mode multicore.

If cell is given, then "multicore" threading mode is set for that particular cell, otherwise it will be used for all cells in the configuration.

The protocol argument chooses between different memory protection schemes and can be one of: msi, ww, or wwp. The msi protocol means that there can be multiple simultaneous readers for each memory region (currently the MMU page size of the target architecture) but only one writer. The ww protocol allows multiple simultaneous writers to the same memory region. This requires that the host has an equal or stricter memory consistency model then the simulated target architecture. In particular, target write operations must be as atomic on the host as on the target. Both these protocol requests exclusive read/write permissions for atomic operations. The wwp protocol uses host atomic operations to implement target atomic operations if possible. Currently this is not 100% accurate but will only fail for very obscure cases not normally found in parallel workloads.

The max-time-span argument specifies the maximum virtual time span (in seconds) that is allowed between clocks in an multicore accelerator enabled cell. This corresponds to the min latency that can be set between cells in sync domains.

NOTE: The multicore accelerator mode is not deterministic. This means that running the same workload multiple times will most likely behave differently due to different interleaving of memory accesses.

Provided By

Simics Core

See Also

set-threading-mode

enable-multithreading

Synopsis

enable-multithreading [-force]

Description

Enable the use of multiple concurrent threads for processor model simulation. Running with multithreading enabled requires that all loaded modules are thread safe, and that the objects are correctly partitioned into cells.

Note: the set-threading-mode command is used to control the actual threading mode of the simulation. This command is just a master switch which enables multithreading.

The use of multithreading can be forced on, even when unsafe modules are loaded or when the cell partitioning rules are violated, by using the -force flag. The -force flag should only be used during model development.

Provided By

Simics Core

See Also

set-threading-mode, disable-multithreading

enable-object-lock-stats

Synopsis

enable-object-lock-stats

Description

Enable object lock statistics collection.

Provided By

Simics Core

See Also

clear-object-lock-stats, disable-object-lock-stats, print-object-lock-stats

enable-page-sharing

Synopsis

enable-page-sharing [-now]

Description

Enable the page-sharing feature, which detects identical pages in the systems being simulated. Pages can be RAM, ROM, flash, disk, or any page represented by image objects.

Pages detected to have identical contents are replaced with a single read-only copy, consequently reducing the amount of host memory used. If an identical page is written to, it will again get a private writable instance of the page.

Identical pages are detected during run-time by certain triggers. If the -now switch is used, all currently active pages will be examined for sharing directly. Disabling page-sharing only means that no more pages will be shared, pages which have already been shared will not be un-shared.

Provided By

Simics Core

enable-probes

Synopsis

enable-probes [log-level]

Description

Enable the probes framework. Probes allows easy retrieval of data from all objects that supports the probe interfaces. This command will create a global object called probes that handles the probes. More probe commands are visible under this object. The log-level argument sets the log level of the probe object, useful for debugging.

Provided By

Simics Core

enable-real-time-mode

Synopsis

enable-real-time-mode [speed] [check_interval] [drift-compensate] [clock]
disable-real-time-mode
real-time-mode

Description

In some cases simulated time may run faster than real time; this can happen if the OS is in a tight idle loop or an instruction halts execution waiting for an interrupt, or if the host machine is simply sufficiently fast. This can cause problems for programs that interact with the real world (for example the user), since time-outs may expire really fast.

A realtime object will, when enabled, periodically check the simulation speed and wait for a while if it is too high. speed specifies how fast simulated time is allowed to run, in percent of real time; default is 100. check_interval specifies how often the check should take place, in milliseconds of simulated time; default is 1000. Higher values give better performance; lower values reduce the maximum difference between real and simulated time. Setting this to less than set-time-quantum has no effect.

The speed argument says how fast the simulation should run, but the actual speed will always deviate a little from that value even if the host is fast enough. To keep these errors from accumulating, the simulation speed has to be adjusted; drift-compensate regulates how much it may be adjusted. If set to (for example) 0.25, simulation speed may be increased or decreased by up to 25% if necessary to make up for any accumulated drift with respect to real time. If set to zero (the default), the simulation speed may not be changed at all from its set value.

The clock will control which clock is used for real-time comparison. A configuration may have many clocks/processors. Virtual time is based on a Simics clock and by default the first clock found is used to control real-time mode. However, some use cases may allow clocks to drift apart significantly, which may affect real-time mode. In such a case, it may be useful to use the clock argument. Notice that the clock can not be changed after the real-time command has been invoked.

Control this feature by the enable-real-time-mode and disable-real-time-mode commands. The real-time-mode command will query whether real-time is enabled or not.

It is possible to run the enable-real-time-mode command before any cycle object exists in the configuration. In this case creation of the realtime object will be postponed until a cycle object has been created. Run disable-real-time-mode to inhibit postponed mode.

Provided By

realtime

enable-subsystem-threading

Synopsis

enable-subsystem-threading [cell]

Description

The enable-subsystem-threading command enables subsystem threading for the cell cell, or for all cells if the cell argument is omitted.

A cell running in the subsystem simulation mode allows groups of tightly coupled CPUs to be simulated in parallel.

The enable-subsystem-threading command is similar to the "set-threading-mode subsystem" command, except that cells already configured to run in a more parallel threading mode (i.e. use 'multicore' threading), will continue to do so.

Provided By

Simics Core

See Also

set-threading-mode, set-time-quantum, set-min-latency

enable-tech-preview

Synopsis

enable-tech-preview "preview" [-v]

Description

Enable the Technology Preview feature specified by preview and exposes any related CLI commands. The name of the feature should have been provided by the Simics team together with separate instructions for how to use it. List all enabled commands using the -v flag.

Provided By

Simics Core

See Also

disable-tech-preview, enable-unsupported-feature

enable-unsupported-feature

Synopsis

enable-unsupported-feature "feature" [-v]

Description

Enable the specified unsupported feature and exposes any related CLI commands. The name of the feature should have been provided by the Simics team together with separate instructions for how to use it.

List all enabled commands using the -v flag.

Provided By

Simics Core

See Also

disable-unsupported-feature, enable-tech-preview

enable-vmp

Synopsis

enable-vmp

Description

Enable VMP (see Simics User's Guide) for all VMP-capable processors. The command will fail if the processor timing settings are not VMP compatible. Use setup-x86-timing to change the timing settings.

Even when enabled for use with VMP, host acceleration may still not be engaged due to features being used that cannot be supported with direct execution. The info command on the processor will list the execution mode as VMP if VMP is enabled, and will also show a reason for VMP not being engaged if such a reason exists.

Provided By

Simics Core

See Also

disable-vmp, setup-x86-timing

enable-vmp-feature

Synopsis

enable-vmp-feature "feature"

Description

Enable VMP simulation feature. Supported values for feature backoff, direct_rdtsc, ept, five_level_paging, nested_ept, shadow_vmcs, tpr_threshold, unrestricted_guest

Provided By

Simics Core

enable-writable-persistent-state

Synopsis

enable-writable-persistent-state dir [root] [-new] ["comment"]

Description

Enables a writable persistent simulator state in the directory dir. Persistent data typically includes disk images, NVRAM and flash memory contents and clock settings, i.e. data that survive reboots. The persistent state is saved as a standard Simics configuration.

The persistent state will contain persistent data from objects in the hierarchy rooted at root, or all persistent data if that argument is NIL.

To use this command, no image is allowed to have a writable file already.

If the directory exists, it must contain a saved persistent state previously created by this command, whose objects match the configuration under root, and this state will be loaded and used as writable state. Otherwise a new state will be created.

If -new is specified and the directory dir exists, an error will be raised.

If a new state is created, a description can be added to the persistent state, using the comment argument. The comment is saved in the info file in the persistent state directory.

Provided By

Simics Core

See Also

save-persistent-state, load-persistent-state, list-persistent-images

env

Synopsis

env [-x] ["variable"] ["substr"]

Description

Returns the value of an environment variable. The -x flag can be used to test if a named variable exists.

If used without arguments this command will return all variables and their values. In this use case the substr argument can be used to filter for certain variable names (case sensitive).

Provided By

Simics Core

exec

Synopsis

exec "cmd"

Description

Executes the cmd argument as a CLI command line and returns the return value if any.

Provided By

Simics Core

expect

Synopsis

expect arg1 arg2 [-v]

Description

If values arg1 and arg2 are not equal the simulator will print them and exit with error exit(1). -v prints the two values before comparing them.

This can be useful when writing scripts that want to assert a state in the simulator.

Provided By

Simics Core

file-exists

Synopsis

file-exists "filename"

Description

Looks for the file or directory filename in the Simics search path, starting with the current working directory. Returns true if the file is found and false if not.

Provided By

Simics Core

See Also

lookup-file

force-step-instruction

Synopsis

force-step-instruction [count] [-r] [-n] [-q]
<step>.force-step-instruction [count] [-r] [-q]

Description

Executes count instructions on the currently selected frontend processor, printing the instruction executed at each step. The default value for count is 1. No instructions are run on other processors, although their virtual time may pass. As a result, the default round-robin scheduling of processors is not obeyed. The force-step-instruction command will refuse to run if the processor is stalling.

The -n flag tells the command to switch to the next processor in the scheduling list of the cell after each instruction.

With the -r flag, register changes are printed after every step.

The -q flag tells the command not to disassemble the executed instruction.

Since the force-step-instruction command changes the default scheduling order of processors, the same execution path will not be followed if the simulation is rerun using reverse execution for example.

Provided By

Simics Core

See Also

step-instruction, step-cycle

foreach

Synopsis

foreach $iterator in list { commands }

Description

Runs a block of commands with the variable $iterator set to each of the entries in list. The $iterator variable is only defined within the command block.

Provided By

Simics Core

See Also

if, break-loop, continue-loop, while

frame

Synopsis

frame [frame-number]

Description

Changes current stack frame to frame-number, or displays the current frame.

Provided By

tcf-agent

See Also

stack-trace, up, down

get

Synopsis

get address [size] [-l] [-b]
<memory_space>.get address [size] [-l] [-b] [initiator]
<memory_space>.read address [size] [-l] [-b] [initiator]
<port_space>.get address [size] [-l] [-b] [initiator]
<port_space>.read address [size] [-l] [-b] [initiator]

Description

Get value of physical memory at location address. The size argument specifies how many bytes should be read. It defaults to 4, but can be any number of bytes between 1 and 8 (inclusive).

If initiator is the object that will be used as the source of the memory access. Supplying an initiator is rarely needed, but some devices may only accept accesses from certain initiating objects.

The -l and -b flags are used to select little-endian or big-endian byte order, respectively used to determine how the bytes in memory should be interpreted as a value. If neither is given, the byte order of the initiator is used if specified and a processor, or else the order of the current frontend processor.

The get command variants perform the access in inquiry mode without triggering any side-effects while <memory_space>.read and <port_space>.read may trigger side-effects.

The non-namespace version of this command operates on the physical memory associated with the current frontend processor.

Provided By

Simics Core

See Also

x, set, signed, pselect

get-auto-mac-address

Synopsis

get-auto-mac-address

Description

Get an unused MAC address.

Provided By

service-node

get-command-args

Synopsis

get-command-args "command"

Description

Returns a list of argument names for a CLI command.

Provided By

Simics Core

get-device-offset

Synopsis

get-device-offset "bank" offset size [-l|-b]
read-device-offset "bank" offset size [-l|-b]

Description

Read and return the value from the bank object bank, i.e. device.bank.<bank-name>, or from other object implementing the transaction or io_memory interface. The old way to specify register banks (device.<bank-name>) is supported but deprecated. The offset is the byte offset from the start of the bank/object and size is the number of bytes to read, from 1 to 8. For devices that still use function numbers to identify memory mappings, the bank argument can be in the form device.<function_number>.

The get-device-offset command performs an inquiry read, typically used for non-intrusive inspection, while read-device-offset does a standard access that may trigger side-effects in the device. Note that not all device models support inquiry accesses.

Some devices, such as ones written in DML, provide a preferred byte endianness that data should be interpreted in. The command will use this endianness unless the -l or -b flags are used to select an alternate one.

Not all devices support accesses that span several registers or that accesses a register partially. (For DML 1.2 devices, such support must be enabled in the device when it is compiled. This limitation is planned to be removed in the next version of the language.)

Provided By

Simics Core

See Also

get-device-reg, read-device-offset, set-device-offset, set-device-reg, print-device-reg-info, print-device-regs

get-device-reg

Synopsis

get-device-reg "register" ["field"] [-l|-b]
read-device-reg "register" ["field"] [-l|-b]

Description

Read from a device register and return the value. The register argument is of the form device.bank.register.

The get-device-reg command performs an inquiry read, typically used for non-intrusive inspection, while read-device-reg does a standard access that may trigger side-effects in the device. Note that not all device models support inquiry accesses.

The field parameter can be specified to get the value of a register field. One can use the print-device-reg-info command to see which fields a register has.

The -l or -b flags are used to specify in what byte order the read data (that is a whole register or a register field) should be interpreted. The default is to interpret data as little-endian, except when a whole register is read out (i.e. no field argument is passed) from the bank that declares big-endian as its as its preferred byte order (which can happen for devices written in DML).

Provided By

Simics Core

See Also

read-device-offset, set-device-reg, print-device-reg-info, print-device-regs

help

Synopsis

help ["topic"]

Description

Prints help information on topic. topic can be a command, a class, an object, an interface, a module, a hap, an attribute or a function or type from the Simics API. Here are some usage examples of the help command:

simics> help print-time
[... print-time command documentation ...]

simics> help cpu0.disassemble
[... <processor>.disassemble command documentation ...]

simics> help <processor>.disassemble
[... <processor>.disassemble command documentation ...]

simics> help cpu0.core[0][0]
[... <x86QSP1> class documentation ...]

simics> help x86QSP1
[... <x86QSP1> class documentation ...]

simics> help processor
[... <processor> interface documentation ...]

simics> help x86QSP1.freq_mhz
[... <x86QSP1>.freq_mhz attribute documentation ...]

simics> help x86QSP1.msr_aperf
[... <x86QSP1>.msr_aperf attribute documentation ...]

simics> help Core_Exception
[... Core_Exception hap documentation ...]

simics> help SIM_get_mem_op_type
[... SIM_get_mem_op_type() function declaration ...]

simics> help script.simics
[... script parameter information from the script file script.simics ...]

To refine your search and improve the tab-completion choices, you may use filters in the topic as shown below:

help topic = command:break

The recognized filters are "api:", "attribute:", "category:", "class:", "command:", "hap:", "interface:", "module:", "notifier:", "object:", "script:", "target:".

By default, the help command does not provided tab-completion on topic for modules and api symbols unless the specific filter is provided.

Provided By

Simics Core

See Also

help-search, api-help, api-search

help-search

Synopsis

help-search [-r] [-a] "string"

Description

Print all items for which the documentation contains the text string. With the -r flag, the string is interpreted as a regular expression.

This command will only display search results for commands, classes, haps, and interfaces from the common documentation as well as the currently loaded configuration. With the -a flag, attributes are also searched.

Provided By

Simics Core

See Also

api-search, help, api-help

hex

Synopsis

hex value [-u] [-p]

Description

Returns the parameter as a string in hexadecimal notation. This is similar to print -x value. To ignore any default digit grouping, the -u (unformatted) flag is used, while -p removes the radix prefix 0x.

Provided By

Simics Core

See Also

print, bin, oct, dec, digit-grouping, atoi

hypersim-status

Synopsis

hypersim-status [-v]

Description

Show status overview for hypersimulation. With the -v all <hypersim-pattern-matcher>.status commands are executed also with more detailed information.

Provided By

hypersim-pattern-matcher

if

Synopsis

if condition { commands }
if condition { commands } else { commands }
if condition { commands } else if condition { commands }

Description

Runs a block of commands conditionally.

The if command returns the value of the last executed command in the block.

Provided By

Simics Core

See Also

while

in-list

Synopsis

in-list needle haystack

Description

Returns true if the argument needle can be found in haystack and false if not. The first argument is an integer, string, floating point or boolean value and the second is a list.

Provided By

Simics Core

in-string

Synopsis

in-string "needle" "haystack"

Description

Returns true if the string argument needle can be found in the haystack string and false if not.

Provided By

Simics Core

insert-ethernet-probe

Synopsis

insert-ethernet-probe ["name"] device ["attribute"]

Description

Insert an Ethernet probe on the given device which must implement the ethernet_common interface.

Optionally the probe may be given a name. With attribute you may specify the network to probe; default is the "link" of the given device.

Provided By

eth-probe

insert-ieee-802-15-4-probe

Synopsis

insert-ieee-802-15-4-probe device ["name"]

Description

Insert IEEE 802.15.4 probe to listen to traffic on the given device, an ieee_802_15_4_receiver.

The probe may be given a name.

Provided By

ieee-802-15-4-probe

instantiate-components

Synopsis

instantiate-components [-v] ([ component ... ] | list of component)

Description

Instantiate all non-instantiated top-level components, or just the given component (one or more). In both cases also their sub-components are instantiated.

With the -v flag names of the instantiated components are printed.

Instantiating components will discard any reverse execution history.

Provided By

Simics Core

instrumentation-move

Synopsis

instrumentation-move provider id [anchor-id]
<instrumentation_order>.instrumentation-move id [anchor-id]

Description

Move the connection identified by id just before the connection identified by anchor-id in the provider. If the achor connection is not given the connection will be moved last. This command can be used to control the order in which instrumentation connections are considered.

Provided By

Simics Core

See Also

<instrumentation_order>.instrumentation-order, add-instrumentation-filter, add-instrumentation-group, disable-instrumentation, enable-instrumentation, instrumentation-order, list-instrumentation, list-instrumentation-groups, remove-instrumentation, remove-instrumentation-filter, remove-instrumentation-group

instrumentation-order

Synopsis

instrumentation-order provider
<instrumentation_order>.instrumentation-order

Description

List the order of all instrumentation connections for an instrumentation provider. The order determines the order in which the instrumentation connections are dispatched.

Provided By

Simics Core

See Also

<instrumentation_order>.instrumentation-move, add-instrumentation-filter, add-instrumentation-group, disable-instrumentation, enable-instrumentation, instrumentation-move, list-instrumentation, list-instrumentation-groups, remove-instrumentation, remove-instrumentation-filter, remove-instrumentation-group

int-to-double-float

Synopsis

int-to-double-float value

Description

Returns the integer value interpreted as a IEEE 64-bit floating point number.

Provided By

Simics Core

int-to-extended-double-float

Synopsis

int-to-extended-double-float value

Description

Returns the integer value interpreted as a x87 80-bit floating point number.

Provided By

Simics Core

int-to-quad-float

Synopsis

int-to-quad-float value

Description

Returns the integer value interpreted as a IEEE 128-bit floating point number.

Provided By

Simics Core

int-to-single-float

Synopsis

int-to-single-float value

Description

Returns the integer value interpreted as a IEEE 32-bit floating point number.

Provided By

Simics Core

interrupt-script

Synopsis

interrupt-script ["message"] [-error]

Description

Interrupts the execution of a script and prints out message. If message is not specified, a generic message is printed.

The -error flag tells Simics to consider the interruption as an error.

Provided By

Simics Core

See Also

stop, try

interrupt-script-branch

Synopsis

interrupt-script-branch id

Description

Send an interrupt exception to a script branch with the given id.

The ID was returned from the script-branch command and is also listed by the list-script-branches command. The branch will immediately wake up from any pending waits and exit when it receives the exception.

Provided By

Simics Core

See Also

script-branch, break-script-branch, list-script-branches

istc-enable

Synopsis

istc-enable
dstc-disable
dstc-enable
iostc-disable
iostc-enable
istc-disable
stc-status

Description

These commands are for advanced usage only. They allow the user to control the usage of Simics-internal caches.

The Simulator Translation Caches (STCs) are designed to increase execution performance. The D-STC caches data translations (logical to physical to real (host) address). The I-STC caches instruction translations of taken jumps. Finally, the IO-STC caches logical to physical address translation for device accesses.

By default the STCs are on.

When a memory hierarchy is connected (such as a cache module) it must have been designed to work along with the STCs, or it may not be called for all the memory transactions it is interested in. These commands can be used to detect if too many translations are kept in the STCs, causing the simulation to be incorrect.

Turning the STCs off means that current contents will be flushed and no more entries will be inserted into the STCs.

Provided By

Simics Core

l

Synopsis

l [-l]

Description

Lists objects in the current namespace. Classnames are included in the output if the -l flag is used.

Provided By

Simics Core

See Also

list-objects, change-namespace, ll

license

Synopsis

license [-third-party] [-full]

Description

Prints information about the license that applies to this copy of Simics. The -third-party flag prints a list of third party software that is part of the application. The -full flag can be used to view the full license text.

Provided By

Simics Core

list

Synopsis

list [-s|-d] [address|"location"] [maxlines]

Description

List the source code corresponding to a given address, function or line. The location can be specified as line or file:line (list from that line); function or file:function (list that function); or address (list from that address).

At most maxlines lines of source or asm are printed. -s produces source intermixed with disassembly, and -d disassembly only.

Provided By

tcf-agent

See Also

disassemble, sym-source, sym-value

list-attributes

Synopsis

list-attributes (object|"class") ["attribute-name"] ["substr"] [-i] [-show-description]

Description

Lists all attributes that are registered on a class or an object. For every attribute its name, type, attribute type, flags, and value are listed. See the documentation of the SIM_register_attribute function for more information. When used in an expression, a list of attribute-name/value pairs is returned.

It is possible to filter on attribute names matching the substr argument.

If an attribute-name is given, the description of that particular attribute will be displayed. If an object were given its value is displayed.

Attributes marked as internal will only be listed when the -i flag is used.

If the -show-description flag is used then description for the attribute is shown.

Provided By

Simics Core

list-blueprint-params

Synopsis

list-blueprint-params "blueprint"

Description

List parameters for blueprint.

Provided By

blueprints

list-blueprint-state

Synopsis

list-blueprint-state "blueprint" [-expected] [-show-used]

Description

List state structures used by blueprint.

If -expected is TRUE, list state accessed by the blueprint but not published, i.e. the expected input state. Otherwise display the published state, by default only those which are not used by the blueprint, i.e. the "connection points". If -show-used is set, also list state used by the blueprint.

Provided By

blueprints

list-blueprints

Synopsis

list-blueprints ["substr"]

Description

List blueprints registered wih Simics.

The substr can be used to only list blueprints with names containing that sub-string.

Provided By

blueprints

list-checkpoints

Synopsis

list-checkpoints [path] [-r]

Description

Lists all checkpoints in the path directory or in the current directory if no path argument given. Use -r to search for checkpoints recursively in all sub-directories to path.

Provided By

Simics Core

See Also

read-configuration

list-classes

Synopsis

list-classes ["substr"] ["module"] [-l] [-m] [-show-port-classes]

Description

Lists all available configuration classes. It is possible to only include classes whose name matches a certain sub-string, specified by the substr argument. The -l flag will reduce the list to classes that has been registered by loaded modules. The -m flag extends the output with the name of the module that registered each class.

The module argument can be used to only list classes from the specified module.

Port classes are not included in the list, unless -show-port-classes is specified. Note that this only includes port classes for classes from loaded modules.

When used in an expression, a list of class names is returned, or a list of [<class name>, <module name>] pairs, depending on the -m flag.

Provided By

Simics Core

list-commands

Synopsis

list-commands [object] ["class"] ["iface"] ["substr"] [-plain] [-global-only]

Description

Returns a list of CLI commands. If used in an expression it returns a list of tuples which each contains the command name, and its short description. Otherwise the list is printed.

If the -plain flag is specified, the return value or output is instead only a list of command names.

Note that only those commands that have been registered with Simics at the current time are listed. Hence, commands in modules or target systems that are not yet loaded, will not be listed.

If the -global-only flag is specified, just global commands are listed.

Without any arguments all commands will be listed. The object argument will filter for commands registered on the specified object. The class and iface arguments will filter on the given class and/or interface names. And the substr argument will filter on commands with matching names.

Provided By

Simics Core

list-components

Synopsis

list-components [component] ["class"] [-s] [-v] [-t] [-all] [-recursive]

Description

Print or lists components with their names, types, and connectors; and for each connector, the destination component and connector.

With the class argument, you can restrict the listing to components of a particular class.

By default, only the components in the current namespace are listed (see the change-namespace command). If no current namespace has been selected, only top-level components are shown. The component argument can be used to override the current namespace.

With the -all flag, list all components, regardless of where they live. With the -recursive flag, in addition to listing all components that are in the selected namespace, also list all components in the namespaces below it. With -t, list only top-level components. The -s and -v flags select a briefer listing (default), and a more verbose listing, respectively.

Example of default output. Columns are explained by the bottom row.

board            chassis_qsp_x86
ethernet_switch0 ethernet_switch
slot             class name       not instantiated, if applicable

Example of verbose output. Components are printed in bold and columns for the connectors are explained by the bottom row:

board            chassis_qsp_x86

ethernet_switch0 ethernet_switch
device0          ethernet-link    any         board.mb.sb:eth_slot
device1          ethernet-link    any         service_node_cmp0:connector_link0
connector        type             direction   destinations, if any

The list-components command returns a list of components when used in an expression.

Provided By

Simics Core

list-debug-contexts

Synopsis

list-debug-contexts ["context-query"]

Description

List debug contexts matching the context query context-query. The displayed value is the list of all the fully qualified names of the context matching the context query. The return value is a list of contexts. Each element of the list is a list of two elements: the context id and the fully qualified context name.

context-query defaults to * which matches all contexts.

Provided By

tcf-agent

list-device-regs

Synopsis

list-device-regs [root_of_search] "pattern"

Description

List all registers whose name matches pattern.

The pattern argument supports Unix shell-style wildcards. For more information, see https://docs.python.org/3.10/library/fnmatch.html.

If the optional argument root_of_search is set, the search is limited to this object and all its child objects. When not set, all objects in the simulation will be searched.

Provided By

Simics Core

See Also

get-device-reg, read-device-offset, set-device-offset, set-device-reg, print-device-reg-info, print-device-regs

list-directories

Synopsis

list-directories

Description

Lists all directories in the Simics search path.

Provided By

Simics Core

See Also

add-directory, clear-directories

list-failed-modules

Synopsis

list-failed-modules ["substr"] [-v]

Description

Lists the modules (Simics extensions) that are not loadable, optionally only those matching substr.

Similar to list-modules but shows modules that will not load into Simics, and the reason why Simics refuses to load them (e.g., missing symbol, wrong version, ...).

If the -v flag is specified, show verbose information, with the full path to the module file and any library loader error message.

The MODULE column contains the name of the module or the filename of the shared library file if the module name could not be established.

If the module has the same name as another module, an X will be printed in the DUP column.

If the module could not be loaded since it was compiled or written for a different version of Simics, the version it was built for will be printed in the VERSION column.

The USR_VERS will contain the user version string, if provided.

The LINK column contains any linker error (cf. the dlerror(3) manpage).

When the -v flag is provided, the PATH column will contain linker information for the module.

When this command is used in an expression a list of the errors is returned.

Provided By

Simics Core

See Also

list-modules, module-list-refresh, load-module, add-module-directory

list-hap-callbacks

Synopsis

list-hap-callbacks ["hap"]

Description

Lists all callbacks installed for hap, or for all haps if the argument is omitted.

Provided By

Simics Core

See Also

list-haps

list-haps

Synopsis

list-haps ["hap"] ["substr"]

Description

Lists all haps. If a hap is specified, a detailed description of it is printed. If substr is specified, just haps whose names contain the given substring (case sensitive) are printed.

Provided By

Simics Core

See Also

list-hap-callbacks

list-hypersim-patterns

Synopsis

list-hypersim-patterns [-u]

Description

List the available hypersim-pattern classes. If this command is used in an expression it returns a list.

With the -u flag is also displayed which hypersim-pattern-matcher that currently uses the pattern.

Provided By

hypersim-pattern-matcher

list-instrumentation

Synopsis

list-instrumentation ["name"] ["group"]

Description

List which established instrumentation connections that is currently setup.

Without any arguments, all connections are listed. To narrow down the list the name argument can specify tool specific connections, or the group can be used to only print the connections associated with a certain named group.

Provided By

Simics Core

See Also

add-instrumentation-filter, add-instrumentation-group, disable-instrumentation, enable-instrumentation, list-instrumentation-groups, remove-instrumentation, remove-instrumentation-filter, remove-instrumentation-group

list-instrumentation-callbacks

Synopsis

list-instrumentation-callbacks [object]
<callback_info>.list-instrumentation-callbacks

Description

Lists all instrumentation callbacks registered in the system.

If object is given only callbacks related to that object will be included. Otherwise all instrumentation objects that supports instrumentation are listed.

Provided By

Simics Core

list-instrumentation-groups

Synopsis

list-instrumentation-groups

Description

List the currently available groups that was created with the add-instrumentation-group command

Provided By

Simics Core

See Also

add-instrumentation-filter, add-instrumentation-group, disable-instrumentation, enable-instrumentation, list-instrumentation, remove-instrumentation, remove-instrumentation-filter, remove-instrumentation-group

list-instrumentation-tools

Synopsis

list-instrumentation-tools ["substr"] [-provider-requirements] [-verbose]

Description

List all instrumentation tool classes registered in the system. It is possible to only include classes whose name matches a certain sub-string, specified by the substr argument. For each tool class, the command to use for creating such tool is provided as well. If there are already created tools their corresponding objects will be listed in an additional column. Use the -provider-requirements flag to also show the interfaces required by a provider to connect to the tool. A description of the tool is also printed. The -verbose flag selects between a short and a verbose description.

Provided By

Simics Core

See Also

add-instrumentation-filter, add-instrumentation-group, disable-instrumentation, enable-instrumentation, list-instrumentation, list-instrumentation-groups, remove-instrumentation, remove-instrumentation-filter, remove-instrumentation-group

list-interfaces

Synopsis

list-interfaces [object|"class"] ["substr"] [-include-standard-interfaces]

Description

The list-interfaces command displays a list of all interfaces implemented by an object or a class, all its named port interfaces, as well as all interfaces implemented by associated port objects.

If neither object nor class is not specified, all currently known interfaces will be listed, except port interfaces.

If substr is specified, just interfaces whose names contain the given substring will be listed.

If the flag -include-standard-interfaces is supplied all interfaces implemented by port objects will be listed, including namespace objects.

When used in an expression, the command returns a list with three elements: a list of interfaces implemented by the object/class, a list of lists of the form [port, iface1, ..., ifaceN] of port objects interfaces and a similar list of implemented port interfaces.

Provided By

Simics Core

list-length

Synopsis

list-length list

Description

Returns the length of a CLI list.

Provided By

Simics Core

list-modules

Synopsis

list-modules ["substr"] [package-number] [-l] [-v] [thread-safe]

Description

Lists all modules that can be loaded into Simics. If the substr argument is specified, only modules with a matching name will be listed. If a package-number is specified, only modules from that package will be listed.

Use -l to only list loaded modules and -v to enable verbose output, which includes the module file system path, package name if the module comes from a package, and if the module shadows another module (which will be listed by list-failed-modules).

"Build ID" is the module-specific build ID, defaulting to the build-ID of the Simics package that the module was compiled with. The full build-ID reads for example "namespace:1234", except for Simics modules which displays just the integer part.

The "ABI" column is the build-ID of the Simics package that the module was compiled with.

The "Compat" column is the oldest Simics ABI version the module is binary compatible with. Note that a module with a low "compat" value may still require a later version of Simics for API functions that were introduced later on.

The "API" column is the API version that was set in the modules' makefile.

The "Thread-safe" column shows whether the module has been tagged as thread safe, "Yes" or "No". Use the thread-safe argument to filter on this column.

The "User Version" column shows the user defined version string (if any) which was provided in the MODULE_USER_VERSION variable in the module's Makefile.

When used in an expression, a list of module names is returned, or a list of [<module name>, <loaded status>, <build ID>, <ABI>, <compat>, <API>, <thread-safe>, <user version>, <path>, <package>, <shadowing>] entries if -v is specified.

Provided By

Simics Core

See Also

list-failed-modules, module-list-refresh, load-module, add-module-directory

list-notifier-subscribers

Synopsis

list-notifier-subscribers [-global|object]

Description

If the -global flag is specified, print a list of added global notifier subscribers.

In this case each entry in the output contains: notifier name, subscriber object (or NIL if no subscriber) and one-shot status (TRUE if and only if the notifier was added with SIM_add_global_notifier_once).

If the -global flag is not specified, print a list of added notifier subscribers on object, or subscribers on all objects, if the object parameter is omitted.

In this case each entry in the output contains: notifier object, notifier name, notifier description, and the subscriber object (or NIL if no subscriber).

Provided By

Simics Core

See Also

list-notifiers, list-hap-callbacks

list-notifiers

Synopsis

list-notifiers [-global|object|"class"] ["name"] [-a] [-u] ["substr"]

Description

Print a list of available notifiers, with names that can be used in commands such as bp.notifier.wait-for.

If -global is specified, the list contains the names of available global notifiers.

Otherwise, the list contains registered notifiers on object or class, or registered notifiers on all classes, if the object and class parameters are omitted. Each entry in the output contains the notifier name, notifier class, notifier description and the list of objects of that class. By default, if no class or object is specified, then notifiers that are pre-defined on all classes are not shown; they can be displayed using the -a flag. Also, by default only notifiers on classes with at least one object are displayed, unless -u is specified.

If name is specified, display data about this notifier only, ignoring -global and -a.

The substr argument can be used to print matching notifier names only.

Provided By

Simics Core

See Also

bp.notifier.wait-for, list-haps, list-notifier-subscribers

list-object-references

Synopsis

list-object-references object [namespace] [-include-ports] [max-len] [-only-list-objects] [-only-inbound|-only-outbound] [-hide-queue]

Description

List object attributes references from/to object.

If the -include-ports flag is used, attribute references from/to port objects belonging to object is included in the list.

By default, every non-pseudo attribute in every object in the configuration is considered. With the namespace argument the scope of the search can be reduced.

The maximum number of displayed and returned references is controlled by the max-len argument, which defaults to 10. Set the argument to NIL to display/return all references.

By default, object, attribute and referenced object is listed. With the -only-list-objects flag only the objects containing an attribute referencing object is listed.

By default, both inbound and outbound references are listed. If the -only-inbound flag is used, outbound references are omitted. If -only-outbound flag is used, inbound references are omitted.

If the command is used in an expression, the command returns a list of lists including referencing object, attribute and object referenced. If the -only-list-objects flag is used only referencing object is included in the list.

If the -hide-queue flag is used, then references through attributes named "queue" are omitted.

Note that the completion time can be very long when run on large platforms.

Provided By

Simics Core

list-objects

Synopsis

list-objects ["class"] [namespace] ["substr"] [max-depth] [-all] [-sort-by-classname] [-a] [-recursive] [-tree] [-hide-port-objects] [-class-desc] [-expand-all] [-with-class-name] [-local] [-show-port-objects] ([ "iface" ... ] | list of "iface") ([ "port" ... ] | list of "port")

Description

Lists configuration objects and the classes they belong to. With the class, iface and port arguments, you can restrict the listing to objects of a particular class, or to objects that implement particular interfaces. Notice, the iface argument must come last on the line.

By default, only the objects in the current namespace are listed (see the change-namespace command). The namespace argument can be used to override the current namespace.)

When the namespace argument is used, objects in standard sub-namespaces are always included, e.g. list-objects namespace=DEV will always include objects hierarchies rooted at DEV.bank, DEV.port and DEV.impl.

Objects of class index-map are only listed if specifically asked for, using the class argument.

If the optional substr argument is specified, only objects with a name matching this sub-string will be printed. The current namespace part of the object name will not be included in the name matched against.

The default is to list objects in the current namespace as well as namespaces below, i.e. list the whole tree rooted at the given namespace. Use the -local flag to only list the current namespace.

The -show-port-objects flag will include port objects in the result; this includes "port", "bank", and "impl" objects.

With the -all flag, all objects are listed, regardless of namespace. This implies the -show-port-objects flag.

By default objects are sorted by name. The -sort-by-classname flag sorts them by class name instead.

Component objects are printed first and then all other objects. Use the -a flag to mix all objects in the same list.

The -tree flag prints a tree of all the objects descending from the current namespace. This implies -recursive. If -all is given the tree will start from the root. Objects not belonging to any hierarchy will be put in the root node. Arrays of leaf objects will be summarized unless -expand-all is given. With the -with-class-name flag class names are added to all non port objects. The max-depth argument can be used to only traverse the object tree up to the given depth.

The -class-desc flag will include a short description in the result.

The port argument selects objects that have all the interfaces specified as port/bank. Writing list-objects port=signal will return obj.port/bank.RESET if RESET is type interface signal, as well as the root object obj.

The list-objects command returns a list of objects when used in an expression.

Provided By

Simics Core

See Also

change-namespace, l, ll

list-packages

Synopsis

list-packages [-n]

Description

Print or return package info in %simics% search path order.

If a package has been prioritized, a star is printed next to the package number. Use -n to sort by name.

Provided By

Simics Core

list-pcie-hierarchies

Synopsis

list-pcie-hierarchies ["namespace"] [-skip-info] [-include-bus] [-indicate-legacy-pcie]

Description

Tries to find all PCIe subsystems and traverses the hierarchies from root port down to all endpoints and prints out the hierarchy in a table format.

The command supports the new Simics PCIe library and the legacy Simics PCIe library. The command also tries to traverse hybrid PCIe systems where a root port is implemented with the new Simics PCIe library but endpoints and switches underneath could be based on the legacy Simics PCIe library.

The new Simics PCIe library utilizes the classes pcie-downstream-port and pcie-downstream-port-legacy to build up the PCIe topology. The legacy Simics PCIe library utilizes the classes pcie-bus and pci-bus to build up the PCIe topology. The command finds all instantiated objects of these classes, and tries to construct the hierarchy based on how these class instances are connected to one another.

The -include-bus flag adds an addition column in the table, listing which bus object the device and function are underneath.

The -skip-info flag can be used to hide the info column in the table that contains the class description of the device.

The -indicate-legacy-pcie flag can be used to show if the PCIe device is modeled based on the new or legacy Simics PCIe interfaces.

The namespace argument can be used to only traverse PCIe hierarchies where the host bridge is part of the namespace.

Provided By

Simics Core

list-persistent-images

Synopsis

list-persistent-images

Description

The command shows information about objects of the image class which have "persistent" data, i.e. data that survive reboots. Such image objects are typically found in device models having non-volatile memory: disks, flash memories, non-volatile BIOS memories. The data from such images is saved as a part of a state saved by the save-persistent-state command.

When the command is used in an expression the list of objects is returned.

NB: for images with at least one read-write file the "Unsaved data" value is always 'no' since Simics will automatically write any new data to the file.

Provided By

Simics Core

See Also

list-objects

list-port-forwarding-setup

Synopsis

list-port-forwarding-setup

Description

Lists the current port forwarding and NAPT configuration.

Provided By

service-node

See Also

connect-real-network, connect-real-network-napt, connect-real-network-port-in, connect-real-network-port-out

list-preferences

Synopsis

list-preferences [-v]

Description

Lists the current preference values. In interactive mode, the -v flag will include a description of each preference entry.

Provided By

Simics Core

See Also

save-preferences

list-presets

Synopsis

list-presets ["substr"] [-verbose]

Description

Lists available presets from the current set of packages as well as the Simics project. The substr argument can be used to only display presets whose names contain the specified sub-string.

If -verbose is specified, the preset file name and preset description are displayed.

Provided By

Simics Core

See Also

load-target, list-targets, <script-params>.list

list-prioritized-packages

Synopsis

list-prioritized-packages

Description

Print or return a list of packages marked as prioritized.

Provided By

Simics Core

See Also

set-prioritized-package, load-module

list-processors

Synopsis

list-processors [cell] [parent] ["class"] ["substr"] [-steps] [-cycles] [-time] [-pico-seconds] [-pc-va] [-pc-pa] [-disassemble] [-all]

Description

Lists all processors in the system, and various associated properties. By default, all processors found in the system are listed, together with class-name, frequency, and cell (object the processor belongs to).

With the -all flag "execute" objects will also be included in addition to processors, for example clocks. If any execute object is not scheduled by Simics itself (possibly scheduled indirectly by another object) an additional "Scheduled" column appears telling if the object is scheduled by Simics or not.

To only see a reduced set of the processors, the cell, parent, class and substr arguments can be used.

The cell only prints processors that belong to the specified cell. The parent only prints processors underneath a certain object in the hierarchy. The class only prints processor objects of a specific class. Finally, the substr argument only prints processors which have a certain string found somewhere in the object hierarchy name.

A number of optional columns can be printed for each processor by using the following flags:

-steps executed steps

-cycles executed cycles

-time executed time in seconds

-pico-seconds executed time in pico-seconds

-pc-va virtual address program counter

-pc-pa physical address program counter

-disassemble current disassembly.

Provided By

Simics Core

See Also

list-processors-summary

list-processors-summary

Synopsis

list-processors-summary [cell] [parent] ["class"] ["substr"] [-all]

Description

Produces a short summary list of all processors being simulated in the system. Each row lists: the processor class with description, how many processor found of this class, the frequencies used, and the cells the processors are found in.

The -all flag includes all "execute" objects, even those objects which do not execute instructions (processors).

Without any argument, all processors in the system are considered, giving an overview of what is currently being simulated.

Similarly to the list-processors command, you can examine fewer processors using the cell, parent, class and substr filter arguments.

Provided By

Simics Core

See Also

list-processors

list-script-branches

Synopsis

list-script-branches ([ id ... ] | list of id) [-verbose]

Description

Lists all currently active script branches. With the -verbose flag the full paths to the scripts are shown, otherwise just scripts' filenames.

The id parameter can be used to list only script branches with the given IDs.

Here are a few examples of the command usage:

Listing all script branches:
list-script-branches
Listing script branches with full paths to the scripts:
list-script-branches -verbose
Listing only the script branch with ID 1:
list-script-branches id = 1
Listing script branches with IDs 1 and 2:
list-script-branches id = 1 2
or
list-script-branches id = [1, 2]

Provided By

Simics Core

See Also

script-branch, interrupt-script-branch

list-sections

Synopsis

list-sections symbol-file

Description

Lists the sections of the symbol file symbol-file.

symbol-file uses Simics's Search Path and path markers (%simics%, %script%) to find the symbol file. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information on how Simics's Search Path is used to locate files.

Provided By

tcf-agent

list-segments

Synopsis

list-segments symbol-file

Description

Lists the segments of the symbol file symbol-file.

symbol-file uses Simics's Search Path and path markers (%simics%, %script%) to find the symbol file. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information on how Simics's Search Path is used to locate files.

Provided By

tcf-agent

list-session-comments

Synopsis

list-session-comments

Description

List all session comments and their corresponding time-stamp. When used in an expression, the command returns a list of [<time stamp>, <comment>] pairs.

Provided By

Simics Core

See Also

add-session-comment, record-session, start-recording, stop-recording

list-simics-search-paths

Synopsis

list-simics-search-paths

Description

Print or return paths used to resolve %simics%.

Provided By

Simics Core

list-snapshots

Synopsis

list-snapshots

Description

List in-memory snapshots of the simulation state. Returns the list of snapshot names. If run interactively it prints the snapshots as a table.

Provided By

Simics Core

See Also

take-snapshot, restore-snapshot, delete-snapshot

list-target-info

Synopsis

list-target-info

Description

Lists a summary of the target machines of the configuration, similar to what is presented in the GUI.

Provided By

Simics Core

See Also

print-target-info

list-targets

Synopsis

list-targets ["substr"] [-verbose]

Description

Lists available target systems from the current set of packages as well as the Simics, and also saved target systems in the project. The substr argument can be used to only display targets whose names contain the specified sub-string

If -verbose is specified, the start script and description of each target system are displayed.

Provided By

Simics Core

See Also

load-target, list-presets, <script-params>.list

list-telemetry-classes

Synopsis

list-telemetry-classes ["provider"] ["class_name"] [-all]

Description

List telemetry classes of provided by cpu objects. If provider object is specified telemetry classes provided by that object is listed. In this case provider does not have to be a cpu object.

The class_name filters out provided classes where the class name does not starts with class_name.

With the -all flag all telemetries in the telemetry class is listed. If both provider and class_name is supplied and class_name matches the name of a telemetry class that is provided by provider then all telemetries of that class is listed.

Provided By

Simics Core

list-thread-domains

Synopsis

list-thread-domains [-a] [cell]

Description

The command lists cells and thread domains inside them. By default, with the cell argument omitted, all cells and thread domains in them are shown. When the cell argument is provided then only thread domains in the given cell are shown. Please note that devices belonging to cell thread domains, i.e. thread domains to which a cell object is assigned, are not reported because they are usually too many.

The -a flag is currently ignored.

Thread domains are entities that can be simulated in parallel with other thread domains. The thread-domain partitioning is managed by device models but depends on the active threading mode used by the simulation, which can be changed with the set-threading-mode command.

Provided By

Simics Core

See Also

set-threading-mode

list-transactions

Synopsis

list-transactions [-chains] [-show-only-waited]

Description

Lists deferred transactions that are present in the simulated system. Deferred transactions are described in Moder Builder User's Guide, section Transactions, chapter Asynchronous Completion.

When the command is invoked without any flags, for each deferred transaction the information about its size, initiator object, and flags as well as a human-readable type of the transaction - such as "read" or "write" - are reported.

When the command is invoked with the -chains flag, more detailed information about deferred transactions is shown. The Transaction Chaining section in Model Builder User's Guide explains that in order to append atoms to an existing transaction two or more transactions can be chained together into a linked list with the help of the prev field in the transaction_t type. Passing the -chains flag makes the command show information about all transactions that are linked to each deferred transaction.

When the -show-only-waited flag is passed, the command reports information only about deferred transactions whose completion is waited for via the call to the SIM_transaction_wait function.

Without any flags given, the return value is a list of lists of transaction data, where each data list contains the transaction size, initiator (or NIL if no initiator), the value of the transaction's flags and a human-readable type string describing the type of the transaction.

If the -chains flag is given, the return value is a list of lists of data for each transaction chain record, where each data list contains the ID, the owner, ID of the previous record in the chain, and the state.

Provided By

Simics Core

list-variables

Synopsis

list-variables ["substr"]

Description

Lists all CLI variables and their current values. Use substr to filter for matching variable names. If the command is used in an expression, a list is returned instead.

CLI variables can be used to store temporary values. To set a variable, write $variable = value at the Simics prompt. The value can be of type integer, string, float, boolean or a list or values. To access a variable, prefix the name with a dollar sign ($); e.g., $variable. A variable can be used wherever an expression can be used. For example:

simics> $tmp = %pc + 4
simics> $count = 10
simics> disassemble $tmp $count

They can also be accessed from Python by using the namespace simenv (simenv is imported into global namespace by default, but if it is needed elsewhere, it can be imported from the cli module):

simics> $foo = 1 + 4 * 4
simics> @print(simenv.foo)
17
simics> @simenv.bar = "hello"
simics> echo $bar
hello

Provided By

Simics Core

See Also

$, read-variable, defined

ll

Synopsis

ll

Description

Lists objects in the current namespace. Class information is included in the output. This command is a shorthand for l -l

Provided By

Simics Core

See Also

list-objects, change-namespace

load-binary

Synopsis

load-binary [object] filename [offset] [-v] [-pa] [-l] [-n]
<memory_space>.load-binary filename [offset] [-v] [-pa] [-n]
<processor_info>.load-binary filename [offset] [-v] [-pa] [-n]

Description

Load a binary (executable) file, filename, into the physical or virtual memory space given by object. The supported formats are ELF, Motorola S-Record, PE32 and PE32+. For ELF, all segments with a PT_LOAD program header are loaded.

By default the virtual load address from the file is used. The physical load address can be used instead, for file formats supporting both, by specifying the -pa flag. The load address selected does not affect if the binary is loaded into the virtual or physical address space.

If an offset is supplied, it will be added to the load address taken from the file.

The global load-binary command will use the currently selected processor to find the memory space to load the binary into, unless object is specified. If the -l flag is given, it will load it into the virtual memory space, otherwise it will use the physical memory space. The processor must have a valid virtual to physical translation set up.

When using the namespace command on a processor object, it will load the binary into the virtual memory space of that processor.

When using the namespace command on a memory-space object, it will load the binary directly into that memory space without any virtual to physical translation.

The -v flag turns on verbose mode, printing information about the loaded file.

The -n flags tells the command to not clear .bss areas in the file.

The return value is the address of the execution entry point. This value is typically used in a call to set-pc.

load-binary uses Simics's Search Path and path markers (%simics%, %script%) to find the file to load. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information on how Simics's Search Path is used to locate files.

Provided By

Simics Core

See Also

load-file, add-directory

load-coverage

Synopsis

load-coverage input ["name"]

Description

Load the code coverage data file specified by the input argument and create a new code coverage object. The name of the code coverage object can be set by specifying the name argument, if no name is given a random one will be used.

Provided By

code-coverage

See Also

<code_coverage>.save, <code_coverage>.add-report

load-file

Synopsis

load-file [object] filename [offset]
<image>.load-file filename [offset]
<memory_space>.load-file filename [offset]

Description

Loads the contents of the file named filename into the memory specified by object (defaulting to the current frontend processor's physical memory space), starting at physical address offset. Default offset is 0.

The file specified by filename can be either a raw binary file or a file in the craff format.

The name space versions of the load-file command can be used to load a file directly into a memory space or into an image object.

load-file uses Simics's Search Path and path markers (%simics%, %script%) to find the file to load. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information on how Simics's Search Path is used to locate files.

Provided By

Simics Core

See Also

load-binary, add-directory

load-intel-hex

Synopsis

load-intel-hex [object] filename
<image>.load-intel-hex filename
<memory_space>.load-intel-hex filename

Description

Loads the contents of the file named filename into the memory specified by object (defaulting to the current frontend processor's physical memory space). The file is assumed to be in the Intel HEX format.

load-intel-obj uses Simics's Search Path and path markers (%simics%, %script%) to find the file to load. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information on how Simics's Search Path is used to locate files.

Provided By

Simics Core

See Also

load-binary, load-file, load-intel-obj, <memory_space>.load-intel-hex, add-directory

load-intel-obj

Synopsis

load-intel-obj [object] filename
<image>.load-intel-obj filename
<memory_space>.load-intel-obj filename

Description

Loads the contents of the file named filename into the memory specified by object (defaulting to the current frontend processor's physical memory space). The file is assumed to be in the Intel .obj or .32.obj format.

load-intel-obj uses Simics's Search Path and path markers (%simics%, %script%) to find the file to load. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information on how Simics's Search Path is used to locate files.

Provided By

Simics Core

See Also

load-binary, load-file, load-intel-hex, <memory_space>.load-intel-obj, add-directory

load-module

Synopsis

load-module ("module"|"class")

Description

Load the specified module.

Normally, modules are loaded automatically as needed for the configuration classes they implement, and there is rarely any need to call this function explicitly.

By specifying class, the module implementing the specified class will be loaded.

Read the Simics Model Builder User's Guide for more information on how to write modules.

Provided By

Simics Core

See Also

list-modules, list-failed-modules, module-list-refresh, add-module-directory

load-persistent-state

Synopsis

load-persistent-state file ["prefix"]

Description

Load persistent simulator state from file. Persistent data typically includes disk images, NVRAM and flash memory contents and clock settings, i.e. data that survive reboots. The prefix argument can be used to add a name prefix to all objects in the persistent state file.

Provided By

Simics Core

See Also

save-persistent-state, read-configuration

load-target

Synopsis

load-target "target" ["namespace"] ["preset"|presets|"preset_yml"]

Description

Load and execute the target system named target, which should be one of the configurations returned by the list-targets command. Paths to preset files with arguments can be provided using the preset or presets arguments. An already loaded preset can be given as a string using the preset_yml argument.

When providing a list of presets using presets, arguments in later presets override earlier ones. In this case, each element in the list should be a 2-tuple [file, namespace], identifying the preset file name and the namespace in the parameter tree where it should be applied.

The preset argument and the first element in each list of the presets argument can either point to a file or be a preset name, as returned by list-presets.

Arguments can also be provided on the command line. These override arguments in presets.

When this command is called from a script, the namespace argument is mandatory and specifies the name of the inner node in the parameter tree whose corresponding sub-tree should be provided to the target.

When this command is called interactively from the top level, the namespace argument specifies the parameter system namespace where the resulting arguments are placed, after the command has finished. In this case the argument is optional and defaults to the script or target name, plus a suffix in case the script/target has already run, so that the same command can be run multiple times.

The namespace used, or the calculated default namespace, is returned.

Examples:

load-target "my-target"

load-target "my-other-target" namespace = "ns"

load-target "my-big-target" namespace = "ns" preset = "my-preset"

load-target "my-big-target" namespace = "ns" presets = [["sub-preset1", ""], ["sub-preset2", ""]]

Provided By

Simics Core

See Also

run-script, list-targets, <script-params>.help

local

Synopsis

local $foo = value

Description

Makes a CLI variable local in a variable assignment.

Local variables only exist until the end of the current command block.

Provided By

Simics Core

See Also

=, $

log

Synopsis

log [object] [count]

Description

Display entries in the log buffers. Use the object argument to display the entries for a specific object, otherwise the command lists the entries of all object's log buffers but sorted by time. The optional count argument is the number of entries to list. Only the last 10 entries are listed by default.

All log buffers are zero-sized by default. The log-size command has to be used to allocate space for log entries. This has to be done before running the part of the simulation that generates the log messages.

Only log messages the match the currently configured level, group and type are saved to the log buffers.

Provided By

Simics Core

See Also

<conf_object>.log-group, log-level, log-size, log-type

log-filter

Synopsis

log-filter [object] ["substr"] [-temporary] [-clear]

Description

Adds a filter that selectively suppresses log messages from an object.

While it is possible to disable logging for a particular object by setting its log level to 0, doing so may also hide important information. As an alternative, this command can suppress select log messages from a particular object. This is useful when lots of messages are printed by a misbehaving model. Using log-filter should be a temporary solution until the model is fixed by moving offending log messages to one or more log groups or to a higher log level.

When used without any arguments, or with just the object argument, the command will print all current log suppression entries, or those for the specified object.

To add a filter, both the object and substr arguments are mandatory. A message will be suppressed when it is logged by the specified object and it matches the substr. Messages of "critical" type are never suppressed. If the -temporary flag is specified, the filter will be removed if a message not suppressed by any filter is encountered.

The -clear flag is used to disable log suppression. When the flag is used and no other arguments, all suppression entries will be cleared. Otherwise, the object and substr arguments are required to disable suppression for the specified object and substring.

Provided By

Simics Core

log-group

Synopsis

log-group [object] [-enable|-disable] ["log-group"] [-r]
<conf_object>.log-group [-enable|-disable] ["log-group"] [-r]

Description

Enable (-enable) or disable (-disable) a log-group, or show whether it is enabled. If no object is specified, do so on all objects in the configuration that define the log group. When object is specified the command will also recursively update log groups for all descendants of object whose name matches object.bank[.*], object.port[.*] or object.impl[.*] pattern. The flag -r can be used to operate on all the descendants of the object object.

To enable or disable all log groups, specify all as log-group.

An object in Simics can specify a number of groups, and each log message is associated with one or more groups. Groups are typically used to separate log messages belonging to different aspects of an object such as a device. Log messages not associated with any model-specific group will all be collected in the Default_Log_Group.

For example, a network device can have one group each for the receive and transmit engines, one group for the host protocol and another for PCI accesses.

Having multiple groups simplifies debugging when only messages of the selected groups are logged and displayed. By default, all groups are enabled.

Provided By

Simics Core

See Also

log, log-level, log-size, log-type

log-level

Synopsis

log-level [object] [level] ["class"] [-all] [-r]
<conf_object>.log-level [level] [-r]

Description

This command is used to get or set the log level of all objects in the current namespace, of an object in the current namespace, or globally if -all is set. When object is specified the command will also recursively update log groups for descendants of object whose name matches object.bank[.*], object.port[.*] or object.impl[.*] pattern. If object is a component then the log level will be set for all objects belonging to the component. The flag -r can be used to operate on all the descendants of the object object.

If the class argument is specified, the operation with be done only on objects of that class.

Objects in Simics can generate log messages on different log levels. These messages will be shown in the Simics command line window if the log level for the object has been set high enough.

The default level is 1, and this is the lowest level that objects can report messages on. Setting it to 0 will inhibit output of all messages except error messages.

Messages are also added to an access log that can be viewed by the log command in Simics.

There are four log levels defined:
1 - important messages printed by default
2 - "high-level" informative messages
3 - standard debug messages
4 - detailed information, such as register accesses

The namespace version of this command, <conf_object>.log-level, sets the log level on all objects of the specified component. The -r flag recursively updates all sub-components and their objects.

Provided By

Simics Core

See Also

log, <conf_object>.log-group, log-size, log-type, change-namespace

log-setup

Synopsis

log-setup [object] [-time-stamp] [-no-time-stamp] [-pico-seconds] [-no-pico-seconds] [-real-time] [-no-real-time] [-console] [-no-console] [-group] [-no-group] [-level] [-no-level] [-no-log-file] [-disassemble] [-no-disassemble] [-overwrite] [logfile] ["format"]

Description

The log-setup command controls the output generated by the logging system, such as trace set up using the breakpoint manager.

When called without any arguments, the current log settings are printed.

The -time-stamp flag will cause future log output to include virtual time stamps: the name of the current processor, its current program counter value, and its current cycle count. If the current "processor" does not execute instructions (such as the clock), the program counter value is omitted. Time stamps are disabled with -no-time-stamp.

The -pico-seconds flag will cause future log output to include virtual time stamps in picoseconds. Picosecond time stamps are disabled with -no-pico-seconds.

The -real-time flag will cause log output to include wall clock time stamps. It is disabled with -no-real-time.

A file that receives all log output can be specified with the logfile argument. -no-log-file disables an existing log file. To overwrite an existing file, the -overwrite flag has to be given.

The -console and -no-console flags turn output from the log system to the command line console on or off.

The -group and -no-group flags controls if the log group should be part of the output. Default is not to include the log group.

The -level and -no-level flags controls if the log level should be part of the output. Default is not to include the log level.

The -disassemble and -no-disassemble flags control whether disassembly of the current instruction on the current "processor" is included in the output. Default is to not show disassembly.

Any log messages printed at a level below or equal to the current log level (see the log-level command) will always be stored in the in-memory log buffer (see the log command).

The default format of log output is [object log-type] {processor address cycle} [real-time] {pico-seconds ps} message. The second, third and fourth groups, in curly, square and curly brackets, respectively, are optional.

The object argument can be used to apply the configuration to the specified object only. The global command is used to reset object specific settings, meaning that doing a change without the object argument will override that setting for all objects, even for the objects that have had that setting set specially.

It is also possible to set a custom format strings for the log by setting format. When setting format, this will override other flags which specify log properties. In the format string, log properties are specified with the %x syntax, where x is one of the following: 'd' (disassembly), 'g' (log group), 'l' (log level), 't' (log type), 'm' (message), 'o' (object), 'p' (pico-seconds), 'r' (real-time), 'v' (virtual time-stamp).

To remove a custom log format, either set format to the empty string, "" or specify at least on of the (- or -no-) for real-time, level, group, time-stamp, pico-seconds, disassemble. This will restore the default format and default settings for all properties, for an object or for all objects if no object is specified.

Provided By

Simics Core

See Also

log, <conf_object>.log-group, log-size, log-type, bp.log.wait-for

log-size

Synopsis

log-size [object] [size]

Description

The command changes the buffer size (number of entries) for log messages and I/O trace entries for all objects or for an object.

Provided By

Simics Core

See Also

log, <conf_object>.log-group, log-level, log-type

log-type

Synopsis

log-type [object] [-enable|-disable] ["log-type"] [-r]

Description

Log messages are categorised into one of the several log types. By default, messages of all types are handled in the same way. This command can be used to select one or several types. Only messages of the selected types will be logged and displayed, as defined by the log-level command. The flags -enable and -disable can be used to add and remove a single log type.

The object argument can be used to apply the change just to a particular object. Please note that when object is specified the log type will be also recursively updated for all descendants of object, whose name matches object.bank[.*], object.port[.*] or object.impl[.*] pattern. The flag -r can be used to operate on all the descendants of the object object.

The log types are Info, Warning, Error, Critical, Spec_Violation and Unimplemented.

The Info type is used for harmless info or debug messages. Warning is used for problems that does not prevent the simulation from continuing. Error is used when an error prevents the simulation from running properly; this type does not have any log-level. Critical is used to signal serious errors that a model may not be able to resume from; the simulation is stopped. Spec_Violation is used when a target program runs a command that violates the device specification. And Unimplemented is used when a model does not implement a specific functionality, bit or register.

All types can be enabled by setting log-type to all. It is not possible to disable breaking on Critical.

Provided By

Simics Core

See Also

log, <conf_object>.log-group, log-level, log-size

logical-to-physical

Synopsis

logical-to-physical [cpu-name] address
<processor_info>.logical-to-physical address

Description

Translate the given logical address to a physical one. The operation is performed as data read from processor cpu-name.

For x86 CPUs, a logical address can be specified as <segment register>:<offset> or l:<linear address>. If no prefix is given ds:<offset> will be assumed.

If the CPU is omitted the current CPU will be used.

No side-effects will be triggered; e.g., if the translation is not in the TLB.

Provided By

Simics Core

lookup-file

Synopsis

lookup-file "filename" [-query] ["error-msg"]

Description

Looks for the file or directory filename in the Simics search path, starting with the current working directory. If it is found, its complete path is returned. If it is not found an error will be raised unless the -query argument is given.

The -query argument specifies that the boolean value FALSE is returned when the file is not found instead of raising an error.

The optional error-msg argument adds this string to the default error message shown when the file is not found. It also suppresses the backtrace normally shown when an error is raised.

If filename starts with %simics%, the rest of the path is looked up first in the Simics project, and then in all configured Simics packages. For more information on the %simics% or %script% path markers, see the Simics User's Guide.

Provided By

Simics Core

See Also

file-exists, list-directories

ls

Synopsis

ls [path]

Description

List files in the current working directory. Works like the ls command in a Linux shell but with a single optional parameter path, the directory to list files in.

Provided By

Simics Core

See Also

cd, pwd

match-string

Synopsis

match-string "pattern" "string" [-error]

Description

Match pattern with string returning TRUE if the pattern matches and FALSE if not. The command will signal an error if the -error flag is used and the string does not match the pattern. The format of pattern is the same as used by the Python re.search() method. If the pattern contains groups, the return value on a match is a list of matching strings. Example:

match-string "abd" "abcdef"FALSE
match-string "abc" "abcdef"TRUE
match-string "(a*)([0-9]*)x" "aaa04x")["aaa", "04"]

Provided By

Simics Core

See Also

split-string

max

Synopsis

max arg1 arg2

Description

Returns the larger value of arg1 and arg2.

Provided By

Simics Core

memory-map

Synopsis

memory-map [object] ["class"] ["interface"] [-r|-w|-x] [-recurse|-local] [max-regions] ([ exclude ... ] | list of exclude) [start] [end] ["substr"] [-add-atoms]

Description

Displays the physical memory map for a processor or a translator (e.g. a memory-space). The map of the currently selected frontend processor is shown, unless the object argument selects another processor or a specific translator in the system.

The interface, class and exclude arguments can be used to filter the output, only including objects of a certain class, or implementing a certain interface. The exclude argument is a list holding objects and/or classes to filter out.

Example excluding RAM objects, memory spaces and object board.foo:
memory-map object = board.phys_mem exclude = ram memory-space board.foo
or with the list syntax:
memory-map object = board.phys_mem exclude = ["ram", "memory-space", board.foo]

If the optional substr argument is specified, only objects with a name matching this sub-string will be printed. The current namespace part of the object name will not be included in the name matched against.

If possible, the memory map will be probed using 'rwx' access mode. Otherwise, the mode specified by either of the -r, -w or -x flags is used, default is -r.

The command can probe the memory map recursively, or it can show the local map only. This can be controlled using the flags -recurse and -local. The default behavior of the non-namespaced version of this command is to probe recursively, while the default behaviour of the namespaced version is to probe the local memory map only.

Transaction atoms can be used for routing rules and access rights in a platform. The -add-atoms flag opens up the capability to set transaction atoms on the command line: once the flag is set the command accepts additional arguments that have names starting with ATOM_ prefix. Tab complete after setting the -add-atoms flag to see the available atoms. These arguments are used by the command to pass in atom values to the translators it passes through during the transaction probing.

Please note that the ATOM_... arguments can be used only to specify values for transaction atoms that have integer values and provide Python wrappings. Complex atoms such as pointers and structures are not available from CLI.

The output table minimally shows these columns:
- Start and End are the start and the end of the mapping
- Device is the destination device

Optional columns, which are shown when required, are:
- Offset is the offset in the destination device
- Access is the access type for which the entry is valid
- Fn is the (deprecated) function number for the entry
- Target is the default target of the entry, which is used when device is a translator. This can only occur if -local was used or the command ended prematurely

Argument max-regions can be used to increase the number of rows presented. Default is a maximum of 256 rows.

Arguments start and end can be used to view a subrange of the memory map. The subrange spans [start, end).

When the command is used in an expression, a list is returned with entries describing individual mappings. Each entry describing an individual mapping is a list in the form [start, end, device, offset, access].

The list items are:
- start and end are the start and the end of the mapping
- device is the destination device
- offset is the offset in the destination device
- access is the bitmap of the access_t values showing for which access types the entry is valid.

Please note that the list describing an individual mapping may grow in future Simics versions, but the currently defined fields will not change.

Please note that the command can in some cases take a long time to execute. Long execution times happen when there is a high occurrence of small map segments in a platform. The memory-map command has to iterate over all these segments.

Provided By

Simics Core

See Also

probe-address

min

Synopsis

min arg1 arg2

Description

Returns the smaller value of arg1 and arg2.

Provided By

Simics Core

module-list-refresh

Synopsis

module-list-refresh

Description

Refresh (reload) the list of all Simics modules.
This command causes Simics to re-query all modules currently not loaded. This can be used after changing or adding a module that Simics, when started, considered as non-loadable.

Provided By

Simics Core

See Also

list-modules, list-failed-modules, load-module

move-object

Synopsis

move-object src "dst"

Description

Move object location from src to dst.

Provided By

Simics Core

multicore-accelerator-status

Synopsis

multicore-accelerator-status

Description

Print the status of Multicore Accelerator.

Provided By

Simics Core

See Also

set-threading-mode

multimachine-accelerator-status – deprecated

Synopsis

multimachine-accelerator-status

Description

Provided By

Simics Core

native-path

Synopsis

native-path "filename"

Description

Converts a path to its host native form. On Linux, this command returns filename unchanged. On Windows, it translates Cygwin-style paths to native Windows paths. Refer to the documentation SIM_native_path(), for a detailed description of the conversions made.

This command can be used for portability when opening files residing on the host filesystem.

Provided By

Simics Core

new-attr-meter

Synopsis

new-attr-meter ["name"] "attribute" [realtime-period] [simtime-period]

Description

Create an attribute meter that makes it possible to visualize attributes in the GUI's Statistics Plot window.

Optionally it may be given a name. The attribute argument must be specified as objectname.attributename. The attribute must be numerical (i.e., have type i or f).

realtime-period and simtime-period determines how often to poll the attribute, in seconds of real and simulated time, respectively.

Provided By

attr-meter

new-bank-coverage-tool

Synopsis

new-bank-coverage-tool ["name"] ([ banks ... ] | list of banks) [parent] [-connect-all] ["group"]

Description

Creates a new bank coverage tool object which can be connected to register banks

The optional name argument can be used to set a name of the created object. If no name is given, a default name coverage_tool followed by a sequence number is generated (coverage_tool0, coverage_tool1,...).

The optional banks argument, supports connecting one or several banks directly. With the optional parent argument a hierarchical object can be specified and all banks below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported banks in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

bank-coverage-tool

new-bank-patch-tool

Synopsis

new-bank-patch-tool ["name"] ([ banks ... ] | list of banks) [parent] [-connect-all] ["group"] offset size [value] [-inject]

Description

Creates a new bank patch tool object which can be connected to register banks.

The optional name argument can be used to set a name of the created object. If no name is given, a default name patch_tool followed by a sequence number is generated (patch_tool0, patch_tool1,...).

The optional banks argument, supports connecting one or several banks directly. With the optional parent argument a hierarchical object can be specified and all banks below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported banks in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Each new connection to the patch tool may be configured by providing the instrumentation start address (offset), the instrumentation range (size), and the value to be read in place of a otherwise mapped register values (value).

Providing an offset and a size of 0 will instrument the entire bank. Access misses may also be injected using the -inject flag, which is disabled by default

Provided By

bank-patch-tool

new-branch-recorder

Synopsis

new-branch-recorder "name" address_type

Description

Create a new branch recorder object called name, to record branches using addresses of type address_type (either physical or virtual). The branch recorder is initially not bound to any processor.

Provided By

Simics Core

See Also

<branch_recorder_handler>.attach-branch-recorder

new-brody

Synopsis

new-brody ["name"]

Description

This command creates an instantiated component of the class brody.

The class description for the brody class: The Brody component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-can-link

Synopsis

new-can-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class can_link.

The class description for the can_link class: This component represents a simple CAN link allowing any number of devices to connect.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

can-link

new-cdrom-image

Synopsis

new-cdrom-image [file|image] ["name"]

Description

Create a new cdrom-image object from an image or a file, of which the contents must be a valid CD-ROM (ISO) image.

If a name is not given, the name will be derived from the given file or image name, otherwise a unique default name will be used.

The created object can be inserted into a simulated CD-ROM device using the <device>.insert command. To remove the CD-ROM medium, set the image attribute to NIL.

Provided By

cdrom-image

new-cell-and-clocks-comp

Synopsis

new-cell-and-clocks-comp ["name"] [clock_number] [freq_mhz]

Description

This command creates an instantiated component of the class cell_and_clocks_comp.

The class description for the cell_and_clocks_comp class: The "cell_and_clock_comp" component builds a simulation cell with a configurable number of clocks. Each clock is exported as a connector. This component is meant to be used for building small test configurations.

name is Optional
If not specified, the component will get a class-specific default name.

clock_number is Optional
Number of clocks to run

freq_mhz is Optional
Frequency of Clocks

Provided By

clock

new-context

Synopsis

new-context ["name"]

Description

Create a new context object called name. The context is initially not bound to any processor.

Provided By

Simics Core

See Also

set-context

new-cp3-quad100tx

Synopsis

new-cp3-quad100tx ["name"] "mac_addr1" "mac_addr2" "mac_addr3" "mac_addr4"

Description

This command creates an instantiated component of the class cp3_quad100tx.

The class description for the cp3_quad100tx class: The cp3-quad100tx component class.

name is Optional
If not specified, the component will get a class-specific default name.

mac_addr1 is Required
The MAC address of eth1

mac_addr2 is Required
The MAC address of eth2

mac_addr3 is Required
The MAC address of eth3

mac_addr4 is Required
The MAC address of eth4

Provided By

cp3_quad100tx

new-cpci-adapter

Synopsis

new-cpci-adapter ["name"]

Description

This command creates an instantiated component of the class cpci_adapter.

The class description for the cpci_adapter class: Adapter between a standard PCI up-connector and a cPCI down-connector.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

cpci-adapter-comp

new-cpci-backplane

Synopsis

new-cpci-backplane ["name"]

Description

This command creates an instantiated component of the class cpci_backplane.

The class description for the cpci_backplane class: A sample cPCI backplane.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

sample-cpci-comp

new-cpu-mode-filter

Synopsis

new-cpu-mode-filter ["name"] [mode]

Description

Creates a new filter with the name given by the name argument. The filter restricts instrumentation to be enabled only when the processor executes in a certain mode(s). The mode argument can be used to configure the filter for a specific mode. Once created, the filter can be added to tool(s) with the tool specific <tool>.add-filter command.

Provided By

cpu-mode-filter

See Also

<cpu_mode_filter>.add-mode, <cpu_mode_filter>.remove-mode, <cpu_mode_filter>.delete

new-cycle-staller

Synopsis

new-cycle-staller ["name"] [stall-interval]

Description

Return a new cycle staller object that can be used to insert extra stall cycles to the clocks/processors in the model. An example usage is together with caches to model extra cycles due to cache misses. A cycle staller object will accumulate the extra stall cycles fed by other objects and eventually at every stall-interval insert those extra cycles by stalling the associated clock. name can be given to set a name for the object.

Provided By

cycle-staller

See Also

new-simple-cache-tool

new-datagram-link

Synopsis

new-datagram-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class datagram_link.

The class description for the datagram_link class: The datagram link component creates a datagram-link, which is a simple broadcast bus forwarding messages (as sequences of bytes) from a sender device to all other devices present of the link. The datagram-link is both an example of how to build a link with the Simics Link Library, and a simple broadcast link that can be reused when multi-cell communication between devices is necessary. Refer to the Link Library Programming Guide for more information.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

datagram-link

new-ddr-memory-module-comp

Synopsis

new-ddr-memory-module-comp ["name"] [banks] [cas_latency] [columns] [ecc_width] [module_data_width] ["module_type"] [primary_width] [rank_density] [ranks] [rows] ["speed"]

Description

This command creates an instantiated component of the class ddr_memory_module_comp.

The class description for the ddr_memory_module_comp class: The "ddr_memory_module_comp" component represents a DDR memory module.

name is Optional
If not specified, the component will get a class-specific default name.

banks is Optional
Number of banks.

cas_latency is Optional
CAS-latency; each set bit corresponds to a latency the memory can handle.

columns is Optional
Number of columns.

ecc_width is Optional
The error correction width.

module_data_width is Optional
The module SDRAM width (including ECC width if enabled).

module_type is Optional
Type of memory.

primary_width is Optional
Primary SDRAM width.

rank_density is Optional
The rank density.

ranks is Optional
Number of ranks (logical banks).

rows is Optional
Number of rows.

speed is Optional
PC standard speed. Supported values are PC2700 and none.

Provided By

memory-comp

new-ddr2-memory-module-comp

Synopsis

new-ddr2-memory-module-comp ["name"] [banks] [cas_latency] [columns] [ecc_width] [module_data_width] ["module_type"] [primary_width] [rank_density] [ranks] [rows]

Description

This command creates an instantiated component of the class ddr2_memory_module_comp.

The class description for the ddr2_memory_module_comp class: The "ddr2_memory_module_comp" component represents a DDR2 memory module.

name is Optional
If not specified, the component will get a class-specific default name.

banks is Optional
Number of banks.

cas_latency is Optional
CAS-latency; each set bit corresponds to a latency the memory can handle.

columns is Optional
Number of columns.

ecc_width is Optional
The error correction width.

module_data_width is Optional
The module SDRAM width (including ECC width if enabled).

module_type is Optional
Type of memory.

primary_width is Optional
Primary SDRAM width.

rank_density is Optional
The rank density.

ranks is Optional
Number of ranks (logical banks).

rows is Optional
Number of rows.

Provided By

memory-comp

new-ddr3-memory-module-comp

Synopsis

new-ddr3-memory-module-comp ["name"] [banks] [cas_latency] [columns] [ecc_width] [module_data_width] ["module_type"] [primary_width] [rank_density] [ranks] [rows]

Description

This command creates an instantiated component of the class ddr3_memory_module_comp.

The class description for the ddr3_memory_module_comp class: The "ddr3_memory_module_comp" component represents a DDR3 memory module.

name is Optional
If not specified, the component will get a class-specific default name.

banks is Optional
Number of banks.

cas_latency is Optional
CAS-latency; each set bit corresponds to a latency the memory can handle.

columns is Optional
Number of columns.

ecc_width is Optional
The error correction width.

module_data_width is Optional
The module SDRAM width (including ECC width if enabled).

module_type is Optional
Type of memory.

primary_width is Optional
Primary SDRAM width.

rank_density is Optional
The rank density.

ranks is Optional
Number of ranks (logical banks).

rows is Optional
Number of rows.

Provided By

memory-comp

new-deckard

Synopsis

new-deckard ["name"]

Description

This command creates an instantiated component of the class deckard.

The class description for the deckard class: The Deckard component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-dummy-comp

Synopsis

new-dummy-comp ["name"]

Description

This command creates an instantiated component of the class dummy_comp.

The class description for the dummy_comp class: Dummy component used for configurations that are not component based.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

std-comp

new-elliot

Synopsis

new-elliot ["name"]

Description

This command creates an instantiated component of the class elliot.

The class description for the elliot class: The Elliot component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-emmett

Synopsis

new-emmett ["name"]

Description

This command creates an instantiated component of the class emmett.

The class description for the emmett class: The long description for the Emmett component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-empty-components

Synopsis

new-empty-components ["name"] [attribute0] [attribute1]

Description

This command creates an instantiated component of the class empty_components.

The class description for the empty_components class: The empty component class.

name is Optional
If not specified, the component will get a class-specific default name.

attribute0 is Optional
attribute0

attribute1 is Optional
attribute1

Provided By

empty-components

new-etg-comp

Synopsis

new-etg-comp ["name"] "dst_ip" ["gateway_ip"] "ip" ["mac_address"] "netmask" [packet_size] [port] [pps]

Description

This command creates an instantiated component of the class etg_comp.

The class description for the etg_comp class: The "etg_comp" component represents an Ethernet traffic generator.

name is Optional
If not specified, the component will get a class-specific default name.

dst_ip is Required
Destination IP address for generated traffic.

gateway_ip is Optional
Gateway for non-local traffic.

ip is Required
IP address of the traffic generator.

mac_address is Optional
The MAC address of the traffic generator.

netmask is Required
IP netmask of the traffic generator.

packet_size is Optional
Packet size.

port is Optional
Port.

pps is Optional
Traffic rate in packets per second.

Provided By

std-comp

new-etg-panel-comp

Synopsis

new-etg-panel-comp ["name"]

Description

This command creates an instantiated component of the class etg_panel_comp.

The class description for the etg_panel_comp class: The Ethernet Generator System Panel.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

std-comp

new-eth-injector-comp

Synopsis

new-eth-injector-comp ["name"]

Description

This command creates an instantiated component of the class eth_injector_comp.

The class description for the eth_injector_comp class: The Ethernet frame injector is a pseudo-device that reads a pcap formatted file and inject the packets it found into another device, or an Ethernet link.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

eth-injector-comp

new-ethan

Synopsis

new-ethan ["name"]

Description

This command creates an instantiated component of the class ethan.

The class description for the ethan class: The Ethan component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-ethernet-cable

Synopsis

new-ethernet-cable ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class ethernet_cable.

The class description for the ethernet_cable class: Ethernet cable: this component represents a two-points Ethernet cable, allowing two devices to connect to each other.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

eth-links

new-ethernet-hub

Synopsis

new-ethernet-hub ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class ethernet_hub.

The class description for the ethernet_hub class: Ethernet hub: this component represents a simple broadcasting Ethernet link allowing any number of devices to connect.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

eth-links

new-ethernet-switch

Synopsis

new-ethernet-switch ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class ethernet_switch.

The class description for the ethernet_switch class: Ethernet switch: this component represents a switched Ethernet network, allowing any number of devices to connect and optimizing the packet routing according to what is learned about the MAC addresses talking on the link.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

eth-links

new-ethernet-vlan-switch

Synopsis

new-ethernet-vlan-switch ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class ethernet_vlan_switch.

The class description for the ethernet_vlan_switch class: Ethernet VLAN switch: this component represents a switched Ethernet network with VLAN support. Any number of devices is allowed to connect to various ports of the switch. Each port can be configured with its own VLAN information, in order to create sub-networks in the switch.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

eth-links

new-event-histogram

Synopsis

new-event-histogram ["name"] ([ queues ... ] | list of queues) [parent] [-connect-all] ["group"]

Description

Creates a new event_histogram object which can be connected to a clock or a processor. This tool can be used to get a histogram of all the events that are run in the system during simulation.

The optional name argument can be used to set a name of the created object. If no name is given, a default name evh followed by a sequence number is generated (evh0, evh1,...).

The optional queues argument, supports connecting one or several queues directly. With the optional parent argument a hierarchical object can be specified and all queues below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported queues in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

event-histogram

new-exception-histogram

Synopsis

new-exception-histogram ["name"] ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"]

Description

Creates a new exception_histogram object which can be connected to processors which support instrumentation. This tool can be used to get a histogram of the taken exceptions.

The optional name argument can be used to set a name of the created object. If no name is given, a default name ehist followed by a sequence number is generated (ehist0, ehist1,...).

The optional processors argument, supports connecting one or several processors directly. With the optional parent argument a hierarchical object can be specified and all processors below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

exception-histogram

new-frankie-carbone

Synopsis

new-frankie-carbone ["name"]

Description

This command creates an instantiated component of the class frankie_carbone.

The class description for the frankie_carbone class: The wiseguy, Frankie Carbone component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-gdb-remote

Synopsis

new-gdb-remote ["name"] [port] [cpu] ["architecture"] [context] [-disallow-remote-commands]

Description

Starts listening to incoming connection requests from GDB sessions (provided that a configuration has been loaded). Simics will listen to TCP/IP requests on the port specified by port, or 9123 by default. If port is set to zero, an arbitrary free port will be selected.

The gdb-remote object will get a name assigned automatically unless one is specified using name.

A processor to connect to should be specified using the cpu argument, the GDB session will follow the execution on that particular processor. It will see all code that runs on that processor: user processes, operating system, hypervisor, everything. If no cpu argument is given the current cpu object will be used.

The architecture argument can be used to specify a particular architecture for the GDB session. It should be the architecture name used by Simics and not the GDB architecture name. For example, if you are debugging a 32-bit program on a 64-bit x86 processor, you may want to specify x86 as architecture and run set architecture i386 in GDB before connecting. For 64-bit PowerPC platforms set this argument to ppc32 to debug a 32-bit program. If not given, the architecture of the specified processor will be used.

The -disallow-remote-commands argument will prevent the client from using the monitor command, which sends a qRcmd message, to perform any Simics CLI command over the remote connection.

In GDB, use the command target remote host:port to connect to Simics. Upon connection GDB assumes that the simulation is paused. GDB also assumes that it has full 'run control' (continue, step, next, etc.) and will be confused if simulation also is controlled by other means, such as using Simics commands.

Provided By

gdb-remote

new-generic-pcie-switch

Synopsis

new-generic-pcie-switch ["name"] [device_id] [port_count] [vendor_id]

Description

This command creates an instantiated component of the class generic_pcie_switch.

The class description for the generic_pcie_switch class: Generic PCIe switch with a configurable number of ports and configurable vendor and device IDs

name is Optional
If not specified, the component will get a class-specific default name.

device_id is Optional
Device ID

port_count is Optional
Number of down ports

vendor_id is Optional
Vendor ID

Provided By

generic-pcie-switch-comp

new-gertie

Synopsis

new-gertie ["name"]

Description

This command creates an instantiated component of the class gertie.

The class description for the gertie class: The Gertie PCI component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-gfx-console-comp

Synopsis

new-gfx-console-comp ["name"] [height] ["title"] [visible] [vnc_port] [width]

Description

This command creates an instantiated component of the class gfx_console_comp.

The class description for the gfx_console_comp class: Simics graphics console.

name is Optional
If not specified, the component will get a class-specific default name.

height is Optional
The initial screen height in pixels.

title is Optional
The Window title.

visible is Optional
Should console be visible upon startup?.

vnc_port is Optional
Port to open a VNC server on. This is independent of the visible parameter. The port must not be a privileged port, i.e. the allowed range is [1024, 65535], or 0 for an arbitrary port.

width is Optional
The initial screen width in pixels.

Provided By

console-components

new-gml-link

Synopsis

new-gml-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class gml_link.

The class description for the gml_link class: The gml link component creates a gml-link, which is a simple bus for forwarding messages (as sequences of bytes) from a sender to one or more destination devices.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

gml-link

new-godzilla

Synopsis

new-godzilla ["name"]

Description

This command creates an instantiated component of the class godzilla.

The class description for the godzilla class: The Godzilla component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-hal

Synopsis

new-hal ["name"]

Description

This command creates an instantiated component of the class hal.

The class description for the hal class: The HAL component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-hap-meter

Synopsis

new-hap-meter ["name"]

Description

Create a new hap meter, optionally with a given name.

The new hap meter can then be instructed to collect statistics on the occurrence of various haps, and the result visualized in the GUI's Statistics Plot window.

Provided By

hap-meter

See Also

<hap-meter>.listen-for-exceptions, <hap-meter>.listen-for-hap

new-hunt

Synopsis

new-hunt ["name"]

Description

This command creates an instantiated component of the class hunt.

The class description for the hunt class: The Hunt component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-i210-comp

Synopsis

new-i210-comp ["name"] ["bios"] ["mac_address"] [phy_id]

Description

This command creates an instantiated component of the class i210_comp.

The class description for the i210_comp class: PCIe i210 Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Optional
MAC address, default 20:20:20:20:30:30

phy_id is Optional
PHY ID value, default 0x01410C00 (i210 Linux 4.3)

Provided By

i210-comp

new-i210-v2-comp

Synopsis

new-i210-v2-comp ["name"] ["bios"] ["mac_address"] [phy_id]

Description

This command creates an instantiated component of the class i210_v2_comp.

The class description for the i210_v2_comp class: PCIe i210 Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Optional
MAC address, default 20:20:20:20:30:30

phy_id is Optional
PHY ID value, default 0x01410C00 (i210 Linux 4.3)

Provided By

i210-v2-comp

new-i3c-cable

Synopsis

new-i3c-cable ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class i3c_cable.

The class description for the i3c_cable class: I3C cable: this component represents a two-points i3c cable, allowing two devices to connect to each other or connects an I3C device to I3C bus.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

i3c-link

new-i3c-link

Synopsis

new-i3c-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class i3c_link.

The class description for the i3c_link class: This component represents a simple i3c link allowing any number of devices to connect.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

i3c-link

new-ide-cdrom-comp

Synopsis

new-ide-cdrom-comp ["name"]

Description

This command creates an instantiated component of the class ide_cdrom_comp.

The class description for the ide_cdrom_comp class: The "ide_cdrom_comp" component represents an IDE ATAPI CD-ROM.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

std-comp

new-ide-disk-comp

Synopsis

new-ide-disk-comp ["name"] ["file"] [size]

Description

This command creates an instantiated component of the class ide_disk_comp.

The class description for the ide_disk_comp class: The "ide_disk_comp" component represents an IDE disk. Disk data is stored in the hd_image subobject.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

std-comp

new-ieee-802-15-4-link

Synopsis

new-ieee-802-15-4-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class ieee_802_15_4_link.

The class description for the ieee_802_15_4_link class: The IEEE 802.15.4 link component creates a ieee-802-15-4-link.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

ieee-802-15-4-link

new-instruction-count

Synopsis

new-instruction-count ["name"] ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"]

Description

Creates a new instruction_count object which can be connected to processors which supports instrumentation.

The optional name argument can be used to set a name of the created object. If no name is given, a default name icount followed by a sequence number is generated (icount0, icount1,...).

The optional processors argument, supports connecting one or several processors directly. With the optional parent argument a hierarchical object can be specified and all processors below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

instruction-count

new-instruction-histogram

Synopsis

new-instruction-histogram ["name"] [view] ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"]

Description

Creates a new instruction_histogram object which can be connected to processors which support instrumentation. This tool can be used to get an instruction histogram based of the frequency of the instructions that have been executed.

The view argument decides which instruction "perspective" that should be collected. Currently there are four choices:
1. mnemonic - Groups all instructions with the same first word in the instruction disassembly.
2. size - Groups the instructions by the length of the instruction.
3. xed-iform - Uses Intel® X86 Encoder Decoder (Intel® XED) module and groups the x86 instruction by their instruction form definition.
4. x86-normalized - The instruction disassembly, but replaces register names and immediates with normalized names.
Default, the mnemonic view is used. The xed-iform and x86-normalized views are only applicable when connected to x86 target processors.

The optional name argument can be used to set a name of the created object. If no name is given, a default name ihist followed by a sequence number is generated (ihist0, ihist1,...).

The optional processors argument, supports connecting one or several processors directly. With the optional parent argument a hierarchical object can be specified and all processors below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

instruction-histogram

new-korben

Synopsis

new-korben ["name"]

Description

This command creates an instantiated component of the class korben.

The class description for the korben class: The Korben component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-leeloo

Synopsis

new-leeloo ["name"]

Description

This command creates an instantiated component of the class leeloo.

The class description for the leeloo class: The Leeloo component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-legacy-upstream-pcie-adapter-comp

Synopsis

new-legacy-upstream-pcie-adapter-comp ["name"]

Description

This command creates an instantiated component of the class legacy_upstream_pcie_adapter_comp.

The class description for the legacy_upstream_pcie_adapter_comp class: An adapter component that allows connecting a PCIe endpoint implemented with the new PCIe library to an upstream that is implemented with the legacy PCIe library. Note that the upstream must be PCIe compatible (a pcie-bus, not a pci-bus).

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

legacy-upstream-pcie-adapter-comp

new-maria-singer

Synopsis

new-maria-singer ["name"]

Description

This command creates an instantiated component of the class maria_singer.

The class description for the maria_singer class: The Maria Singer component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-marvin

Synopsis

new-marvin ["name"]

Description

This command creates an instantiated component of the class marvin.

The class description for the marvin class: The Marvin component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-mcfly

Synopsis

new-mcfly ["name"]

Description

This command creates an instantiated component of the class mcfly.

The class description for the mcfly class: The McFly component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-mem-traffic-meter

Synopsis

new-mem-traffic-meter ["name"]

Description

Create a memory traffic meter, optionally with a given name.

Provided By

mem-traffic-meter

new-memory-profiler

Synopsis

new-memory-profiler ["name"] [granularity] ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"] [-read-physical] [-read-logical] [-write-physical] [-write-logical] [-execute-physical] [-execute-logical]

Description

Creates a new memory profiler tool object which can be connected to processors which support instrumentation.

The granularity arguments sets the minimum granularity in bytes for how accesses are monitored, so for example, if set to 16, the tool will aggregate all accesses within each 16 bytes naturally aligned memory chunk. Larger the granularity settings will consume less memory when collecting the data.

The optional name argument can be used to set a name of the created object. If no name is given, a default name mprof followed by a sequence number is generated (mprof0, mprof1,...).

The optional processors argument, supports connecting one or several processors directly. With the optional parent argument a hierarchical object can be specified and all processors below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Each new connection to the memory profiler can be configured by supplying the following flags:
-read-physical : Enabling profiling of reads to physical addresses
-read-logical : Enabling profiling of read to logical addresses
-write-physical : Enabling profiling of writes to physical addresses
-write-logical : Enabling profiling of writes to logical addresses
-execute-physical : Enabling profiling of instruction execution of physical addresses.
-execute-logical : Enabling profiling of instruction execution of logical addresses.

At least one flag must be specified when connecting.

Provided By

memory-profiler

new-micron-mtfc128gap-emmc-card

Synopsis

new-micron-mtfc128gap-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc128gap_emmc_card.

The class description for the micron_mtfc128gap_emmc_card class: A Micron 128 GB MTFC128GAP eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-micron-mtfc16gap-emmc-card

Synopsis

new-micron-mtfc16gap-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc16gap_emmc_card.

The class description for the micron_mtfc16gap_emmc_card class: A Micron 16 GB MTFC16GAP eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-micron-mtfc2ggqdi-emmc-card

Synopsis

new-micron-mtfc2ggqdi-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc2ggqdi_emmc_card.

The class description for the micron_mtfc2ggqdi_emmc_card class: A 2GB Micron eMMC card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-micron-mtfc32gap-emmc-card

Synopsis

new-micron-mtfc32gap-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc32gap_emmc_card.

The class description for the micron_mtfc32gap_emmc_card class: A Micron 32 GB MTFC32GAP eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-micron-mtfc4gacaeam-emmc-card

Synopsis

new-micron-mtfc4gacaeam-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc4gacaeam_emmc_card.

The class description for the micron_mtfc4gacaeam_emmc_card class: A Micron MTFC4GACAEAM-1M WT eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-micron-mtfc4gacaeam-emmc-card-with-boot-part

Synopsis

new-micron-mtfc4gacaeam-emmc-card-with-boot-part ["name"] ["boot0_part"] ["boot1_part"] ["file"] ["rpbm_part"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc4gacaeam_emmc_card_with_boot_part.

The class description for the micron_mtfc4gacaeam_emmc_card_with_boot_part class: A Micron MTFC4GACAEAM-1M WT eMMC Card with adjustable partitions.

name is Optional
If not specified, the component will get a class-specific default name.

boot0_part is Optional
Boot 0 partition file

boot1_part is Optional
Boot 1 partition file

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

rpbm_part is Optional
RPBM partition file

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-micron-mtfc4ggqdi-emmc-card

Synopsis

new-micron-mtfc4ggqdi-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc4ggqdi_emmc_card.

The class description for the micron_mtfc4ggqdi_emmc_card class: A Micron MTFC4GGQDI-IT eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-micron-mtfc4ggqdi-sdhc-card

Synopsis

new-micron-mtfc4ggqdi-sdhc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc4ggqdi_sdhc_card.

The class description for the micron_mtfc4ggqdi_sdhc_card class: A SDHC card component similar to Micron MTFC4GGQDI-IT eMMC.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-micron-mtfc64gap-emmc-card

Synopsis

new-micron-mtfc64gap-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc64gap_emmc_card.

The class description for the micron_mtfc64gap_emmc_card class: A Micron 64 GB MTFC64GAP eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-micron-mtfc64ggqdi-sdhc-card

Synopsis

new-micron-mtfc64ggqdi-sdhc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc64ggqdi_sdhc_card.

The class description for the micron_mtfc64ggqdi_sdhc_card class: A SDHC card component similar to Micron MTFC64GGQDI-IT eMMC.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-micron-mtfc8gacaeam-emmc-card

Synopsis

new-micron-mtfc8gacaeam-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc8gacaeam_emmc_card.

The class description for the micron_mtfc8gacaeam_emmc_card class: A Micron MTFC8GACAEAM-1M WT eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-micron-mtfc8gam-emmc-card

Synopsis

new-micron-mtfc8gam-emmc-card ["name"] ["file"] [use_generic_sdmmc_card]

Description

This command creates an instantiated component of the class micron_mtfc8gam_emmc_card.

The class description for the micron_mtfc8gam_emmc_card class: A Micron 8 GB MTFC8GAM eMMC Card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

use_generic_sdmmc_card is Optional
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Provided By

mmc-card-comp

new-mmc-card-comp

Synopsis

new-mmc-card-comp ["name"] ["file"] size ["type"]

Description

This command creates an instantiated component of the class mmc_card_comp.

The class description for the mmc_card_comp class: The mmc_card_comp component represents an MMC/SD/SDHC/SDIO card.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format

size is Required
Card size, in bytes

type is Optional
Card type ('mmc', 'sd', 'sdhc' or 'sdio'). Note that the card type will be adjusted by the model to handle large card sizes (i.e. card type will be forced to 'sdhc' if you create an 8 GB 'mmc' card).

Provided By

std-comp

new-motherboard-x86-simple

Synopsis

new-motherboard-x86-simple ["name"] [acpi] ["bios"] [break_on_reboot] ["rtc_time"] [system_clock] ["system_clock_class"]

Description

This command creates an instantiated component of the class motherboard_x86_simple.

The class description for the motherboard_x86_simple class: X86 simple motherboard.

name is Optional
If not specified, the component will get a class-specific default name.

acpi is Optional
Use ACPI when True, default value is True.

bios is Optional
The x86 BIOS file to use.

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

rtc_time is Optional
The date and time of the Real-Time clock. Please note that time-zone information is not supported and will be silently dropped when passed to the RTC object.

system_clock is Optional
If true, the motherboard will contain a clock separate from the processor, which will be used as queue for all devices. The class used for the clock is taken from system_clock_class.

system_clock_class is Optional
The class used for the system_clock.

Provided By

x86-comp

new-motherboard-x86-simple-no-apic

Synopsis

new-motherboard-x86-simple-no-apic ["name"] [acpi] ["bios"] [break_on_reboot] ["rtc_time"] [system_clock] ["system_clock_class"]

Description

This command creates an instantiated component of the class motherboard_x86_simple_no_apic.

The class description for the motherboard_x86_simple_no_apic class: X86 simple motherboard for processors without APIC.

name is Optional
If not specified, the component will get a class-specific default name.

acpi is Optional
Use ACPI when True, default value is True.

bios is Optional
The x86 BIOS file to use.

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

rtc_time is Optional
The date and time of the Real-Time clock. Please note that time-zone information is not supported and will be silently dropped when passed to the RTC object.

system_clock is Optional
If true, the motherboard will contain a clock separate from the processor, which will be used as queue for all devices. The class used for the clock is taken from system_clock_class.

system_clock_class is Optional
The class used for the system_clock.

Provided By

x86-comp

new-nemo

Synopsis

new-nemo ["name"]

Description

This command creates an instantiated component of the class nemo.

The class description for the nemo class: The Nemo component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-nikita

Synopsis

new-nikita ["name"]

Description

This command creates an instantiated component of the class nikita.

The class description for the nikita class: The Nikita component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-os-awareness

Synopsis

new-os-awareness "name" [processors]

Description

Create OS Awareness framework / software domain for adding trackers and configuring cpus with. The framework provides interfaces for scripting and for use by trackers.

namespecifies the object name to create.

Use processors to specify the names of the processors.

Provided By

os-awareness

new-pci-accel-vga-comp

Synopsis

new-pci-accel-vga-comp ["name"] ["bios"] [bochs_workaround] [vram_size_mb]

Description

This command creates an instantiated component of the class pci_accel_vga_comp.

The class description for the pci_accel_vga_comp class: The "pci_accel_vga_comp" component represents a PCI based VGA compatible graphics adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The VGA BIOS file to use (empty string if no VGA BIOS is needed)

bochs_workaround is Optional
When true, activating workaround for bochs driver bug which is present, for instance, in RHEL 7.1

vram_size_mb is Optional
Video RAM volume (MB)

Provided By

pci-comp

new-pci-accel-vga-v2-comp

Synopsis

new-pci-accel-vga-v2-comp ["name"] ["bios"] [bochs_workaround] [vram_size_mb]

Description

This command creates an instantiated component of the class pci_accel_vga_v2_comp.

The class description for the pci_accel_vga_v2_comp class: The "pci_accel_vga_v2_comp" component represents a PCI based VGA compatible graphics adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The VGA BIOS file to use (empty string if no VGA BIOS is needed)

bochs_workaround is Optional
When true, activating workaround for bochs driver bug which is present, for instance, in RHEL 7.1

vram_size_mb is Optional
Video RAM volume (MB)

Provided By

pci-comp

new-pci-am79c973-comp

Synopsis

new-pci-am79c973-comp ["name"] ["bios"] "mac_address"

Description

This command creates an instantiated component of the class pci_am79c973_comp.

The class description for the pci_am79c973_comp class: The "pci_am79c973_comp" component represents a AM79C973 PCI based Ethernet adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

new-pci-bcm5703c-comp

Synopsis

new-pci-bcm5703c-comp ["name"] ["bios"] "mac_address"

Description

This command creates an instantiated component of the class pci_bcm5703c_comp.

The class description for the pci_bcm5703c_comp class: The "pci_bcm5703c_comp" component represents a Broadcom 5703C PCI based gigabit Ethernet adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

new-pci-bcm5704c-comp

Synopsis

new-pci-bcm5704c-comp ["name"] ["bios"] "mac_address0" "mac_address1"

Description

This command creates an instantiated component of the class pci_bcm5704c_comp.

The class description for the pci_bcm5704c_comp class: The "pci_bcm5704c_comp" component represents a Broadcom 5704C PCI based dual-port gigabit Ethernet adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address0 is Required
The MAC address of the first Ethernet adapter.

mac_address1 is Required
The MAC address of the second Ethernet adapter.

Provided By

pci-comp

new-pci-dec21041-comp

Synopsis

new-pci-dec21041-comp ["name"] ["bios"] "mac_address"

Description

This command creates an instantiated component of the class pci_dec21041_comp.

The class description for the pci_dec21041_comp class: The "pci_dec21041_comp" component represents an Intel DEC21041 PCI based fast Ethernet adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

new-pci-dec21140

Synopsis

new-pci-dec21140 ["name"] ["bios"] "mac_address"

Description

This command creates an instantiated component of the class pci_dec21140.

The class description for the pci_dec21140 class: The pci-dec21140a component represents a DEC21140A PCI based fast Ethernet adapter

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

new-pci-dec21140-panel

Synopsis

new-pci-dec21140-panel ["name"]

Description

This command creates an instantiated component of the class pci_dec21140_panel.

The class description for the pci_dec21140_panel class: System panel for a DEC21140 PCI network card.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

pci-comp

new-pci-dec21140a-comp

Synopsis

new-pci-dec21140a-comp ["name"] ["bios"] "mac_address"

Description

This command creates an instantiated component of the class pci_dec21140a_comp.

The class description for the pci_dec21140a_comp class: The pci_dec21140a_comp component represents a DEC21140A PCI based fast Ethernet adapter

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

new-pci-dec21143-comp

Synopsis

new-pci-dec21143-comp ["name"] ["bios"] "mac_address"

Description

This command creates an instantiated component of the class pci_dec21143_comp.

The class description for the pci_dec21143_comp class: The "pci_dec21143_comp" component represents an Intel DEC21143 PCI based fast Ethernet adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

new-pci-i21152-comp

Synopsis

new-pci-i21152-comp ["name"]

Description

This command creates an instantiated component of the class pci_i21152_comp.

The class description for the pci_i21152_comp class: The "pci_i21152_comp" component represents an Intel® 21152 Transparent PCI-to-PCI Bridge.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

pci-comp

new-pci-i82543gc-comp

Synopsis

new-pci-i82543gc-comp ["name"] ["bios"] "mac_address"

Description

This command creates an instantiated component of the class pci_i82543gc_comp.

The class description for the pci_i82543gc_comp class: The "pci_i82543gc_comp" component represents the PCI-based Intel® 82543 Gigabit Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

new-pci-i82546bg-comp

Synopsis

new-pci-i82546bg-comp ["name"] ["bios"] "mac_address"

Description

This command creates an instantiated component of the class pci_i82546bg_comp.

The class description for the pci_i82546bg_comp class: The "pci_i82546bg_comp" component represents an Intel® 82546 Gigabit Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

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

Provided By

pci-comp

new-pci-i82559-comp

Synopsis

new-pci-i82559-comp ["name"] ["bios"] "mac_address"

Description

This command creates an instantiated component of the class pci_i82559_comp.

The class description for the pci_i82559_comp class: An Ethernet device with Intel® 82559 Fast Ethernet Controller.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The x86 BIOS file to use.

mac_address is Required
The MAC address of the Ethernet adapter.

Provided By

pci-comp

new-pci-pd6729-comp

Synopsis

new-pci-pd6729-comp ["name"]

Description

This command creates an instantiated component of the class pci_pd6729_comp.

The class description for the pci_pd6729_comp class: The "pci_pd6729_comp" component represents a Cirrus Logic PD6729 PCI-to-PCMCIA (PC-Card) Controller with two slots.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

pci-comp

new-pci-vga-comp

Synopsis

new-pci-vga-comp ["name"] ["bios"]

Description

This command creates an instantiated component of the class pci_vga_comp.

The class description for the pci_vga_comp class: The "pci_vga_comp" component represents a PCI based VGA compatible graphics adapter.

name is Optional
If not specified, the component will get a class-specific default name.

bios is Optional
The VGA BIOS file to use (empty string if no VGA BIOS is needed)

Provided By

pci-comp

new-pcmcia-flash-disk-comp

Synopsis

new-pcmcia-flash-disk-comp ["name"] ["file"] [size]

Description

This command creates an instantiated component of the class pcmcia_flash_disk_comp.

The class description for the pcmcia_flash_disk_comp class: The "pcmcia_flash_disk_comp" component represents a PCMCIA flash disk. Disk data is stored in the hd_image subobject.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

std-comp

new-phy-comp

Synopsis

new-phy-comp ["name"] [mii_address] [phy_id]

Description

This command creates an instantiated component of the class phy_comp.

The class description for the phy_comp class: Component representing a generic IEEE 802.3 PHY

name is Optional
If not specified, the component will get a class-specific default name.

mii_address is Optional
PHY address on MII bus

phy_id is Optional
PHY ID (i.e., vendor)

Provided By

phy-comp

new-probe-monitor

Synopsis

new-probe-monitor ["name"] [sampling-mode] [interval] [clock] ["notifier-type"] [notifier-obj] [timestamp-file] [-summary] [-window] [-print-no-samples] [output-file]

Description

The probe-monitor is a tool for sampling probes during execution and inspecting the collected data manually. All data is kept in a history and can be exported to CSV or plotted via Simics-client.

Argument description:

Create a new probe-monitor object with a name. If name is not given a unique name will be created for it automatically. The probe-monitor samples probes in the system either at a regular interval or when a notification is raised.

The sampling-mode argument specifies the mode used to perform sampling. Default is "realtime-sync" when the interval is in realtime (wallclock), but also synchronized so all processor have executed at least one quantum since last sample.

With the "realtime" sampling mode, sampling is based on the wallclock time only, without any synchronization. Some probes might yield strange results, when some processors have not executed at all since the last sample.

Mode can also be "virtual", where the virtual time is used to perform sampling. The time is based on the virtual time of the first processor found in the system, unless clock is set to override the default one with another clock or processor.

In "realtime-sync", "realtime" and "virtual" modes the interval is set in seconds by the interval argument.

Another available mode is "notifier" where sampling is performed each time a notification is raised. notifier-type specifies the notifier type and notifier-obj the object where the notifier is installed.

The timestamp-file specifies a file to be used recording specific timepoints when the sampling should take place. Together with realtime-sync the file will be created and filled with the cycle count from the clock argument, when the samples are taken.

With the time-stamp sampler, this file will instead be used as an input file, and the sampling will take place on the cycles specified in the file.

Probes to sample are added by the <probe-monitor>.add-probe command.

Output handling. By default, each sample measured by the probe-monitor, will print a table row on standard output. (A table row can consist of multiple lines being printed, including repeated headers).

The output-file argument specifies if the run-time table rows should be printed to a file, including any summary output.

The -window switch will cause the run-time samples to be printed in a separate console instead of the standard output.

The -print-no-samples switch specifies that no samples are printed to standard output, or a window, during execution. Any file output, with the output-file argument will still occur.

If -summary is given a summary of all sampled probes will be printed every time the simulation is stopped.

The sample data history is also stored in memory, so the data can be viewed at any time through the <probe-monitor>.print-table command. When sampling at a high frequency, it is recommended to not produce any sample output while running, reducing the overhead of the probe-monitor.

Provided By

probe-monitor

See Also

new-probe-streamer

new-probe-streamer

Synopsis

new-probe-streamer ["name"] [sampling-mode] [interval] [clock] ["notifier-type"] [notifier-obj] [timestamp-file] csv-output-file [-no-metadata] [-no-timestamp] ["timestamp-probe"]

Description

The probe-streamer is a tool for sampling probes during execution and storing the collected data into a CSV file. This is useful for batch runs when the data should be used later. No probe data is saved in the tool, making it useful for collecting large datasets.

Argument description:

Create a new probe-streamer object with a name. If name is not given a unique name will be created for it automatically. The probe-streamer samples probes in the system either at a regular interval or when a notification is raised.

The sampling-mode argument specifies the mode used to perform sampling. Default is "realtime-sync" when the interval is in realtime (wallclock), but also synchronized so all processor have executed at least one quantum since last sample.

With the "realtime" sampling mode, sampling is based on the wallclock time only, without any synchronization. Some probes might yield strange results, when some processors have not executed at all since the last sample.

Mode can also be "virtual", where the virtual time is used to perform sampling. The time is based on the virtual time of the first processor found in the system, unless clock is set to override the default one with another clock or processor.

In "realtime-sync", "realtime" and "virtual" modes the interval is set in seconds by the interval argument.

Another available mode is "notifier" where sampling is performed each time a notification is raised. notifier-type specifies the notifier type and notifier-obj the object where the notifier is installed.

The timestamp-file specifies a file to be used recording specific timepoints when the sampling should take place. Together with realtime-sync the file will be created and filled with the cycle count from the clock argument, when the samples are taken.

With the time-stamp sampler, this file will instead be used as an input file, and the sampling will take place on the cycles specified in the file.

Probes to sample are added by the <probe-streamer>.add-probe command.

The csv-output-file argument specifies the path of the CSV file where the samples are dumped.

The -no-metadata switch disables the insertion of the metadata fields in the generated CSV.

The -no-timestamp switch disables the insertion of the timestamp column in the generated CSV.

The timestamp-probe allows the user to specify the probe used for timestamping, overriding the default timestamp probe selection.

Provided By

probe-monitor

See Also

new-probe-monitor

new-process-filter

Synopsis

new-process-filter ["name"] software-component ["pattern"]

Description

Create a process filter with the name given by the name argument. This object uses OS Awareness to restricts instrumentation tools to be enabled only when certain processes or threads are being executed. A node path pattern is used to specify the process nodes to follow. A pattern can just be a simple string naming a process to track, e.g., "grep" or it can be a more complicated one. For more information about node path patterns see the Analyzer User Guide.

To add a pattern either use the pattern argument or use the <process_pattern>.add-pattern command once a process_filter has been created. If no patterns are given nothing will be instrumented if the filter is added to a tool.

The software-component argument specifies which os-awareness object to use.

Provided By

process-filter

See Also

<process_filter>.add-pattern, <process_filter>.remove-pattern

new-process-histogram

Synopsis

new-process-histogram ["name"] [software] ["group"]

Description

Creates a new process_histogram object which can be connected to a software component. This tool can be used to get a histogram of all the processes that are run under the supervision of the software component. The software argument tells which software component to use.

The optional name argument can be used to set a name of the created object. If no name is given, a default name phist followed by a sequence number is generated (phist0, phist1,...).

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

process-histogram

new-rachel

Synopsis

new-rachel ["name"]

Description

This command creates an instantiated component of the class rachel.

The class description for the rachel class: The Rachel component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-ram-tracer

Synopsis

new-ram-tracer ["name"] [file] ([ ram-objects ... ] | list of ram-objects) [parent] [-connect-all] ["group"] [-read] [-write] [-execute] [-inquiry] [-block-only]

Description

Creates a new ram_tracer object which can be connected to ram/rom objects. The tracer will print all accesses to the ram/rom objects that occurs in the system.

For each access the following trace format will used: [dest object] <- initiator object I type offset size data where dest object is the destination ram/rom object, initiator object is the object that sends the transaction, I is displayed if the transaction is an inquiry access, type will be Execute, Read, or Write. Offset is the offset in the ram/rom object where the access hits. Size is the size of the transaction in bytes and data is the raw content in bytes.

The file argument specifies a file to write the trace to, without any file, the trace will be printed to standard out.

The optional name argument can be used to set a name of the created object. If no name is given, a default name rt followed by a sequence number is generated (rt0, rt1,...).

The optional ram-objects argument, supports connecting one or several ram-objects directly. With the optional parent argument a hierarchical object can be specified and all ram-objects below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported ram-objects in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

The -read, -write, -execute flags can be set to only trace specific accesses. The -inquiry flag can be used to trace inquiry accesses as well. Every access is traced by default but with inquiry switched off. If -block-only is given, no tracing will occur, but the tool will still block caching of ram/rom pages which is useful for other tools, such as the transaction-tracer.

Provided By

ram-tracer

new-real-network-bridge-comp

Synopsis

new-real-network-bridge-comp ["name"] "interface"

Description

This command creates an instantiated component of the class real_network_bridge_comp.

The class description for the real_network_bridge_comp class: The "real_network_bridge_comp" component represents a bridged connection to a real network

name is Optional
If not specified, the component will get a class-specific default name.

interface is Required
Interface to connect to

Provided By

real-network

new-real-network-host-comp

Synopsis

new-real-network-host-comp ["name"] "interface"

Description

This command creates an instantiated component of the class real_network_host_comp.

The class description for the real_network_host_comp class: The "real_network_host_comp" component represents a host-based connection to a real network

name is Optional
If not specified, the component will get a class-specific default name.

interface is Required
Interface to connect to

Provided By

real-network

new-ripley

Synopsis

new-ripley ["name"] [eggs] ["marine"] sequels

Description

This command creates an instantiated component of the class ripley.

The class description for the ripley class: The Ripley component.

name is Optional
If not specified, the component will get a class-specific default name.

eggs is Optional
The number of hatched eggs.

marine is Optional
The name of the marine.

sequels is Required
Number of sequels.

Provided By

examples-comp

new-roy-batty

Synopsis

new-roy-batty ["name"]

Description

This command creates an instantiated component of the class roy_batty.

The class description for the roy_batty class: The Roy Batty component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-sample-802-15-4-panel

Synopsis

new-sample-802-15-4-panel ["name"]

Description

This command creates an instantiated component of the class sample_802_15_4_panel.

The class description for the sample_802_15_4_panel class: a sample 802.15.4 panel.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

sample-802-15-4-transceiver-comp

new-sample-802-15-4-transceiver-comp

Synopsis

new-sample-802-15-4-transceiver-comp ["name"] [id]

Description

This command creates an instantiated component of the class sample_802_15_4_transceiver_comp.

The class description for the sample_802_15_4_transceiver_comp class: a sample 802.15.4 transceiver component.

name is Optional
If not specified, the component will get a class-specific default name.

id is Optional
node ID

Provided By

sample-802-15-4-transceiver-comp

new-sample-dynamic-connectors

Synopsis

new-sample-dynamic-connectors ["name"]

Description

This command creates an instantiated component of the class sample_dynamic_connectors.

The class description for the sample_dynamic_connectors class: A sample component dynamically creating connectors.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

sample-dynamic-connectors

new-sample-i3c-target-comp

Synopsis

new-sample-i3c-target-comp ["name"] [dcr] [pid] [read_value] [static_address]

Description

This command creates an instantiated component of the class sample_i3c_target_comp.

The class description for the sample_i3c_target_comp class: The component for sample I3C target.

name is Optional
If not specified, the component will get a class-specific default name.

dcr is Optional
Device Characteristics Register

pid is Optional
Provisional ID

read_value is Optional
Read response value

static_address is Optional
Static address, set if initial communication use static address

Provided By

sample-i3c-target-comp

new-sample-pci-card

Synopsis

new-sample-pci-card ["name"] integer_attribute

Description

This command creates an instantiated component of the class sample_pci_card.

The class description for the sample_pci_card class: A sample component containing a sample PCI device.

name is Optional
If not specified, the component will get a class-specific default name.

integer_attribute is Required
Example integer attribute.

Provided By

sample-components

new-sample-pcie-device-comp

Synopsis

new-sample-pcie-device-comp ["name"]

Description

This command creates an instantiated component of the class sample_pcie_device_comp.

The class description for the sample_pcie_device_comp class: A sample PCIe endpoint

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

sample-pcie-device-comp

new-sample-pcie-endpoint-shim-comp

Synopsis

new-sample-pcie-endpoint-shim-comp ["name"] ["socket_type"] [tcp_port] ["unix_socket_name"]

Description

This command creates an instantiated component of the class sample_pcie_endpoint_shim_comp.

The class description for the sample_pcie_endpoint_shim_comp class: Sample PCIe Endpoint Shim component with external connection

name is Optional
If not specified, the component will get a class-specific default name.

socket_type is Optional
socket_type can be either of 'unix-socket' or 'tcp', default is unix-socket

tcp_port is Optional

unix_socket_name is Optional
unit_socket_name is the name of the socket

Provided By

sample-pcie-shim

new-sample-pcie-switch-shim-comp

Synopsis

new-sample-pcie-switch-shim-comp ["name"] ["socket_type"] [tcp_port] ["unix_socket_name"]

Description

This command creates an instantiated component of the class sample_pcie_switch_shim_comp.

The class description for the sample_pcie_switch_shim_comp class: Sample PCIe Switch Shim component with external connection

name is Optional
If not specified, the component will get a class-specific default name.

socket_type is Optional
socket_type can be either of 'unix-socket' or 'tcp', default is unix-socket

tcp_port is Optional

unix_socket_name is Optional
unit_socket_name is the name of the socket

Provided By

sample-pcie-shim

new-sample-signal-device

Synopsis

new-sample-signal-device ["name"] [count] [period]

Description

This command creates an instantiated component of the class sample_signal_device.

The class description for the sample_signal_device class: A sample-signal-device with in/out connectors

name is Optional
If not specified, the component will get a class-specific default name.

count is Optional
Count of this component, connected to sub objects.

period is Optional
Period of this component, connected to sub objects.

Provided By

sample-signal-device

new-sample-x86-isa-extension

Synopsis

new-sample-x86-isa-extension [processor] [-connect-all]

Description

Create a new sample ISA extension object which can be connected to x86 processors.

The processor parameter specifies which processor should be connected to the new ISA extension object.

-connect-all flag can be used to create and connect an ISA extension object to all x86 processors in the simulated system.

Provided By

sample-x86-isa-extension

new-sata-cdrom-comp

Synopsis

new-sata-cdrom-comp ["name"]

Description

This command creates an instantiated component of the class sata_cdrom_comp.

The class description for the sata_cdrom_comp class: The "sata_cdrom" component represents an Serial ATA CD-ROM.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

std-comp

new-sata-disk-comp

Synopsis

new-sata-disk-comp ["name"] ["file"] [size]

Description

This command creates an instantiated component of the class sata_disk_comp.

The class description for the sata_disk_comp class: The "sata_disk" component represents a Serial ATA Disk. Disk data is stored in the hd_image subobject.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

std-comp

new-sdram-memory-module-comp

Synopsis

new-sdram-memory-module-comp ["name"] [banks] [cas_latency] [columns] [ecc_width] [module_data_width] ["module_type"] [primary_width] [rank_density] [ranks] [rows]

Description

This command creates an instantiated component of the class sdram_memory_module_comp.

The class description for the sdram_memory_module_comp class: The "sdram-memory-module-comp" component represents a SDRAM memory module.

name is Optional
If not specified, the component will get a class-specific default name.

banks is Optional
Number of banks.

cas_latency is Optional
CAS-latency; each set bit corresponds to a latency the memory can handle.

columns is Optional
Number of columns.

ecc_width is Optional
The error correction width.

module_data_width is Optional
The module SDRAM width (including ECC width if enabled).

module_type is Optional
Type of memory.

primary_width is Optional
Primary SDRAM width.

rank_density is Optional
The rank density.

ranks is Optional
Number of ranks (logical banks).

rows is Optional
Number of rows.

Provided By

memory-comp

new-sebastian

Synopsis

new-sebastian ["name"]

Description

This command creates an instantiated component of the class sebastian.

The class description for the sebastian class: The Sebastian component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-ser-link

Synopsis

new-ser-link ["name"] [buffer_size] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class ser_link.

The class description for the ser_link class: Serial link connecting two serial devices

name is Optional
If not specified, the component will get a class-specific default name.

buffer_size is Optional
The number of characters the link may buffer. Must be at least 1.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

ser-link

new-service-node-comp

Synopsis

new-service-node-comp ["name"] [top]

Description

This command creates an instantiated component of the class service_node_comp.

The class description for the service_node_comp class: The "service_node_comp" 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 <service_node_comp>.add-connector command.

name is Optional
If not specified, the component will get a class-specific default name.

top is Optional
Create the service-node as a top level component when set to true. Default is false.

Provided By

service-node

new-signal-link

Synopsis

new-signal-link ["name"] ["global_id"] [goal_latency] [immediate_delivery]

Description

This command creates an instantiated component of the class signal_link.

The class description for the signal_link class: The "signal_link" component represents a unidirectional signal that can be either high or low. It can be used to model electrical wires or more abstract binary signals.

name is Optional
If not specified, the component will get a class-specific default name.

global_id is Optional
Global identifier for use in distributed simulation or NIL if the link is not distributed.

goal_latency is Optional
Goal latency in seconds for this link. See also the set-min-latency command.

immediate_delivery is Optional
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.

Provided By

signal-link

new-simics-nvme-comp

Synopsis

new-simics-nvme-comp ["name"] [bandwidth] disk_size [dynamic_size]

Description

This command creates an instantiated component of the class simics_nvme_comp.

The class description for the simics_nvme_comp class: A generic NVMe device over PCIe with support for multiple namespaces. Namespaces can be added with the add_namespace command, before instantiating the component.

name is Optional
If not specified, the component will get a class-specific default name.

bandwidth is Optional
The read/write speed of the NVMe disk, provided in MB/s. 0 means instant read/write:s, which is the default value

disk_size is Required
The size of the underlying storage for the NVMe drive. The combined size of the namespaces added with the add_namespace command must not exceed this value.

dynamic_size is Optional
If set to True, adding a namespace will increase the disk size if needed.

Provided By

simics-nvme-comp

new-simple-cache-tool

Synopsis

new-simple-cache-tool ["name"] [cycle-staller] ([ providers ... ] | list of providers) [parent] [-connect-all] ["group"]

Description

Creates a new cache tool object which can be connected to processors to set up cache hierarchies. The cycle-staller can be set to a cycle staller object to get additional cycle penalties due to cache misses.

The optional name argument can be used to set a name of the created object. If no name is given, a default name cache followed by a sequence number is generated (cache0, cache1,...).

The optional providers argument, supports connecting one or several providers directly. With the optional parent argument a hierarchical object can be specified and all providers below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported providers in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

simple-cache-tool

new-simple-memory-module

Synopsis

new-simple-memory-module ["name"] [memory_megs]

Description

This command creates an instantiated component of the class simple_memory_module.

The class description for the simple_memory_module class: A simple memory module.

name is Optional
If not specified, the component will get a class-specific default name.

memory_megs is Optional
MB memory.

Provided By

memory-comp

new-sr-histogram

Synopsis

new-sr-histogram ["name"] ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"] [-with-vmp]

Description

Internal command.

Creates a new sr_histogram object which can be connected to a processor which supports instrumentation.

This tool presents a service-routine histogram of the most commonly executed service-routine in both the generated JIT code and in the interpreter. This can be used to find instructions that should be turbofied to improve performance.

The optional name argument can be used to set a name of the created object. If no name is given, a default name sr_hist followed by a sequence number is generated (sr_hist0, sr_hist1,...).

The optional processors argument, supports connecting one or several processors directly. With the optional parent argument a hierarchical object can be specified and all processors below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

VMP on x86 targets is disabled by this instrumentation. The -with-vmp will enable VMP and the tool will only measure execution of the instructions outside of VMP.

Provided By

simics-inspector

new-sr-ticks

Synopsis

new-sr-ticks ["name"] ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"] [-with-vmp]

Description

Internal command.

Creates a new sr_ticks object which can be connected to a processor which supports instrumentation.

This tool measures how long time each service-routine takes to commit (both in the generated JIT code and the interpreter). This can be used to find instructions which executes slowly and possibly should be optimized.

The optional name argument can be used to set a name of the created object. If no name is given, a default name sr_ticks followed by a sequence number is generated (sr_ticks0, sr_ticks1,...).

The optional processors argument, supports connecting one or several processors directly. With the optional parent argument a hierarchical object can be specified and all processors below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

VMP on x86 targets is disabled by this instrumentation. The -with-vmp will enable VMP and the tool will only measure execution of the instructions outside of VMP.

Provided By

simics-inspector

new-standard-pcie-switch-comp

Synopsis

new-standard-pcie-switch-comp ["name"]

Description

This command creates an instantiated component of the class standard_pcie_switch_comp.

The class description for the standard_pcie_switch_comp class: A generic PCIe switch with 4 slots implemented using the new Simics PCIe library

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

standard-pcie-switch-comp

new-system-perfmeter

Synopsis

new-system-perfmeter ["name"] [sampling-mode] [interval] [clock] ["notifier-type"] [notifier-obj] [timestamp-file] [-summary] [-window] [-print-no-samples] [output-file] [-mips] [-cpu-mips] [-exec-modes] [-cpu-exec-modes] [-cpu-schedule-percent] [-cpu-load] [-module-profile] [-io] [probe-collection]

Description

The probe-based system-perfmeter is a tool for sampling probes specifically for looking at Simics performance aspects. The tool extends the probe-monitor, sharing the same commands and features. Compared to the probe-monitor, some default probes are automatically used. There are also handy flags which can be used when creating the tool to more easily subscribe on additional performance related probes.

Argument description:

Create a new system-perfmeter object with a name. If name is not given a unique name will be created for it automatically. The system-perfmeter samples probes in the system either at a regular interval or when a notification is raised.

The sampling-mode argument specifies the mode used to perform sampling. Default is "realtime-sync" when the interval is in realtime (wallclock), but also synchronized so all processor have executed at least one quantum since last sample.

With the "realtime" sampling mode, sampling is based on the wallclock time only, without any synchronization. Some probes might yield strange results, when some processors have not executed at all since the last sample.

Mode can also be "virtual", where the virtual time is used to perform sampling. The time is based on the virtual time of the first processor found in the system, unless clock is set to override the default one with another clock or processor.

In "realtime-sync", "realtime" and "virtual" modes the interval is set in seconds by the interval argument.

Another available mode is "notifier" where sampling is performed each time a notification is raised. notifier-type specifies the notifier type and notifier-obj the object where the notifier is installed.

The timestamp-file specifies a file to be used recording specific timepoints when the sampling should take place. Together with realtime-sync the file will be created and filled with the cycle count from the clock argument, when the samples are taken.

With the time-stamp sampler, this file will instead be used as an input file, and the sampling will take place on the cycles specified in the file.

Probes to sample are added by the <system-perfmeter>.add-probe command.

Output handling. By default, each sample measured by the probe-monitor, will print a table row on standard output. (A table row can consist of multiple lines being printed, including repeated headers).

The output-file argument specifies if the run-time table rows should be printed to a file, including any summary output.

The -window switch will cause the run-time samples to be printed in a separate console instead of the standard output.

The -print-no-samples switch specifies that no samples are printed to standard output, or a window, during execution. Any file output, with the output-file argument will still occur.

If -summary is given a summary of all sampled probes will be printed every time the simulation is stopped.

The sample data history is also stored in memory, so the data can be viewed at any time through the <system-perfmeter>.print-table command. When sampling at a high frequency, it is recommended to not produce any sample output while running, reducing the overhead of the probe-monitor.

The probe-based system perfmeter automatically adds the probes: sim.time.virtual, sim.time.wallclock (both session and delta). These show the virtual time and wallclock time spent during the simulation. Note that any time spent when not simulating (standing at the Simics prompt), is removed from the wallclock time.

Further the sim.slowdown delta probe is automatically shown, giving the ratio between the virtual time passed compared to the wallclock time. That is, a number below 1.0 means the virtual time passes faster than the wallclock, a figure of 5.0 means that one virtual second takes five wallclock seconds to simulate.

The sim.process.cpu_percent delta probe shows much much host processor usage the Simics process is taking. Any value below 100% indicates Simics gets blocked on something, such as real-time mode. On a four processor host, the maximum value would be 400% indicating Simics manages to can schedule work on all processors simultaneously. Note that processor usage might be from from other threads, not just the execution threads which are used for the actual simulation.

Finally, the sim.load_percent delta probe, shows an average of much actual instructions that is being simulated per cycle. With 100%, all simulation time is spent actually executing instructions. Processors might also wait for interrupts or other events, when cycles are consumed without executing any instructions, reducing this value. This average value takes into account how much cycles each processor actually consume, so differences in frequencies matter. Any processor specific IPC value (other than 1.0) is also taken into consideration. The IPC value may not change during simulation however.

There are a number of additional flags to easily add more probes to the system-perfmeter directly when starting the tool. All of these probes shows the delta values, that is, the difference between each sample.

The -mips flag adds the sim.mips probe, which reports the overall number of instructions per wallclock second being executed. Similarly, the -cpu-mips adds the cpu.mips probe which tells how many instructions per "second", each individual CPU is executing, based on the amount of time it is actually scheduled.

The -exec-modes flags adds the sim.exec_mode.hypersim_percent, sim.exec_mode.vmp_percent, sim.exec_mode.jit_percent, and the sim.exec_mode.interpreter_percent probes. These report the summary of which execution modes all processors have been executed in.

Similarly, the -cpu-exec-modes flag adds the corresponding cpu.exec_mode. probes, reporting the execution modes per individual processor in the system.

The -cpu-schedule-percent flag adds the cpu.schedule_percent probe which reports the percentage of the scheduled simulation time spent in the specific processors. Processors with high percentage simulates more slowly.

The -cpu-load flag adds the cpu.load_percent which gives the individual load on each processor. See above for the description of the sim.load_percent probe.

The -module-profile flag adds the sim.module_profile probe which gives a low overhead performance profile of in which shared objects the execution is spent.

The -io flag adds the sim.io_intensity probe, reporting how frequently IO operations occurs, as number of executed instructions per detected IO operation. High values are good, low values could cause performance reductions.

The probe-collection specifies a shortcut name for adding suitable probes for given scenario.

The explore collection adds large amount of probes suitable for finding possible bottlenecks in the execution performance. Some of these probes can however have their own overhead when collecting them. The large amount of probes collected also impose some overhead.

The performance collection adds a few probes just to measure the performance of Simics, without much overhead.

These are just some generally useful switches for adding probes easily directly when creting the system-perfmeter. Once system-perfmeter object has been created, it is possible to remove existing probes or add other probes to the sampling.

Provided By

probe-monitor

See Also

new-probe-streamer, new-probe-monitor

new-tcf-agent

Synopsis

new-tcf-agent ["parameters"] [-log] ["log-file"] ["log-mode"]

Description

Command for creating a TCF agent in Simics.

The parameters is used to specify Simics capabilities.

With the option -log you can specify the agent to log TCF traces in the file specified with option log-file. Option log-file defaults to 'tcf.log'. The flag -log is automatically set if log-file is specified. If "-" is set as log file, logs will be sent to stderr.

With the option log-mode you can specify what TCF traces will be logged. The command is a comma separated list of modes. The list of modes is available through auto-completion. By default, all modes are selected.

Provided By

tcf-agent

See Also

debug-context, start-eclipse-backend

new-time-server

Synopsis

new-time-server [port] ["name"] [-poll]

Description

Create a new time server that listens on port (8123 by default), or use port 0 for any port. name is optional and the name of the created object will be returned.

With the -poll flag the time-server will periodically poll the time and return the polled value in queries. Otherwise, the time server will always return the current time in queries. Polled mode offers better performance when the time server is queried at a high frequency, but does not support events.

Connected clients can query the virtual time, install alarm events that are triggered after a certain amount of virtual time, or install keepalive events that trigger at a periodic rate (real time).

Provided By

time-server-c

new-tracer-tool

Synopsis

new-tracer-tool ["name"] [file] [trace-history-size] ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"] [-trace-data] [-trace-instructions] [-trace-exceptions] [-print-virtual-address] [-print-physical-address] [-print-linear-address] [-print-opcode] [-print-access-type] [-print-memory-type] [-print-register-changes] [-print-old-value] [-print-execution-mode] [-use-cpu-number] [-remove-duplicates]

Description

Creates a new instruction tracer tool object which can be connected to processors which supports instrumentation.

The file argument specifies a file to write the trace to, without any file, the trace will be printed to standard out.

If the trace-history-size is set to a size, the tool will instead of constantly writing the output to standard out or a file, keep the output in a cyclic buffer in memory with this number of lines. The buffer can be written to file later with the <instrumentation_tracer_tool>.save-trace-buffer> command.

The optional name argument can be used to set a name of the created object. If no name is given, a default name trace followed by a sequence number is generated (trace0, trace1,...).

The optional processors argument, supports connecting one or several processors directly. With the optional parent argument a hierarchical object can be specified and all processors below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Each new connection to the tracer tool can be configured with flags. The flags are described below.

The following three flags control what type of tracing is done:

-trace-data : Enabling tracing of data operations.
-trace-instructions : Enabling tracing of instruction.
-trace-exceptions : Enabling tracing of exceptions.

The following flags allow controlling the output:


-print-register-changes : Print register changes after traced instruction and/or traced exception. Registers that normally change with every instruction, like program counter or cycles counter, are not listed.
-print-old-value : Print the previous register value together with register changes.
-print-virtual-address : Print the virtual address of an entry.
-print-physical-address : Print the physical address of an entry.
-print-linear-address : Print the linear address of an entry (only x86).
-print-opcode : Print the opcode of an instruction entry.
-print-access-type : Print the access type (only x86).
-print-memory-type : Print the memory type (only x86).
-print-execution-mode : Print the execution mode (only x86). See description of recognized modes below.
-use-cpu-number : Print the CPU number instead of its name.
-remove-duplicates : Remove duplicated lines from the output.

If none of the -print... or -trace.. flags are given all of those will be enabled by default except -print-register-changes, i.e., trace and print everything except register changes.

If only -print-register-changes are given everything including register changes will be enabled.

The -print-execution-mode recognizes the following modes of execution. Note that several modes can be recognized simultaneously.
AC : The processor is executing inside an Authenticated Code Module (ACM).
SEAM : The processor is executing inside Secure Arbitration Mode (SEAM) mode.
SGX : The processor is executing inside an Intel® Software Guard Extensions (Intel® SGX) enclave.
SMM : The processor is executing inside System Management Mode (SMM) mode.
VMX root : The processor is executing inside Virtual Machine Extensions (VMX) root mode.
VMX non-root : The processor is executing inside Virtual Machine Extensions (VMX) non-root mode.

Provided By

instrumentation-tracer-tool

new-txt-console-comp

Synopsis

new-txt-console-comp ["name"] ["bg_color"] ["fg_color"] [height] ["pty"] [scrollback] [telnet_port] ["title"] [visible] [width]

Description

This command creates an instantiated component of the class txt_console_comp.

The class description for the txt_console_comp class: Simics text console.

name is Optional
If not specified, the component will get a class-specific default name.

bg_color is Optional
The default background color, either by name ("red") or on the form #RRGGBB.

fg_color is Optional
The default foreground color, either by name ("blue") or on the form #RRGGBB.

height is Optional
The height of the console window.

pty is Unknown
Existing pty to open a host-serial server on. This is independent of the visible parameter. If the port cannot be opened, an error is thrown. If this parameter is the empty string, a new port is created and opened.

scrollback is Optional
The maximum number of scrollback lines.

telnet_port is Optional
Port to open a telnet server on. This is independent of the visible parameter. The port must not be a privileged port, i.e. the allowed range is [1024, 65535], or 0 for an arbitrary port. If the port cannot be opened, an arbitrary port is chosen instead.

title is Optional
The Window title.

visible is Optional
Should console be visible upon startup?.

width is Optional
The width of the console window.

Provided By

console-components

new-tyler-durden

Synopsis

new-tyler-durden ["name"]

Description

This command creates an instantiated component of the class tyler_durden.

The class description for the tyler_durden class: The Tyler Durden component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-tyrell

Synopsis

new-tyrell ["name"]

Description

This command creates an instantiated component of the class tyrell.

The class description for the tyrell class: The Tyrell component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-usb-disk-comp

Synopsis

new-usb-disk-comp ["name"] ["file"] [size]

Description

This command creates an instantiated component of the class usb_disk_comp.

The class description for the usb_disk_comp class: The "usb_disk_comp" component represents a USB SCSI disk. Disk data is stored in the usb_scsi_disk_image subobject.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

usb-comp

new-usb-hs-keyboard-comp

Synopsis

new-usb-hs-keyboard-comp ["name"]

Description

This command creates an instantiated component of the class usb_hs_keyboard_comp.

The class description for the usb_hs_keyboard_comp class: The High Speed USB Keyboard component class. Encapsulated usb-hs-keyboard device in 'usb_device' slot.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

usb-hid-components

new-usb-keyboard-comp

Synopsis

new-usb-keyboard-comp ["name"]

Description

This command creates an instantiated component of the class usb_keyboard_comp.

The class description for the usb_keyboard_comp class: The USB Keyboard component class. Encapsulated usb-keyboard device in 'usb_device' slot.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

usb-hid-components

new-usb-mouse-comp

Synopsis

new-usb-mouse-comp ["name"]

Description

This command creates an instantiated component of the class usb_mouse_comp.

The class description for the usb_mouse_comp class: The USB Mouse component class. Encapsulated usb-mouse device in 'usb_device' slot.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

usb-hid-components

new-usb-tablet-component

Synopsis

new-usb-tablet-component ["name"]

Description

This command creates an instantiated component of the class usb_tablet_component.

The class description for the usb_tablet_component class: The "usb_tablet_component" component represents a USB tablet device.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

usb-comp

new-virtio-mmio-blk-comp

Synopsis

new-virtio-mmio-blk-comp ["name"] ["file"] [size]

Description

This command creates an instantiated component of the class virtio_mmio_blk_comp.

The class description for the virtio_mmio_blk_comp class: "virtio_mmio_blk" component setups a disk using the virtio mmio block device

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

virtio-comp

new-virtio-pcie-blk-comp

Synopsis

new-virtio-pcie-blk-comp ["name"] ["file"] [size]

Description

This command creates an instantiated component of the class virtio_pcie_blk_comp.

The class description for the virtio_pcie_blk_comp class: PCIe Virtio Block Device.

name is Optional
If not specified, the component will get a class-specific default name.

file is Optional
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.

size is Optional
The size of the disk in bytes.

Provided By

virtio-comp

new-virtio-pcie-fs-comp

Synopsis

new-virtio-pcie-fs-comp ["name"] ["daemon_log_file"] "share" ["tag_name"]

Description

This command creates an instantiated component of the class virtio_pcie_fs_comp.

The class description for the virtio_pcie_fs_comp class: PCIe Virtio File System Device. This component should be used with the configuration attribute share set to either a directory or a Unix domain socket file. If the former case, the virtioFS daemon will be started automatically by Simics. In the latter case, the user has to start the daemon manually. This can be beneficial in cases where one would want to run the daemon under fakeroot or root.

name is Optional
If not specified, the component will get a class-specific default name.

daemon_log_file is Optional
If set, the FUSE daemon will enable DEBUG logs and log to the provided path, default is unset

share is Required
Either a directory to share with the target, or a unix domain socket file.

tag_name is Optional
The tag name to be used when mounting the device on the guest, default is simics

Provided By

virtio-comp

new-virtio-pcie-net-comp

Synopsis

new-virtio-pcie-net-comp ["name"] ["mac_address"]

Description

This command creates an instantiated component of the class virtio_pcie_net_comp.

The class description for the virtio_pcie_net_comp class: PCIe Virtio Net Device.

name is Optional
If not specified, the component will get a class-specific default name.

mac_address is Optional
MAC Address for the Virtio Net Device

Provided By

virtio-comp

new-wall-e

Synopsis

new-wall-e ["name"]

Description

This command creates an instantiated component of the class wall_e.

The class description for the wall_e class: The WALL-E component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

new-x86-branch-profiler

Synopsis

new-x86-branch-profiler ["name"] ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"]

Description

Creates a new x86_branch_profiler tool object. The tool is used to get statistic of normal branches executed on connected processors.

The optional name argument can be used to set a name of the created object. If no name is given, a default name bprof followed by a sequence number is generated (bprof0, bprof1,...).

The optional processors argument, supports connecting one or several processors directly. With the optional parent argument a hierarchical object can be specified and all processors below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

x86-branch-profiler

new-x86-chassis

Synopsis

new-x86-chassis ["name"]

Description

This command creates an instantiated component of the class x86_chassis.

The class description for the x86_chassis class: Standard x86 chassis.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

x86-comp

new-x86-mode-filter

Synopsis

new-x86-mode-filter ["name"] [mode]

Description

Creates an x86 mode filter object with the name name. The filter restricts instrumentation to only a specific execution mode on processors tracked by a tool. The mode argument can be used to configure the filter for a specific mode. Once create, the filter can be added to tool(s) with the tool specific <tool>.add-filter command.

Provided By

x86-mode-filter

See Also

<x86_mode_filter>.add-mode, <x86_mode_filter>.remove-mode, <x86_mode_filter>.delete

new-x86-mode-histogram

Synopsis

new-x86-mode-histogram ["name"] ([ processors ... ] | list of processors) [parent] [-connect-all] ["group"]

Description

Creates a new x86_mode_histogram object which can be connected to X86 processors. The tool collects information about x86 mode switches and how many steps has been executed in each mode.

The modes collected are: Real 16, Real32, V86, Protected 16, Protected 32, Protected 64, Compatibility 16, Compatibility 32, VMX Off, VMX Root, VMX Non-Root, System Management and combinations of them. When the processor is running in more then one mode, for instance, Protected 64 and in VMX Non-Root mode at the same time, the tool displays this as the concatenation of the two modes.

The optional name argument can be used to set a name of the created object. If no name is given, a default name xhist followed by a sequence number is generated (xhist0, xhist1,...).

The optional processors argument, supports connecting one or several processors directly. With the optional parent argument a hierarchical object can be specified and all processors below this object matching the provider requirements will be connected to the tool. The -connect-all flag can be given to add a connection to all supported processors in the configuration.

The optional argument group lets a user specify a named instrumentation group to use for the connection. (See add-instrumentation-group for details on named groups.)

Provided By

x86-mode-histogram

new-zorg

Synopsis

new-zorg ["name"]

Description

This command creates an instantiated component of the class zorg.

The class description for the zorg class: The Zorg component.

name is Optional
If not specified, the component will get a class-specific default name.

Provided By

examples-comp

not

Synopsis

not arg

Description

Returns TRUE if arg is false, and FALSE if not.

Provided By

Simics Core

object-exists

Synopsis

object-exists "name"

Description

Returns true if an object exists with the given name and false if not.

Provided By

Simics Core

oct

Synopsis

oct value [-u] [-p]

Description

Returns the parameter as a string in octal notation. This is similar to print -o value. To ignore any default digit grouping, the -u (unformatted) flag is used, while -p removes the radix prefix 0o.

Provided By

Simics Core

See Also

print, hex, bin, dec, digit-grouping, atoi

or

Synopsis

arg1 or arg2

Description

Evaluates arg1 and returns its value if it is true. Otherwise arg2 is evaluated and its value is returned.

Provided By

Simics Core

output-radix

Synopsis

output-radix [base] [group]

Description

Change or display the default output radix for numbers. base can be set to 2 for binary, 8 for octal, 10 for decimal, or 16 for hexadecimal output.

If group is non-zero, numbers will be grouped in groups of group digits, separated by underscores (_).

This affects the output of many CLI commands, such as print, hex, dec, oct, and bin commands, and how return values from commands are displayed in CLI.

Without arguments, the current setting will be shown.

Run save-preferences to save any changes.

Provided By

Simics Core

See Also

digit-grouping, print, hex, dec, oct, bin

pcap-dump

Synopsis

pcap-dump [link] [probe] filename [-ns]

Description

Dump all Ethernet network traffic on the given link or probe to the given filename in pcap format. The optional -ns flag sets the timestamp resolution of the file in nano-seconds. The default timestamp resolution is in micro-seconds.

Provided By

eth-links

pcap-dump-stop

Synopsis

pcap-dump-stop [link] [probe]

Description

Stop dumping network traffic on the given link or probe to file.

Provided By

eth-links

pcie-config-probe

Synopsis

pcie-config-probe ["hierarchy"] bus device function [offset] [-ari] [-add-atoms]

Description

Probe the PCIe Configuration space using bus:device:function (B:D:F) values. The -ari flag can be used to indicate an ARI BDF. When this flag is used, device must be set to 0. Optionally, an offset can be included, which will then reveal the register in a function's configuration bank that is hit. If there is only one top-level PCIe hierarchy in the system, the hierarchy argument can be omitted. The command will automatically find the top-level PCIe hierarchy object.

Transaction atoms can be used for routing rules and access rights in a platform. The -add-atoms flag opens up the capability to set transaction atoms on the command line: once the flag is set the command accepts additional arguments that have names starting with ATOM_ prefix. Tab complete after setting the -add-atoms flag to see the available atoms. These arguments are used by the command to pass in atom values to the translators it passes through during the transaction probing.

Please note that the ATOM_... arguments can be used only to specify values for transaction atoms that have integer values and provide Python wrappings. Complex atoms such as pointers and structures are not available from CLI.

Note! The pcie_type atom will be ignored if it is set using -add-atoms as that atom is added by this command.

Provided By

Simics Core

See Also

pcie-config-read, pcie-config-write

pcie-config-read

Synopsis

pcie-config-read ["hierarchy"] bus device function offset [size] [-ari] [-l] [-b] [-inquiry] [-add-atoms]

Description

PCIe Configuration space read. The config read will be of size bytes to bus:device:function (B:D:F) at offset. The default size is 4 bytes, but it can be anywhere between 1 and 1024 inclusive. The -ari flag can be used to indicate an ARI BDF. When this flag is used, device must be set to 0. This command will issue a transaction with the payload and flags set, the pcie_type atom set to PCIE_Type_Cfg. It will issue the transaction to the hierarchy object. If there is only one top-level PCIe hierarchy in the system, the hierarchy argument can be omitted. The command will automatically find the top-level PCIe hierarchy object.

The -inquiry flag is used to mark the issued transaction as an inquiry, which result in the DMA setting the memory without any side-effects. By default, the transaction is not using the inquiry flag.

The -l and -b flags are used to select little-endian or big-endian byte order, respectively used to determine how the bytes in memory should be interpreted as a value. If neither is given, then little endian is used.

Transaction atoms can be used for routing rules and access rights in a platform. The -add-atoms flag opens up the capability to set transaction atoms on the command line: once the flag is set the command accepts additional arguments that have names starting with ATOM_ prefix. Tab complete after setting the -add-atoms flag to see the available atoms. These arguments are used by the command to pass in atom values to the translators it passes through during the transaction probing.

Please note that the ATOM_... arguments can be used only to specify values for transaction atoms that have integer values and provide Python wrappings. Complex atoms such as pointers and structures are not available from CLI.

Note! The data, flags, pcie_type and atoms will be ignored if they are set using the -add-atoms as those are added by this command.

Provided By

Simics Core

See Also

pcie-config-write, pcie-probe-bdf

pcie-config-write

Synopsis

pcie-config-write ["hierarchy"] bus device function offset value [size] [-ari] [-l] [-b] [-t] [-fit] [-inquiry] [-add-atoms]

Description

PCIe Configuration space write. The config write will be of size bytes to bus:device:function (B:D:F) with value at offset. The default size is 4 bytes, but it can be anywhere between 1 and 1024 inclusive. If value is larger than the specified size, an error is given. Unless -t is specified, the value will be truncated to size bytes. If -fit is specified, the value will be fitted to the least number of bytes that can hold the value (size must not be smaller than then the least number of bytes needed). The -ari flag can be used to indicate an ARI BDF. When this flag is used, device must be set to 0. This command will issue a transaction with the payload and flags set, the pcie_type atom set to PCIE_Type_Cfg. It will issue the transaction to the hierarchy object. If there is only one top-level PCIe hierarchy in the system, the hierarchy argument can be omitted. The command will automatically find the top-level PCIe hierarchy object.

The -inquiry flag is used to mark the issued transaction as an inquiry, which result in the DMA setting the memory without any side-effects. By default, the transaction is not using the inquiry flag.

The -l and -b flags are used to select little-endian or big-endian byte order, respectively used to determine how the bytes in memory should be interpreted as a value. If neither is given, then little endian is used.

Transaction atoms can be used for routing rules and access rights in a platform. The -add-atoms flag opens up the capability to set transaction atoms on the command line: once the flag is set the command accepts additional arguments that have names starting with ATOM_ prefix. Tab complete after setting the -add-atoms flag to see the available atoms. These arguments are used by the command to pass in atom values to the translators it passes through during the transaction probing.

Please note that the ATOM_... arguments can be used only to specify values for transaction atoms that have integer values and provide Python wrappings. Complex atoms such as pointers and structures are not available from CLI.

Note! The data, flags, pcie_type and atoms will be ignored if they are set using the -add-atoms as those are added by this command.

Provided By

Simics Core

See Also

pcie-config-read, pcie-probe-bdf

penable

Synopsis

penable [cpu-name|-all]
<processor_info>.disable
<processor_info>.enable
pdisable [cpu-name|-all]

Description

Enables or disables a processor.

If no cpu-name is given, the current processor will be acted on. If the flag -all is passed, all processors will be enabled/disabled.

A disabled processor is simply stalled for an infinite amount of time.

Provided By

Simics Core

See Also

processor-status

pid

Synopsis

pid

Description

Return the process identity of the Simics process itself. Useful when attaching a remote debugger for example.

Provided By

Simics Core

pipe

Synopsis

pipe [-h] "command" "pipe"

Description

Runs the CLI command command in Simics and pipes the output (stdout) through the external program pipe's stdin.

By default, commands run this way will be formatted to be machine readable rather than human readable. For example, this turns off multi-column output in commands such as list-classes. By specifying the -h flag, the output will be sent in human readable mode.

This command handles output and errors the same way as the shell command does.

Provided By

Simics Core

See Also

shell

popd

Synopsis

popd [-n]

Description

Pops a directory off the directory stack and, unless the -n option is specified, change current working directory to that directory.

Provided By

Simics Core

See Also

dirs, pushd

pow

Synopsis

arg1 pow arg2

Description

Return the arg1 to the power of arg2.

Provided By

Simics Core

print

Synopsis

print [-x|-o|-b|-s|-d] value [size]

Description

Prints value in hexadecimal (-x), decimal (-d), octal (-o), or binary (-b) notation. Default is to use the notation specified by the output-radix command.

Use -s to convert the value to signed integers. size is the bit width to use. E.g., print -x 257 8 will print 0x1. Valid sizes are 8, 16, 32, 64, and 128 bits. Default size is 64.

Provided By

Simics Core

See Also

output-radix, echo, hex, dec, oct, bin, digit-grouping, atoi

print-blueprint-state

Synopsis

print-blueprint-state ["iface"] ["field"] ["pat"] [-b] [-i] [-show-unbound]

Description

Inspect blueprint state. If iface is specified, limit output to blueprint state of the specified type. The field argument can be used to restrict the output to just include the specified field.

As an alternative/complement to iface, it is possible to specify pat which selects all state that match the specified substring. This is for instance useful to select state defined in a specific node.

If the -b flag is specified, then all state bound to a specific namespace node are listed. Conversely, the -i flag lists all state subscription points.

If the -show-unbound flag is specified, then unbound states are shown (hidden by default).

Provided By

blueprints

See Also

list-blueprint-params

print-device-access-stats

Synopsis

print-device-access-stats [cutoff] [cell]

Description

Gives an overview of how many device accesses have happened during the simulation and provides top lists for the most frequently accessed device classes and objects. The cell argument can be used to analyze only the devices belonging to the particular cell. The cutoff argument's default is 1.0%, which means that classes or objects with lower than 1.0% of the total number of I/O accesses will be discarded.

Provided By

Simics Core

See Also

devs, clear-io-stats

print-device-reg-info

Synopsis

print-device-reg-info "register"

Description

Print detailed information about a device register. The register argument is of the form device.bank.register. The information includes the register width in bits, byte offset within the register bank, its current value and all bit fields. If the device bank is mapped into memory, the command will try to resolve which physical address or addresses the register is mapped at.

When used in an expression, the return value is a list with register offset within the bank, the register width in bits, the current value, and the physical addresses where the register is mapped, together with the corresponding memory spaces. If the register is not mapped or does not hold any value, the return value will still report them as 0.

Provided By

Simics Core

See Also

print-device-regs, get-device-reg, get-device-offset

print-device-regs

Synopsis

print-device-regs "bank" ["pattern"] ["substr"] [-s] [-description]

Description

Print information about the registers in bank. The bank argument can either be a device or a bank object, i.e. device.bank.<bank-name>. For a device object, all banks of the device will be listed. The old way to specify register banks (device.<bank-name>) is supported but deprecated.

The optional argument pattern is a glob pattern that will be used to match against register names. By default, all registers in the bank will be matched.

The optional argument substr is a convenience for using the pattern argument. For example, substr=foo is equivalent to using pattern="*foo*".

-s, if provided, will sort the output by the name of the registers instead of their offsets, which is the default.

-description, if provided, the register description will be output for each register that has description.

If used in an expression, the return value is a list of lists in the format [[<offset>, <bank>, <name>, <size>, <value>]*]. The returned list is always sorted by offsets and not affected by the -s flag.

Provided By

Simics Core

See Also

print-device-reg-info, get-device-reg, get-device-offset

print-event-queue

Synopsis

print-event-queue [obj] [queue] [-i]

Description

Prints the event queues for a processor, i.e. an object implementing a step or cycle queue. Events such as interrupts and exceptions are posted on these event queues. For each event, the time to its execution, the object posting it and a brief description is printed.

If the command is used in an expression, if no queue is given it returns a list of lists of triplets, with the step queue as the first inner list. Otherwise it returns a list of triplets for the given queue.

If no processor is specified in obj, the currently selected frontend processor is used.

The queue can be used to select the "cycle" or the "step" queue. The old integer values are deprecated.

The -i flag enables printing of Simics-internal events.

Provided By

Simics Core

See Also

print-realtime-queue, pselect

print-image-memory-stats

Synopsis

print-image-memory-stats [image] [-all] [-h]
<image>.print-image-memory-stats [-all] [-h]

Description

Print statistics for memory usage of image objects, or for a single image, in the case of print-image-memory-stats, or by using image. Images without resident pages are omitted, unless -all is specified, or if there is a single image only.

By default, the unit is 8 KiB storage pages. By specifying the -h flag you get output in human readable units.

The Pages column shows the number of allocated pages, that can be either in memory or swapped out. The In memory column shows the number of pages that are resident in memory. The Swap slot column shows how many pages have, at some point, been swapped out. The number of swapped out pages can be derived from this info as Pages - In memory. Dirty is the number of pages that are modified in relation to the on-disk persistent (non-swap) image data.

Uaread is the number of read operations from a page that is not already cached in memory.

Additional statistics about swapping is also printed.

If the command is used in an expression, the statistics table is returned as a list of lists.

Provided By

Simics Core

See Also

system-info, <image>.print-image-memory-stats

print-object-lock-stats

Synopsis

print-object-lock-stats [-u|-f|-s]

Description

Print a report based on collected object lock statistics. The report contains information about the number of times a lock has been taken and the average wait time for the lock to become available. The third column displays what kind of lock was taken where 'C' means cell, 'S' means serial domain, otherwise it means an object lock.

Uncontended locks are excluded from the statistics unless the -u flag is used, in which case the report is based solely on uncontended lock acquisition.

The -f and -s flags can be used to only include statistics from "fast" or "slow" locks, respectively. A lock acquiry is considered "fast" if the wait time is less than 10 us.

Provided By

Simics Core

See Also

enable-object-lock-stats, disable-object-lock-stats, clear-object-lock-stats

print-processor-registers

Synopsis

print-processor-registers [cpu-name] [-all]
<processor_info>.print-processor-registers [-all]

Description

Prints the current integer register file of the processor cpu-name. If no CPU is specified, the current CPU will be selected. The -all flag causes additional registers, such as control registers and floating point registers to be printed.

Provided By

Simics Core

print-realtime-queue

Synopsis

print-realtime-queue

Description

Prints a list of all callbacks in the realtime event queue. The output includes an internal callback identifier, the delay in milliseconds from the time the callback was posted until it will run, how much time is currently left of the delay, a description of the function installed as callback with its corresponding data and a user supplied description.

Provided By

Simics Core

See Also

print-event-queue

print-sync-info

Synopsis

print-sync-info

Description

Print the synchronization tree.

Provided By

Simics Core

See Also

set-min-latency

print-target-info

Synopsis

print-target-info

Description

Prints a summary of the target machines of the configuration, similar to what is presented in the GUI.

Provided By

Simics Core

See Also

list-target-info

print-time

Synopsis

print-time [cpu-name] [-s] [-c] [-t] [-pico-seconds] [-all]

Description

Prints the number of steps and cycles that a processor has executed. The cycle count is also displayed as simulated time in seconds.

If called from an object namespace (e.g., cpu0.print-time), the time for that object is printed. The object can also be supplied using the cpu-name argument. Otherwise, the time for the current frontend processor is printed, or, if the -all flag is given, the time for all processors is printed.

The -c, -s, -t, or -pico-seconds flags can be used to limit the output to include only the cycle count for the processor, the step count, the time in seconds, or the number of picoseconds respectively. This may be especially useful when the command's return value is used, for example, like this: "$num_steps = (cpu-object.print-time -s)".

A step is a completed instruction or an exception. An instruction that fails to complete because of an exception will count as a single step, including the exception.

Provided By

Simics Core

probe-address

Synopsis

probe-address address [obj] [inquiry] [-port] [-add-atoms]

Description

Probes a memory address for a processor, memory space or custom translator objects, and reports the destination object. If the destination is a device that provides register information, the addressed register within the device will be shown. If used in an expression the destination object will be returned.

If no address prefix is used (p:, l: or v:), the address is interpreted as virtual when used with a processor or else as a physical address.

The currently selected frontend processor is used unless the obj argument selects a specific processor or map target object in the system.

The inquiry argument, which defaults to TRUE, sets the inquiry flag of the transaction that is used when probing. Transactions in inquiry mode must have no side-effects and may bypass certain access restrictions.

The -port flag only applies to processor and selects the port space instead of the memory address space if it exists.

Transaction atoms can be used for routing rules and access rights in a platform. The -add-atoms flag opens up the capability to set transaction atoms on the command line: once the flag is set the command accepts additional arguments that have names starting with ATOM_ prefix. Tab complete after setting the -add-atoms flag to see the available atoms. These arguments are used by the command to pass in atom values to the translators it passes through during the transaction probing.

Please note that the ATOM_... arguments can be used only to specify values for transaction atoms that have integer values and provide Python wrappings. Complex atoms such as pointers and structures are not available from CLI.

All memory spaces that the access will traverse are listed, with the local address in each. The command warns for overlapping mappings with the same priority.

The Notes column indicates what type of operation took place on the transaction:

translator: *
transaction_translator: ~
translate: +
Unknown: ?
Loop: @
Miss: miss


The Added Atoms column displays transaction atoms that were added by the translator. The Inspected Atoms column displays transaction atoms that were inspected by the translator and possibly edited if the atom is a pointer. The Missed Atoms column displays transaction atoms that the translator tried to lookup but were absent in the transaction.

Provided By

Simics Core

See Also

memory-map, devs, <memory-space>.map, <port-space>.map, print-device-regs, print-device-reg-info

processor-status

Synopsis

processor-status

Description

Show the enabled/disabled status of all processors in the Simics session.

Provided By

Simics Core

See Also

penable, pdisable

pselect

Synopsis

pselect [obj]

Description

Sets the default processor or clock object for the command line frontend. Many global commands operate on this object when no other is specified. Without any argument, the command returns the currently selected object for the frontend.

The currently selected object is also available via the built-in cpu alias. For example, the cpu.info command runs the 'info' command of the currently selected object, and entering cpu.<TAB><TAB> on command-line interface provides tab completion for the currently selected object.

The specified object, obj, must implement one of the processor_info, step or cycle interfaces.

Provided By

Simics Core

See Also

cpu

pushd

Synopsis

pushd [-n] [path]

Description

Pushes the directory path on top of the directory stack, or exchanges the topmost two directories on the stack. If -n is given, only change the contents of the stack, but do not change current working directory.

Provided By

Simics Core

See Also

dirs, popd

pwd

Synopsis

pwd

Description

Return the working directory of Simics. Similar to the shell command 'pwd' (print working directory).

When used as part of an expression, returns the current working directory as a string.

Provided By

Simics Core

See Also

cd, ls

python

Synopsis

python "exp"
`exp`

Description

Evaluates exp as a statement or expression in Python and returns the result of any. For example:
$all_objects = (python "list(SIM_object_iterator(None))")

Provided By

Simics Core

See Also

@, run-script, python-mode

python-mode

Synopsis

python-mode

Description

Switch to Python mode in the current interactive command line. Other command lines are not affected. In Python mode, indicated by an alternative prompt, all input is interpreted as Python instead of CLI, i.e. there is no need to start lines with the @ character. Use cli_mode() or Ctrl-D to return to CLI mode.

Provided By

Simics Core

See Also

@, python, run-script

quit

Synopsis

quit [status] [-f] [-d]

Description

Exit Simics gracefully. The optional status argument is the exit status of Simics. When issued in a secondary command-line, such as the telnet-frontend, the -f force flag must be given to exit Simics while the -d can be used to disconnect the command line only keeping Simics running. Disconnecting the command line can also be done with Ctrl-D

Provided By

Simics Core

range

Synopsis

range start [end] [step]

Description

Returns a list of integers from start up to end - 1. A single argument is interpreted as end with 0 as start. The optional step specifies the increment and may be negative.

Provided By

Simics Core

read-configuration

Synopsis

read-configuration file ["prefix"]

Description

Restore simulation state from the state saved in file. We refer to such saved state as a checkpoint. Checkpoints can be created with the write-configuration Simics command.

The prefix argument can be used to add a name prefix to all objects loaded from the checkpoint file. The argument can be used to load the same checkpoint multiple times creating multiple copies of the target machine.

More information about checkpoints can be found in the Configuration and Checkpointing chapter in the Simics User's Guide manual.

The command returns FALSE if a recording was present in the configuration, and playback of it was started. If a recording was present but a playback is already in progress, the command returns NIL. If the configuration contained no recording, the command returns TRUE.

Provided By

Simics Core

See Also

write-configuration, load-persistent-state, record-session

read-reg

Synopsis

read-reg [cpu-name] "reg-name"
<processor_info>.read-reg "reg-name"

Description

Reads the register reg-name from an object implementing the int_register interface.

To read the eax register in an x86 processor called cpu0, the command invocation is read-reg cpu0 eax. There is also a namespace version cpu0.read-reg eax or the more convenient variant %eax that reads a register from the current frontend processor.

If no processor is selected using cpu-name, the current frontend processor is used.

Provided By

Simics Core

See Also

%, write-reg, print-processor-registers, pselect

read-variable

Synopsis

read-variable "variable" [alt]

Description

Returns the value of the CLI variable named variable if it is defined. If the variable does not exist, then alt is returned or FALSE if alt is not specified.

Note that read-variable foo returns the value of variable $foo, whereas read-variable $bar returns the value of the variable whose name is stored in $bar.

Provided By

Simics Core

See Also

defined, $

record-session

Synopsis

record-session file [-u] [-independent-checkpoint] ["comment"]

Description

Save the current machine configuration to file together with a recording of the upcoming simulation session. The session includes all asynchronous input and any session comments. The recording continues until the stop-recording command is issued. The saved session can be loaded using the read-configuration command.

Use the -u flag to store uncompressed files when saving image data in craff format.

Use the -independent-checkpoint flag for saving the complete image data independent of earlier checkpoints, instead of just the modified data (which is the default).

To add a description to the checkpoint, use the comment argument. The comment is saved in the info file in the checkpoint bundle.

Provided By

Simics Core

See Also

read-configuration, write-configuration, start-recording, stop-recording

release-notes

Synopsis

release-notes ["package"] [-all] [-v]

Description

List release notes for all product packages, or a single package selected with the package argument, since the previous versions installed. Nothing is displayed for packages without release note files or for packages installed for the first time. The -all flag adds older release notes to the output. The -v flag turns on verbose output where information on packages without release note files is included.

Provided By

Simics Core

See Also

version

remove-instrumentation

Synopsis

remove-instrumentation [id] ["name"] ["group"] [-verbose]

Description

Remove one or multiple established instrumentation connections.

Specify which connections to disable with one of id, name or group arguments. The id specifies one unique connection. The name specifies all connections associated with a specific tool. The group selects all connections associated with a connection group.

The -verbose lists information on the connections that becomes disabled.

Provided By

Simics Core

See Also

add-instrumentation-filter, add-instrumentation-group, disable-instrumentation, enable-instrumentation, list-instrumentation, list-instrumentation-groups, remove-instrumentation-filter, remove-instrumentation-group

remove-instrumentation-filter

Synopsis

remove-instrumentation-filter [filter] ["group"] [-all]

Description

Removes the filter from all tools. If -all is given, all filters will be removed. If group is given only filters connected to the group will be removed.

Provided By

Simics Core

See Also

<instrumentation_order>.instrumentation-move, <instrumentation_order>.instrumentation-order, add-instrumentation-filter, add-instrumentation-group, disable-instrumentation, enable-instrumentation, instrumentation-move, instrumentation-order, list-instrumentation, list-instrumentation-groups, remove-instrumentation, remove-instrumentation-group

remove-instrumentation-group

Synopsis

remove-instrumentation-group "name"

Description

Remove an existing instrumentation group.

The name is the name of a group created with the add-instrumentation-group earlier. If the group still has established connections, these must first be removed with the remove-instrumentation command.

Provided By

Simics Core

See Also

add-instrumentation-filter, add-instrumentation-group, disable-instrumentation, enable-instrumentation, list-instrumentation, list-instrumentation-groups, remove-instrumentation, remove-instrumentation-filter

remove-symbol-file

Synopsis

remove-symbol-file [symbolfile] ["context-query"] [relocation-address] [-relative] ["section"] [id]

Description

Remove Memory Map entries matching and id or the symbol file symbolfile and optional criteria context query context-query, relocation address relocation-address and/or section name section.

The id argument is the value returned from add-symbol-file and can be used to remove all memory maps that were added from a call to that command. No other arguments should be given when this argument is given.

symbolfile uses Simics's Search Path and path markers (%simics%, %script%) to find the symbol file. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information on how Simics's Search Path is used to locate files.

context-query causes the removal of Memory Map entries matching this context query.

relocation-address is the address, the file/segment/section is mapped to. If -relative is given this matches the relocation address as relative to the binary load address, otherwise it matches the absolute addres. See the show-memorymap command.

section is the name of the relocated section. See the show-memorymap command.

The arguments provided are required to match all mappings added at once for a symbol file, i.e. all mappings that have the same id must be removed at once.

Provided By

tcf-agent

See Also

list-sections, list-segments, show-memorymap, clear-memorymap, add-symbol-file

reset-sys-path

Synopsis

reset-sys-path

Description

Reset Python sys.path to include Simics package paths and the Simics project, if any.

Provided By

Simics Core

restart-simics

Synopsis

restart-simics [file] [-fast] [-stall]

Description

Exits the current Simics session and starts a new empty one. The optional file argument can be the name of a Simics script or checkpoint file to open after restarting. The -fast and -stall flags are deprecated.

Provided By

Simics Core

restore-snapshot

Synopsis

restore-snapshot ["name"]

Description

Restore the state of the simulation from an in-memory snapshot with the given name. If no name is given and there is just one snapshot, that snapshot is restored.

Provided By

Simics Core

See Also

take-snapshot, delete-snapshot, list-snapshots

run

Synopsis

run [count] ["unit"] [-non-blocking]

Description

Starts running the simulation. If the count argument is provided, Simics will execute count number of time units on the currently selected frontend processor and then stop. The time unit, provided by the unit argument, can be one of steps, cycles, s, ms, us, ns, ps, m or h. If no time unit is supplied, count is interpreted as steps if supported by the frontend processor, or else as cycles.

The command will raise an error if the simulation is already running.

When it is needed to reach a specified point in the simulation time one can use commands bp.time.run-until and bp.cycle.run-until that accept the -absolute flag. See the documentation of these command for information about their usage.

When used in a script, the run command will block further script execution until the simulation stops, similar to other CLI commands. This behavior can be overridden by the -non-blocking flag, that also has the side-effect of exiting all script execution. This flag is typically used at the end of a script to start simulation and still get an interactive command line.

Unlike other commands, the run and run-cycles commands will not block the command line when run interactively.

In script branches, the command will not block the script execution when run without the count argument. It will instead continue executing the next command as soon as the simulation has been started. When run with the count argument, the command will block until reaching the specified point in time.

Provided By

Simics Core

See Also

step-instruction, run-cycles, bp.time.run-until, bp.cycle.run-until

run-command-file – deprecated

Synopsis

run-command-file file [-main-branch] [-local]

Description

Starts executing CLI commands from the Simics script file. Simics scripts usually have the ".simics" filename extension but this is only a convention.

Plain command scripts, i.e. scripts without any script declaration block, execute in the same variable scope as the script calling run-command-file. The only exception are variables in the called script declared using the local keyword. Such variables are not available to the calling script. If the -local flag is supplied to the command, then the called script will run with its own copy of all global CLI variables. When the script has finished executing, the original variable values are restored.

CLI variable scoping is different for scripts starting with a script declaration block. Only variables declared in the decl {} block are available to such scripts and only return variables will be passed back to the calling CLI environment.

If run-command-file is issued in a script-branch and the -main-branch flag is specified, then the commands in the file will execute in the main script branch the next time it is scheduled. This allows the command file to define its own script branches for example. Note that scripts without a script declaration block will run in the global CLI variable environment and not within the script-branch scope. Scripts with a declaration block on the other hand will get its parameter set from the script-branch CLI environment at the time run-command-file is called.

If the script to run has declared parameters, then those parameters can be specified as arguments to run-command-file. Tab completion can be used to list the parameters available to a script.

run-command-file script-with-parameters.simics name = "abc" cycle = 20

This is identical to:

$name = "abc"
$cycle = 20
run-command-file script-with-parameters.simics
unset name cycle

It is not possible to pass parameters in this way to a plain script.

Python code can be included in a script by using the @ prefix. Multi-line Python statements only need @ on the first line. For larger sections of Python code, the use of run-python-file is encouraged instead.

Example Simics script:

# This is a Simics script

break 0xffc000 # set a breakpoint
run
echo "breakpoint reached"
run-command-file another-script.simics

If a command fails, the user presses Ctrl-C or stops the simulation from a GUI, the Simics script is interrupted.

run-command-file uses Simics's Search Path and path markers (%simics%, %script%) to find the script to run. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information.

Provided By

Simics Core

See Also

run-script, add-directory, decl

run-cycles

Synopsis

run-cycles [count]

Description

Starts or continues executing cycles. If a count argument is provided, Simics will execute count number of cycles on the currently selected frontend processor and then stop. Running count cycles may or may not be equivalent to running count instructions depending on the processor configuration.

Unlike other commands, the run and run-cycles commands will not block the command line when run interactively.

In script branches, the command will not block the script execution when run without the count argument. It will instead continue executing the next command as soon as the simulation has been started. When run with the count argument, the command will block until reaching the specified point in time.

Provided By

Simics Core

See Also

step-cycle, run

run-python-file – deprecated

Synopsis

run-python-file filename

Description

Read Python code from filename. Any definitions are entered into the top level namespace in the Python environment. Uses the Simics search path to locate filename. This command can be used to start Python scripts inside Simics.

run-python-file uses Simics's Search Path and path markers (%simics%, %script%) to find the script to run. Refer to The Command Line Interface chapter of the Simics User's Guide manual for more information.

Provided By

Simics Core

See Also

python, @, run-script, python-mode, add-directory

run-script

Synopsis

run-script script ["namespace"] [-main-branch] [-local] [preset|presets|"preset_yml"]

Description

Run the target script file named script.

Paths to preset files with arguments can be provided using the preset or presets arguments. An already loaded preset can be given as a string using the preset_yml argument.

When providing a list of presets using presets, arguments in later presets override earlier ones. In this case, each element in the list should be a 2-tuple [file, namespace], identifying the preset file name and the namespace in the parameter tree where it should be applied.

The preset argument and the first element in each list of the presets argument can either point to a file or be a preset name, as returned by list-presets.

Arguments can also be provided on the command line. These override arguments in presets.

When this command is called from a script, the namespace argument is mandatory and specifies the name of the inner node in the parameter tree whose corresponding sub-tree should be provided to the target.

When this command is called interactively from the top level, the namespace argument specifies the parameter system namespace where the resulting arguments are placed, after the command has finished. In this case the argument is optional and defaults to the script or target name, plus a suffix in case the script/target has already run, so that the same command can be run multiple times.

Examples:

run-script "targets/qsp-x86/qsp-clear-linux.target.yml"

The -local flag is provided for compatibility with run-command-file. It only has effect when running scripts with old style script declarations blocks and works as specified by run-command-file.

If run-script is issued in a script-branch and the -main-branch flag is specified, then the code in the file will execute in the main script branch the next time it is scheduled.

The namespace used, or the calculated default namespace, is returned, unless -main-branch was specified.

Provided By

Simics Core

See Also

load-target, <script-params>.help

run-seconds

Synopsis

run-seconds seconds

Description

Starts or continues executing instructions for a period of seconds of virtual time and stops the simulation.

Provided By

Simics Core

See Also

run-cycles

save-component-template

Synopsis

save-component-template file

Description

Save a configuration to file with only component objects and their connection information. OS Awareness trackers are not included in this list. This template corresponds to an empty machine configuration, without any software setup. The saved component template can be loaded into Simics using the read-configuration command, producing a collection of non-instantiated components.

Provided By

Simics Core

See Also

read-configuration, write-configuration, list-components

save-file

Synopsis

save-file [object] filename start length [-overwrite]
<image>.save-file filename start length [-overwrite]
<memory_space>.save-file filename start length [-overwrite]

Description

Saves the contents of a memory region, defined by start address and length to the file filename in binary format.

The command will fail if the destination file already exists, unless -overwrite is specified.

The non-namespace version of the command uses the specified object, with the default being the current frontend processor's physical memory space. The save-file command exists for symmetry with the other save-file commands. It is more efficient to use the save-image-contents or <image>.save commands.

Provided By

Simics Core

See Also

load-file, <image>.save, save-image-contents

save-image-contents

Synopsis

save-image-contents image filename [start-byte] [length] [-save-craff|-save-raw|-save-vhdx] [-overwrite] [-u]

Description

Writes the image contents to filename for the specified image in the specified format.

If start-byte and/or length are given, they specify the start offset address and number of bytes to write respectively; otherwise, the whole image is copied.

If -save-craff is specified, data is saved in craff format, using compression unless -u is specified. If -save-raw is specified, data is saved in raw format, which is also the default option. If -save-vhdx is specified, data is saved in VHDX format.

The command will fail if the destination file already exists, unless -overwrite is specified.

Provided By

Simics Core

See Also

<image>.save, <image>.save-diff-file

save-image-diff

Synopsis

save-image-diff image filename [-overwrite] [-u]

Description

Writes changes to the specified image since the last checkpoint to filename.

No file is created if there are no changes to the image.

By default the file is written in compressed craff format, unless -u is specified.

The command will fail if the destination file already exists, unless -overwrite is specified.

Provided By

Simics Core

See Also

<image>.save-diff-file, save-image-contents, <image>.save

save-intel-hex

Synopsis

save-intel-hex [object] filename start length [-skip-zeros] [-dirty-only] [-overwrite]
<image>.save-intel-hex filename [start] [length] [-skip-zeros] [-dirty-only] [-overwrite]
<memory_space>.save-intel-hex filename start length [-skip-zeros] [-dirty-only] [-overwrite]

Description

Saves the contents of a memory region, defined by start address and length to the file filename in the Intel HEX file format.

The -skip-zeros argument makes the command skip regions of zeros, 16 bytes or more, in the output file.

The command will fail if the destination file already exists, unless -overwrite is specified.

Due to the flexible mapping support in memory-spaces, it can take a long time to save large memory areas. The image variant of the command is much faster, assuming it is used with -skip-zeros.

When used on an image object, the -dirty-only argument can be used to save dirty pages only, i.e. pages which have not been written to one of the image backing files.

The non-namespace version of the command uses the specified object, defaulting to the current frontend processor's physical memory space.

Provided By

Simics Core

See Also

load-intel-hex

save-intel-obj

Synopsis

save-intel-obj [object] filename start length [-skip-zeros] [-dirty-only] [-overwrite]
<image>.save-intel-32-obj filename [start] [length] [-skip-zeros] [-dirty-only] [-overwrite]
<image>.save-intel-obj filename [start] [length] [-skip-zeros] [-dirty-only] [-overwrite]
<memory_space>.save-intel-32-obj filename start length [-skip-zeros] [-dirty-only] [-overwrite]
<memory_space>.save-intel-obj filename start length [-skip-zeros] [-dirty-only] [-overwrite]
save-intel-32-obj [object] filename start length [-skip-zeros] [-dirty-only] [-overwrite]

Description

Saves the contents of a memory region, defined by start address and length to the file filename in the Intel .obj or .32.obj format.

The -skip-zeros argument makes the command skip regions of zeros, 16 bytes or more, in the output file.

The command will fail if the destination file already exists, unless -overwrite is specified.

Due to the flexible mapping support in memory-spaces, it can take a long time to save large memory areas. The image variant of the command is much faster, assuming it is used with -skip-zeros.

When used on an image object, the -dirty-only argument can be used to save dirty pages only, i.e. pages which have not been written to one of the image backing files.

The non-namespace version of the command uses the specified object, defaulting to the current frontend processor's physical memory space.

Provided By

Simics Core

See Also

load-intel-obj, save-intel-32-obj

save-persistent-state

Synopsis

save-persistent-state file [-u] [-save-raw|-save-craff] [-independent-state] ["comment"]

Description

Save the persistent simulator state to file. Persistent data typically includes disk images, NVRAM and flash memory contents and clock settings, i.e. data that survive reboots. The persistent state is saved as a standard Simics configuration.

Unless the -independent-state flag is specified, the state is saved incrementally. This allows to save time and disk space but, as result, the saved state usually depends on the files which were saved earlier as well as on the files (e.g., disk images) which were used when simulation objects were created. This means that care should be taken when deleting files created previously.

Use the -independent-state flag for saving the complete image data independent of states which were saved earlier, instead of just the modified data (which is the default).

To add a description to the saved state, use the comment argument. The comment is saved in the info file in the persistent state bundle.

More information about saving persistent state can be found in the Configuration and Checkpointing chapter of the Simics User's Guide manual.

The command flags described below allow to control some subtle aspects related to the format used for the saved state and are rarely needed.

The -save-raw flag tells Simics to store images in raw format. The -save-craff flag (default) tells Simics to store images in the craff format.

The -u flag tells Simics to store images in the uncompressed craff format.

Provided By

Simics Core

See Also

load-persistent-state, write-configuration

save-preferences

Synopsis

save-preferences

Description

Save the current user preference settings. The preferences will be loaded automatically the next time Simics is started.

Provided By

Simics Core

See Also

list-preferences

script-barrier-limit

Synopsis

script-barrier-limit barrier [-add|-sub] [num_branches]

Description

Changes the number of script branches that an existing script branch barrier waits for. The -add and -sub flags tell the command to add or subtract num_branches to or from the current wait limit. Without any flag, the new limit is set to num_branches. Lowering the limit below the number of currently waiting script branches for a barrier is not allowed. The command can be called without any argument to get the current limit. When used in an expression, the command returns the current wait limit.

Provided By

Simics Core

See Also

script-branch, create-script-barrier, wait-for-script-barrier

script-branch

Synopsis

script-branch ["description"] { commands }

Description

Starts a block of commands as a separate branch. The wait-for-* commands can be used to postpone the execution of a script branch until a selection action occurs.

The optional description string may be used to identify the script-branch. The text will be printed by list-script-branches.

Provided By

Simics Core

See Also

list-script-branches, break-script-branch, interrupt-script-branch, wait-for-script-barrier, wait-for-script-pipe, <breakpoint>.bp-wait-for-memory, <break_strings_v2>.bp-wait-for-console-string, <processor_internal>.bp-wait-for-control-register, <cycle>.bp-wait-for-cycle, <step>.bp-wait-for-step, <cycle>.bp-wait-for-time, <osa_component>.bp-wait-for

script-pipe-has-data

Synopsis

script-pipe-has-data pipe

Description

Returns true if the script pipe has data that can be read and false if it is empty. The pipe argument is the return value from create-script-pipe.

Provided By

Simics Core

See Also

script-branch, create-script-pipe, wait-for-script-pipe, add-data-to-script-pipe

set

Synopsis

set address value [size] [-l] [-b] [-t]
<memory_space>.set address value [size] [-l] [-b] [-t] [initiator]
<memory_space>.write address value [size] [-l] [-b] [-t] [initiator]
<port_space>.set address value [size] [-l] [-b] [-t] [initiator]
<port_space>.write address value [size] [-l] [-b] [-t] [initiator]

Description

Set the size bytes of physical memory at location address to value.

If value is larger than the specified size, an error is given. This can be ignored with the -t flag, which will truncate the value to size bytes.

If initiator is the object that will be used as the source of the memory access. Supplying an initiator is rarely needed, but some devices may only accept accesses from certain initiating objects.

The -l and -b flags are used to select little-endian and big-endian byte order, respectively. If neither is given, the byte order of the initiator is used if specified and a processor, or else the order of the currently selected processor.

The set command variants perform the access in inquiry mode without triggering any side-effects while <memory_space>.write and <port_space>.write may trigger side-effects.

If the value argument is a list, then each item is written to memory as a value of size bytes, starting at address. The byte order flags operate on each item in the list.

The non-namespace version of this command operates on the physical memory associated with the current processor.

Provided By

Simics Core

See Also

get, x, pselect

set-context

Synopsis

set-context "context"
<context_handler>.set-context "context"

Description

Sets the current context of a processor to context. If the context does not exist, it is created.

Provided By

Simics Core

See Also

new-context

set-device-offset

Synopsis

set-device-offset "bank" offset data size [-l|-b]
write-device-offset "bank" offset data size [-l|-b]

Description

Write data of size to the bank object bank, i.e. device.bank.<bank-name>, or to other object implementing the transaction or io_memory interface. The old way to specify register banks (device.<bank-name>) is supported but deprecated. The offset is the byte offset from the start of the bank/object. For devices that still use function numbers to identify memory mappings, the bank argument can be in the form device.<function_number>.

The set-device-offset command performs an inquiry write, typically not overwriting read-only data in the device, while write-device-offset does a standard write access. Note that not all device models support inquiry accesses.

Some devices, such as ones written in DML, provide a preferred byte endianness that data should be converted to. The command will convert to this endianness unless the -l or -b flags are used to select an alternate one.

Not all devices support accesses that span several registers or that accesses a register partially. (For DML 1.2 devices, such support must be enabled in the device when it is compiled. This limitation is planned to be removed in the next version of the language.)

Provided By

Simics Core

See Also

get-device-reg, get-device-offset, set-device-reg, print-device-reg-info, print-device-regs

set-device-reg

Synopsis

set-device-reg "register" ["field"] data [-l|-b]
write-device-reg "register" ["field"] data [-l|-b]

Description

Write data to a device register. The register argument is of the form device.bank.register.

If the destination register bank implements the register_view interface, then this is used by the set-device-reg command to write register. Otherwise the set-device-reg command performs an inquiry write, typically not overwriting read-only data in the device. The write-device-reg command always does a standard write access. Note that not all device models support inquiry accesses.

The field parameter can be specified to update a register field. One can use the print-device-reg-info command to see which fields a register has.

The -l or -b flags are used to specify in what byte order data should be interpreted. The default is to interpret data as little-endian, except if a bank has explicitly declared big-endian as its preferred byte order (which can happen for devices written in DML).

Provided By

Simics Core

See Also

read-device-reg, set-device-offset, print-device-reg-info, print-device-regs

set-image-memory-limit

Synopsis

set-image-memory-limit [limit] [swapdir]

Description

Limits the in-memory footprint of all image objects to limit megabytes. This only limits the memory consumed by image pages in memory. While this is typically a very large part of Simics's memory usage, other data structures are not limited by this command.

If limit is zero, the memory limit is removed. If swapdir is specified, it indicates a directory to use for swap files. If no argument is given, the current setting is displayed.

Simics sets a default memory limit at startup that depends on the amount of memory on the host system, generally about two-thirds.

Provided By

Simics Core

set-max-time-span

Synopsis

set-max-time-span [max-time-span] [cell]

Description

Set the max-time-span parameter for the cell cell, or for all cells if the cell argument is omitted.

Simics ensures that CPUs simulated in parallel within a particular cell never has virtual time differences that exceed this setting. The setting is only applicable if Simics is running in the subsystem or the multicore threading mode.

Setting a too large interval may introduce too much latency in the simulation. On the other hand, setting a too small value may increase the synchronization overhead and limit the parallelism, leading to degraded simulation performance.

The special value 0 means that the time-quantum value should be used as the max-time-span parameter.

NOTE: The parameter resembles the time-quantum parameter, which is used by Simics when CPUs are simulated in sequences from a single thread.

NOTE: CPUs belonging to different cells will also be kept synchronized, but in this case the maximal virtual time difference is controlled by the set-min-latency command.

Provided By

Simics Core

See Also

set-threading-mode, set-time-quantum, set-min-latency

set-min-latency

Synopsis

set-min-latency [min-latency|count] ["unit"]

Description

Set the minimum synchronization latency between cells in the default_sync_domain object (creating it if it does not exist). The latency value can be specified using the count and unit arguments or, for legacy usage, using the min-latency argument (in seconds).

The time unit, specified by the unit argument, can be one of s, ms, us, ns, ps, m or h.

Without argument the minimum latency is printed.

Provided By

Simics Core

See Also

print-sync-info

set-pc

Synopsis

set-pc address
<processor_info>.set-pc address

Description

Set program counter (instruction pointer) of the processor (defaults to the current frontend processor) to address.

Provided By

Simics Core

set-prioritized-package

Synopsis

set-prioritized-package [-current] ["package"] [-clear]

Description

Mark a Simics package, with the name package, as prioritized. When a module to be loaded is found in several packages, the one from a prioritized package takes precedence over the modules found in non-prioritized packages. This priority mechanism overrides the default behavior of selecting the most recently built module. Modules found in user-added search paths and in the project directory still have higher priority than modules from packages.

For scripts distributed in a package, the -current flag can be used instead of a name to mark the package they belong to as prioritized.

Using the -clear flag will empty the list of prioritized packages.

Provided By

Simics Core

See Also

list-prioritized-packages, load-module

set-table-border-style

Synopsis

set-table-border-style [style]

Description

Set or report the border style of tables. Without argument the current value is reported. Values for style can be any of ascii, borderless, header_only_underline_ascii, thick, thin. Run save-preferences to save any changes for the future.

Provided By

Simics Core

set-thread-limit

Synopsis

set-thread-limit [limit]

Description

Limits the number of threads Simics may use for multithreaded simulation. If limit is zero, the thread limit is removed.

If no argument is given, the current setting is displayed.

Provided By

Simics Core

set-threading-mode

Synopsis

set-threading-mode [mode] [cell]

Description

Set the threading mode to be used by Simics. The following values for mode are supported:

multicore - run in multicore-threaded mode. This is a nondeterministic mode where individual CPU cores are simulated in parallel, for models supporting it.

subsystem - run in subsystem-threaded mode. In this mode, groups of tightly coupled CPU cores can be simulated in parallel, but tightly coupled cores are simulated in sequence. This is also a nondeterministic mode.

serialized - run in serialized mode, which usually is deterministic. All CPUs belonging to a particular cell are simulated in sequence.

Regardless of the selected threading modes, models belonging to different cells can always be simulated in parallel unless all multithreading has been disabled with the disable-multithreading command.

If a cell argument is specified, then the threading mode is only applied to that particular cell.

If the command is given without a mode argument, then the current threading configuration is displayed together with various latency settings affecting the simulation. Settings which do not apply to the current mode or configuration are printed in parentheses. The number of concurrent threads that can be used to simulate the workload of a particular cell is listed in the #td column (the number of distinct thread domains in the cell containing CPUs). Please note that if, for example, the CPUs in the cell support the subsystem mode but don't support the multithreading mode then commands set-threading-mode multicore and set-threading-mode subsystem are equivalent (i.e. both commands switch CPUs to the Sim_Concurrency_Mode_Serialized_Memory mode). For such case the cell's current threading configuration that is reported by the set-threading-mode command is reported as being in a multicore/subsystem mode.

Provided By

Simics Core

See Also

set-max-time-span, set-time-quantum, set-min-latency, set-thread-limit, list-thread-domains

set-time-quantum

Synopsis

set-time-quantum [cycles|seconds|count] ["unit"] [picoseconds] [cell]

Description

Change the time between processor switches for processors in the cell cell. The time can be specified using the count and unit arguments, or, for legacy purposes, using the cycles, picoseconds or seconds arguments.

The time unit, specified by the unit argument, can be one of cycles, s, ms, us, ns, ps, m or h.

The command sets the processor switch time globally if the cell argument is omitted, and all existing cells will have their time quantum reset to the new value, and cells created later will use the new value.

Without arguments, set-time-quantum prints the time quantum of all cells in the system, as well as the default time quantum (if set). In this case the output is printed also when run non-interactively.

If the argument is given in cycles the time_quantum attribute is unset. And if the argument is given in seconds then the cpu_switch_time attribute is unset, both in the sim class.

When used in an expression, the command returns the given value, in seconds or cycles, or an exception is raised. Without arguments the current time quantum is returned, or -1 if no cell exists, or if there are cells with different time quantum values.

Provided By

Simics Core

See Also

<cell>.set-time-quantum, set-max-time-span

setup-x86-timing

Synopsis

setup-x86-timing model

Description

Set the timing for all x86 processors to the given model. The supported models are "vmp" which sets up a VMP-compatible timing model optimized for interactive use, and "classic" which uses a simple one-cycle-per-instruction mode. The classic model is not VMP compatible.

Provided By

Simics Core

shell

Synopsis

shell [-bg] "exp"
wait-for-shell "exp"

Description

Executes the exp argument in the system command line interpreter. For Linux this is the default shell and for Windows it is cmd.exe.

The -bg flag launches the job in the background without any way to capture output or errors.

If the command returns a non-zero exit status and -bg is not used, a command line error will be signalled. The actual exit status is not available.

The wait-for-shell command is similar to shell. It can be used in a script branch, allowing other script branches to execute in parallel while waiting for the command to finish.

When used in an expression (without the -bg flag), any messages printed to standard output will be returned:
$today = (shell "date +%F") on Linux; or
$today = (shell "date /t") on Windows.

Provided By

Simics Core

See Also

!, pipe, script-branch

show-memorymap

Synopsis

show-memorymap

Description

Show the current memory map used by the debugger. This is what is built with the add-symbol-file command. The memory map is used in addition to the memory map configured in Eclipse.

Provided By

tcf-agent

See Also

add-symbol-file, clear-memorymap

show-pathmap

Synopsis

show-pathmap

Description

Show all entries in the pathmap.

The pathmap is the name for the translations from paths in target binaries to paths on the Simics host. This pathmap is specific to the command line interface to the debugger, it is not shared with the Eclipse frontend to the debugger.

Provided By

tcf-agent

See Also

add-pathmap-entry

signed

Synopsis

signed int
signed16 int
signed32 int
signed64 int
signed8 int

Description

Interpret an integer, int, as a signed value of a specific bit width. For example signed16 0xffff will return -1. The signed command assumes a 64 bit width.

Provided By

Simics Core

See Also

atoi, unsigned

simulation-running

Synopsis

simulation-running

Description

Returns true if the simulation is currently running and false if it is stopped.

Provided By

Simics Core

See Also

run, stop

split-string

Synopsis

split-string [-type] "separator" "string" [-str]

Description

Splits the string argument using the given separator or based on its type. A type is selected by adding the -type flag and providing the name of type in the separator argument. The supported types are ethernet, ipv4, ipv6, filename or path.

If the empty string is used as separator, the command will split at any whitespace.

The return value from the command is a list of strings or integers depending on the type. If a user-supplied separator is used instead of a type, a list of strings is returned. The -str can be used to always get a return value of strings no matter the type.

Supported conversion types:

ethernet
Split Ethernet MAC address into list of six integers.
ipv4
Split IPv4 address in dot-decimal notation into list of four integers.
ipv6
Split IPv6 address in hexadecimal, colon-separated notation into list of eight integers.
filename
Split a filesystem path into a directory part and a filename part.
path
Split a filesystem path into one part for each directory level.

The filename and path types work on both Linux and Windows style filesystem paths independent of the host system.

Examples using pre-defined string types:

"ethernet" "ff:fe:01:55:88:11"[255, 254, 1, 85, 136, 17]
"ipv4" "255.0.0.1"[255, 0, 0, 1]
"ipv6" "2001:db8:85a3::7334"[8193, 3512, 34211, 0, 0, 0, 0, 29492]
"ipv6" "::1"[0,0,0,0,0,0,0,1]
"ipv6" -str "1:ffff::1"["1","ffff","0","0","0","0","0","1"]
"filename" "/"["/", ""]
"filename" "/home/user/x"["/home/user", "x"]
"filename" "\\home\user\x"["\\home\user", "x"]
"filename" "c:\x"["c:\", "x"]
"path" "c:\home\user\x"["c:\", "home", "user", "x"]

Provided By

Simics Core

stack-trace

Synopsis

stack-trace [maxdepth]

Description

Displays a stack trace in the current context of the specified processor, or the current processor if none was specified. At most maxdepth frames are shown, 64 by default.

Provided By

tcf-agent

See Also

frame

start-agent-manager

Synopsis

start-agent-manager ["name"]

Description

Create and enable a Simics Agent Manager for Matic. Only one agent manager can exist in the simulation.

The name argument is optional and defaults to 'agent_manager'.

See also: the agent_manager class.

Provided By

matic

start-command-line-capture

Synopsis

start-command-line-capture filename [-overwrite] [-append] [-timestamp]

Description

Start directing Simics output to the file filename. The file will not be overwritten unless the -overwrite flag is specified. The -append flag allows the output to be appended to the specified file. An optional time stamp showing wall-clock time can be added at the start of each line, enabled with the -timestamp flag.

The file will contain regular Simics output and CLI error messages, as well as typed CLI commands, prefixed by the Simics prompt.

Provided By

Simics Core

See Also

stop-command-line-capture

start-eclipse-backend

Synopsis

start-eclipse-backend ["url"] ["name"] [-log] ["log-file"] ["log-mode"]

Description

Start accepting connections from Eclipse on the given url and participate in autodiscovery.

The url argument specifies the protocol and optionally address where TCF will open a TCP server socket on an available port, typically 1534.

The name is the Locator service peer name and it defaults to 'Simics'.

With the option -log you can specify the agent to log TCF traces in the file specified with option log-file. Option log-file defaults to 'tcf.log'. The flag -log is automatically set if log-file is specified. If "-" is set as log file, logs will be sent to stderr.

With the option log-mode you can specify what TCF traces will be logged. The command is a comma separated list of modes. The list of modes is available through auto-completion. By default, all modes are selected.

On success, the command returns a list on the format [protocol, [host*], port]. Once this command has been executed and successfully configured a network service, this cannot be changed in the same Simics session, which means that Simics needs to be restarted in order to provide different network properties (url and name).

Provided By

tcf-agent

See Also

debug-context, new-tcf-agent

start-magic-pipe

Synopsis

start-magic-pipe ["name"] [-arch32]

Description

Create and enable a Simics Magic communication pipe for Magic. Only one magic pipe can exist in the simulation.

The name argument is optional and defaults to 'magic_pipe'.

The -arch32 flag is optional and defaults to false. It is useful in the case of 32-bit userspace applications running on 64-bit architecture. This flag affects the entire simulation.

See also: The magic_pipe class.

Provided By

magic-pipe

start-pipe-manager

Synopsis

start-pipe-manager ["name"]

Description

Create and enable the test pipe manager. Only one pipe manager can exist in the simulation.

The name argument is optional and defaults to "pipe_manager".

Provided By

pipe-manager-example

start-playback

Synopsis

start-playback file [-no-stop]

Description

Start playback of recorded asynchronous input from file file, created by the start-recording command. The simulated system configuration must match the one that the recording was created for. The playback can be stopped prematurely by issuing stop-playback. The simulation is automatically stopped when the replay reaches the end of a recording, but this can be avoided with the -no-stop flag.

Provided By

Simics Core

See Also

stop-playback, start-recording

start-recording

Synopsis

start-recording file

Description

Start recording all asynchronous input to the system to the file file. Asynchronous input includes keyboard and mouse events and network traffic from the real host. All recorder objects in the system, typically one for each simulation cell, will be enabled and will write their recording data to individual files associated with the main recording file. Recording is stopped using the stop-recording command.

Provided By

Simics Core

See Also

stop-recording, start-playback

start-simicsfs-server

Synopsis

start-simicsfs-server ["name"]

Description

Create SimicsFS server and connect to magic-pipe. Only one SimicsFS server can exist in the simulation.

The name argument is optional and defaults to "simicsfs_server".

Provided By

simicsfs-server

state-assertion-connect

Synopsis

state-assertion-connect ["server"] [port] ["compression"] [align] [post_events] ["name"]

Description

This command connects to a state-assertion receiver so that all data gathered during the state recording will be sent over to the receiver.

- server receiver host waiting for the connection, default is "localhost"
- port port number on which the receiver is waiting for a connection, default is 6666
- compression is the compression used (none, gz), default is "none"
- align is the alignment of the structures inside the file, default is 8. It can be useful to set it so that objects saving their state are sure to get correctly aligned structures.
- post_events tells state-assertion to post events by itself for recording and comparing, default is true.
- name is the name of the object to be created, default is saX where X is a number.

Provided By

state-assertion

state-assertion-create-file

Synopsis

state-assertion-create-file file ["compression"] ["name"] [align] [post_events]

Description

This command creates a state assertion file.

- file is the name of the file to be created, default is /tmp/state-assertion-$USER.gz
- compression is the compression used (none, gz), default is a guess based on file name
- name is the name of the object to be created, default is saX where X is a number.
- align is the alignment of the structures inside the file, default is 8. It can be useful to set it so that objects saving their state are sure to get correctly aligned structures.
- post_events tells state-assertion to post events by itself for recording and comparing, default is true.

Provided By

state-assertion

state-assertion-open-file

Synopsis

state-assertion-open-file file ["compression"] ["name"] [post_events]

Description

Open a state assertion file to compare with the current execution.

- file is the name of the file to be created, default is /tmp/state-assertion-$USER.gz
- compression is the compression used (none, gz), default is a guess based on file name
- name is the name of the object to be created, default is saX where X is a number.
- post_events tells state-assertion to post events by itself for recording and comparing, default is true.

Provided By

state-assertion

state-assertion-receive

Synopsis

state-assertion-receive [port] ["compression"] ["name"] [post_events]

Description

Wait for a connection (state-assertion-connect) from a sender. The data received from the sender will be compared against the current execution.

- port indicates where Simics should wait for the connection, default is 6666
- compression is the compression used on the file (none, gz), default is "none"
- name is the name of the object, default is saX is where X is a number.
- post_events tells state-assertion that sender posts events for comparing, default is true.

Provided By

state-assertion

state-assertion-simple-assert

Synopsis

state-assertion-simple-assert [file] ["compression"] [post_event]

Description

This command asserts the current run against the file. You just have to run 'c' afterwards to begin the assertion process.

- file is the file to read the configuration from, default is the temporary file created by state-assertion starting commands
- compression is the compression used on the file (none, gz), default is a guess based on file name
- post_event tells state-assertion that sender posts events for comparing, default is true.

Provided By

state-assertion

state-assertion-simple-record

Synopsis

state-assertion-simple-record [file] ["compression"] object [steps] [type]

Description

Record the state of an object to file every x steps. You just have to run 'c' afterwards to begin the recording.

- file is the file to write to, default is /tmp/state-assertion-$USER.gz
- compression is the compression used on the file (none, gz), default is a guess based on file name
- object is the simics object whose state will be recorded, the object must implement the save_state interface
- steps is the number of steps between each state recording, default is 1.
- type is the type of state saved in the file (for devices that provide several, the most complete state is saved by default).

Provided By

state-assertion

step-cycle

Synopsis

step-cycle [count]

Description

Executes count cycles, printing the next instruction to be executed at each cycle. count defaults to one.

Provided By

Simics Core

See Also

run, step-instruction, force-step-instruction

step-instruction

Synopsis

step-instruction [count] [-r] [-q]

Description

Executes count instructions, printing instruction executed, or exception taken, at each step. count defaults to one. With the -r flag, register changes will also be printed. The -q flag tells the command not to disassemble the executed instruction.

Provided By

Simics Core

See Also

run, step-cycle, force-step-instruction

step-into

Synopsis

step-into

Description

step-into causes the simulation to run until it reaches another source line.

Provided By

tcf-agent

See Also

step-out, step-over, step-over-instruction

step-out

Synopsis

step-out

Description

step-out causes the simulation to run until the current function has returned.

Provided By

tcf-agent

See Also

step-into, step-over, step-over-instruction

step-over

Synopsis

step-over

Description

step-over causes the simulation to run until it reaches another source line, but will not stop in subroutine calls.

Provided By

tcf-agent

See Also

step-into, step-out, step-over-instruction

step-over-instruction

Synopsis

step-over-instruction

Description

step-over-instruction causes the simulation to run until it reaches another instruction, but will not stop in subroutine calls.

Provided By

tcf-agent

See Also

step-into, step-out, step-over

stop

Synopsis

stop [-a] ["message"]

Description

Stops the simulation as soon as possible. If the -a argument is given, any command script running will also be interrupted. A message to be printed on the console when the simulation stops can also be supplied. If the stop command is called from a script branch, then the branch will wait for the simulation to finish before the command returns. When called from the main branch, the simulation may still execute when the command returns.

Provided By

Simics Core

See Also

run, interrupt-script

stop-command-line-capture

Synopsis

stop-command-line-capture [filename]

Description

Stop sending output to the file filename. If no argument is given, then the command will disable all file output.

Provided By

Simics Core

See Also

start-command-line-capture

stop-playback

Synopsis

stop-playback

Description

Stop replaying asynchronous input, previously started with the start-playback command.

Provided By

Simics Core

See Also

start-playback, start-recording

stop-recording

Synopsis

stop-recording

Description

Stop the recording of a session or of asynchronous input only, previously started with the record-session or start-recording commands.

Provided By

Simics Core

See Also

start-playback, start-recording

string-length

Synopsis

string-length "string"

Description

Return the length of a CLI string in bytes. For unicode strings, the number of bytes may be larger than the number of characters.

Provided By

Simics Core

sym-address

Synopsis

sym-address (line|"expression")

Description

Returns the address of the line or the evaluated expression, for example a symbol, in the current stack frame or the source reference in the file:line or line format. The argument may have to be surrounded by double quotes if it contains certain meta-characters.

Provided By

tcf-agent

See Also

sym-value, sym-type, sym-string, sym-source

sym-file

Synopsis

sym-file ("function"|address)

Description

Returns the source file with complete path in the host machine's file system for function or address.

Provided By

tcf-agent

See Also

sym-function, sym-line, sym-source, sym-address

sym-function

Synopsis

sym-function address

Description

Returns the function at the specified address in memory.

Provided By

tcf-agent

See Also

sym-file, sym-line, sym-source, sym-address

sym-line

Synopsis

sym-line ("function"|address)

Description

Returns the source line for function or address.

Provided By

tcf-agent

See Also

sym-function, sym-file, sym-source, sym-address

sym-list

Synopsis

sym-list [-globals] [-locals] [-functions] ["substr"] [-regex] [-sort-by-address] [-show-all-rows]

Description

List symbols visible from current context together with type, address and size. Not all symbols have type, address or size.

With the options the set of symbols listed can be controlled, -globals includes global data symbols, -locals includes local symbols and arguments currently visible, and -functions includes function symbols. Default is to list global and local symbols.

If substr is specified, just symbols whose names contain the given substring (case sensitive) are included in the list.

If -regex is specified substr is treated as a Python regular expression.

Symbols are listed in alphabetical order unless -sort-by-address flag is specified.

By default max 100 symbols are listed. With the -show-all-rows flag all symbols are included.

Provided By

tcf-agent

See Also

sym-address, sym-type, sym-value

sym-source

Synopsis

sym-source ("function"|address)

Description

Prints the source file, line and function for function or address.

Provided By

tcf-agent

See Also

sym-file, sym-line, sym-function, sym-address

sym-string

Synopsis

sym-string ("expression"|address)

Description

Interprets address or the value of expression as a pointer to a string in target memory, returning the string. The expression, if used, is evaluated in the current stack frame. The argument may have to be surrounded by double quotes if it contains certain meta-characters.

Provided By

tcf-agent

See Also

sym-value, sym-type, sym-address

sym-type

Synopsis

sym-type "expression"

Description

Returns the type of the symbol, or the evaluated expression, in the current stack frame. The argument may have to be surrounded by double quotes if it contains certain meta-characters.

Provided By

tcf-agent

See Also

sym-value, sym-address, sym-string

sym-value

Synopsis

sym-value "expression"

Description

Evaluates expression in the current stack frame. The argument may have to be surrounded by double quotes if it contains certain meta-characters. When sym-value is used in a CLI expression, the value of the supplied expression is returned. When used stand-alone, the value is pretty-printed.

Provided By

tcf-agent

See Also

stack-trace, frame, sym-type, sym-address, sym-string

sym-write

Synopsis

sym-write "variable" value

Description

Writes the value to the variable with the size of the variable. If the value is greater than the size of the variable, the behavior is undefined. Only variables with basic type or pointer type may be written to. When writing floating point values, the variable must be of floating point type.

Provided By

tcf-agent

See Also

sym-address, <memory_space>.write, set

system-info

Synopsis

system-info [file]

Description

Show information about both the host system and the target system. Includes information useful when analyzing correctness and performance problems. Use file to write the information to file.

Provided By

Simics Core

See Also

print-image-memory-stats

system-perfmeter

Synopsis

system-perfmeter [sample_time] [mode] [file] [-deactivate] [-realtime] [-cpu-idle] [-cpu-exec-mode] [-cpu-host-ticks] [-cpu-host-ticks-raw] [-cell-host-ticks] [-cell-host-ticks-raw] [-summary] [-summary-always] [-module-profile] [-window] [-top] [-disabled] [-mips] [-emips] [-multicore-accelerator] [-mem] [-shared] [-io] [-mips-win] [-no-log] [-only-current-cell] [-include-stop-time]

Description

Activates performance measurement on one or more systems running within Simics. The resulting printouts gives an idea on how fast Simics executes and can be useful to identify opportunities for optimization.

The command periodically outputs various performance related counters for the period, called a sample. Counters measure activity during the period, unless otherwise noted. The counters are also accumulated and can be presented in a summary. Each time the command is given, all accumulated counters are reset to zero.

The sample output contains a number of columns; Total-vt (virtual time) and Total-rt (real time) is the accumulated number of seconds that has been executed on the system since the command was issued. Similarly, Sample-vt and Sample-rt is the sample time in seconds. Slowdown measures the ratio between the sample virtual time and real time. CPU indicates how much host CPU that was used by Simics during the sample, where 100% equals to one cpu running during the whole sample (as Simics is multi-threaded, this number can be much larger than 100). Idle represent how much all CPUs in the system was in idle during the sample. Instructions that do not compute anything, like the x86 halt instruction, and non-computing loops detected by Simics (see hypersim-status) are defined as idle instructions. A large idle percentage means that Simics can fast-forward time more, and hence gives better performance.

Virtual time is measured on the current cycle object (selectable with pselect) when the command is given.

To disable the system perfmeter use -deactivate.

Output Presentation

How frequent the measurements should be presented is controlled with the sample_time parameter which represent the time that should elapse for each sample, default is one second. Default is to sample based on virtual time, but using -realtime switches the sampling to be based on real (host) time.

The system-perfmeter will subtract any time when the simulation is not running from the measured wall-clock time. This allows the simulation to be temporary stopped in the middle of the execution without corrupting the measurement. The -include-stop-time flag prevents this subtraction from happening, allowing the actual real-time to be shown.

The -summary causes a summary report to be printed out each time simulation is stopped. It includes the same counters that you get for each sample, but the numbers are calculated based on the whole run, not just a sample, since the command was issued. The summary also includes performance hints as well as system info about target and host. A summary is only printed if at least one sample has been printed since the last time Simics stopped. The -summary-always flag prints the summary information each time Simics stops instead. The system-perfmeter-summary command also prints the summary report.

With -only-current-cell, metrics are only collected for the cell of the currently selected frontend object at the time when the command is run (selected with pselect). Global metrics such as mem will still include the entire simulation. If -only-current-cell is not specified, then metrics are based on all cells.

Output Redirection

Normally a text line with results is written as an output each measured sample. The -window flag opens a separate text window where the continued output is written instead of printing this in the Simics console. If no output is wanted at all, -no-log can be used (can be useful when running with only -top or -mips-win).

The console printouts can be sent to a file specified by the file argument. The default is to output the result to the Simics console. If -window is used together with a specified file, the output is written both to the file and to the separate window.

The -top flag opens a separate text window displaying some statistics on the execution, similar to the Linux top utility.

Similar, -mips-win opens a window displaying only the current MIPS value which can be useful for demonstration.

Convenience Argument

The optional mode argument can take one of "minimum", "normal" and "detailed" as its value. Each mode selects a number of the flags described below. Using a mode, flags can also be specified separately.
- The "minimum" mode includes -emips, -realtime and -summary.
- The "normal" mode includes -cpu-exec-mode, -cpu-idle, -emips, -realtime and -summary.
- The "detailed" mode includes -cpu-exec-mode, -cpu-host-ticks, -cpu-idle, -emips, -io, -mem, -module-profile, -realtime and -summary.

Counter Selection

All of the below flags are used to add various counters to the sample. Instruction mode per cpu and host tick counters are grouped using brackets. An explanation of the label of each column in the brackets is printed when turning on profiling and when the summary is printed.

Instructions can be simulated in four different simulator modes: idle, interpreter, JIT, or VMP. For each processor, the percentage run in this mode out of all instructions run on the processor during the sample can be shown. -cpu-exec-mode will show numbers for processor instructions in JIT and VMP mode. -cpu-idle will show numbers for idle mode instructions. Interpreter mode is not shown, except in the summary. Columns are grouped per mode, and modes are sorted idle, JIT, VMP from left to right. If no instructions at all were executed during the sample, the processor is considered disabled and DIS is shown. Note that the absolute number of instructions may vary per processor (due to CPI, frequency, idle). Also, note that clocks have no instructions and are not shown, but are included in the number of processors in the summary.

Another group of values (one value per processor/cell, group placed to the far right) is added by -cpu-host-ticks. This shows how much real time each processor/cell takes to simulate. This can either be a percentage value of total host time when processors simulate, or an absolute value, counted in ticks, if using -cpu-host-ticks-raw. Execution outside a cell are excluded and such ticks are ignored. Execution inside a cell, but not executing a processor are reported in the "Outside Processors" column. A tick is a time unit defined by the host OS, on Linux usually 10 ms.

When running with a multi-cell configuration with many processors, -cell-host-ticks or -cell-host-ticks-raw can be used similar to the -cpu-host-ticks* switches. This provides a more narrow list of how much host processor that is needed to simulate each cell. Execution that falls outside any cell is placed in an "Outside cell" ("oc") column.

The -mips flag appends some MIPS values indicating how many million instruction per real second Simics has executed. The MIPS number printed is the number of instruction executed, including idle instructions. To see the MIPS value without the idle instructions (where only the instructions that are really executed in Simics are counted) you can use -emips.

The -multicore-accelerator tracks and prints the percentage of execution when Multicore Accelerator is both enabled and actually used. Even when Multicore Accelerator is enabled, it may not actually be used since there is a mechanism that monitors the simulation and falls back to classic non-threaded execution within each cell if there would not be a benefit from additional threading. See the Accelerator User's Guide for more information on Multicore Accelerator.

With -io, the number of instructions per I/O operation is calculated and presented in the output. An I/O operation is any memory access that is not terminated in a Simics ram or rom object and thus includes memory mapped I/O.

In some configurations, processors might be disabled at start and started later by software. To see how many of the processors that are disabled at the end of each sample use -disabled. The Disabled column shows how many CPUs and the percent of the total system which are not currently activated.

The -mem flag show the total amount of memory consumed by all instances of the image class (RAM, disk etc.) at the end of the sample. It is measured as the percentage of the memory-limit. If this number goes down compared to the previous sample it means that memory-limit has been reached and Simics has swapped out dirty pages to disk.

Simics can share identical pages across multiple simulated targets, if this feature is enabled. If the targets for instance run the same OS, Simics can keep one copy of a page instead of multiple copies, which consequently reduces host memory consumption. To see how much memory is currently saved at the end of the sample, -shared can be used. Notice that this figure only shows how much "image" memory that is saved. The page sharing mechanism can also reduce internal state, but this memory reduction is not accounted for.

Specifying -module-profile enables profiling of the simulator. Prints the percentage of real time spent in each module. Only printed in summary.

Provided By

system-perfmeter

See Also

pselect, system-perfmeter-summary

system-perfmeter-summary

Synopsis

system-perfmeter-summary

Description

Prints same summary report as the -summary option to the system-perfmeter command. See that command for details.

Provided By

system-perfmeter

See Also

system-perfmeter

take-snapshot

Synopsis

take-snapshot ["name"]

Description

Take an in-memory snapshot of the current simulation state. Optionally give the snapshot a name. If no name is given the command finds a free name to use for the snapshot.

Provided By

Simics Core

See Also

restore-snapshot, delete-snapshot, list-snapshots

tcpdump

Synopsis

tcpdump [link] [probe] ["flags"]

Description

Runs the tcpdump program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed unmodified to tcpdump.

The link or probe to stop capture for.

Provided By

eth-links

tcpdump-stop

Synopsis

tcpdump-stop [link] [probe]

Description

The link or probe to stop capture for.

Provided By

eth-links

telnet-frontend

Synopsis

telnet-frontend [port|unix_socket] [max-connections] [-non-interactive] [-plain-text]

Description

Creates a new Simics command-line accessible using telnet on TCP port port or on UNIX socket unix_socket. If neither port nor unix_socket is specified, a currently free port will be selected. If a busy port is specified the command will fail. The port or UNIX socket actually used is returned by the command.

The command will fail if a privileged TCP socket is specified or if unix_socket specifies a file that already exists. UNIX sockets are not supported on Windows.

The -non-interactive flag can be used to prepare for scripted, non-interactive sessions. This prevents Simics from using fancy formatting and coloring of the output and disables the asynchronous prompt for commands running the simulation. The -plain-text flag can be used to only disable output formatting. These two flags affect all future connections made to the telnet frontend. The corresponding interactive and plain_text attributes can be used to change the settings of an already created telnet-frontend object, although existing connections will not be affected.

It is possible to limit the number of allowed connections to the frontend with the max-connections argument. Once this number of connections has been reached, no new connections are allowed even if previous ones disconnect. It is possible to reset the count of connections by writing directly to the num_connections attribute in the telnet-frontend class.

Provided By

telnet-frontend

trace-io

Synopsis

trace-io ["device"] [port] [offset] [length] [-r] [-w] [-all] [-list]

Description

The command enables tracing of accesses to a device. With the -all flag, accesses to all devices are traced.

Accesses made to one or all device objects through their io_memory interface are traced. The following information is included in a trace: the initiator object, physical address of the access, size of the access, value (read or written), port name and port-relative address. The port name is None when the non-port io_memory interface of the given device is accessed.

The port argument, if given, restricts the monitoring in different ways. If it is a string, only accesses to the io_memory port interface by that name are considered. If an integer, only accesses to the non-port io_memory interface using that function number are considered.

When offset and length are given, tracing is restricted to that address interval within the bank. The default interval length is 1 if offset is given.

By default, both reads and writes are traced. With -r only reads are traced, and with -w only writes are traced.

Devices providing multiple banks of registers usually expose them as io_memory port interfaces using the bank names. Some devices use the non-port io_memory interface with a function number instead.

List all tracers and their ID numbers with the -list flag.

Provided By

Simics Core

See Also

bp.bank.trace, bp.bank.break, <memory-space>.map, log-setup

try

Synopsis

try { commands } except { on-error-commands }
get-error-command
get-error-file
get-error-line
get-error-message

Description

Runs all commands from the try part until an error occurs. If no error is encountered, on-error-commands are ignored, but if an error does occur the on-error-commands are run. Information about the error is available in the except part through the get-error-command, get-error-message, get-error-file and get-error-line commands.

Provided By

Simics Core

unbreak-io

Synopsis

unbreak-io (-list|-all|"device"|id)

Description

Disable breaking simulation on device accesses.

List all breakpoints and their ID numbers with the -list flag.

Specify the breakpoint to remove with the id argument. Remove the given device from all breakpoints. Or remove all devices from all breakpoints with the -all flag.

Provided By

Simics Core

undisplay

Synopsis

undisplay expression-id

Description

Remove a Python or CLI expression that was previously installed with the display command. expression-id takes the id number of the expression, as listed by display -l.

Provided By

Simics Core

See Also

display

unset

Synopsis

unset [-a] ([ "variables" ... ] | list of "variables")

Description

Removes (unsets) a CLI variable. The -a flag causes all variables to be removed, except the ones specified as variables.

Provided By

Simics Core

unsigned

Synopsis

unsigned int
unsigned16 int
unsigned32 int
unsigned64 int
unsigned8 int

Description

Interpret an integer, int, as an unsigned value of a specific bit width. For example unsigned16 -1 will return 0xffff. The unsigned command assumes a 64 bit width.

Provided By

Simics Core

See Also

atoi, signed

untrace-io

Synopsis

untrace-io (-list|-all|"device"|id)

Description

Disables tracing of device accesses.

List all tracers and their ID numbers with the -list flag. Specify the tracer to remove with the id argument. Remove the given device from all tracers. Or remove all devices from all tracers with the -all flag.

Provided By

Simics Core

up

Synopsis

up [N]

Description

Moves N frames up the stack (towards the outermost frame). N defaults to one.

Provided By

tcf-agent

See Also

frame, down, stack-trace

version

Synopsis

version [-v] ["package"]

Description

Prints a lists of installed Simics products followed by a list of installed packages with their version numbers. The version for a single package only is printed if the package argument is supplied. The -v flag turns on verbose output where the path to each installed package is included.

If used in an expression, the return value is a list of lists in the format [[<package>, <package-number>, <version>, <build-id>, and <package-path>]+], where package-path is only included if -v is specified.

Provided By

Simics Core

vmp-feature-status

Synopsis

vmp-feature-status

Description

Show VMP feature settings.

Provided By

Simics Core

vmp-version

Synopsis

vmp-version

Description

Print the VMP kernel module version.

Provided By

Simics Core

wait-for-get

Synopsis

wait-for-get [object] address [size] [-l|-b] [initiator]

Description

The command issues an inquiry read transaction (via the object's 'transaction' interface) to address. If the transaction is not completed immediately the command postpones the execution of a script branch until the transaction is completed.

The size argument specifies how many bytes should be read. It defaults to 4, but can be set to any positive value.

The object argument is optional. If it is not provided then a transaction will be sent through the physical memory associated with the current processor. A CPU object can also be passed in the object argument. In that case, a transaction will be sent through the physical memory associated with that processor.

Providing initiator is rarely needed, but some devices may only accept accesses from certain initiating objects. If provided, initiator is the object that will be used as the source of the access.

The -l and -b flags are used to select little-endian or big-endian byte order, respectively. They determine how the bytes in memory should be interpreted as a value. If neither is given, the byte order of the initiator is used if specified and a processor, or else the order of the current frontend processor.

When used in an expression the command returns the value read.

If a request fails an error is reported.

Provided By

Simics Core

See Also

<transaction>.wait-for-read, <transaction>.wait-for-write, <transaction>.wait-for-get, <transaction>.wait-for-set

wait-for-global-sync

Synopsis

wait-for-global-sync

Description

Postpones execution of a script branch until the first point in time when all cells in the system have their global time synchronized. wait-for-global-sync and wait-for-global-time commands are the only ways to synchronize the cells in the simulation from script branches.

Provided By

Simics Core

See Also

script-branch, wait-for-global-time, <cycle>.bp-wait-for-cycle, <step>.bp-wait-for-step, <cycle>.bp-wait-for-time

wait-for-global-time

Synopsis

wait-for-global-time seconds [-relative]

Description

Postpones execution of a script branch until all cells in the simulation reaches the specified global time, seconds, from the start of the simulation. If -relative is given, the branch is suspended for a specified duration instead. The wait-for-global-time and wait-for-global-sync commands are the only ways to synchronize the cells in the simulation from script branches.

The requested time needs to be far enough into the future to allow deterministic synchronization. Consider using wait-for-global-sync if you want to synchronize all cells as soon as possible.

Provided By

Simics Core

See Also

script-branch, wait-for-global-sync, <cycle>.bp-wait-for-cycle, <cycle>.bp-wait-for-time, <step>.bp-wait-for-step

wait-for-io-break

Synopsis

wait-for-io-break id

Description

Suspends execution of a script branch until the IO breakpoint id is triggered. The script branch is then resumed and the simulation is not interrupted. The IO breakpoint must be created using break-io.

Provided By

Simics Core

See Also

bp.bank.wait-for, bp.bank.break

wait-for-read

Synopsis

wait-for-read [object] address [size] [-l|-b] [initiator]

Description

The command issues a read transaction (via the object's 'transaction' interface) to address. If the transaction is not completed immediately the command postpones the execution of a script branch until the transaction is completed.

The size argument specifies how many bytes should be read. It defaults to 4, but can be set to any positive value.

The object argument is optional. If it is not provided then a transaction will be sent through the physical memory associated with the current processor. A CPU object can also be passed in the object argument. In that case, a transaction will be sent through the physical memory associated with that processor.

Providing initiator is rarely needed, but some devices may only accept accesses from certain initiating objects. If provided, initiator is the object that will be used as the source of the access.

The -l and -b flags are used to select little-endian or big-endian byte order, respectively. They determine how the bytes in memory should be interpreted as a value. If neither is given, the byte order of the initiator is used if specified and a processor, or else the order of the current frontend processor.

When used in an expression the command returns the value read.

If a request fails an error is reported.

Provided By

Simics Core

See Also

<transaction>.wait-for-read, <transaction>.wait-for-write, <transaction>.wait-for-get, <transaction>.wait-for-set

wait-for-script-barrier

Synopsis

wait-for-script-barrier barrier

Description

Suspends execution of a script branch until enough script branches have entered the script barrier barrier.

Provided By

Simics Core

See Also

script-branch, create-script-barrier

wait-for-script-pipe

Synopsis

wait-for-script-pipe pipe

Description

Suspends execution of a script branch until there is some data to read from the script pipe pipe. If there already is data available, the command will return immediately. The return value is the data send by the add-data-to-script-pipe commands.

Provided By

Simics Core

See Also

script-branch, create-script-pipe, script-pipe-has-data, add-data-to-script-pipe

wait-for-set

Synopsis

wait-for-set [object] address value [size] [-l|-b] [initiator]

Description

The command issues an inquiry write transaction (via the object's 'transaction' interface) to address with the value value and the length of size bytes. The default size is 4 bytes, but it can have any positive value. If the transaction is not completed immediately the command postpones the execution of a script branch until the transaction is completed.

The object argument is optional. If it is not provided then a transaction will be sent through the physical memory associated with the current processor. A CPU object can also be passed in the object argument. In that case, a transaction will be sent through the physical memory associated with that processor.

If a value doesn't fit into the specified size, an error is reported.

Providing initiator is rarely needed, but some devices may only accept accesses from certain initiating objects. If provided, initiator is the object that will be used as the source of the access.

The -l and -b flags are used to select little-endian and big-endian byte order, respectively. If neither is given, the byte order of the initiator is used if specified and a processor, or else the order of the currently selected processor.

If the value argument is a list, then each item is written to memory as a value of size bytes, starting at address. The byte order flags operate on each item in the list.

If a request fails an error is reported.

Provided By

Simics Core

See Also

<transaction>.wait-for-read, <transaction>.wait-for-write, <transaction>.wait-for-get, <transaction>.wait-for-set

wait-for-simulation-started

Synopsis

wait-for-simulation-started

Description

Suspends execution of a script branch until the simulation starts running. The command returns at once if the simulation is already running.

Provided By

Simics Core

See Also

script-branch, wait-for-simulation-stopped

wait-for-simulation-stopped

Synopsis

wait-for-simulation-stopped

Description

Suspends execution of a script branch until the simulation stops running. The command returns at once if the simulation is not running.

Provided By

Simics Core

See Also

script-branch, wait-for-simulation-started

wait-for-write

Synopsis

wait-for-write [object] address value [size] [-l|-b] [initiator]

Description

The command issues a write transaction (via the object's 'transaction' interface) to address with the value value and the length of size bytes. The default size is 4 bytes, but it can have any positive value. If the transaction is not completed immediately the command postpones the execution of a script branch until the transaction is completed.

The object argument is optional. If it is not provided then a transaction will be sent through the physical memory associated with the current processor. A CPU object can also be passed in the object argument. In that case, a transaction will be sent through the physical memory associated with that processor.

If a value doesn't fit into the specified size, an error is reported.

Providing initiator is rarely needed, but some devices may only accept accesses from certain initiating objects. If provided, initiator is the object that will be used as the source of the access.

The -l and -b flags are used to select little-endian and big-endian byte order, respectively. If neither is given, the byte order of the initiator is used if specified and a processor, or else the order of the currently selected processor.

If the value argument is a list, then each item is written to memory as a value of size bytes, starting at address. The byte order flags operate on each item in the list.

If a request fails an error is reported.

Provided By

Simics Core

See Also

<transaction>.wait-for-read, <transaction>.wait-for-write, <transaction>.wait-for-get, <transaction>.wait-for-set

while

Synopsis

while condition { commands }

Description

Runs a block of commands while condition is true.

Provided By

Simics Core

See Also

if, break-loop, continue-loop, foreach

win-about

Synopsis

win-about

Description

Shows information about why the GUI libraries such as wxPython failed to load. This command will replace the real win-about on a failure.

Provided By

mini_winsome

wireshark

Synopsis

wireshark [link] [probe] ["flags"]

Description

Runs the wireshark or ethereal program in a separate console, with network traffic captured from the simulated Ethernet network. The flags are passed on unmodified to program. The path to the wireshark binary can be specified in the prefs->wireshark_path setting.

The link or probe to capture for.

Provided By

eth-links

wireshark-stop

Synopsis

wireshark-stop [link] [probe]

Description

The link or probe to stop capture for.

Provided By

eth-links

write-configuration

Synopsis

write-configuration file [-u] [-save-raw|-save-craff] [-independent-checkpoint] ["comment"]

Description

Save simulation state to file. We refer to such saved state as a checkpoint. Simulation state can be restored later from a checkpoint with the read-configuration command.

Unless the -independent-checkpoint flag is specified, the simulation state is saved incrementally. This allows to save time and disk space but, as result, created checkpoints usually depend on the checkpoints which were created earlier as well as on the files (e.g., disk images) which were used when simulation objects were created. This means that care should be taken when deleting older checkpoints.

The -independent-checkpoint flag allows to save a completely independent checkpoint which can be freely moved around and will not need any files (e.g., checkpoints created earlier) for its use. Also, checkpoints created later will not depend on such checkpoint.

To add a description to the checkpoint, one can use the comment parameter. The comment is saved in the info file in the checkpoint bundle.

More information about checkpoints can be found in the Configuration and Checkpointing chapter in the Simics User's Guide manual.

The command flags described below allow to control some subtle aspects related to created checkpoints and are rarely needed.

The -save-raw flag tells Simics to store images in raw format. The -save-craff flag (default) tells Simics to store images in the craff format.

The -u flag tells Simics to store images in the uncompressed craff format.

Provided By

Simics Core

See Also

read-configuration, save-persistent-state, record-session

write-reg

Synopsis

write-reg [cpu-name] "reg-name" value
<processor_info>.write-reg "reg-name" value

Description

Set the register reg-name to value.

To set the eax register on the x86 processor cpu0 to 3, the command invocation is write-reg cpu0 eax 3. There is also a namespace version cpu0.write-reg eax 3 or the more convenient variant %eax = 3 that writes a register on the current frontend processor.

This function may or may not have the correct side-effects, depending on target and register. If no cpu-name is given, the current frontend processor is used.

Provided By

Simics Core

See Also

%, read-reg, print-processor-registers, pselect

x

Synopsis

x [object] [cpu-name] address [size] [-c] [group-by] [-l|-b]
<image>.x [address] [size] [-c] [group-by] [-l|-b]
<memory_space>.x address [size] [-c] [group-by] [-l|-b]
<processor_info>.x [cpu-name] address [size] [-c] [group-by] [-l|-b]

Description

Display the contents of a memory space or image, starting at address. The object parameter can be an image, memory-space or processor object, which implicitly uses the memory space of that processor. There are also namespace versions of the command; namely, the image <image>.x command and the memory-space <memory_space>.x command. The global version of the command operates on the memory of the current frontend processor by default.

If the memory is accessed via a processor, the type of address is specified by a prefix. For physical addresses use p:<address>; for virtual addresses, v:<address> on non-x86 targets. On x86, use <segment-register>:<offset> or l:<address> for x86 linear addresses. If no prefix is given, the address is assumed to be virtual. On x86 the default is ds:<address> (data segment addressing).

The access will be made in inquiry mode, which means it will have no side-effects on the processor or the accessed object. Use the <memory_space>.read command to do non-inquiry accesses.

The size argument specifies the number of bytes to examine. When reading virtual memory, only addresses which can be found in the TLB or hardware page tables (if any) are shown. Unmapped addresses are shown presented "--", undefined physical addresses as "**".

By default the memory contents, from low address to high, is presented from left to right, grouped into 16-bit words. In this format the values shown can be interpreted as big-endian words. The grouping can be modified by the group-by argument and supports 8, 16, 32, 64 and 128 bit words.

The -l and -b flags are used to select little-endian or big-endian byte order, respectively. If neither is given, the big-endian byte order is used as the default.

The -c flag compresses the output by not displaying sequences of zeros.

Provided By

Simics Core

See Also

disassemble, get, set

3.3 Command Index

4 Components

brody

Description

The Brody component.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
jaws harpoon-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

can_link

Description

This component represents a simple CAN link allowing any number of devices to connect.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
device0 can_link any

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

can-link

cell_and_clocks_comp

Description

The "cell_and_clock_comp" component builds a simulation cell with a configurable number of clocks. Each clock is exported as a connector. This component is meant to be used for building small test configurations.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
clock[0] clock down

Commands for this class

Commands for interface component

Attributes

clock_number
Optional attribute; read/write access; type: i
Number of clocks to run
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
freq_mhz
Optional attribute; read/write access; type: i
Frequency of Clocks
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
The top level component. Attribute is not valid until the component has been instantiated.
top_level
Optional attribute; read/write access; type: b

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

clock

cp3_quad100tx

Description

The cp3-quad100tx component class.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth1 ethernet-link down
eth2 ethernet-link down
eth3 ethernet-link down
eth4 ethernet-link down
pci pci-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_addr1
Required attribute; read/write access; type: s
The MAC address of eth1
mac_addr2
Required attribute; read/write access; type: s
The MAC address of eth2
mac_addr3
Required attribute; read/write access; type: s
The MAC address of eth3
mac_addr4
Required attribute; read/write access; type: s
The MAC address of eth4
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
The top level component. Attribute is not valid until the component has been instantiated.
top_level
Optional attribute; read/write access; type: b

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

cp3_quad100tx

cpci_adapter

Description

Adapter between a standard PCI up-connector and a cPCI down-connector.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
cpci compact-pci-bus up
pci pci-bus down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

cpci-adapter-comp

cpci_backplane

Description

A sample cPCI backplane.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
bridge_slot[0] compact-pci-bus down
bridge_slot[1] compact-pci-bus down
bridge_slot[2] compact-pci-bus down
bridge_slot[3] compact-pci-bus down
bridge_slot[4] compact-pci-bus down
device_slot[0] compact-pci-bus down
device_slot[1] compact-pci-bus down
device_slot[2] compact-pci-bus down
device_slot[3] compact-pci-bus down
device_slot[4] compact-pci-bus down
pci_slot pci-bus down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
The top level component. Attribute is not valid until the component has been instantiated.
top_level
Optional attribute; read/write access; type: b

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

sample-cpci-comp

datagram_link

Description

The datagram link component creates a datagram-link, which is a simple broadcast bus forwarding messages (as sequences of bytes) from a sender device to all other devices present of the link. The datagram-link is both an example of how to build a link with the Simics Link Library, and a simple broadcast link that can be reused when multi-cell communication between devices is necessary. Refer to the Link Library Programming Guide for more information.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
device0 datagram-link any

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

datagram-link

ddr2_memory_module_comp

Description

The "ddr2_memory_module_comp" component represents a DDR2 memory module.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
mem_bus mem-bus up

Commands for this class

Commands for interface component

Attributes

banks
Optional attribute; read/write access; type: i
Number of banks.
cas_latency
Optional attribute; read/write access; type: i
CAS-latency; each set bit corresponds to a latency the memory can handle.
columns
Optional attribute; read/write access; type: i
Number of columns.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
ecc_width
Optional attribute; read/write access; type: i
The error correction width.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
memory_megs
Pseudo attribute; read-only access; type: i
Total about of memory in MB.
module_data_width
Optional attribute; read/write access; type: i
The module SDRAM width (including ECC width if enabled).
module_type
Optional attribute; read/write access; type: s
Type of memory.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
primary_width
Optional attribute; read/write access; type: i
Primary SDRAM width.
rank_density
Optional attribute; read/write access; type: i
The rank density.
ranks
Optional attribute; read/write access; type: i
Number of ranks (logical banks).
rows
Optional attribute; read/write access; type: i
Number of rows.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

memory-comp

ddr3_memory_module_comp

Description

The "ddr3_memory_module_comp" component represents a DDR3 memory module.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
mem_bus mem-bus up

Commands for this class

Commands for interface component

Attributes

banks
Optional attribute; read/write access; type: i
Number of banks.
cas_latency
Optional attribute; read/write access; type: i
CAS-latency; each set bit corresponds to a latency the memory can handle.
columns
Optional attribute; read/write access; type: i
Number of columns.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
ecc_width
Optional attribute; read/write access; type: i
The error correction width.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
memory_megs
Pseudo attribute; read-only access; type: i
Total about of memory in MB.
module_data_width
Optional attribute; read/write access; type: i
The module SDRAM width (including ECC width if enabled).
module_type
Optional attribute; read/write access; type: s
Type of memory.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
primary_width
Optional attribute; read/write access; type: i
Primary SDRAM width.
rank_density
Optional attribute; read/write access; type: i
The rank density.
ranks
Optional attribute; read/write access; type: i
Number of ranks (logical banks).
rows
Optional attribute; read/write access; type: i
Number of rows.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

memory-comp

ddr_memory_module_comp

Description

The "ddr_memory_module_comp" component represents a DDR memory module.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
mem_bus mem-bus up

Commands for this class

Commands for interface component

Attributes

banks
Optional attribute; read/write access; type: i
Number of banks.
cas_latency
Optional attribute; read/write access; type: i
CAS-latency; each set bit corresponds to a latency the memory can handle.
columns
Optional attribute; read/write access; type: i
Number of columns.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
ecc_width
Optional attribute; read/write access; type: i
The error correction width.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
memory_megs
Pseudo attribute; read-only access; type: i
Total about of memory in MB.
module_data_width
Optional attribute; read/write access; type: i
The module SDRAM width (including ECC width if enabled).
module_type
Optional attribute; read/write access; type: s
Type of memory.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
primary_width
Optional attribute; read/write access; type: i
Primary SDRAM width.
rank_density
Optional attribute; read/write access; type: i
The rank density.
ranks
Optional attribute; read/write access; type: i
Number of ranks (logical banks).
rows
Optional attribute; read/write access; type: i
Number of rows.
speed
Optional attribute; read/write access; type: s
PC standard speed. Supported values are PC2700 and none.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

memory-comp

deckard

Description

The Deckard component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

dummy_comp

Description

Dummy component used for configurations that are not component based.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
top_level
Optional attribute; read/write access; type: b
Set to TRUE for top-level components, i.e. the root of a hierarchy.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

std-comp

elliot

Description

The Elliot component.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
debug serial down
eth0 ethernet-link down
uart[0] serial down
uart[1] serial down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

emmett

Description

The long description for the Emmett component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

empty_components

Description

The empty component class.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
pci pci-bus up

Commands for this class

Commands for interface component

Attributes

attribute0
Optional attribute; read/write access; type: i
attribute0
attribute1
Optional attribute; read/write access; type: i
attribute1
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

empty-components

etg_comp

Description

The "etg_comp" component represents an Ethernet traffic generator.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
ethernet ethernet-link down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dst_ip
Required attribute; read/write access; type: s
Destination IP address for generated traffic.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
gateway_ip
Optional attribute; read/write access; type: s
Gateway for non-local traffic.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
ip
Required attribute; read/write access; type: s
IP address of the traffic generator.
mac_address
Optional attribute; read/write access; type: s
The MAC address of the traffic generator.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
netmask
Required attribute; read/write access; type: s
IP netmask of the traffic generator.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
packet_size
Optional attribute; read/write access; type: i
Packet size.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
port
Optional attribute; read/write access; type: i
Port.
pps
Optional attribute; read/write access; type: i
Traffic rate in packets per second.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

std-comp

etg_panel_comp

Description

The Ethernet Generator System Panel.

Interfaces Implemented

conf_object, log_object, component, system_panel_layout

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
subpanel_slots
Pseudo attribute; read-only access; type: a
A list of slot names for all subpanel slots.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

std-comp

eth_injector_comp

Description

The Ethernet frame injector is a pseudo-device that reads a pcap formatted file and inject the packets it found into another device, or an Ethernet link.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
link ethernet-link up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

eth-injector-comp

ethan

Description

The Ethan component.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
copy harpoon-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

ethernet_cable

Description

Ethernet cable: this component represents a two-points Ethernet cable, allowing two devices to connect to each other.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
device0 ethernet-link any

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
connector_count
Optional attribute; read/write access; type: i
Total number of occupied connectors
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

eth-links

ethernet_hub

Description

Ethernet hub: this component represents a simple broadcasting Ethernet link allowing any number of devices to connect.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
device0 ethernet-link any

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

eth-links

ethernet_switch

Description

Ethernet switch: this component represents a switched Ethernet network, allowing any number of devices to connect and optimizing the packet routing according to what is learned about the MAC addresses talking on the link.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
device0 ethernet-link any

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

eth-links

ethernet_vlan_switch

Description

Ethernet VLAN switch: this component represents a switched Ethernet network with VLAN support. Any number of devices is allowed to connect to various ports of the switch. Each port can be configured with its own VLAN information, in order to create sub-networks in the switch.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
trunk_dev0 ethernet-link any

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

eth-links

frankie_carbone

Description

The wiseguy, Frankie Carbone component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

gertie

Description

The Gertie PCI component.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
pci pci-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

gfx_console_comp

Description

Simics graphics console.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
abs_mouse abs-mouse up
device graphics-console up
keyboard keyboard up
mouse mouse up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
has_user_defined_title
Optional attribute; read/write access; type: b
return True if current title is set by users.
height
Optional attribute; read/write access; type: i
The initial screen height in pixels.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
title
Optional attribute; read/write access; type: s
The Window title.
top_component
Optional attribute; read/write access; type: o|n
The top level component. Attribute is not valid until the component has been instantiated.
top_level
Optional attribute; read/write access; type: b
visible
Optional attribute; read/write access; type: b|n
Should console be visible upon startup?.
vnc_port
Optional attribute; read/write access; type: i|n
Port to open a VNC server on. This is independent of the visible parameter. The port must not be a privileged port, i.e. the allowed range is [1024, 65535], or 0 for an arbitrary port.
width
Optional attribute; read/write access; type: i
The initial screen width in pixels.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

console-components

gml_link

Description

The gml link component creates a gml-link, which is a simple bus for forwarding messages (as sequences of bytes) from a sender to one or more destination devices.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
device0 gml-link any

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

gml-link

godzilla

Description

The Godzilla component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

hal

Description

The HAL component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

hunt

Description

The Hunt component.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
mission1 harpoon-bus up
mission2 harpoon-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
impossible
Optional attribute; read/write access; type: b
True if impossible, default is False.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

i210_comp

Description

PCIe i210 Ethernet Controller.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth[0] ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Optional attribute; read/write access; type: s
MAC address, default 20:20:20:20:30:30
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
phy_id
Optional attribute; read/write access; type: i
PHY ID value, default 0x01410C00 (i210 Linux 4.3)
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

i210-comp

i210_v2_comp

Description

PCIe i210 Ethernet Controller.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth[0] ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Optional attribute; read/write access; type: s
MAC address, default 20:20:20:20:30:30
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
phy_id
Optional attribute; read/write access; type: i
PHY ID value, default 0x01410C00 (i210 Linux 4.3)
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

i210-v2-comp

i3c_cable

Description

I3C cable: this component represents a two-points i3c cable, allowing two devices to connect to each other or connects an I3C device to I3C bus.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
device0 i3c-link any

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
connector_count
Optional attribute; read/write access; type: i
Number of connectors
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

i3c-link

i3c_link

Description

This component represents a simple i3c link allowing any number of devices to connect.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
device0 i3c-link any

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

i3c-link

i82571EB_v2_comp

Description

PCIe i82571EB Ethernet controller.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth[0] ethernet-link down
eth[1] ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address0
Optional attribute; read/write access; type: s
MAC address 0 for LAN A.
mac_address1
Optional attribute; read/write access; type: s
MAC address 1 for LAN B.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

i82571EB-v2-comp

i82574_v2_comp

Description

PCIe i82574 Ethernet Controller.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Optional attribute; read/write access; type: s
MAC address, default 20:20:20:20:30:30
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
phy_id
Optional attribute; read/write access; type: i
PHY ID value, default 0x01410cb1 (BME1000 Rev 2)
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

i82574-v2-comp

i82576EB_v2_comp

Description

PCIe i82576EB Ethernet controller.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth[0] ethernet-link down
eth[1] ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address0
Optional attribute; read/write access; type: s
MAC address 0 for LAN A. If not specified then 20:20:20:20:30:30 is used.
mac_address1
Optional attribute; read/write access; type: s
MAC address 1 for LAN B. If not specified then 20:20:20:20:30:31 is used.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

i82576EB-v2-comp

i82583V_v2_comp

Description

PCIe i82583V Ethernet Controller.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
eeprom_file
Optional attribute; read/write access; type: s
The eeprom image file.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Optional attribute; read/write access; type: s
MAC address.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

i82583V-v2-comp

ide_cdrom_comp

Description

The "ide_cdrom_comp" component represents an IDE ATAPI CD-ROM.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
ide_slot ide-slot up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

std-comp

ide_disk_comp

Description

The "ide_disk_comp" component represents an IDE disk. Disk data is stored in the hd_image subobject.

Interfaces Implemented

conf_object, log_object, component, component_connector, disk_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
ide_slot ide-slot up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Optional attribute; read/write access; type: i
The size of the disk in bytes.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

std-comp

ieee_802_15_4_link

Description

The IEEE 802.15.4 link component creates a ieee-802-15-4-link.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
device0 ieee-802-15-4-link any

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

ieee-802-15-4-link

korben

Description

The Korben component.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
earth besson up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

leeloo

Description

The Leeloo component.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

legacy_upstream_pcie_adapter_comp

Description

An adapter component that allows connecting a PCIe endpoint implemented with the new PCIe library to an upstream that is implemented with the legacy PCIe library. Note that the upstream must be PCIe compatible (a pcie-bus, not a pci-bus).

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
pci_bus pci-bus up
pcie pci-bus down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

legacy-upstream-pcie-adapter-comp

maria_singer

Description

The Maria Singer component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

club_member
Optional attribute; read/write access; type: b
True if club member, default is False.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

marvin

Description

The Marvin component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

mcfly

Description

The McFly component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
The top level component. Attribute is not valid until the component has been instantiated.
top_level
Optional attribute; read/write access; type: b

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

mmc_card_comp

Description

The mmc_card_comp component represents an MMC/SD/SDHC/SDIO card.

Interfaces Implemented

conf_object, log_object, component, component_connector, disk_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
mmc_controller mmc up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Required attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
type
Optional attribute; read/write access; type: s
Card type ('mmc', 'sd', 'sdhc' or 'sdio'). Note that the card type will be adjusted by the model to handle large card sizes (i.e. card type will be forced to 'sdhc' if you create an 8 GB 'mmc' card).

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

std-comp

motherboard_x86_simple

Description

X86 simple motherboard.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
cpu[0] x86-apic-processor down
cpu[1] x86-apic-processor down
cpu[2] x86-apic-processor down
cpu[3] x86-apic-processor down
cpu[4] x86-apic-processor down
cpu[5] x86-apic-processor down
cpu[6] x86-apic-processor down
cpu[7] x86-apic-processor down
dimm[0] mem-bus down
dimm[1] mem-bus down
dimm[2] mem-bus down
dimm[3] mem-bus down
reset_bus x86-reset-bus down

Commands for this class

Commands for interface component

Attributes

acpi
Optional attribute; read/write access; type: b
Use ACPI when True, default value is True.
bios
Optional attribute; read/write access; type: s
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.
component_queue
Pseudo attribute; read/write access; type: a
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
cpus_per_slot
Optional attribute; read/write access; type: [[o|n*]*]
The processors connected to the motherboard in ID order.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
rtc_time
Optional attribute; read/write access; type: s
The date and time of the Real-Time clock. Please note that time-zone information is not supported and will be silently dropped when passed to the RTC object.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_clock
Optional attribute; read/write access; type: b
If true, the motherboard will contain a clock separate from the processor, which will be used as queue for all devices. The class used for the clock is taken from system_clock_class.
system_clock_class
Optional attribute; read/write access; type: s
The class used for the system_clock.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

x86-comp

motherboard_x86_simple_no_apic

Description

X86 simple motherboard for processors without APIC.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
cpu[0] x86-processor down
dimm[0] mem-bus down
dimm[1] mem-bus down
dimm[2] mem-bus down
dimm[3] mem-bus down
reset_bus x86-reset-bus down

Commands for this class

Commands for interface component

Attributes

acpi
Optional attribute; read/write access; type: b
Use ACPI when True, default value is True.
bios
Optional attribute; read/write access; type: s
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.
component_queue
Pseudo attribute; read/write access; type: a
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
cpus_per_slot
Optional attribute; read/write access; type: [[o|n*]*]
The processors connected to the motherboard in ID order.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
rtc_time
Optional attribute; read/write access; type: s
The date and time of the Real-Time clock. Please note that time-zone information is not supported and will be silently dropped when passed to the RTC object.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_clock
Optional attribute; read/write access; type: b
If true, the motherboard will contain a clock separate from the processor, which will be used as queue for all devices. The class used for the clock is taken from system_clock_class.
system_clock_class
Optional attribute; read/write access; type: s
The class used for the system_clock.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

x86-comp

nemo

Description

The Nemo component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

nikita

Description

The Nikita component.

Interfaces Implemented

conf_object, log_object, component, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

besson
Optional attribute; read/write access; type: b
True if Luc Besson, default is True.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
light_level
Optional attribute; read/write access; type: i
The light level.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

pci_accel_vga_comp

Description

The "pci_accel_vga_comp" component represents a PCI based VGA compatible graphics adapter.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s
The VGA BIOS file to use (empty string if no VGA BIOS is needed)
bochs_workaround
Optional attribute; read/write access; type: b
When true, activating workaround for bochs driver bug which is present, for instance, in RHEL 7.1
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
vram_size_mb
Optional attribute; read/write access; type: i
Video RAM volume (MB)

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_accel_vga_v2_comp

Description

The "pci_accel_vga_v2_comp" component represents a PCI based VGA compatible graphics adapter.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s
The VGA BIOS file to use (empty string if no VGA BIOS is needed)
bochs_workaround
Optional attribute; read/write access; type: b
When true, activating workaround for bochs driver bug which is present, for instance, in RHEL 7.1
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
vram_size_mb
Optional attribute; read/write access; type: i
Video RAM volume (MB)

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_am79c973_comp

Description

The "pci_am79c973_comp" component represents a AM79C973 PCI based Ethernet adapter.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Required attribute; read/write access; type: s
The MAC address of the Ethernet adapter.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_bcm5703c_comp

Description

The "pci_bcm5703c_comp" component represents a Broadcom 5703C PCI based gigabit Ethernet adapter.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Required attribute; read/write access; type: s
The MAC address of the Ethernet adapter.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_bcm5704c_comp

Description

The "pci_bcm5704c_comp" component represents a Broadcom 5704C PCI based dual-port gigabit Ethernet adapter.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth[0] ethernet-link down
eth[1] ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address0
Required attribute; read/write access; type: s
The MAC address of the first Ethernet adapter.
mac_address1
Required attribute; read/write access; type: s
The MAC address of the second Ethernet adapter.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_dec21041_comp

Description

The "pci_dec21041_comp" component represents an Intel DEC21041 PCI based fast Ethernet adapter.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Required attribute; read/write access; type: s
The MAC address of the Ethernet adapter.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_dec21140

Description

The pci-dec21140a component represents a DEC21140A PCI based fast Ethernet adapter

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
ethernet ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Required attribute; read/write access; type: s
The MAC address of the Ethernet adapter.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_dec21140_panel

Description

System panel for a DEC21140 PCI network card.

Interfaces Implemented

conf_object, log_object, component, system_panel_layout

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
subpanel_slots
Pseudo attribute; read-only access; type: a
A list of slot names for all subpanel slots.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_dec21140a_comp

Description

The pci_dec21140a_comp component represents a DEC21140A PCI based fast Ethernet adapter

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Required attribute; read/write access; type: s
The MAC address of the Ethernet adapter.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_dec21143_comp

Description

The "pci_dec21143_comp" component represents an Intel DEC21143 PCI based fast Ethernet adapter.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Required attribute; read/write access; type: s
The MAC address of the Ethernet adapter.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_i21152_comp

Description

The "pci_i21152_comp" component represents an Intel® 21152 Transparent PCI-to-PCI Bridge.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
pci_bus pci-bus up
pci_slot[0] pci-bus down
pci_slot[10] pci-bus down
pci_slot[11] pci-bus down
pci_slot[12] pci-bus down
pci_slot[13] pci-bus down
pci_slot[14] pci-bus down
pci_slot[15] pci-bus down
pci_slot[16] pci-bus down
pci_slot[17] pci-bus down
pci_slot[18] pci-bus down
pci_slot[19] pci-bus down
pci_slot[1] pci-bus down
pci_slot[20] pci-bus down
pci_slot[21] pci-bus down
pci_slot[22] pci-bus down
pci_slot[23] pci-bus down
pci_slot[2] pci-bus down
pci_slot[3] pci-bus down
pci_slot[4] pci-bus down
pci_slot[5] pci-bus down
pci_slot[6] pci-bus down
pci_slot[7] pci-bus down
pci_slot[8] pci-bus down
pci_slot[9] pci-bus down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_i82543gc_comp

Description

The "pci_i82543gc_comp" component represents the PCI-based Intel® 82543 Gigabit Ethernet Controller.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Required attribute; read/write access; type: s
The MAC address of the Ethernet adapter.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_i82546bg_comp

Description

The "pci_i82546bg_comp" component represents an Intel® 82546 Gigabit Ethernet Controller.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth[0] ethernet-link down
eth[1] ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Required attribute; read/write access; type: s
The MAC address of the first Ethernet adapter. The last bit is toggled to get the address for the second interface.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_i82559_comp

Description

An Ethernet device with Intel® 82559 Fast Ethernet Controller.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth ethernet-link down
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s|n
The x86 BIOS file to use.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Required attribute; read/write access; type: s
The MAC address of the Ethernet adapter.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_pd6729_comp

Description

The "pci_pd6729_comp" component represents a Cirrus Logic PD6729 PCI-to-PCMCIA (PC-Card) Controller with two slots.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
pci_bus pci-bus up
pcmcia[0] pcmcia-slot down
pcmcia[1] pcmcia-slot down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pci_vga_comp

Description

The "pci_vga_comp" component represents a PCI based VGA compatible graphics adapter.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

bios
Optional attribute; read/write access; type: s
The VGA BIOS file to use (empty string if no VGA BIOS is needed)
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

pci-comp

pcmcia_flash_disk_comp

Description

The "pcmcia_flash_disk_comp" component represents a PCMCIA flash disk. Disk data is stored in the hd_image subobject.

Interfaces Implemented

conf_object, log_object, component, component_connector, disk_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
pcmcia_slot pcmcia-slot up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Optional attribute; read/write access; type: i
The size of the disk in bytes.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

std-comp

phy_comp

Description

Component representing a generic IEEE 802.3 PHY

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth ethernet-link down
mac phy up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
mii_address
Optional attribute; read/write access; type: i
PHY address on MII bus
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
phy_id
Optional attribute; read/write access; type: i
PHY ID (i.e., vendor)
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

phy-comp

rachel

Description

The Rachel component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

real_network_bridge_comp

Description

The "real_network_bridge_comp" component represents a bridged connection to a real network

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
link ethernet-link down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
interface
Required attribute; read/write access; type: s
Interface to connect to
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

real-network

real_network_host_comp

Description

The "real_network_host_comp" component represents a host-based connection to a real network

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
link ethernet-link down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
interface
Required attribute; read/write access; type: s
Interface to connect to
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

real-network

ripley

Description

The Ripley component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
eggs
Optional attribute; read/write access; type: i
The number of hatched eggs.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
marine
Optional attribute; read/write access; type: s
The name of the marine.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
sequels
Required attribute; read/write access; type: i
Number of sequels.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

roy_batty

Description

The Roy Batty component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

sample_802_15_4_panel

Description

a sample 802.15.4 panel.

Interfaces Implemented

conf_object, log_object, component, system_panel_layout

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
subpanel_slots
Pseudo attribute; read-only access; type: a
A list of slot names for all subpanel slots.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

sample-802-15-4-transceiver-comp

sample_802_15_4_transceiver_comp

Description

a sample 802.15.4 transceiver component.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
phy ieee-802-15-4-link down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
id
Optional attribute; read/write access; type: i
node ID
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

sample-802-15-4-transceiver-comp

sample_dynamic_connectors

Description

A sample component dynamically creating connectors.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
uart0 serial down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
num_serials
Optional attribute; read/write access; type: i
Number of serial connectors
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
The top level component. Attribute is not valid until the component has been instantiated.
top_level
Optional attribute; read/write access; type: b

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

sample-dynamic-connectors

sample_i3c_target_comp

Description

The component for sample I3C target.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
bus_slot i3c-link up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
dcr
Optional attribute; read/write access; type: i
Device Characteristics Register
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
pid
Optional attribute; read/write access; type: i
Provisional ID
read_value
Optional attribute; read/write access; type: i
Read response value
static_address
Optional attribute; read/write access; type: i
Static address, set if initial communication use static address
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

sample-i3c-target-comp

sample_pci_card

Description

A sample component containing a sample PCI device.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
pci_bus pci-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
integer_attribute
Required attribute; read/write access; type: i
Example integer attribute.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

sample-components

sample_pcie_device_comp

Description

A sample PCIe endpoint

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
upstream_target pci-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

sample-pcie-device-comp

sample_pcie_endpoint_shim_comp

Description

Sample PCIe Endpoint Shim component with external connection

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
upstream_target pci-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
socket_type
Optional attribute; read/write access; type: s
socket_type can be either of 'unix-socket' or 'tcp', default is unix-socket
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
tcp_port
Optional attribute; read/write access; type: i
top_component
Optional attribute; read/write access; type: o|n
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.
unix_socket_name
Optional attribute; read/write access; type: s
unit_socket_name is the name of the socket

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

sample-pcie-shim

sample_pcie_switch_shim_comp

Description

Sample PCIe Switch Shim component with external connection

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
upstream_target pci-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
socket_type
Optional attribute; read/write access; type: s
socket_type can be either of 'unix-socket' or 'tcp', default is unix-socket
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
tcp_port
Optional attribute; read/write access; type: i
top_component
Optional attribute; read/write access; type: o|n
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.
unix_socket_name
Optional attribute; read/write access; type: s
unit_socket_name is the name of the socket

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

sample-pcie-shim

sata_cdrom_comp

Description

The "sata_cdrom" component represents an Serial ATA CD-ROM.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
sata_slot sata-slot up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

std-comp

sata_disk_comp

Description

The "sata_disk" component represents a Serial ATA Disk. Disk data is stored in the hd_image subobject.

Interfaces Implemented

conf_object, log_object, component, component_connector, disk_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
sata_slot sata-slot up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Optional attribute; read/write access; type: i
The size of the disk in bytes.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

std-comp

sdram_memory_module_comp

Description

The "sdram-memory-module-comp" component represents a SDRAM memory module.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
mem_bus mem-bus up

Commands for this class

Commands for interface component

Attributes

banks
Optional attribute; read/write access; type: i
Number of banks.
cas_latency
Optional attribute; read/write access; type: i
CAS-latency; each set bit corresponds to a latency the memory can handle.
columns
Optional attribute; read/write access; type: i
Number of columns.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
ecc_width
Optional attribute; read/write access; type: i
The error correction width.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
memory_megs
Pseudo attribute; read-only access; type: i
Total about of memory in MB.
module_data_width
Optional attribute; read/write access; type: i
The module SDRAM width (including ECC width if enabled).
module_type
Optional attribute; read/write access; type: s
Type of memory.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
primary_width
Optional attribute; read/write access; type: i
Primary SDRAM width.
rank_density
Optional attribute; read/write access; type: i
The rank density.
ranks
Optional attribute; read/write access; type: i
Number of ranks (logical banks).
rows
Optional attribute; read/write access; type: i
Number of rows.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

memory-comp

sebastian

Description

The Sebastian component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

ser_link

Description

Serial link connecting two serial devices

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
device0 serial any
device1 serial any

Commands for this class

Commands for interface component

Attributes

buffer_size
Optional attribute; read/write access; type: i
The number of characters the link may buffer. Must be at least 1.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

ser-link

service_node_comp

Description

The "service_node_comp" 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 <service_node_comp>.add-connector command.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_connectors
Optional attribute; read/write access; type: [[iss]|[is]*]
List of user added connectors
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
next_connector_id
Optional attribute; read/write access; type: i
Next service-node device ID
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
top
Optional attribute; read/write access; type: b
Create the service-node as a top level component when set to true. Default is false.
top_component
Optional attribute; read/write access; type: o|n
The top level component. Attribute is not valid until the component has been instantiated.
top_level
Optional attribute; read/write access; type: b

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

service-node

signal_link

Description

The "signal_link" component represents a unidirectional signal that can be either high or low. It can be used to model electrical wires or more abstract binary signals.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
receiver0 signal-link-receiver any
sender0 signal-link-sender any

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
global_id
Optional attribute; read/write access; type: s|n
Global identifier for use in distributed simulation or NIL if the link is not distributed.
goal_latency
Optional attribute; read/write access; type: f
Goal latency in seconds for this link. See also the set-min-latency command.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency. Implies nondeterminism for multi cell messaging.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

signal-link

simics_nvme_comp

Description

A generic NVMe device over PCIe with support for multiple namespaces. Namespaces can be added with the add_namespace command, before instantiating the component.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

bandwidth
Optional attribute; read/write access; type: i
The read/write speed of the NVMe disk, provided in MB/s. 0 means instant read/write:s, which is the default value
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
disk_size
Required attribute; read/write access; type: i
The size of the underlying storage for the NVMe drive. The combined size of the namespaces added with the add_namespace command must not exceed this value.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_size
Optional attribute; read/write access; type: b
If set to True, adding a namespace will increase the disk size if needed.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

simics-nvme-comp

simple_memory_module

Description

A simple memory module.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
mem_bus mem-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
memory_megs
Optional attribute; read/write access; type: i
MB memory.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

memory-comp

standard_pcie_switch_comp

Description

A generic PCIe switch with 4 slots implemented using the new Simics PCIe library

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
slot[0] pci-bus down
slot[1] pci-bus down
slot[2] pci-bus down
slot[3] pci-bus down
upstream_target pci-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

standard-pcie-switch-comp

txt_console_comp

Description

Simics text console.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
serial serial up

Commands for this class

Commands for interface component

Attributes

bg_color
Optional attribute; read/write access; type: s
The default background color, either by name ("red") or on the form #RRGGBB.
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
fg_color
Optional attribute; read/write access; type: s
The default foreground color, either by name ("blue") or on the form #RRGGBB.
has_user_defined_title
Optional attribute; read/write access; type: b
return True if current title is set by users.
height
Optional attribute; read/write access; type: i
The height of the console window.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
pty
Pseudo attribute; read/write access; type: s|n
Existing pty to open a host-serial server on. This is independent of the visible parameter. If the port cannot be opened, an error is thrown. If this parameter is the empty string, a new port is created and opened.
scrollback
Optional attribute; read/write access; type: i
The maximum number of scrollback lines.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
telnet_port
Optional attribute; read/write access; type: i|n
Port to open a telnet server on. This is independent of the visible parameter. The port must not be a privileged port, i.e. the allowed range is [1024, 65535], or 0 for an arbitrary port. If the port cannot be opened, an arbitrary port is chosen instead.
title
Optional attribute; read/write access; type: s
The Window title.
top_component
Optional attribute; read/write access; type: o|n
The top level component. Attribute is not valid until the component has been instantiated.
top_level
Optional attribute; read/write access; type: b
visible
Optional attribute; read/write access; type: b|n
Should console be visible upon startup?.
width
Optional attribute; read/write access; type: i
The width of the console window.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

console-components

tyler_durden

Description

The Tyler Durden component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
state_of_mind
Optional attribute; read/write access; type: i
State of the mind.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

tyrell

Description

The Tyrell component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

usb_disk_comp

Description

The "usb_disk_comp" component represents a USB SCSI disk. Disk data is stored in the usb_scsi_disk_image subobject.

Interfaces Implemented

conf_object, log_object, component, component_connector, disk_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
usb_host usb-port up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Optional attribute; read/write access; type: i
The size of the disk in bytes.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

usb-comp

usb_hs_keyboard_comp

Description

The High Speed USB Keyboard component class. Encapsulated usb-hs-keyboard device in 'usb_device' slot.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
connector_keyboard keyboard down
connector_usb_host usb-port up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

usb-hid-components

usb_keyboard_comp

Description

The USB Keyboard component class. Encapsulated usb-keyboard device in 'usb_device' slot.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
connector_keyboard keyboard down
connector_usb_host usb-port up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

usb-hid-components

usb_mouse_comp

Description

The USB Mouse component class. Encapsulated usb-mouse device in 'usb_device' slot.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
connector_abs_mouse abs-mouse down
connector_mouse mouse down
connector_usb_host usb-port up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

usb-hid-components

usb_tablet_component

Description

The "usb_tablet_component" component represents a USB tablet device.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
abs_mouse abs-mouse down
usb_host usb-port up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

usb-comp

virtio_mmio_blk_comp

Description

"virtio_mmio_blk" component setups a disk using the virtio mmio block device

Interfaces Implemented

conf_object, log_object, component, component_connector, disk_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Optional attribute; read/write access; type: i
The size of the disk in bytes.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

virtio-comp

virtio_pcie_blk_comp

Description

PCIe Virtio Block Device.

Interfaces Implemented

conf_object, log_object, component, component_connector, disk_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
pcie pci-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Optional attribute; read/write access; type: i
The size of the disk in bytes.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

virtio-comp

virtio_pcie_fs_comp

Description

PCIe Virtio File System Device. This component should be used with the configuration attribute share set to either a directory or a Unix domain socket file. If the former case, the virtioFS daemon will be started automatically by Simics. In the latter case, the user has to start the daemon manually. This can be beneficial in cases where one would want to run the daemon under fakeroot or root.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
daemon_log_file
Optional attribute; read/write access; type: s
If set, the FUSE daemon will enable DEBUG logs and log to the provided path, default is unset
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
share
Required attribute; read/write access; type: s
Either a directory to share with the target, or a unix domain socket file.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
tag_name
Optional attribute; read/write access; type: s
The tag name to be used when mounting the device on the guest, default is simics
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

virtio-comp

virtio_pcie_net_comp

Description

PCIe Virtio Net Device.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
eth ethernet-link down
pcie pci-bus up

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
mac_address
Optional attribute; read/write access; type: s
MAC Address for the Virtio Net Device
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

virtio-comp

wall_e

Description

The WALL-E component.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

x86_chassis

Description

Standard x86 chassis.

Interfaces Implemented

conf_object, log_object, component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
The top level component. Attribute is not valid until the component has been instantiated.
top_level
Optional attribute; read/write access; type: b

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

x86-comp

zorg

Description

The Zorg component.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Connectors

Name Type Direction
water besson down

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

examples-comp

5 Classes

AM79C960

Description

AM79C960 is a rather common ISA Ethernet card, used mostly in old x86 PCs

Interfaces Implemented

conf_object, log_object, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.csr
AM79C960.csr
bank.ioreg
AM79C960.ioreg
bank.isa
AM79C960.isa
port.SRESET
AM79C960.SRESET

Commands for this class

Attributes

curr_rxd
Optional attribute; read/write access; type: i
Index of the current receive descriptor
curr_txd
Optional attribute; read/write access; type: i
Index of the current transmit descriptor
irq_dev
Required attribute; read/write access; type: o|[os]
The device that interrupts are sent to.

Required interfaces: simple_interrupt.

irq_level
Required attribute; read/write access; type: i
The level at which interrupts are sent.
irq_raised
Optional attribute; read/write access; type: b
Interrupt is currently raised by device
Optional attribute; read/write access; type: o|[os]|n
The ethernet-link the device is connected to.

Required interfaces: ethernet_common.

logical_address_filter
Optional attribute; read/write access; type: i
The logical address filter
mac_address
Optional attribute; read/write access; type: s
The MAC address
memory
Required attribute; read/write access; type: o|[os]
The memory the device uses to access the initialization data and descriptor rings.
poll_interval
Optional attribute; read/write access; type: f
Interval between transmit descriptor polls
rcv_descr_tbl_addr
Optional attribute; read/write access; type: i
The base address of the receive descriptor ring
rcv_descr_tbl_length
Optional attribute; read/write access; type: i
The length of the receive descriptor ring
transmit_time
Optional attribute; read/write access; type: f
Time it takes to transmit a packet.
xmt_descr_tbl_addr
Optional attribute; read/write access; type: i
The base address of the transmit descriptor ring
xmt_descr_tbl_length
Optional attribute; read/write access; type: i
The length of the transmit descriptor ring

Provided By

AM79C960

AM79C960.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

AM79C960.csr

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

AM79C960.ioreg

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

AM79C960.isa

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

AM79C973

Description

AM79C973 Ethernet controller.

Interfaces Implemented

conf_object, log_object, ieee_802_3_mac, ieee_802_3_mac_v3, io_memory, pci_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.bcr
AM79C973.bcr
bank.csr
AM79C973.csr
bank.ioreg
AM79C973.ioreg
bank.pci_config
AM79C973.pci_config – The PCI configuration space.

Commands for this class

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
curr_rxd
Optional attribute; read/write access; type: i
Index of the current receive descriptor
curr_txd
Optional attribute; read/write access; type: i
Index of the current transmit descriptor
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
irq_raised
Optional attribute; read/write access; type: b
Interrupt is currently raised by device
logical_address_filter
Optional attribute; read/write access; type: i
The logical address filter
mac_address
Optional attribute; read/write access; type: i
The MAC address
pci_bus
Required attribute; read/write access; type: o|[os]
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus.

phy
Optional attribute; read/write access; type: o|[os]|n
The PHY the device is connected to.

Required interfaces: ieee_802_3_phy, mii.

poll_interval
Optional attribute; read/write access; type: f
Interval between transmit descriptor polls
rcv_descr_tbl_addr
Optional attribute; read/write access; type: i
The base address of the receive descriptor ring
rcv_descr_tbl_length
Optional attribute; read/write access; type: i
The length of the receive descriptor ring
xmt_descr_tbl_addr
Optional attribute; read/write access; type: i
The base address of the transmit descriptor ring
xmt_descr_tbl_length
Optional attribute; read/write access; type: i
The length of the transmit descriptor ring

Provided By

AM79C973

AM79C973.bcr

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

AM79C973.csr

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

AM79C973.ioreg

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

AM79C973.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

bist
Optional attribute; read/write access; type: i
Build-in Self Test
cache_line_size
Optional attribute; read/write access; type: i
CacheLine Size
capabilities_ptr
Pseudo attribute; read/write access; type: i
Capabilities Pointer
cardbus_cis_ptr
Optional attribute; read/write access; type: i
Cardbus CIS Pointer
class_code
Optional attribute; read/write access; type: i
Class Code
command
Optional attribute; read/write access; type: i
Command Register
device_id
Optional attribute; read/write access; type: i
Device ID
header_type
Optional attribute; read/write access; type: i
Header Type
interrupt_line
Optional attribute; read/write access; type: i
Interrupt Line
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt Pin
interrupts
Optional attribute; read/write access; type: i
Raised _internal_ interrupts
latency_timer
Optional attribute; read/write access; type: i
Latency Timer
max_lat
Optional attribute; read/write access; type: i
MAX_LAT
min_gnt
Optional attribute; read/write access; type: i
MIN_GNT
pm_capabilities
Optional attribute; read/write access; type: i
Power Management Capabilities
pm_capability_header
Optional attribute; read/write access; type: i
Capability Header
pm_data
Optional attribute; read/write access; type: i
Power Management Data
pm_sc_bridge
Optional attribute; read/write access; type: i
Power Management Control/Status Bridge Extensions
pm_status_control
Optional attribute; read/write access; type: i
Power Management Status and Control
revision_id
Optional attribute; read/write access; type: i
Revision ID
status
Optional attribute; read/write access; type: i
Status Register
subsystem_id
Optional attribute; read/write access; type: i
Subsystem ID
subsystem_vendor_id
Optional attribute; read/write access; type: i
Subsystem Vendor ID
vendor_id
Optional attribute; read/write access; type: i
Vendor ID

AT24C04

Description

The AT24Cxx class implements Atmel's AT24C01A/02/04/08/16/32/64/128/256/512/M01 serial EEPROM.

Interfaces Implemented

conf_object, log_object, i2c_device, i2c_slave_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

current_address
Optional attribute; read/write access; type: i
The current data address.
current_state
Optional attribute; read/write access; type: i
The current state of the device.
i2c_address
Required attribute; read/write access; type: i
I2C address of the device.
i2c_bus
Optional attribute; read/write access; type: o|[os]|n
The I2C bus to which this device is connected.

Required interfaces: i2c_bus.

memory
Required attribute; read/write access; type: d
The on-chip memory bank.
page_size
Optional attribute; read/write access; type: i
The size of the page.

Provided By

AT24Cxx

AT24Cxx

Description

The AT24Cxx class implements Atmel's AT24C01A/02/04/08/16/32/64/128/256/512/M01 serial EEPROM.

Interfaces Implemented

conf_object, log_object, i2c_device, i2c_slave_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

current_address
Optional attribute; read/write access; type: i
The current data address.
current_state
Optional attribute; read/write access; type: i
The current state of the device.
i2c_address
Required attribute; read/write access; type: i
I2C address of the device.
i2c_bus
Optional attribute; read/write access; type: o|[os]|n
The I2C bus to which this device is connected.

Required interfaces: i2c_bus.

memory
Required attribute; read/write access; type: d
The on-chip memory bank.
page_size
Optional attribute; read/write access; type: i
The size of the page.

Provided By

AT24Cxx

AT24Cxxx

Description

The AT24Cxx device is an I2C based serial EEPROM with a configurable memory size.

Interfaces Implemented

conf_object, log_object, i2c_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

i2c_bus
Required attribute; read/write access; type: o
The i2c bus connected this device is connected to
i2c_device_state
Optional attribute; read/write access; type: [iiii]
List representing data state in the device
i2c_address
Required attribute; read/write access; type: i
The i2c_addr field.
memory_size
Required attribute; read/write access; type: i
The size of the memory.
memory
Optional attribute; read/write access; type: d
The on-chip memory bank
memory_address
Optional attribute; read/write access; type: i
The current memory address
memory_address_size
Required attribute; read/write access; type: i
The size of the memory address
device_state
Optional attribute; read/write access; type: i
The current device state (i.e., pending read/write operation).
i2c_state
Optional attribute; read/write access; type: i
The state of the i2c interface.

Provided By

AT24Cxxx

BCM5703C

Description

The BCM5703C class models the Broadcom BCM5703C triple-speed 10/100/1000Base-T Ethernet LAN controller.

Interfaces Implemented

conf_object, log_object, pci_device, io_memory, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
Optional attribute; read/write access; type: o|n
The Ethernet link that the network device is connected to.
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n
Ethernet (MAC) address of the network interface.
model_crc
Pseudo attribute; read/write access; type: i
Deprecated. Do not use.
tx_bandwidth
Optional attribute; read/write access; type: i
The transmit bandwidth of the network interface in bits per second. The network interface will limit the rate at which it sends packets to remain below this bandwidth. Set to 0 for unlimited bandwidth.
tx_next_time
Optional attribute; read/write access; type: f
The earliest time at which that the network interface may send another packet. Used for transmit bandwidth limitation.
network
Pseudo attribute; read/write access; type: o|n
Obsolete attribute. Use link instead.
inject_packet
Pseudo attribute; write-only access; type: d
Attribute used to send a packet to the network device. Writing this attribute at any time injects a new packet into the device (without involving the network simulation). Injecting a packet copies the packet data, allowing the caller to reuse or dispose of the buffer used for creating the packet, after the attribute is written.
add_crc_on_inject
Optional attribute; read/write access; type: i
Frames injected using the 'inject_packet' will get a correctly calculated CRC added at the end when this attribute is set to 1 (default). When set to 0, the user has to supply a CRC field with the injected frame. Note that you must always provide room for the CRC field, even when this attribute is set to 1.
bmcr
Optional attribute; read/write access; type: i
Internal Register
bmsr
Optional attribute; read/write access; type: i
Internal Register
anar
Optional attribute; read/write access; type: i
Internal Register
anlpar
Optional attribute; read/write access; type: i
Internal Register
aner
Optional attribute; read/write access; type: i
Internal Register
mode
Optional attribute; read/write access; type: i
Internal Register
poll_reg
Optional attribute; read/write access; type: i
Internal Register
cs_conf
Optional attribute; read/write access; type: i
Internal Register
tp10_conf
Optional attribute; read/write access; type: i
Internal Register
irq_mailbox_0
Optional attribute; read/write access; type: i
Internal register.
irq_mailbox_1
Optional attribute; read/write access; type: i
Internal register.
irq_mailbox_2
Optional attribute; read/write access; type: i
Internal register.
irq_mailbox_3
Optional attribute; read/write access; type: i
Internal register.
reload_statistics
Optional attribute; read/write access; type: i
Internal register.
rx_standard_ring_producer_idx
Optional attribute; read/write access; type: i
Internal register.
rx_jumbo_ring_producer_idx
Optional attribute; read/write access; type: i
Internal register.
rx_mini_ring_producer_idx
Optional attribute; read/write access; type: i
Internal register.
rx_standard_ring_consumer_idx
Optional attribute; read/write access; type: i
Internal register.
rx_jumbo_ring_consumer_idx
Optional attribute; read/write access; type: i
Internal register.
rx_mini_ring_consumer_idx
Optional attribute; read/write access; type: i
Internal register.
mac_mode
Optional attribute; read/write access; type: i
Internal register.
mac_status
Optional attribute; read/write access; type: i
Internal register.
mac_event
Optional attribute; read/write access; type: i
Internal register.
led_control
Optional attribute; read/write access; type: i
Internal register.
wol_pattern_pointer
Optional attribute; read/write access; type: i
Internal register.
random_backoff
Optional attribute; read/write access; type: i
Internal register.
mtu_size
Optional attribute; read/write access; type: i
Internal register.
gigabit_pcs_test
Optional attribute; read/write access; type: i
Internal register.
xmit_auto_negotiation
Optional attribute; read/write access; type: i
Internal register.
mi_status
Optional attribute; read/write access; type: i
Internal register.
mi_mode
Optional attribute; read/write access; type: i
Internal register.
tx_mac_mode
Optional attribute; read/write access; type: i
Internal register.
tx_mac_lengths
Optional attribute; read/write access; type: i
Internal register.
rx_mac_mode
Optional attribute; read/write access; type: i
Internal register.
mac_hash_0
Optional attribute; read/write access; type: i
Internal register.
mac_hash_1
Optional attribute; read/write access; type: i
Internal register.
mac_hash_2
Optional attribute; read/write access; type: i
Internal register.
mac_hash_3
Optional attribute; read/write access; type: i
Internal register.
rules_conf
Optional attribute; read/write access; type: i
Internal register.
low_water_max_receive
Optional attribute; read/write access; type: i
Internal register.
send_data_initiator_mode
Optional attribute; read/write access; type: i
Internal register.
send_data_stat_ctrl
Optional attribute; read/write access; type: i
Internal register.
send_data_stat_en
Optional attribute; read/write access; type: i
Internal register.
send_data_completion_mode
Optional attribute; read/write access; type: i
Internal register.
send_bd_ring_selector_mode
Optional attribute; read/write access; type: i
Internal register.
send_bd_initiator_mode
Optional attribute; read/write access; type: i
Internal register.
send_bd_completion_mode
Optional attribute; read/write access; type: i
Internal register.
rx_list_place_mode
Optional attribute; read/write access; type: i
Internal register.
rx_list_place_lock
Optional attribute; read/write access; type: i
Internal register.
rx_list_place
Optional attribute; read/write access; type: i
Internal register.
rx_list_place_stat_ctrl
Optional attribute; read/write access; type: i
Internal register.
rx_list_place_stat_en
Optional attribute; read/write access; type: i
Internal register.
rx_bd_data_initiator_mode
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_ring_host_addr_h
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_ring_host_addr_l
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_ring_length
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_ring_flags
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_ring_nic_addr
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_ring_host_addr_h
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_ring_host_addr_l
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_ring_length
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_ring_flags
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_ring_nic_addr
Optional attribute; read/write access; type: i
Internal register.
mini_rx_ring_host_addr_h
Optional attribute; read/write access; type: i
Internal register.
mini_rx_ring_host_addr_l
Optional attribute; read/write access; type: i
Internal register.
mini_rx_ring_length
Optional attribute; read/write access; type: i
Internal register.
mini_rx_ring_flags
Optional attribute; read/write access; type: i
Internal register.
mini_rx_ring_nic_addr
Optional attribute; read/write access; type: i
Internal register.
rx_data_completion_mode
Optional attribute; read/write access; type: i
Internal register.
rx_bd_initiator_mode
Optional attribute; read/write access; type: i
Internal register.
mini_rx_replenish
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_replenish
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_replenish
Optional attribute; read/write access; type: i
Internal register.
rx_bd_completion_mode
Optional attribute; read/write access; type: i
Internal register.
rx_list_selector_mode
Optional attribute; read/write access; type: i
Internal register.
mbuf_cluster_free_mode
Optional attribute; read/write access; type: i
Internal register.
host_coalescing_mode
Optional attribute; read/write access; type: i
Internal register.
rx_coalescing_tick
Optional attribute; read/write access; type: i
Internal register.
snd_coalescing_tick
Optional attribute; read/write access; type: i
Internal register.
rx_coalesced_bd_count
Optional attribute; read/write access; type: i
Internal register.
snd_coalesced_bd_count
Optional attribute; read/write access; type: i
Internal register.
rx_coalescing_tick_irq
Optional attribute; read/write access; type: i
Internal register.
snd_coalescing_tick_irq
Optional attribute; read/write access; type: i
Internal register.
rx_coalesced_bd_count_irq
Optional attribute; read/write access; type: i
Internal register.
snd_coalesced_bd_count_irq
Optional attribute; read/write access; type: i
Internal register.
statistics_tick
Optional attribute; read/write access; type: i
Internal register.
statistics_host_address_h
Optional attribute; read/write access; type: i
Internal register.
statistics_host_address_l
Optional attribute; read/write access; type: i
Internal register.
status_host_address_h
Optional attribute; read/write access; type: i
Internal register.
status_host_address_l
Optional attribute; read/write access; type: i
Internal register.
statistics_nic_address
Optional attribute; read/write access; type: i
Internal register.
status_nic_address
Optional attribute; read/write access; type: i
Internal register.
arbiter_mode
Optional attribute; read/write access; type: i
Internal register.
arbiter_trap_addr_l
Optional attribute; read/write access; type: i
Internal register.
arbiter_trap_addr_h
Optional attribute; read/write access; type: i
Internal register.
msi_mode
Optional attribute; read/write access; type: i
Internal register.
dma_completion_mode
Optional attribute; read/write access; type: i
Internal register.
mode_control
Optional attribute; read/write access; type: i
Internal register.
host_config
Optional attribute; read/write access; type: i
Internal register.
local_control
Optional attribute; read/write access; type: i
Internal register.
nvram_command
Optional attribute; read/write access; type: i
Internal register.
seeprom_addr
Optional attribute; read/write access; type: i
Internal register.
seeprom_data
Optional attribute; read/write access; type: i
Internal register.
seeprom_control
Optional attribute; read/write access; type: i
Internal register.
mdi_control
Optional attribute; read/write access; type: i
Internal register.
asf_control
Optional attribute; read/write access; type: i
Internal register.
smbus_input
Optional attribute; read/write access; type: i
Internal register.
smbus_output
Optional attribute; read/write access; type: i
Internal register.
nvram_addr
Optional attribute; read/write access; type: i
Internal register.
nvram_config1
Optional attribute; read/write access; type: i
Internal register.
nvram_sw_arb
Optional attribute; read/write access; type: i
Internal register.
read_dma_mode
Optional attribute; read/write access; type: i
Internal register.
write_dma_mode
Optional attribute; read/write access; type: i
Internal register.
buf_manager_mode
Optional attribute; read/write access; type: i
Internal register.
mbuf_addr
Optional attribute; read/write access; type: i
Internal register.
mbuf_size
Optional attribute; read/write access; type: i
Internal register.
dma_low_mark
Optional attribute; read/write access; type: i
Internal register.
rx_low_mark
Optional attribute; read/write access; type: i
Internal register.
mbuf_high_mark
Optional attribute; read/write access; type: i
Internal register.
rx_mbuf_alloc_request
Optional attribute; read/write access; type: i
Internal register.
tx_mbuf_alloc_request
Optional attribute; read/write access; type: i
Internal register.
desc_low_mark
Optional attribute; read/write access; type: i
Internal register.
desc_high_mark
Optional attribute; read/write access; type: i
Internal register.
dma_desc_addr
Optional attribute; read/write access; type: i
Internal register.
dma_desc_size
Optional attribute; read/write access; type: i
Internal register.
rx_flow_threshold
Optional attribute; read/write access; type: i
Internal register.
rx_risc_mode
Optional attribute; read/write access; type: i
Internal register.
tx_risc_mode
Optional attribute; read/write access; type: i
Internal register.
tx_pc
Optional attribute; read/write access; type: i
Internal register.
read_fifo_addr
Optional attribute; read/write access; type: i
Internal register.
write_fifo_addr
Optional attribute; read/write access; type: i
Internal register.
next_mii_val
Optional attribute; read/write access; type: i
Internal register.
mii_dsp_addr
Optional attribute; read/write access; type: i
Internal register.
mii_dsp_data
Optional attribute; read/write access; type: i
Internal register.
mii_unknown_16
Optional attribute; read/write access; type: i
Internal register.
mii_aux_normal
Optional attribute; read/write access; type: i
Internal register.
mii_aux_10base_t
Optional attribute; read/write access; type: i
Internal register.
mii_aux_power
Optional attribute; read/write access; type: i
Internal register.
mii_aux_misc_test1
Optional attribute; read/write access; type: i
Internal register.
mii_aux_misc_test2
Optional attribute; read/write access; type: i
Internal register.
mii_aux_misc_ctrl
Optional attribute; read/write access; type: i
Internal register.
mii_irq_mask
Optional attribute; read/write access; type: i
Internal register.
mii_ext_ctrl
Optional attribute; read/write access; type: i
Internal register.
mii_rec_err_cnt
Optional attribute; read/write access; type: i
Internal register.
mii_false_carr_cnt
Optional attribute; read/write access; type: i
Internal register.
mii_1000_base_t_ctrl
Optional attribute; read/write access; type: i
Internal register.
next_page_transmit
Optional attribute; read/write access; type: i
Internal register.
mii_crc_counter
Optional attribute; read/write access; type: i
Internal register.
mii_phy_test1
Optional attribute; read/write access; type: i
Internal register.
firmware_loaded
Pseudo attribute; read/write access; type: i
Set to 1 to fake the firmware load.
interrupt_state
Optional attribute; read/write access; type: i
Internal interrupt state.
memory
Optional attribute; read/write access; type: d
Onboard memory image.
nvram
Optional attribute; read/write access; type: d
Onboard NVRAM image.
seeprom1
Optional attribute; read/write access; type: d
Onboard SEEPROM device 1 image.
mac0
Optional attribute; read/write access; type: [i{6}]
MAC 0 Address.
mac1
Optional attribute; read/write access; type: [i{6}]
MAC 1 Address.
mac2
Optional attribute; read/write access; type: [i{6}]
MAC 2 Address.
mac3
Optional attribute; read/write access; type: [i{6}]
MAC 3 Address.
mac4
Optional attribute; read/write access; type: [i{6}]
MAC 4 Address.
mac5
Optional attribute; read/write access; type: [i{6}]
MAC 5 Address.
mac6
Optional attribute; read/write access; type: [i{6}]
MAC 6 Address.
mac7
Optional attribute; read/write access; type: [i{6}]
MAC 7 Address.
mac8
Optional attribute; read/write access; type: [i{6}]
MAC 8 Address.
mac9
Optional attribute; read/write access; type: [i{6}]
MAC 9 Address.
mac10
Optional attribute; read/write access; type: [i{6}]
MAC 10 Address.
mac11
Optional attribute; read/write access; type: [i{6}]
MAC 11 Address.
mac12
Optional attribute; read/write access; type: [i{6}]
MAC 12 Address.
mac13
Optional attribute; read/write access; type: [i{6}]
MAC 13 Address.
mac14
Optional attribute; read/write access; type: [i{6}]
MAC 14 Address.
mac15
Optional attribute; read/write access; type: [i{6}]
MAC 15 Address.
receive_rules_control
Optional attribute; read/write access; type: Unknown
List of 16 receive rules control registers
receive_rules_value
Optional attribute; read/write access; type: Unknown
List of 16 receive rules value/mask registers
general_mailbox
Optional attribute; read/write access; type: Unknown
List of 8 general mailbox registers
rx_return_ring_consumer_idx
Optional attribute; read/write access; type: Unknown
List of 16 return ring consumer index registers
send_host_ring_producer_idx
Optional attribute; read/write access; type: Unknown
List of 16 send host ring producer index registers
send_nic_ring_producer_idx
Optional attribute; read/write access; type: Unknown
List of 16 send NIC ring producer index registers
rx_return_ring_producer_idx
Optional attribute; read/write access; type: Unknown
List of 16 return ring producer index registers
send_ring_consumer_idx
Optional attribute; read/write access; type: Unknown
List of 16 send ring consumer index registers

Provided By

BCM5703C

BCM5704C

Description

The BCM5704C class models the Broadcom BCM5704C triple-speed 10/100/1000Base-T Ethernet LAN controller.

Interfaces Implemented

conf_object, log_object, pci_device, io_memory, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
is_mac1
Required attribute; read/write access; type: i
Set to 1 if the device is the MAC1 in a dual MAC device
other_bcm
Required attribute; read/write access; type: o
The other object forming a dual BCM device.
Optional attribute; read/write access; type: o|n
The Ethernet link that the network device is connected to.
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n
Ethernet (MAC) address of the network interface.
model_crc
Pseudo attribute; read/write access; type: i
Deprecated. Do not use.
tx_bandwidth
Optional attribute; read/write access; type: i
The transmit bandwidth of the network interface in bits per second. The network interface will limit the rate at which it sends packets to remain below this bandwidth. Set to 0 for unlimited bandwidth.
tx_next_time
Optional attribute; read/write access; type: f
The earliest time at which that the network interface may send another packet. Used for transmit bandwidth limitation.
network
Pseudo attribute; read/write access; type: o|n
Obsolete attribute. Use link instead.
inject_packet
Pseudo attribute; write-only access; type: d
Attribute used to send a packet to the network device. Writing this attribute at any time injects a new packet into the device (without involving the network simulation). Injecting a packet copies the packet data, allowing the caller to reuse or dispose of the buffer used for creating the packet, after the attribute is written.
add_crc_on_inject
Optional attribute; read/write access; type: i
Frames injected using the 'inject_packet' will get a correctly calculated CRC added at the end when this attribute is set to 1 (default). When set to 0, the user has to supply a CRC field with the injected frame. Note that you must always provide room for the CRC field, even when this attribute is set to 1.
bmcr
Optional attribute; read/write access; type: i
Internal Register
bmsr
Optional attribute; read/write access; type: i
Internal Register
anar
Optional attribute; read/write access; type: i
Internal Register
anlpar
Optional attribute; read/write access; type: i
Internal Register
aner
Optional attribute; read/write access; type: i
Internal Register
mode
Optional attribute; read/write access; type: i
Internal Register
poll_reg
Optional attribute; read/write access; type: i
Internal Register
cs_conf
Optional attribute; read/write access; type: i
Internal Register
tp10_conf
Optional attribute; read/write access; type: i
Internal Register
irq_mailbox_0
Optional attribute; read/write access; type: i
Internal register.
irq_mailbox_1
Optional attribute; read/write access; type: i
Internal register.
irq_mailbox_2
Optional attribute; read/write access; type: i
Internal register.
irq_mailbox_3
Optional attribute; read/write access; type: i
Internal register.
reload_statistics
Optional attribute; read/write access; type: i
Internal register.
rx_standard_ring_producer_idx
Optional attribute; read/write access; type: i
Internal register.
rx_jumbo_ring_producer_idx
Optional attribute; read/write access; type: i
Internal register.
rx_mini_ring_producer_idx
Optional attribute; read/write access; type: i
Internal register.
rx_standard_ring_consumer_idx
Optional attribute; read/write access; type: i
Internal register.
rx_jumbo_ring_consumer_idx
Optional attribute; read/write access; type: i
Internal register.
rx_mini_ring_consumer_idx
Optional attribute; read/write access; type: i
Internal register.
mac_mode
Optional attribute; read/write access; type: i
Internal register.
mac_status
Optional attribute; read/write access; type: i
Internal register.
mac_event
Optional attribute; read/write access; type: i
Internal register.
led_control
Optional attribute; read/write access; type: i
Internal register.
wol_pattern_pointer
Optional attribute; read/write access; type: i
Internal register.
random_backoff
Optional attribute; read/write access; type: i
Internal register.
mtu_size
Optional attribute; read/write access; type: i
Internal register.
gigabit_pcs_test
Optional attribute; read/write access; type: i
Internal register.
xmit_auto_negotiation
Optional attribute; read/write access; type: i
Internal register.
mi_status
Optional attribute; read/write access; type: i
Internal register.
mi_mode
Optional attribute; read/write access; type: i
Internal register.
tx_mac_mode
Optional attribute; read/write access; type: i
Internal register.
tx_mac_lengths
Optional attribute; read/write access; type: i
Internal register.
rx_mac_mode
Optional attribute; read/write access; type: i
Internal register.
mac_hash_0
Optional attribute; read/write access; type: i
Internal register.
mac_hash_1
Optional attribute; read/write access; type: i
Internal register.
mac_hash_2
Optional attribute; read/write access; type: i
Internal register.
mac_hash_3
Optional attribute; read/write access; type: i
Internal register.
rules_conf
Optional attribute; read/write access; type: i
Internal register.
low_water_max_receive
Optional attribute; read/write access; type: i
Internal register.
send_data_initiator_mode
Optional attribute; read/write access; type: i
Internal register.
send_data_stat_ctrl
Optional attribute; read/write access; type: i
Internal register.
send_data_stat_en
Optional attribute; read/write access; type: i
Internal register.
send_data_completion_mode
Optional attribute; read/write access; type: i
Internal register.
send_bd_ring_selector_mode
Optional attribute; read/write access; type: i
Internal register.
send_bd_initiator_mode
Optional attribute; read/write access; type: i
Internal register.
send_bd_completion_mode
Optional attribute; read/write access; type: i
Internal register.
rx_list_place_mode
Optional attribute; read/write access; type: i
Internal register.
rx_list_place_lock
Optional attribute; read/write access; type: i
Internal register.
rx_list_place
Optional attribute; read/write access; type: i
Internal register.
rx_list_place_stat_ctrl
Optional attribute; read/write access; type: i
Internal register.
rx_list_place_stat_en
Optional attribute; read/write access; type: i
Internal register.
rx_bd_data_initiator_mode
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_ring_host_addr_h
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_ring_host_addr_l
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_ring_length
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_ring_flags
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_ring_nic_addr
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_ring_host_addr_h
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_ring_host_addr_l
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_ring_length
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_ring_flags
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_ring_nic_addr
Optional attribute; read/write access; type: i
Internal register.
mini_rx_ring_host_addr_h
Optional attribute; read/write access; type: i
Internal register.
mini_rx_ring_host_addr_l
Optional attribute; read/write access; type: i
Internal register.
mini_rx_ring_length
Optional attribute; read/write access; type: i
Internal register.
mini_rx_ring_flags
Optional attribute; read/write access; type: i
Internal register.
mini_rx_ring_nic_addr
Optional attribute; read/write access; type: i
Internal register.
rx_data_completion_mode
Optional attribute; read/write access; type: i
Internal register.
rx_bd_initiator_mode
Optional attribute; read/write access; type: i
Internal register.
mini_rx_replenish
Optional attribute; read/write access; type: i
Internal register.
stnd_rx_replenish
Optional attribute; read/write access; type: i
Internal register.
jumb_rx_replenish
Optional attribute; read/write access; type: i
Internal register.
rx_bd_completion_mode
Optional attribute; read/write access; type: i
Internal register.
rx_list_selector_mode
Optional attribute; read/write access; type: i
Internal register.
mbuf_cluster_free_mode
Optional attribute; read/write access; type: i
Internal register.
host_coalescing_mode
Optional attribute; read/write access; type: i
Internal register.
rx_coalescing_tick
Optional attribute; read/write access; type: i
Internal register.
snd_coalescing_tick
Optional attribute; read/write access; type: i
Internal register.
rx_coalesced_bd_count
Optional attribute; read/write access; type: i
Internal register.
snd_coalesced_bd_count
Optional attribute; read/write access; type: i
Internal register.
rx_coalescing_tick_irq
Optional attribute; read/write access; type: i
Internal register.
snd_coalescing_tick_irq
Optional attribute; read/write access; type: i
Internal register.
rx_coalesced_bd_count_irq
Optional attribute; read/write access; type: i
Internal register.
snd_coalesced_bd_count_irq
Optional attribute; read/write access; type: i
Internal register.
statistics_tick
Optional attribute; read/write access; type: i
Internal register.
statistics_host_address_h
Optional attribute; read/write access; type: i
Internal register.
statistics_host_address_l
Optional attribute; read/write access; type: i
Internal register.
status_host_address_h
Optional attribute; read/write access; type: i
Internal register.
status_host_address_l
Optional attribute; read/write access; type: i
Internal register.
statistics_nic_address
Optional attribute; read/write access; type: i
Internal register.
status_nic_address
Optional attribute; read/write access; type: i
Internal register.
arbiter_mode
Optional attribute; read/write access; type: i
Internal register.
arbiter_trap_addr_l
Optional attribute; read/write access; type: i
Internal register.
arbiter_trap_addr_h
Optional attribute; read/write access; type: i
Internal register.
msi_mode
Optional attribute; read/write access; type: i
Internal register.
dma_completion_mode
Optional attribute; read/write access; type: i
Internal register.
mode_control
Optional attribute; read/write access; type: i
Internal register.
host_config
Optional attribute; read/write access; type: i
Internal register.
local_control
Optional attribute; read/write access; type: i
Internal register.
nvram_command
Optional attribute; read/write access; type: i
Internal register.
seeprom_addr
Optional attribute; read/write access; type: i
Internal register.
seeprom_data
Optional attribute; read/write access; type: i
Internal register.
seeprom_control
Optional attribute; read/write access; type: i
Internal register.
mdi_control
Optional attribute; read/write access; type: i
Internal register.
asf_control
Optional attribute; read/write access; type: i
Internal register.
smbus_input
Optional attribute; read/write access; type: i
Internal register.
smbus_output
Optional attribute; read/write access; type: i
Internal register.
nvram_addr
Optional attribute; read/write access; type: i
Internal register.
nvram_config1
Optional attribute; read/write access; type: i
Internal register.
nvram_sw_arb
Optional attribute; read/write access; type: i
Internal register.
read_dma_mode
Optional attribute; read/write access; type: i
Internal register.
write_dma_mode
Optional attribute; read/write access; type: i
Internal register.
buf_manager_mode
Optional attribute; read/write access; type: i
Internal register.
mbuf_addr
Optional attribute; read/write access; type: i
Internal register.
mbuf_size
Optional attribute; read/write access; type: i
Internal register.
dma_low_mark
Optional attribute; read/write access; type: i
Internal register.
rx_low_mark
Optional attribute; read/write access; type: i
Internal register.
mbuf_high_mark
Optional attribute; read/write access; type: i
Internal register.
rx_mbuf_alloc_request
Optional attribute; read/write access; type: i
Internal register.
tx_mbuf_alloc_request
Optional attribute; read/write access; type: i
Internal register.
desc_low_mark
Optional attribute; read/write access; type: i
Internal register.
desc_high_mark
Optional attribute; read/write access; type: i
Internal register.
dma_desc_addr
Optional attribute; read/write access; type: i
Internal register.
dma_desc_size
Optional attribute; read/write access; type: i
Internal register.
rx_flow_threshold
Optional attribute; read/write access; type: i
Internal register.
rx_risc_mode
Optional attribute; read/write access; type: i
Internal register.
tx_risc_mode
Optional attribute; read/write access; type: i
Internal register.
tx_pc
Optional attribute; read/write access; type: i
Internal register.
read_fifo_addr
Optional attribute; read/write access; type: i
Internal register.
write_fifo_addr
Optional attribute; read/write access; type: i
Internal register.
next_mii_val
Optional attribute; read/write access; type: i
Internal register.
mii_dsp_addr
Optional attribute; read/write access; type: i
Internal register.
mii_dsp_data
Optional attribute; read/write access; type: i
Internal register.
mii_unknown_16
Optional attribute; read/write access; type: i
Internal register.
mii_aux_normal
Optional attribute; read/write access; type: i
Internal register.
mii_aux_10base_t
Optional attribute; read/write access; type: i
Internal register.
mii_aux_power
Optional attribute; read/write access; type: i
Internal register.
mii_aux_misc_test1
Optional attribute; read/write access; type: i
Internal register.
mii_aux_misc_test2
Optional attribute; read/write access; type: i
Internal register.
mii_aux_misc_ctrl
Optional attribute; read/write access; type: i
Internal register.
mii_irq_mask
Optional attribute; read/write access; type: i
Internal register.
mii_ext_ctrl
Optional attribute; read/write access; type: i
Internal register.
mii_rec_err_cnt
Optional attribute; read/write access; type: i
Internal register.
mii_false_carr_cnt
Optional attribute; read/write access; type: i
Internal register.
mii_1000_base_t_ctrl
Optional attribute; read/write access; type: i
Internal register.
next_page_transmit
Optional attribute; read/write access; type: i
Internal register.
mii_crc_counter
Optional attribute; read/write access; type: i
Internal register.
mii_phy_test1
Optional attribute; read/write access; type: i
Internal register.
firmware_loaded
Pseudo attribute; read/write access; type: i
Set to 1 to fake the firmware load.
interrupt_state
Optional attribute; read/write access; type: i
Internal interrupt state.
memory
Optional attribute; read/write access; type: d
Onboard memory image.
nvram
Optional attribute; read/write access; type: d
Onboard NVRAM image.
seeprom1
Optional attribute; read/write access; type: d
Onboard SEEPROM device 1 image.
mac0
Optional attribute; read/write access; type: [i{6}]
MAC 0 Address.
mac1
Optional attribute; read/write access; type: [i{6}]
MAC 1 Address.
mac2
Optional attribute; read/write access; type: [i{6}]
MAC 2 Address.
mac3
Optional attribute; read/write access; type: [i{6}]
MAC 3 Address.
mac4
Optional attribute; read/write access; type: [i{6}]
MAC 4 Address.
mac5
Optional attribute; read/write access; type: [i{6}]
MAC 5 Address.
mac6
Optional attribute; read/write access; type: [i{6}]
MAC 6 Address.
mac7
Optional attribute; read/write access; type: [i{6}]
MAC 7 Address.
mac8
Optional attribute; read/write access; type: [i{6}]
MAC 8 Address.
mac9
Optional attribute; read/write access; type: [i{6}]
MAC 9 Address.
mac10
Optional attribute; read/write access; type: [i{6}]
MAC 10 Address.
mac11
Optional attribute; read/write access; type: [i{6}]
MAC 11 Address.
mac12
Optional attribute; read/write access; type: [i{6}]
MAC 12 Address.
mac13
Optional attribute; read/write access; type: [i{6}]
MAC 13 Address.
mac14
Optional attribute; read/write access; type: [i{6}]
MAC 14 Address.
mac15
Optional attribute; read/write access; type: [i{6}]
MAC 15 Address.
receive_rules_control
Optional attribute; read/write access; type: Unknown
List of 16 receive rules control registers
receive_rules_value
Optional attribute; read/write access; type: Unknown
List of 16 receive rules value/mask registers
general_mailbox
Optional attribute; read/write access; type: Unknown
List of 8 general mailbox registers
rx_return_ring_consumer_idx
Optional attribute; read/write access; type: Unknown
List of 16 return ring consumer index registers
send_host_ring_producer_idx
Optional attribute; read/write access; type: Unknown
List of 16 send host ring producer index registers
send_nic_ring_producer_idx
Optional attribute; read/write access; type: Unknown
List of 16 send NIC ring producer index registers
rx_return_ring_producer_idx
Optional attribute; read/write access; type: Unknown
List of 16 return ring producer index registers
send_ring_consumer_idx
Optional attribute; read/write access; type: Unknown
List of 16 send ring consumer index registers

Provided By

BCM5704C

CL-PD6729

Description

The CL-PD6729 class models a Cirrus Logic PD6729 PCI to PCMCIA bridge.

Interfaces Implemented

conf_object, log_object, simple_interrupt, pci_device, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
slot0_memory_windows
Optional attribute; read/write access; type: [[ii]{5}]
List of memory/attribute space windows of slot 0.
slot1_memory_windows
Optional attribute; read/write access; type: [[ii]{5}]
List of memory/attribute space windows of slot 1.
slot0_io_windows
Optional attribute; read/write access; type: [[i]{2}]
List of i/o space windows of slot 0.
slot1_io_windows
Optional attribute; read/write access; type: [[i]{2}]
List of i/o space windows of slot 1.
slot0_spaces
Optional attribute; read/write access; type: n|[ooo]
Memory space objects representing the PCMCIA Attribute, Common and I/O spaces for slot 0.
slot1_spaces
Optional attribute; read/write access; type: n|[ooo]
Memory space objects representing the PCMCIA Attribute, Common and I/O spaces for slot 1.
slot0_extended_registers
Optional attribute; read/write access; type: [i{60}]
Extended registers of slot 0
slot1_extended_registers
Optional attribute; read/write access; type: [i{60}]
Extended registers of slot 1
slot0_registers
Optional attribute; read/write access; type: [i{64}]
Registers of slot 0
slot1_registers
Optional attribute; read/write access; type: [i{64}]
Registers of slot 1
register_index
Optional attribute; read/write access; type: i
Current register index
pending_interrupts
Optional attribute; read/write access; type: [bb]
Pending card interrupts for slot 0 and slot 1.

Provided By

CL-PD6729

DEC21041

Description

The DEC21041 is a fast Ethernet LAN controller providing a direct interface to the PCI bus. The DEC21041 interfaces to the host processor by using on-chip control and status registers (CSRs) and a shared host memory area, set up mainly during initialization.

Current limitations:

Interfaces Implemented

conf_object, log_object, pci_device, io_memory, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
csrs
Optional attribute; read/write access; type: [i*]
Control and status registers.
pending_irq
Optional attribute; read/write access; type: i
Whether and interrupt is pending or not.
current_tx_descriptor
Optional attribute; read/write access; type: i
Transmit address.
current_rx_descriptor
Optional attribute; read/write access; type: i
Receive address.
srom_address_width
Optional attribute; read/write access; type: i
Number of address bits when communicating with the serial ROM.
send_delay
Optional attribute; read/write access; type: f
How often (in seconds) that packets are send out to the network.
ether
Pseudo attribute; write-only access; type: s
Ethernet (MAC) address.
srom_info
Optional attribute; read/write access; type: [diiiiii]
State information of the serial ROM.
Optional attribute; read/write access; type: o|n
The Ethernet link that the network device is connected to.
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n
Ethernet (MAC) address of the network interface.
model_crc
Pseudo attribute; read/write access; type: i
Deprecated. Do not use.
network
Pseudo attribute; read/write access; type: o|n
Obsolete attribute. Use link instead.
inject_packet
Pseudo attribute; write-only access; type: d
Attribute used to send a packet to the network device. Writing this attribute at any time injects a new packet into the device (without involving the network simulation). Injecting a packet copies the packet data, allowing the caller to reuse or dispose of the buffer used for creating the packet, after the attribute is written.
add_crc_on_inject
Optional attribute; read/write access; type: i
Frames injected using the 'inject_packet' will get a correctly calculated CRC added at the end when this attribute is set to 1 (default). When set to 0, the user has to supply a CRC field with the injected frame. Note that you must always provide room for the CRC field, even when this attribute is set to 1.
bmcr
Optional attribute; read/write access; type: i
Internal Register
bmsr
Optional attribute; read/write access; type: i
Internal Register
anar
Optional attribute; read/write access; type: i
Internal Register
anlpar
Optional attribute; read/write access; type: i
Internal Register
aner
Optional attribute; read/write access; type: i
Internal Register
mode
Optional attribute; read/write access; type: i
Internal Register
poll_reg
Optional attribute; read/write access; type: i
Internal Register
cs_conf
Optional attribute; read/write access; type: i
Internal Register
tp10_conf
Optional attribute; read/write access; type: i
Internal Register
serial_num_cycles
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_clock
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.

Provided By

DEC21041

DEC21140A

Description

The DEC21140A is a fast Ethernet LAN controller providing a direct interface to the PCI bus. The DEC21140A interfaces to the host processor by using on-chip control and status registers (CSRs) and a shared host memory area, set up mainly during initialization.

Current limitations:

Interfaces Implemented

conf_object, log_object, pci_device, io_memory, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
csrs
Optional attribute; read/write access; type: [i*]
Control and status registers.
pending_irq
Optional attribute; read/write access; type: i
Whether and interrupt is pending or not.
current_tx_descriptor
Optional attribute; read/write access; type: i
Transmit address.
current_rx_descriptor
Optional attribute; read/write access; type: i
Receive address.
srom_address_width
Optional attribute; read/write access; type: i
Number of address bits when communicating with the serial ROM.
send_delay
Optional attribute; read/write access; type: f
How often (in seconds) that packets are send out to the network.
ether
Pseudo attribute; write-only access; type: s
Ethernet (MAC) address.
srom_info
Optional attribute; read/write access; type: [diiiiii]
State information of the serial ROM.
Optional attribute; read/write access; type: o|n
The Ethernet link that the network device is connected to.
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n
Ethernet (MAC) address of the network interface.
model_crc
Pseudo attribute; read/write access; type: i
Deprecated. Do not use.
network
Pseudo attribute; read/write access; type: o|n
Obsolete attribute. Use link instead.
inject_packet
Pseudo attribute; write-only access; type: d
Attribute used to send a packet to the network device. Writing this attribute at any time injects a new packet into the device (without involving the network simulation). Injecting a packet copies the packet data, allowing the caller to reuse or dispose of the buffer used for creating the packet, after the attribute is written.
add_crc_on_inject
Optional attribute; read/write access; type: i
Frames injected using the 'inject_packet' will get a correctly calculated CRC added at the end when this attribute is set to 1 (default). When set to 0, the user has to supply a CRC field with the injected frame. Note that you must always provide room for the CRC field, even when this attribute is set to 1.
bmcr
Optional attribute; read/write access; type: i
Internal Register
bmsr
Optional attribute; read/write access; type: i
Internal Register
anar
Optional attribute; read/write access; type: i
Internal Register
anlpar
Optional attribute; read/write access; type: i
Internal Register
aner
Optional attribute; read/write access; type: i
Internal Register
mode
Optional attribute; read/write access; type: i
Internal Register
poll_reg
Optional attribute; read/write access; type: i
Internal Register
cs_conf
Optional attribute; read/write access; type: i
Internal Register
tp10_conf
Optional attribute; read/write access; type: i
Internal Register
serial_num_cycles
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_clock
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.

Provided By

DEC21140A

DEC21140A-dml

Description

DEC21140A Ethernet controller.

Interfaces Implemented

conf_object, log_object, ieee_802_3_mac, ieee_802_3_mac_v3, io_memory, pci_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.csr
DEC21140A-dml.csr – Control and Status Register Mapping
bank.pci_config
DEC21140A-dml.pci_config – The PCI configuration space.
port.HRESET
DEC21140A-dml.HRESET
port.SRESET
DEC21140A-dml.SRESET

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
mii_bus
Required attribute; read/write access; type: o|[os]
MII Management Bus

Required interfaces: mii_management.

pci_bus
Required attribute; read/write access; type: o|[os]
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus.

phy
Required attribute; read/write access; type: o|[os]
Phy object

Required interfaces: ieee_802_3_phy_v2.

serial_eeprom
Required attribute; read/write access; type: o|[os]
Serial EEPROM

Required interfaces: microwire.

Provided By

DEC21140A-dml

DEC21140A-dml.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

DEC21140A-dml.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

DEC21140A-dml.csr

Description

Control and Status Register Mapping

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

DEC21140A-dml.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

DEC21143

Description

The DEC21143 is a fast Ethernet LAN controller providing a direct interface to the PCI bus. The DEC21143 interfaces to the host processor by using on-chip control and status registers (CSRs) and a shared host memory area, set up mainly during initialization.

Current limitations:

Interfaces Implemented

conf_object, log_object, pci_device, io_memory, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
csrs
Optional attribute; read/write access; type: [i*]
Control and status registers.
pending_irq
Optional attribute; read/write access; type: i
Whether and interrupt is pending or not.
current_tx_descriptor
Optional attribute; read/write access; type: i
Transmit address.
current_rx_descriptor
Optional attribute; read/write access; type: i
Receive address.
srom_address_width
Optional attribute; read/write access; type: i
Number of address bits when communicating with the serial ROM.
send_delay
Optional attribute; read/write access; type: f
How often (in seconds) that packets are send out to the network.
ether
Pseudo attribute; write-only access; type: s
Ethernet (MAC) address.
srom_info
Optional attribute; read/write access; type: [diiiiii]
State information of the serial ROM.
cfdd
Optional attribute; read/write access; type: i
CFDD.
Optional attribute; read/write access; type: o|n
The Ethernet link that the network device is connected to.
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n
Ethernet (MAC) address of the network interface.
model_crc
Pseudo attribute; read/write access; type: i
Deprecated. Do not use.
network
Pseudo attribute; read/write access; type: o|n
Obsolete attribute. Use link instead.
inject_packet
Pseudo attribute; write-only access; type: d
Attribute used to send a packet to the network device. Writing this attribute at any time injects a new packet into the device (without involving the network simulation). Injecting a packet copies the packet data, allowing the caller to reuse or dispose of the buffer used for creating the packet, after the attribute is written.
add_crc_on_inject
Optional attribute; read/write access; type: i
Frames injected using the 'inject_packet' will get a correctly calculated CRC added at the end when this attribute is set to 1 (default). When set to 0, the user has to supply a CRC field with the injected frame. Note that you must always provide room for the CRC field, even when this attribute is set to 1.
bmcr
Optional attribute; read/write access; type: i
Internal Register
bmsr
Optional attribute; read/write access; type: i
Internal Register
anar
Optional attribute; read/write access; type: i
Internal Register
anlpar
Optional attribute; read/write access; type: i
Internal Register
aner
Optional attribute; read/write access; type: i
Internal Register
mode
Optional attribute; read/write access; type: i
Internal Register
poll_reg
Optional attribute; read/write access; type: i
Internal Register
cs_conf
Optional attribute; read/write access; type: i
Internal Register
tp10_conf
Optional attribute; read/write access; type: i
Internal Register
serial_num_cycles
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_clock
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.

Provided By

DEC21143

DS12887

Description

This is a simulation model for the DS12887 real-time clock.

Interfaces Implemented

conf_object, log_object, io_memory, temporal_state

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.partially_persistent_registers
DS12887.partially_persistent_registers
bank.port_registers
DS12887.port_registers
bank.registers
DS12887.registers

Commands for this class

Attributes

base_rtc_time
Optional attribute; read/write access; type: i
The real-time clock time when the oscillator was enabled, in seconds since 1970-01-01 00:00:00.
base_time
Optional attribute; read/write access; type: f
The simulated time when the oscillator was enabled, in seconds since the start of the simulation.
irq_dev
Optional attribute; read/write access; type: o|[os]|n
The device that interrupts are sent to, or Nil if the interrupt line is not connected to anything.

Required interfaces: simple_interrupt.

irq_level
Required attribute; read/write access; type: i
The level at which interrupts are sent.
time
Pseudo attribute; read/write access; type: s
The internal time of the real-time clock on the format "YY-MM-DD hh:mm:ss".

Provided By

DS12887

DS12887.partially_persistent_registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, io_memory, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

DS12887.port_registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, io_memory, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

DS12887.registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, io_memory, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

DS12887-c

Description

The DS12887 device implements real time clock functionality and non-volatile storage (NVRAM). The device is often referred to as CMOS Clock. The DS12887 includes time-of-day alarm, both 12 and 24 hour time format, periodic interrupts and 114 bytes of general purpose RAM. Limitations: Alarm interrupt not implemented. Daylight Savings Time not implemented.

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

irq_dev
Required attribute; read/write access; type: o
Device to send interrupts to, implementing the simple_interrupt.
irq_level
Required attribute; read/write access; type: i
Level at which interrupts are sent.
nvram
Optional attribute; read/write access; type: [i{128}]
The contents of the non-volatile storage, as a list of 128 bytes.
next_addr
Optional attribute; read/write access; type: i
Next NVRAM address to be accessed.
seconds_last
Optional attribute; read/write access; type: i
Current time-of-day, counted in seconds.
time_last
Optional attribute; read/write access; type: f
Simulated time in seconds at last update.
last_pie
Optional attribute; read/write access; type: f
Time of last PIE interrupt in simulator time.
interrupt_pin
Optional attribute; read/write access; type: i
Status of the interrupt pin.
period_in_us
Pseudo attribute; read-only access; type: [i{16}]
Time between periodic interrupts, in microseconds
time_regs_changed
Optional attribute; read/write access; type: b
Set to true if time register were modified while SET = 1.
year
Pseudo attribute; read/write access; type: i
Current year (full four-digit format).
month
Pseudo attribute; read/write access; type: i
Current month [1,12].
mday
Pseudo attribute; read/write access; type: i
Current day of the month [1,31].
hour
Pseudo attribute; read/write access; type: i
Current hour [0,23].
minute
Pseudo attribute; read/write access; type: i
Current minute [0,59].
second
Pseudo attribute; read/write access; type: i
Current second [0,59].

Provided By

DS12887-c

DS3231

Description

DS1213 I2C Real-Time Clock.

Interfaces Implemented

conf_object, log_object, i2c_device, i2c_slave_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
DS323x.regs

Attributes

addr_ptr
Optional attribute; read/write access; type: i
Address pointer. Points the internal addressaffected on next data access.
address
Optional attribute; read/write access; type: i
Address on the i2c bus.
address_mode
Optional attribute; read/write access; type: b
Address mode. Internal state that decides if the RTC should treat data as address or value
address_range
Optional attribute; read/write access; type: i
Specifies the accessible address range. For DS3231, 0x13 is the recommended value. For DS3232, 0x100 is recommended. The default is 0x12 (making the model behave as a DS3231).
base_rtc_time
Optional attribute; read/write access; type: i
The real-time clock time when the oscillator was enabled, in seconds since 1970-01-01 00:00:00.
base_time
Optional attribute; read/write access; type: f
The simulated time when the oscillator was enabled, in seconds since the start of the simulation.
current_rtc_time
Pseudo attribute; read-only access; type: i
The real-time clock time, in seconds since 1970-01-01 00:00:00.
enabled
Optional attribute; read/write access; type: b
tells if the real-time clock is enabled or not

Provided By

DS323x

DS323x.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

control
Optional attribute; read/write access; type: i
Control Register.
month
Optional attribute; read/write access; type: i
Month register. In binary format in the range 1-12, regardless of the current register mode.

DS323x

Description

DS1213 I2C Real-Time Clock.

Interfaces Implemented

conf_object, log_object, i2c_device, i2c_slave_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
DS323x.regs

Commands for this class

Attributes

addr_ptr
Optional attribute; read/write access; type: i
Address pointer. Points the internal addressaffected on next data access.
address
Optional attribute; read/write access; type: i
Address on the i2c bus.
address_mode
Optional attribute; read/write access; type: b
Address mode. Internal state that decides if the RTC should treat data as address or value
address_range
Optional attribute; read/write access; type: i
Specifies the accessible address range. For DS3231, 0x13 is the recommended value. For DS3232, 0x100 is recommended. The default is 0x12 (making the model behave as a DS3231).
base_rtc_time
Optional attribute; read/write access; type: i
The real-time clock time when the oscillator was enabled, in seconds since 1970-01-01 00:00:00.
base_time
Optional attribute; read/write access; type: f
The simulated time when the oscillator was enabled, in seconds since the start of the simulation.
current_rtc_time
Pseudo attribute; read-only access; type: i
The real-time clock time, in seconds since 1970-01-01 00:00:00.
enabled
Optional attribute; read/write access; type: b
tells if the real-time clock is enabled or not

Provided By

DS323x

DS323x.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

control
Optional attribute; read/write access; type: i
Control Register.
month
Optional attribute; read/write access; type: i
Month register. In binary format in the range 1-12, regardless of the current register mode.

ISA

Description

The ISA device models the industry standard architecture bus present in most PCs. It is responsible for dispatching interrupts to the interrupt controllers (I/O-APIC and/or PIC). The operating system must make sure that interrupts are not handled by both interrupt controllers either by disabling one of the controllers or by masking interrupts in at least one of the controllers.

Interfaces Implemented

conf_object, log_object, simple_interrupt

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pic
Required attribute; read/write access; type: o
The programmable interrupt controller attached to. Must implement the simple_interrupt interface.
ioapic
Optional attribute; read/write access; type: o|n
The advanced programmable interrupt controller attached to. Must implement the ioapic interface.
irq_to_pin
Optional attribute; read/write access; type: [i{32}]
(i0, i1, ..., i31) Entry in specifies which pin irq n is attached to.
irq_status
Optional attribute; read/write access; type: [i{32}]
(i0, i1, ..., i31) Entry in specifies the current status for input interrupt pin i, 1 for active and 0 for inactive.

Provided By

isa

M25Pxx

Description

The generic_spi_flash class implements the M25P05/10/20/40/80/16/32/64/128, N25Q256A/512A/00AA and W25Q80/16/32/64/128 BV/CV serial flash memories, accessed via the SPI Interface. Different flash models using serial interface from different manufactures can be implemented by manually configure JEDEC ID, sector number and sector size attributes.

Interfaces Implemented

conf_object, log_object, serial_peripheral_interface_slave

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier that is triggered when DML device state changes.

Port Objects

bank.fcl
generic_spi_flash.fcl – Flash control logic
port.HRESET
generic_spi_flash.HRESET
port.TOP_SECTOR_LOCK
generic_spi_flash.TOP_SECTOR_LOCK
port.WRITE_PROTECT
generic_spi_flash.WRITE_PROTECT

Attributes

JEDEC_signature
Optional attribute; read/write access; type: n|[iii]
JEDEC standard signature. It should be configured in format like [0x20, 0x20, 0x15] for M25P16. Please refer to the hardware documentation for the correct value.
addr4b_enabled
Optional attribute; read/write access; type: b
Enable 4-byte address mode.
dual_parallel_enabled
Optional attribute; read/write access; type: b
Device represents two instances in dual parallel mode.
elec_signature
Optional attribute; read/write access; type: i
Electronic Signature, has default value 0x13. this is not the same as, or even a subset of, the JEDEC 16-bit Electronic Signature. this is for reason of backward compatibility, only, and should not be used for new designs. It should be configured with value 0x05 for M25P05-A, 0x10 for M25P10-A, 0x11 for M25P20, 0x12 for M25P40, 0x13 for M25P80, 0x14 for M25P16, 0x15 for M25P32. 0x16 for M25P64. For all other devices not listed above, please check the respective hardware documentation.
extended_id
Optional attribute; read/write access; type: n|[ii]
Extended device identification. It is only implemented in some flash models. For those models, the two bytes are used to identify different devices. It should be configured like: [0x4d, 0x00] for S25FL032P. Please refer to the hardware documentation for the correct value.
fcmd_counter
Optional attribute; read/write access; type: [i{256}]
Array of the commands statistic counters.
fpdi_enabled
Optional attribute; read/write access; type: b
Enable DUAL INPUT FAST PROGRAM Command. Please refer to the hardware documentation to set True.
fpqi_enabled
Optional attribute; read/write access; type: b
Enable QUAD INPUT FAST PROGRAM Command. Please refer to the hardware documentation to set True.
frdo_enabled
Optional attribute; read/write access; type: b
Enable DUAL OUTPUT FAST READ Command. Please refer to the hardware documentation to set True.
frqo_enabled
Optional attribute; read/write access; type: b
Enable QUAD OUTPUT FAST READ Command. Please refer to the hardware documentation to set True.
mem_block
Required attribute; read/write access; type: o|[os]
Connects to an image object which holding the data, the size of attached object should be equal to sector_number.val * sector_size.val.

Required interfaces: image.

pp_buffer
Optional attribute; read/write access; type: d|n
buffer for holding page program data
sector_lock
Optional attribute; read/write access; type: d
The SPM1 lock registers.
sector_number
Optional attribute; read/write access; type: i
Sector number in the whole flash, has default value 16. Please refer to the hardware documentation for the correct value.
sector_size
Optional attribute; read/write access; type: i
Bytes size for flash sector, has default value 0x10000(64 * 1024). Please refer to the hardware documentation for the correct value. For example, 0x8000 for M25P05-A
sfdp_data
Optional attribute; read/write access; type: [i*]
Array for storing headers and data for sfdp tables.
sfdp_flash_size
Optional attribute; read/write access; type: i
Size of flash memory which is stored in basic SFDT table.
sfdp_tables_num
Optional attribute; read/write access; type: i
Total number of SFPD tables.
sfdp_tables_revision
Optional attribute; read/write access; type: [[ii]{2}]
Revision of sfdp table [msb, lsb].
spi_master
Optional attribute; read/write access; type: o|[os]|n
SPI master this device connected to.

Required interfaces: serial_peripheral_interface_master.

Provided By

generic-spi-flash

generic_spi_flash.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic_spi_flash.TOP_SECTOR_LOCK

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic_spi_flash.WRITE_PROTECT

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic_spi_flash.fcl

Description

Flash control logic

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

NS16450

Description

UART (Universal Asynchronous Receiver Transmitter) is a popular method of serial asynchronous communication. Typically, the UART is connected between a processor and a peripheral. To the processor, the UART appears as an 8-bit read-write parallel port that performs serial-to-parallel conversions for the processor, and vice versa for the peripheral.

Interfaces Implemented

conf_object, log_object, io_memory, serial_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
NS16450.regs
port.HRESET
NS16450.HRESET – simulates resetting by power loss
port.Reset
NS16450.Reset – legacy support, use SRESET instead
port.SRESET
NS16450.SRESET – simulates resetting, raising the MR input signal

Commands for this class

Attributes

interrupt_mask_out2
Optional attribute; read/write access; type: i
If set to non-zero, then the OUT2 pin is used to mask the output interrupt pin, meaning that no interrupt will be raised unless OUT2 is high.
receive_ready_waiting
Optional attribute; read/write access; type: b
True when data has started to drop because the connected device returned that it couldn't receive the data during last write cycle.
receive_throttled
Optional attribute; read/write access; type: b
True when the incoming data is throttled because it handles overruns safely rather than strict.
use_fixed_queue
Optional attribute; read/write access; type: b
Always use fixed queue for events, instead of last initiator.

Provided By

NS16x50

NS16450.HRESET

Description

simulates resetting by power loss

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

NS16450.Reset

Description

legacy support, use SRESET instead

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

NS16450.SRESET

Description

simulates resetting, raising the MR input signal

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

NS16450.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

NS16550

Description

UART (Universal Asynchronous Receiver Transmitter) is a popular method of serial asynchronous communication. Typically, the UART is connected between a processor and a peripheral. To the processor, the UART appears as an 8-bit read-write parallel port that performs serial-to-parallel conversions for the processor, and vice versa for the peripheral.

Interfaces Implemented

conf_object, log_object, io_memory, serial_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
NS16550.regs
port.HRESET
NS16550.HRESET – simulates resetting by power loss
port.Reset
NS16550.Reset – legacy support, use SRESET instead
port.SRESET
NS16550.SRESET – simulates resetting, raising the MR input signal

Commands for this class

Attributes

interrupt_mask_out2
Optional attribute; read/write access; type: i
If set to non-zero, then the OUT2 pin is used to mask the output interrupt pin, meaning that no interrupt will be raised unless OUT2 is high.
receive_ready_waiting
Optional attribute; read/write access; type: b
True when data has started to drop because the connected device returned that it couldn't receive the data during last write cycle.
receive_throttled
Optional attribute; read/write access; type: b
True when the incoming data is throttled because it handles overruns safely rather than strict.
use_fixed_queue
Optional attribute; read/write access; type: b
Always use fixed queue for events, instead of last initiator.

Provided By

NS16x50

NS16550.HRESET

Description

simulates resetting by power loss

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

NS16550.Reset

Description

legacy support, use SRESET instead

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

NS16550.SRESET

Description

simulates resetting, raising the MR input signal

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

NS16550.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

PCF8582C

Description

The PCF8582C class implements the functionality of a Philips 256 x 8 bit CMOS EEPROM with an I2C interface.

Interfaces Implemented

conf_object, log_object, i2c_device, i2c_slave_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

address
Optional attribute; read/write access; type: i
7-bit address to be used on the I2C bus.
address_bits
Optional attribute; read/write access; type: i
Number of address bits (8 or 16) in the eeprom.
address_mask
Optional attribute; read/write access; type: i
Address mask to be used (together with the address attribute) when the device registers with the bus.
i2c_bus
Optional attribute; read/write access; type: o|[os]|n
The I2C bus to which this device is connected.

Required interfaces: i2c_bus.

i2c_state
Optional attribute; read/write access; type: s
Current I2C state.
image
Required attribute; read/write access; type: o|[os]
Image that will hold the memory contents.

Required interfaces: image.

memory_address
Optional attribute; read/write access; type: i
Current memory address.
operation
Optional attribute; read/write access; type: s
Current operation performed.

Provided By

PCF8582C

TSB12LV26

Description

model of TSB12V26 1394 OHCI host controller

Interfaces Implemented

conf_object, log_object, firewire_device, io_memory, pci_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.PHY
TSB12LV26.PHY
bank.csr_aliases
TSB12LV26.csr_aliases
bank.firewire_config_registers
TSB12LV26.firewire_config_registers
bank.ohci
TSB12LV26.ohci
bank.pci_config
TSB12LV26.pci_config – The PCI configuration space.
bank.ti_extensions
TSB12LV26.ti_extensions

Commands for this class

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
pci_bus
Required attribute; read/write access; type: o|[os]
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus.

Provided By

TSB12LV26

TSB12LV26.PHY

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

TSB12LV26.csr_aliases

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

TSB12LV26.firewire_config_registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

TSB12LV26.ohci

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

TSB12LV26.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

bist
Optional attribute; read/write access; type: i
Build-in Self Test
cache_line_size
Optional attribute; read/write access; type: i
CacheLine Size
capabilities_ptr
Pseudo attribute; read/write access; type: i
Capabilities Pointer
cardbus_cis_ptr
Optional attribute; read/write access; type: i
Cardbus CIS Pointer
class_code
Optional attribute; read/write access; type: i
Class Code
command
Optional attribute; read/write access; type: i
Command Register
device_id
Optional attribute; read/write access; type: i
Device ID
header_type
Optional attribute; read/write access; type: i
Header Type
interrupt_line
Optional attribute; read/write access; type: i
Interrupt Line
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt Pin
interrupts
Optional attribute; read/write access; type: i
Raised _internal_ interrupts
latency_timer
Optional attribute; read/write access; type: i
Latency Timer
max_lat
Optional attribute; read/write access; type: i
MAX_LAT
min_gnt
Optional attribute; read/write access; type: i
MIN_GNT
pm_capabilities
Optional attribute; read/write access; type: i
Power Management Capabilities
pm_capability_header
Optional attribute; read/write access; type: i
Capability Header
pm_data
Optional attribute; read/write access; type: i
Power Management Data
pm_sc_bridge
Optional attribute; read/write access; type: i
Power Management Control/Status Bridge Extensions
pm_status_control
Optional attribute; read/write access; type: i
Power Management Status and Control
revision_id
Optional attribute; read/write access; type: i
Revision ID
status
Optional attribute; read/write access; type: i
Status Register
subsystem_id
Optional attribute; read/write access; type: i
Subsystem ID
subsystem_vendor_id
Optional attribute; read/write access; type: i
Subsystem Vendor ID
vendor_id
Optional attribute; read/write access; type: i
Vendor ID

TSB12LV26.ti_extensions

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

accel-vga

Description

Accelerated Super VGA device implementing the Bochs VBE protocol. Supports all reasonable VBE modes that fit into the 16 MiB display memory, the largest being 2560x1600x32. Modes outside of the configured display resolution, changeable with the display-resolution command, will not be reported by the VGA BIOS when queried for available modes.

Interfaces Implemented

conf_object, log_object, video, image_snoop, pci_device, io_memory, vga_text, vga_update, vga_text_info

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
memory_space
Optional attribute; read/write access; type: o|n
Memory space to which the device is mapped. Needed for dynamic remapping.
console
Optional attribute; read/write access; type: o|n
Console object that must implement either gfx_con or both the serial_device and extended_serial interfaces.
crtc_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-24) is a list of CRTC registers.
crtc_next
Optional attribute; read/write access; type: i
Integer register representing the next CRTC address.
attrib_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-20) is a list of attribute registers.
attrib_next_index
Optional attribute; read/write access; type: i
Decides whether the next access to an attribute controller register (through port 0x3C0) will contain an address or data.
attrib_next_reg
Optional attribute; read/write access; type: i
The address of the attribute controller register designated for the next access.
attrib_video_enable
Optional attribute; read/write access; type: i
Decides whether video is enabled or not.
seq_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-4) is a list of sequence registers found in the VGA adapter.
seq_next
Optional attribute; read/write access; type: i
Represents the address of the sequence register designated for the next read/write access.
gfx_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-8) is a list of the nine graphics controller registers found in an VGA adapter.
gfx_next
Optional attribute; read/write access; type: i
Represents the address of the graphics controller register designated for the next read/write access.
gfx_latch
Optional attribute; read/write access; type: [iiii]
(Latch-0 ... Latch-4) List of four graphics data controller latches.
pel_mask
Optional attribute; read/write access; type: i
PEL mask register.
ramdac_rw_state
Optional attribute; read/write access; type: i
RAMDAC read/write state.
pel_addr
Optional attribute; read/write access; type: i
PEL address register.
pel_next_color
Optional attribute; read/write access; type: i
Next color in access to PEL data register (read, green, or blue).
pel_pal
Optional attribute; read/write access; type: [[iii]{256}]
((red, green, blue) ... (red, green, blue)) List of 256 colors, each a tuple of red, green, and blue.
misc_reg
Optional attribute; read/write access; type: i
Miscellaneous output register.
h_cnt
Optional attribute; read/write access; type: i
Horizontal counter (used for generating retrace signals).
v_cnt
Optional attribute; read/write access; type: i
Vertical counter (used for generating retrace signals).
refresh_rate
Optional attribute; read/write access; type: i
Refresh rate (in hertz). Set to 0 to disable screen refresh
text_refresh_rate
Optional attribute; read/write access; type: i
Rate (in hertz) of virtual time that VGA text data is sent to the console. Set to 0 to disable text refresh
refresh_based_on_virtual_time
Optional attribute; read/write access; type: b
If TRUE, then the refresh rate will refresh the screen based on virtual time, otherwise the refresh will be based on real time. Real time is the default.
image
Required attribute; read/write access; type: o
Image object containing the VRAM.
redraw
Pseudo attribute; write-only access; type: a
Forces a complete update when set.
text_page
Pseudo attribute; read-only access; type: n|[s*]
A list representation (one line per element) of the text mode contents.
view_size_x
Pseudo attribute; read-only access; type: i
With of the internal cache.
view_size_y
Pseudo attribute; read-only access; type: i
Height of the internal cache.
dump_charset
Pseudo attribute; read/write access; type: i
Write-only pseudo attribute. A write operation will print the current character map to the console if the vga device is in alpha-numeric mode.
vga_memory
Pseudo attribute; write-only access; type: d
Contains the VGA memory (256 KB of data).
lfb_size
Optional attribute; read/write access; type: i
Linear frame buffer memory size.
direct_map_ram
Required attribute; read/write access; type: o
LFB memory object.
vbe_regs
Optional attribute; read/write access; type: [iiiiiiiiiii]
VBE registers.
display_max_xres
Optional attribute; read/write access; type: i
Max display horizontal resolution. Default 1280.
display_max_yres
Optional attribute; read/write access; type: i
Max display vertical resolution. Default 1024.
lfb_uses_bar
Optional attribute; read/write access; type: b
If true, the LFB is controlled through the first base address register.
bochs_wrkrnd_enab
Optional attribute; read/write access; type: b
This attribute enables workaround for bochs driver bug found in rhel 7.1
vbe_default
Optional attribute; read/write access; type: [iiib]
VBE configuration after reset [Width, Height, Depth, Enable]
pci_vendor_id
Pseudo attribute; read/write access; type: i
PCI Vendor ID. Default is 0x4321.

Provided By

accel-vga

accel_vga_v2

Description

Accelerated Super VGA device implementing the Bochs VBE protocol. Supports all reasonable VBE modes that fit into the 16 MiB display memory, the largest being 2560x1600x32. Modes outside of the configured display resolution, changeable with the display-resolution command, will not be reported by the VGA BIOS when queried for available modes.

Interfaces Implemented

conf_object, log_object, accel_vga_v2, image_snoop, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.pcie_config
accel_vga_v2.pcie_config
bank.vbe_io
accel_vga_v2.vbe_io – VBE IO registers for indirect VBE registers access
bank.vbe_mem
accel_vga_v2.vbe_mem – VBE memory access path to LFB
bank.vbe_regs
accel_vga_v2.vbe_regs – VBE registers (indirectly accessed via VBE IO)
port.HRESET
accel_vga_v2.HRESET
port.phy
accel_vga_v2.phy
port.video_mem
accel_vga_v2.video_mem – redirect towards VBE or VGA memory paths
vga_engine
vga – VGA handler.
vga_io
memory-space – VGA IO ports.
vga_mem_space
memory-space – VGA memory access path.

Commands for this class

Attributes

bochs_wrkrnd_enab
Optional attribute; read/write access; type: b
This attribute enables workaround for bochs driver bug found in rhel 7.1
console
Pseudo attribute; read/write access; type: o|[os]|n
GFX console for displaying.

Required interfaces: gfx_con.

display_max_xres
Optional attribute; read/write access; type: i
max x resolution
display_max_yres
Optional attribute; read/write access; type: i
max y resolution
expansion_rom_size
Pseudo attribute; read/write access; type: i
Size of expansion ROM
image
Required attribute; read/write access; type: o|[os]
Image object containing the VRAM.

Required interfaces: image, linear_image.

lfb_size
Optional attribute; read/write access; type: i
size of LFB
memory_space
Required attribute; read/write access; type: o|[os]
PCI mem space to map the direct map space into.

Required interfaces: map_demap.

pci_bus
Pseudo attribute; read/write access; type: o|n
Only for backwards compatibility
redraw
Pseudo attribute; write-only access; type: a
Check vga_engine.redraw for details
refresh_rate
Pseudo attribute; read/write access; type: i
Check vga_engine.refresh_rate for details
text_page
Pseudo attribute; read-only access; type: n|[s*]
Check vga_engine.text_page for details
vbe_default_bpp
Optional attribute; read/write access; type: i
power-on value for bit-per-pixel
vbe_default_enable
Optional attribute; read/write access; type: b
power-on value for VBE enable
vbe_default_xres
Optional attribute; read/write access; type: i
power-on value for x resolution
vbe_default_yres
Optional attribute; read/write access; type: i
power-on value for y resolution
video_ram
Required attribute; read/write access; type: o|[os]
RAM frontend for VRAM image.

Provided By

accel-vga-v2

accel_vga_v2.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

accel_vga_v2.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

expansion.image
image – Expansion image
expansion.rom
rom – Expansion ROM

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

accel_vga_v2.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

accel_vga_v2.vbe_io

Description

VBE IO registers for indirect VBE registers access

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

accel_vga_v2.vbe_mem

Description

VBE memory access path to LFB

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

accel_vga_v2.vbe_regs

Description

VBE registers (indirectly accessed via VBE IO)

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

accel_vga_v2.video_mem

Description

redirect towards VBE or VGA memory paths

Interfaces Implemented

conf_object, log_object, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface translator

agent_handle

Description

The agent_handle class is used by Matic to resemble connections with Simics Agents, which are running on target systems. A handle provides the user with commands so that she can interact with the agent of the handle.

An agent handle can only be connected to one Simics Agent but an agent may be connected to several handles.

Matic requires the simulation to run, allowing Simics Agents on the target systems to run and respond. However, if the simulation is not running, any commands will be queued on the agent handle until they are run eventually.

The <agent_manager>.connect-to-agent command creates an agent handle that will be associated with an agent as soon as possible. Agent handles should be deleted when they no longer are needed.

The stale_timeout attribute controls the timeout period after the end of an agent poll interval until the Simics Agent is declared dead unless it has made contact. The setting applies individually to each Simics Agent, but control is shared among its handles. Once dead, all its handles will become stale and all their commands will be canceled. New commands cannot be given to a stale handle.

The handle also provides some other attributes: connected_to, magic, stale, state and windows. See the help text for each attribute for more information.

See also: Simics User's Guide as well as the agent_manager class.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

connected_to
Pseudo attribute; read-only access; type: s
The agent-id of the connected agent.
magic
Pseudo attribute; read-only access; type: i|n
The Simics Agent magic id number.
path
Pseudo attribute; read/write access; type: s
The private working directory on the target system.
stale
Pseudo attribute; read-only access; type: b
True, if the handle has become stale.
stale_timeout
Pseudo attribute; read/write access; type: i|f
Stale handle timeout, in seconds, started at the end of the poll interval. Requires an active connection.
state
Pseudo attribute; read-only access; type: s
The current state of the handle.
windows
Pseudo attribute; read/write access; type: b|n
True, if running on a Windows system.

Provided By

matic

agent_manager

Description

The agent_manager class is used by Matic to support communication with Simics Agents, which run on target systems. The manager creates and controls Agent Handles for those agents. There may only exist one agent manager in the simulation.

Matic requires the simulation to run, allowing Simics Agents on the target systems to run and respond. However, if the simulation is not running, any commands will be queued on the agent_handle objects and run eventually.

The start-agent-manager command will load the required module and create and start an agent manager.

See also: Simics User's Guide as well as the agent_handle class.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

infos
Optional attribute; read/write access; type: [s*]
Information about each Simics Agent.
pipe
Pseudo attribute; read-only access; type: o|n
The connected magic pipe object.

Provided By

matic

apic

Description

The APIC class implements the functionality of the local (on-chip) APIC that is part of the Intel® Architecture and was first implemented in the Pentium® processor. Each APIC instance is connected to an I/O-APIC through the APIC bus (multiple I/O-APIC systems are not supported). Reference: Intel Architecture Software Developer's Manual Volume 3.

Interfaces Implemented

conf_object, log_object, io_memory, apic_cpu, interrupt_cpu, int_register, apic_timer, apic_bus_to_apic

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

apic_id
Required attribute; read/write access; type: i
APIC ID.
apic_bus
Required attribute; read/write access; type: o
Bus implementing the apic-bus interface.
version
Optional attribute; read/write access; type: i
APIC Version.
apic_type
Optional attribute; read/write access; type: s
APIC Type ("P6", "P4" or "X2")
cpu
Required attribute; read/write access; type: o
Target processor implementing the X86 and PROCESSOR_INFO_V2 interfaces. The APIC will assume ownership of the APICBASE MSR if the processor implements the X86_MSR interface. If the processor does not implement the X86_MSR interface, then the APIC needs to be mapped and potentially moved by some other logic.
task_priority
Optional attribute; read/write access; type: i
Task priority register.
logical_destination
Optional attribute; read/write access; type: i
Logical destination register.
destination_format
Optional attribute; read/write access; type: i
Destination format register.
spurious_interrupt_vector
Optional attribute; read/write access; type: i
Spurious interrupt vector register.
interrupt_command
Optional attribute; read/write access; type: i
Interrupt command register (all 64 bits).
lvt_timer
Optional attribute; read/write access; type: i
Local vector table, timer.
lvt_lint0
Optional attribute; read/write access; type: i
Local vector table, local interrupt 0.
lvt_lint1
Optional attribute; read/write access; type: i
Local vector table, local interrupt 1.
lvt_error
Optional attribute; read/write access; type: i
Local vector table, error.
lvt_performance_counter
Optional attribute; read/write access; type: i
Local vector table, performance counter.
lvt_thermal_sensor
Optional attribute; read/write access; type: i
Local vector table, thermal sensor.
initial_count
Optional attribute; read/write access; type: i
Initial count register for timer.
divisor_ln_2
Optional attribute; read/write access; type: i
Log2 of timer divisor. Note that this is not the format used in the divide configuration register.
count_in_progress
Optional attribute; read/write access; type: i
Count is in progress.
count_initial
Optional attribute; read/write access; type: i
Initial count when timer was started.
count_start
Optional attribute; read/write access; type: i
Local CPU time when count was started.
ext_int_obj
Optional attribute; read/write access; type: o|n
Object pending with delivery mode ExtINT.
cpu_bus_divisor
Optional attribute; read/write access; type: f
Divisor between CPU frequency and bus frequency used by the APIC timer.
status
Optional attribute; read/write access; type: [[i{3}]{256}]
((tm0, ir0, is0), ..., (tm255, ir255, is255)). Status registers.
priority
Optional attribute; read/write access; type: [[[ii]{2}]{16}]
(((state, vector){2}){16}). Interrupt slots.
arbitration_id
Optional attribute; read/write access; type: i
Arbitration ID.
error_status
Optional attribute; read/write access; type: i
Error status.
remote_read
Optional attribute; read/write access; type: i
Remote read.
interrupt_posted
Optional attribute; read/write access; type: i
Interrupt signal raised.
physical_broadcast_address
Optional attribute; read/write access; type: i
Current broadcast address for interprocessor interrupts and interrupts from the I/O-APIC. Default value is FFh (0Fh for Pentium® (classic) family or P6 family processors); FFFFFFFFh in x2APIC mode
apicbase_msr
Optional attribute; read/write access; type: n|i
APICBASE MSR. Should be Nil if and only if the bound CPU does not implement the X86_MSR interface.

Provided By

apic

apic-bus

Description

The apic-bus class handles traffic on the APIC bus. Zero or more I/O-APICs and at least one APIC can be connected to each apic-bus instance.

Interfaces Implemented

conf_object, log_object, apic_bus, apic_bus_v2, io_memory, interrupt_ack, apic_to_apic_bus

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

apics
Required attribute; read/write access; type: [o*]
(apic*). List of all APICs on the bus. The list index must match the APIC ID. The connected objects must implement the apic interface.
ioapic
Optional attribute; read/write access; type: n|o|[o+]
The I/O-APICs (an object or a list of objects implementing the ioapic interface) connected to the bus.
pic
Optional attribute; read/write access; type: n|o
8259A compatible interrupt controller that is asked for a vector if an interrupt is received from an I/O-APIC with the ExtINT delivery mode. Must implement the interrupt_cpu interface.

Provided By

apic

apic_bus_v2

Description

None yet

Interfaces Implemented

conf_object, log_object, apic_bus, apic_bus_v2, apic_to_apic_bus, interrupt_ack, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

apics
Required attribute; read/write access; type: [o*]
List of all APICs on the bus. The list index must match the APIC ID. The connected objects must implement the apic interface.
ioapics
Optional attribute; read/write access; type: [o*]
The I/O-APICs connected to the bus.
ioapic
Pseudo attribute; read/write access; type: n|o|[o*]
Alias of the 'ioapics' attribute for backwards compatibility.
pic
Optional attribute; read/write access; type: n|o
8259A compatible interrupt controller that is asked for a vector if an interrupt is received from an I/O-APIC with the ExtINT delivery mode. Must implement the interrupt_cpu interface.
fwd_apic_bus
Optional attribute; read/write access; type: n|o
A connect towards an APIC bus-like object that receives all interrupts this apic bus is seeing.

Provided By

x2apic-c++

arinc429_bus

Description

Object that delivers Arinc-429 traffic from one transmitter to one or many receivers.

Interfaces Implemented

conf_object, log_object, arinc429_bus

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

last_word
Pseudo attribute; read/write access; type: i
Attribute that represents the word being sent,for use by Arinc429_Word hap handlers. Set to -1 to drop this word.
receivers
Optional attribute; read/write access; type: [o|[os]*]
Receiver ports on the bus. Must implement the arinc429_receiver interface.

Provided By

arinc429-bus

async-bridge

Description

The async-bridge class is used to decouple an executor from the Simics scheduler and allow it to run until synchronous requests have been completed.

Detailed description of async-bridge usage can be found in README.md located in src/extensions/async-bridge.

Interfaces Implemented

conf_object, log_object, execute, event_delta, frequency, synchronous_mode, concurrency_group, concurrency_mode, execute_control, cycle

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
frequency-change
Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

vtime
vtime – event handler
vtime.cycles
cycle-counter – cycle queue
vtime.ps
ps-clock – event queue (ps)

Commands for this class

Commands for interface cycle

Attributes

do_not_schedule
Optional attribute; read/write access; type: b
Set to TRUE to prevent this object from being scheduled by the cell.
catch_up_cycles
Optional attribute; read/write access; type: i
Number of cycles to execute to be in sync.
executor
Pseudo attribute; read-only access; type: o
Execute object driven by async-bridge
cell
Optional attribute; read/write access; type: o|n
The cell this object clock/cpu belongs to

Provided By

async-bridge

attr-meter

Description

Attribute meter

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

realtime_period
Required attribute; read/write access; type: f|n
Sample period (real time), in seconds, or nil to disable sampling
simtime_period
Required attribute; read/write access; type: f|n
Sample period (simulated time), in seconds, or nil to disable sampling

Provided By

attr-meter

bank_coverage_tool

Description

The bank coverage tool collects statistics on accessed registers in connected banks and compiles a device register coverage report. The tool may also display the number of accesses to registers on a per-bank basis.

Interfaces Implemented

conf_object, log_object, instrumentation_tool

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

connections
Pseudo attribute; read-only access; type: [o*]
Connections.

Provided By

bank-coverage-tool

bank_coverage_tool_connection

Description

Coverage tool connection

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

read_accesses
Pseudo attribute; read-only access; type: [[iii]*]
Instrumented read accesses.
write_accesses
Pseudo attribute; read-only access; type: [[iii]*]
Instrumented write accesses.
bank
Pseudo attribute; read-only access; type: o
Bank.

Provided By

bank-coverage-tool

bank_patch_tool

Description

The bank patch tool is used to 'patch' bank regions and forgive accesses to those regions that would otherwise miss.

Interfaces Implemented

conf_object, log_object, instrumentation_tool

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

bank-patch-tool

bank_patch_tool_connection

Description

Patch tool connection

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

offset
Optional attribute; read/write access; type: i
The offset address.
size
Optional attribute; read/write access; type: i
The range size.
value
Optional attribute; read/write access; type: i
Mocked value.
inject
Optional attribute; read/write access; type: b
Treat read accesses in range like missed accesses.

Provided By

bank-patch-tool

bitmask-translator

Description

This translator object will apply a bitmask (specified by the user) to all accesses. The target memory-space is responsible for actually having something mapped at the resulting address.

Interfaces Implemented

conf_object, log_object, translate

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

address_mask
Required attribute; read/write access; type: i
This mask will be applied to all accesses

Provided By

bitmask-translator

blueprint-namespace

Description

Class for objects created at the root of a hierarchy coming from a blueprint.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

blueprint
Required attribute; read/write access; type: s
The blueprint that created the hierarchy
icon
Optional attribute; read/write access; type: s
The system icon filename.
info
Optional attribute; read/write access; type: s
The system information.

Provided By

blueprints

bp-manager

Description

The set of breakpoints in Simics

Interfaces Implemented

conf_object, log_object, breakpoint_type, breakpoint_registration, bp_manager

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank
bp-manager.bank – device access
console_string
bp-manager.con-string – target console string output breakpoints
control_register
bp-manager.cr – control register access breakpoints
cycle
bp-manager.cycle – cycle queue breakpoints
cycle_event
bp-manager.cycle_event – cycle event breakpoints
exception
bp-manager.exc – exception breakpoints
gfx
bp-manager.con-gfx – graphics console output breakpoints
hap
bp-manager.hap – hap occurrence breakpoints
log
bp-manager.log – log message breakpoints
magic
bp-manager.magic – magic breakpoints
memory
bp-manager.memory – memory access breakpoints
msr
bp-manager.msr – MSR architectural access breakpoints
network
bp-manager.eth_link – target network packet breakpoints
notifier
bp-manager.notify – notifier trigger breakpoints
os_awareness
bp-manager.os_awareness – OS Awareness breakpoints
source_line
bp-manager.src-line – source code line breakpoints
source_location
bp-manager.src-location – source code location breakpoints
step
bp-manager.step – step queue breakpoints
step_event
bp-manager.step_event – step event breakpoints
time
bp-manager.time – virtual time breakpoints

Commands for this class

Commands for interface bp_manager

Provided By

bp-manager

bp-manager.bank

Description

device access

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider, instrumentation_tool

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.con-gfx

Description

graphics console output breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.con-string

Description

target console string output breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.cr

Description

control register access breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.cycle

Description

cycle queue breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.cycle_event

Description

cycle event breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Description

target network packet breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.exc

Description

exception breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.hap

Description

hap occurrence breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.log

Description

log message breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.magic

Description

magic breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.memory

Description

memory access breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.msr

Description

MSR architectural access breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.notify

Description

notifier trigger breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.os_awareness

Description

OS Awareness breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.src-line

Description

source code line breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.src-location

Description

source code location breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.step

Description

step queue breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.step_event

Description

step event breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

bp-manager.time

Description

virtual time breakpoints

Interfaces Implemented

conf_object, log_object, breakpoint_type_provider

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

branch_recorder

Description

A branch recorder records the branches taken by the zero or more processors that it is attached to. For each pair of addresses, the branch recorder keeps track of how many times the processors have branched from the first to the second address. This information can be used directly, or be processed to yield e.g. execution count for each address.

Interfaces Implemented

conf_object, log_object, address_profiler, branch_arc

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface address_profiler

Attributes

address_type
Required attribute; read/write access; type: i
Record physical ('2') or virtual ('1') addresses?
cpu_type
Pseudo attribute; read-only access; type: s
Type of processor this branch recorder can handle.
processors
Optional attribute; read/write access; type: [o*]
Processors this branch recorder is attached to.
num_arcs
Pseudo attribute; read-only access; type: i
Number of branch arcs in this recorder.
clean
Pseudo attribute; write-only access; type: n
Write nil to this attribute to erase all recorded branch arcs.
branches
Pseudo attribute; read-only access; type: [[iii]*]|n
branches collected by branch recorder

Provided By

Simics Core

c_test_probe

Description

Example of an object written in C implementing the probe interface.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

increment
Pseudo attribute; write-only access; type: Unknown
Increment the probe value

Provided By

test-probe

can_endpoint

Description

Distributed CAN endpoint implementation

Interfaces Implemented

conf_object, log_object, link_endpoint_v2, can_link

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

id
Required attribute; read/write access; type: i
Endpoint ID. The ID of each endpoint must be unique among the link's endpoints, and it may not be 0 or 0xffffffffffffffff
Required attribute; read/write access; type: o
The link object to which this endpoint belongs.
delivery_queue
Optional attribute; read/write access; type: [[i[o|n[ii]][ibbdi]]*]
The endpoint's queue.
sorting_key
Optional attribute; read/write access; type: [bi]
Internal.
device
Required attribute; read/write access; type: n|o|[os]
The device connected to this endpoint.
indirect_delivery
Optional attribute; read/write access; type: b
If set, deliver link messages to their targets immediately to let them worry about the exact time of delivery. Needed for endpoints attached to follower agents.

Provided By

can-link

cdrom_image

Description

This class allows an image containing the contents of a CD-ROM in ISO9660 format to be accessible from the simulated target machine. This is a convenient way to import files into the simulated system.

Interfaces Implemented

conf_object, log_object, cdrom_media

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

capacity
Pseudo attribute; read-only access; type: i
The capacity of the CD-ROM in blocks.
image
Optional attribute; read/write access; type: o|[os]|n
An image object that holds the data on the CD-ROM.

Required interfaces: image.

Provided By

cdrom-image

cell

Description

A simulation cell, representing an autonomous partition of the configuration and able to be simulated in parallel with other cells. See the "Multithreading" section in the Introduction chapter of the API Reference Manual.

Interfaces Implemented

conf_object, log_object, temporal_state, link_route, dist_control_node, concurrency_group, breakpoint_trigger, cell_inspection, sync_node

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

ps
ps-clock – ps clock

Commands for this class

Attributes

schedule_list
Optional attribute; read/write access; type: [o*]
Execute objects that belong to the cell, in scheduling order
clocks
Pseudo attribute; read-only access; type: [o*]
Clock objects that belong to the cell.
scheduled_object
Optional attribute; read/write access; type: n|o
Currently scheduled object for this cell
current_processor
Optional attribute; read/write access; type: n|o
Current processor in this cell
current_step_obj
Optional attribute; read/write access; type: n|o
Current step queue in this cell
current_cycle_obj
Pseudo attribute; read/write access; type: n|o
Current cycle queue in this cell
time_quantum
Pseudo attribute; read/write access; type: f
Length of the time quantum in seconds, or 0 if not specified.
time_quantum_ps
Optional attribute; read/write access; type: i
Length of the time quantum in picoseconds, or 0 if not specified.
machine_sync_events
Optional attribute; read/write access; type: [[osaai]*]
((object, evclass, value, obsolete when)*). Pending machine sync events.
sync_domain
Optional attribute; read/write access; type: o
Synchronization domain for this cell
leader
Optional attribute; read/write access; type: o|n
Leader object
max_time_span_ps
Optional attribute; read/write access; type: i
Upper limit of the allowed global time difference for CPUs simulated simultaneously using multiple host threads, or 0 if no limit is desired.

Provided By

Simics Core

cli

Description

Internal object for the command line

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

clipboard-gateway

Description

Clipboard gateway between host and target.

Interfaces Implemented

conf_object, log_object, clipboard_peer, x86_cpuid, recorded

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

clipboard_peer
Required attribute; read/write access; type: o
Clipboard peer
recorder
Required attribute; read/write access; type: o
History recorder
ingress_buf
Optional attribute; read/write access; type: [i*]
Ingress buffer.
ingress_index
Optional attribute; read/write access; type: i
Index into ingress buffer.
egress_buf
Optional attribute; read/write access; type: [i*]
Egress buffer.
enabled
Optional attribute; read/write access; type: b
The gateway will not refill the ingress buffer if it is disabled.

Provided By

clipboard-gateway

clock

Description

The clock class can be used to drive the simulation when there is no processor in the system. It implements the cycle interface, which means that devices and other objects can post events on it to be executed at a later time. The clock frequency determines the length of a clock cycle, which is used as the granularity for executing events. It is not possible to post step events to the clock.

Interfaces Implemented

conf_object, log_object, execute, frequency_listener, frequency, concurrency_mode, execute_control, cycle

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
frequency-change
Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

vtime
vtime – event handler
vtime.cycles
cycle-counter – cycle queue
vtime.ps
ps-clock – event queue (ps)

Commands for this class

Commands for interface cycle

Attributes

freq_mhz
Required attribute; read/write access; type: i|f
Clock frequency in MHz.
cycles
Optional attribute; read/write access; type: i
Time measured in cycles from machine start.
time_queue
Pseudo attribute; read/write access; type: [[osaai]*]
((object, evclass, value, slot, when)*). Pending cycle queue events.
multicore_accelerator_enabled
Pseudo attribute; read/write access; type: b
If TRUE the clock enabled for Multicore Accelerator execution, otherwise FALSE
mca_concurrency_mode
Optional attribute; read/write access; type: i
Multicore Accelerator mode used by processor. One of Sim_Concurrency_Mode_Serialized (1), Sim_Concurrency_Mode_Serialized_Memory (2), or Sim_Concurrency_Mode_Full (4)
stop_listeners
Optional attribute; read/write access; type: [[o,n|s]*]
List of objects listening for stop signal. Each object/port pair needs to implement the pulse interface through which the information to stop will be signaled. Port can be NIL in which case the pulse interface will be used without a port.
do_not_schedule
Optional attribute; read/write access; type: b
Set to TRUE to prevent this object from being scheduled by the cell.
cell
Optional attribute; read/write access; type: o|n
The cell this object clock/cpu belongs to

Provided By

clock

clock-extension

Description

The clock-extension extension class is used to extend - see SIM_extend_class - CPU and clock classes with event posting functionality. The interfaces frequency and, for CPU classes, event_delta are to be provided by the class which is extended with this extension class.

The clock-extension class creates an instance of the vtime class - see vtime class - in the 'vtime' port of the parent object. The parent object should use the event_handler interface of the vtime object: event_handler's documentation describes the requirements to the parent object.

Interfaces Implemented

cycle

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

vtime
vtime – event handler
vtime.cycles
cycle-counter – cycle queue
vtime.ps
ps-clock – event queue (ps)

Commands for interface cycle

Attributes

cell
Optional attribute; read/write access; type: o|n
The cell this object clock/cpu belongs to

Provided By

Simics Core

co-engine

Description

Description of the co-engine class.

Interfaces Implemented

conf_object, log_object, execute, event_delta, frequency, co_execute, synchronous_mode, cycle

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
frequency-change
Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

vtime
vtime – event handler
vtime.cycles
cycle-counter – cycle queue
vtime.ps
ps-clock – event queue (ps)

Commands for interface cycle

Attributes

do_not_schedule
Optional attribute; read/write access; type: b
Set to TRUE to prevent this object from being scheduled by the cell.
catch_up_cycles
Optional attribute; read/write access; type: i
Number of cycles to execute to be in sync.
cell
Optional attribute; read/write access; type: o|n
The cell this object clock/cpu belongs to

Provided By

co-engine

co-execute

Description

Description of the co-execute class.

Interfaces Implemented

conf_object, log_object, execute, event_delta, frequency, synchronous_mode, concurrency_mode, execute_control, cycle

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
frequency-change
Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

vtime
vtime – event handler
vtime.cycles
cycle-counter – cycle queue
vtime.ps
ps-clock – event queue (ps)

Commands for interface cycle

Attributes

do_not_schedule
Optional attribute; read/write access; type: b
Set to TRUE to prevent this object from being scheduled by the cell.
catch_up_cycles
Optional attribute; read/write access; type: i
Number of cycles to execute to be in sync.
run_continuously
Optional attribute; read/write access; type: b
When set to True, the model is simulated from a separate thread and runs continuously. Moreover, time synchronization with the rest of the simulation is disabled. The mode should normally only be enabled when running with subsystem or multicore threading.
cell
Optional attribute; read/write access; type: o|n
The cell this object clock/cpu belongs to

Provided By

co-execute

code_coverage

Description

Collect code coverage

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

context_id
Pseudo attribute; read-only access; type: s|n
Context ID for which code coverage is being performed
helper
Pseudo attribute; read-only access; type: o
Code coverage helper object
is_collecting
Pseudo attribute; read-only access; type: b
True if code coverage is collecting data

Provided By

code-coverage

code_coverage_helper

Description

Code Coverage.

Interfaces Implemented

conf_object, log_object, code_coverage

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

code-coverage

connected_device

Description

simple tcp-connected device

Interfaces Implemented

conf_object, log_object, tcp_served

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

notifier-example

connector

Description

The connector object for connecting components.

Interfaces Implemented

conf_object, log_object, connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

type
Optional attribute; read/write access; type: s|n
The type of the connector as a string. Only two connectors of the same type can be connected.
hotpluggable
Optional attribute; read/write access; type: b
The connector supports hotplugging if true, not support hotplugging if false.
required
Optional attribute; read/write access; type: b
The connector must be connected when instantiated if this attribute is true, otherwise false.
multi
Optional attribute; read/write access; type: b
The connector supports multiple connections if this attribute is true. Only one connection is supported if this attribute is false.
direction
Optional attribute; read/write access; type: i
The direction of the connection. An up connector can only be connected to a down connector. An any connector can be connected to an up or down connector. Use the Sim_Connector_Direction_* constants when setting this attribute.
connector_name
Optional attribute; read/write access; type: n|s
The name that old legacy commands will use when identifying a component connector. Required as old components can have name conflicts for objects in a component and connector names.
owner
Optional attribute; read/write access; type: o
The component object that is the owner of this connector.
master
Optional attribute; read/write access; type: o
The connector object that is the master of this connection.
parent
Optional attribute; read/write access; type: o|n
The parent connector that was copied to create this connector.
child
Optional attribute; read/write access; type: o|n
The child connector that is a copy of this connector.
destination
Optional attribute; read/write access; type: [o*]
A list of connector objects that this connector should be connected to when getting the next update request.

Provided By

Simics Core

context

Description

This is an abstraction of a virtual address space. It handles virtual-address breakpoints and may have symbol tables attached to it. Note that there is no automatic correspondence to any hardware or operating-system context, although such a mapping may be set up by the user.

Interfaces Implemented

conf_object, log_object, breakpoint, breakpoint_trigger, breakpoint_query_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface breakpoint

Attributes

active
Pseudo attribute; read/write access; type: i
Context currently active.
gdb_remote_variant
Pseudo attribute; read/write access; type: s|n
Preferred gdb-remote variant.

Provided By

Simics Core

cpu-group

Description

The cpu-group class groups processors together. For example processors that share memory and/or can interrupt each other.

Interfaces Implemented

conf_object, log_object, cpu_group

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

cpu_list
Required attribute; read/write access; type: [o*]
List of all connected processors. This attribute is available in all classes implementing the "cpu_group" interface.

Provided By

cpu-group

cpu_mode_filter

Description

Instrumentation filter for processes.

Interfaces Implemented

conf_object, log_object, instrumentation_filter_master

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

tracked_modes
Pseudo attribute; read/write access; type: [s*]
The modes being tracked.

Provided By

cpu-mode-filter

cpumode_software_mapper

Description

A mapper for the CPU mode software tracker. It creates a node-tree with three levels: root->mode->CPU and activates the CPU leaf node in the mode branch whenever the CPU enters that mode.

Interfaces Implemented

conf_object, log_object, osa_mapper_admin, osa_mapper_control, osa_mapper_query

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

base_nodes
Optional attribute; read/write access; type: D
Base nodes for all modes
cpu_and_mode_to_node
Optional attribute; read/write access; type: [[oii]*]
Mapping from entitys plus mode to a node ID in the node tree on the following format: [cpu, mode, node ID].
enabled
Pseudo attribute; read/write access; type: b
Is the mapper enabled
entity_to_cpu
Optional attribute; read/write access; type: [[io]*]
Mapping from entity to cpu on the format [entity ID, cpu].
parent
Required attribute; read/write access; type: o
parent object to use, should implement osa_tracker_state_query, osa_tracker_state_notification and osa_node_tree_admin interfaces. This is usually the osa_admin object.
root_id
Optional attribute; read/write access; type: i|n
Root node id
tracker
Required attribute; read/write access; type: o
Tracker to create a node-tree representation for

Provided By

cpumode-software-tracker

cpumode_software_tracker

Description

Track mode changes on CPUs

Interfaces Implemented

conf_object, log_object, osa_tracker_control

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

cpu_to_entity_id
Optional attribute; read/write access; type: [[oi]*]
Maps a given cpu to a unique entity id
cpus
Optional attribute; read/write access; type: [[oi]*]
The CPUs to track and their current mode
enabled
Pseudo attribute; read/write access; type: b
Is the tracker enabled
parent
Required attribute; read/write access; type: o
The parent object to use, must provide osa_machine_state interfaces and osa_tracker_state_admin interface. This is usually the osa_admin object.

Provided By

cpumode-software-tracker

cpumode_software_tracker_comp

Description

CPU mode tracker composition.

Interfaces Implemented

conf_object, log_object, osa_parameters, osa_tracker_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface osa_parameters

Provided By

cpumode-software-tracker

cycle-counter

Description

Instances of the cycle-counter class provide a cycle counter with event posting capabilities: the objects of the cycle-counter class support cycle_event and cycle_control interfaces as well as one can use SIM_cycle_count, SIM_event_post_cycle, and some other SIM_event_* functions with the cycle-counter objects.

Interfaces Implemented

conf_object, log_object, temporal_state, cycle_event, cycle_control, frequency, callback_info, cycle_event_instrumentation

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
frequency-change
Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface callback_info

Commands for interface cycle_event_instrumentation

Attributes

frequency
Optional attribute; read/write access; type: i|f|o|[of]
Cycle frequency in Hz or, alternatively, an object with the frequency interface to use its frequency.
events
Optional attribute; read/write access; type: [[osaai]*]
((object, evclass, value, unused, when)*). Pending events.
vtime
Optional attribute; read/write access; type: o|n
Object of the vtime class driving this clock. The 'vtime' port object of the object's clock is used if the attribute is set to NULL.

Provided By

Simics Core

cycle_staller

Description

This is a long description of this class.

Interfaces Implemented

conf_object, log_object, stall_cycles_collector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

interval
Optional attribute; read/write access; type: i
How frequent extra stall cycles should be inserted.
stall_info
Pseudo attribute; read-only access; type: [[oii]*]
For each connected clock, [obj, total cycles, left cycles] is returned in a list.

Provided By

cycle-staller

data-profiler

Description

A data profiler maintains one counter for every interval of addresses that differ only in the last granularity bits. This is used for various profiling tasks, for example counting the number of cache misses in each of the intervals.

Interfaces Implemented

conf_object, log_object, data_profiler, address_profiler

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface data_profiler

Commands for interface address_profiler

Attributes

physical_addresses
Pseudo attribute; read/write access; type: i
True if the profiler uses physical addresses, false if it uses virtual addresses.
description
Pseudo attribute; read/write access; type: s
Description of what data the profiler represents
counter
Pseudo attribute; read/write access; type: Unknown
Access the counter at an address.
granularity
Pseudo attribute; read/write access; type: i
Granularity of the profiler, in address bits.
data
Pseudo attribute; read-only access; type: [[ii]*]
list of (address, counter) pairs

Provided By

Simics Core

disassemble_x86

Description

This class implements the disassemble interface for the x86 architecture. Use the attributes to set up the operating mode prior to using the interface.

Interfaces Implemented

conf_object, log_object, disassemble

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

lm64_mode
Pseudo attribute; read/write access; type: i
1|0 Set to 1 for 64-bit mode, 0 otherwise.
cs_d
Pseudo attribute; read/write access; type: i
1|0 The D-bit from the CS segment descriptor (1 for 32-bit mode, 0 for 16-bit mode).
ss_b
Pseudo attribute; read/write access; type: i
1|0 The B-bit from the SS segment descriptor (1 for 32-bit stack, 0 for 16-bit stack).
near_branches_64
Pseudo attribute; read/write access; type: b
Determines how near branches are handled in 64-bit mode. If the attribute is TRUE, then the operand size is fixed at 64-bits, while the default value of FALSE allows an override to 16 bits.
mov_default32
Pseudo attribute; read/write access; type: b
If TRUE, movs to or from control and debug registers will default to 32-bits in 64-bit mode. If FALSE (which is the default value), such moves will be fixed at 64-bits.
cpu_level
Pseudo attribute; read/write access; type: i
When instructions from different x86 generations share opcodes, this attribute is used to distinguish between them. Set to 3 for the 80386, 4 for the 80486, 5 for the Pentium® family, and to 6 for anything more modern than the Pentium® family (including all supported AMD processors).
disassemble
Pseudo attribute; read-only access; type: [is]
Disassemble instruction at the indexed host address. The returned value is a list with the length of the instruction and the disassembly string. It is up to the user to make sure that the host address given is valid and that it does not cause a memory access violation (which would crash the simulator).
host_byte
Pseudo attribute; read-only access; type: i
Get the byte at the indexed host address. It is up to the user to make sure that the host address given is valid and that it does not cause a memory access violation (which would crash the simulator).

Provided By

disassemble_x86

dm9161

Description

DAVICOM DM9161 10/100M PHY Transceiver

Interfaces Implemented

conf_object, log_object, ethernet_cable, ethernet_common, ieee_802_3_phy, ieee_802_3_phy_v2, ieee_802_3_phy_v3, mii, mii_management

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.mii_regs
dm9161.mii_regs – The MII management register set as described in IEEE 802.3.
port.HRESET
dm9161.HRESET
port.SRESET
dm9161.SRESET

Commands for this class

Attributes

address
Optional attribute; read/write access; type: i
PHY identifier sent in calls to ieee_802_3_mac interface methods.
Optional attribute; read/write access; type: o|[os]|n
The Ethernet link that the PHY is connected to or Nil if the PHY is disconnected.

Required interfaces: ethernet_common.

Optional attribute; read/write access; type: o|[os]|n
An object that will get a high signal when the link status is up.

Required interfaces: signal.

loopback_delay
Optional attribute; read/write access; type: f
The time in seconds for sending back a frame when in loopback mode
mac
Required attribute; read/write access; type: o|[os]
Media access controller (MAC) object
phy_id
Pseudo attribute; read/write access; type: i
32-bit PHY identifier
register_defaults
Optional attribute; read/write access; type: [n|i{32}]
Reset values of the MII registers. A nil value denotes that the standard reset value for that register is used.
registers
Pseudo attribute; read/write access; type: [i{32}]
The 32 MII management registers
tx_bandwidth
Optional attribute; read/write access; type: i
The transmit bandwidth of the network interface in bits per second. The network interface will limit the rate at which it sends packets to remain below this bandwidth. Set to 0 for unlimited bandwidth.
tx_next_time
Optional attribute; read/write access; type: f
The earliest time at which that the network interface may send another packet. Used for transmit bandwidth limitation.

Provided By

dm9161

dm9161.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

dm9161.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

dm9161.mii_regs

Description

The MII management register set as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

e1000_spi

Description

SPI flash in Intel® E1000 GbE Controller.

Interfaces Implemented

conf_object, log_object, io_memory, serial_peripheral_interface_master

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.gbe_regs
e1000_spi.gbe_regs
bank.spi_regs
e1000_spi.spi_regs
port.HRESET
e1000_spi.HRESET
port.SRESET
e1000_spi.SRESET
port.mem_bios
e1000_spi.mem_bios
port.mem_gbe
e1000_spi.mem_gbe

Commands for this class

Attributes

cur_master_idx
Optional attribute; read/write access; type: i
Current master that using SPI bus lines
desc_buffer
Optional attribute; read/write access; type: d
Buffer for holding page program data
mapped_access_buf
Optional attribute; read/write access; type: d
Buffer for direct memory access
spi_slave
Required attribute; read/write access; type: o|[os]
Connect to a SPI slave device

Required interfaces: serial_peripheral_interface_slave.

x_state
Optional attribute; read/write access; type: i
Status of inner state-machine

Provided By

intel-e1000

e1000_spi.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

e1000_spi.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

e1000_spi.gbe_regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

e1000_spi.mem_bios

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

e1000_spi.mem_gbe

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

e1000_spi.spi_regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

empty_device_c

Description

This is a long description of this class.

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction

Attributes

value
Optional attribute; read/write access; type: i
Value containing a valid valuable valuation.

Provided By

empty-device-c

empty_device_cc

Description

This is a documentation string describing the empty_device_cc class.

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction

Attributes

value
Optional attribute; read/write access; type: i
A value.

Provided By

empty-device-cc

empty_device_confclass

Description

longer doc for the class

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
empty_device_confclass.regs

Attributes

r1
Optional attribute; read/write access; type: i

Provided By

empty-device-confclass

empty_device_confclass.regs

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

empty_device_dml

Description

Longer description that will appear in the help

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.regs
empty_device_dml.regs

Commands for this class

Provided By

empty-device-dml

empty_device_dml.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

empty_device_pyobj

Description

This is the long-winded documentation for this Simics class. It can be as long as you want.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
empty_device_pyobj.regs – An example of a register bank.

Commands for this class

Attributes

value
Optional attribute; read/write access; type: i
The value register.

Provided By

empty-device-pyobj

empty_device_pyobj.regs

Description

An example of a register bank.

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

empty_device_python

Description

This device does nothing useful, but can be used as a starting point when writing Simics devices in Python.

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

value
Optional attribute; read/write access; type: i
The value register.

Provided By

empty-device-python

empty_software_mapper

Description

Skeleton for creating a mapper.

Interfaces Implemented

conf_object, log_object, osa_mapper_control, osa_mapper_query, osa_mapper_admin

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

parent
Required attribute; read/write access; type: o
The parent object. Must implement the osa_node_tree_admin, osa_tracker_state_query, and osa_tracker_state_notification interfaces
tracker
Required attribute; read/write access; type: o
Tracker associated with mapper
enabled
Pseudo attribute; read-only access; type: b
Mapper enabled - read only

Provided By

empty-software-tracker

empty_software_tracker

Description

Skeleton for creating a tracker.

Interfaces Implemented

conf_object, log_object, osa_tracker_control

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

parent
Required attribute; read/write access; type: o
The parent object. Must implement the osa_tracker_state_admin, osa_machine_query, and osa_machine_notification interfaces
enabled
Pseudo attribute; read-only access; type: b
Tracker enabled - read only
root_name
Pseudo attribute; write-only access; type: s
Set the name of the root entity

Provided By

empty-software-tracker

empty_software_tracker_comp

Description

Skeleton for creating a composition

Interfaces Implemented

conf_object, log_object, osa_parameters, osa_tracker_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface osa_parameters

Provided By

empty-software-tracker

etg

Description

The ethernet-traffic-generator (etg) device emulates a network adapter and generates traffic.

Interfaces Implemented

conf_object, log_object, ethernet_common, ethernet_cable

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

start_count
Optional attribute; read/write access; type: i
The number of packets to send after starting traffic generator, intended to be used by start signal.Zero value means an unlimited number of packets.
led_enabled_target
Optional attribute; read/write access; type: n|o|[os]
Enabled status LED, signal target.
countdown_target
Optional attribute; read/write access; type: n|o|[os]
Packets left to send (countdown), signal target.
crc_errors_target
Optional attribute; read/write access; type: n|o|[os]
The number of CRC errors seen, signal target.
Optional attribute; read/write access; type: o|n
The network link that this service node Ethernet device is attached to.
Optional attribute; read/write access; type: o|n
The network link that this service node Ethernet device is attached to (for checkpointing).
mac_address
Optional attribute; read/write access; type: s
Ethernet (MAC) address of the network interface.
ip
Required attribute; read/write access; type: s
IP address assigned to the device.
netmask
Required attribute; read/write access; type: s|i
Netmask defining the subnet for the device.
dst_ip
Required attribute; read/write access; type: s
IP address to send packets to.
gateway
Optional attribute; read/write access; type: s|n
IP address of gateway.
port
Optional attribute; read/write access; type: i
The port to send packets to and receive packets on.
pps
Optional attribute; read/write access; type: i
Number of packets per second to send.
packet_size
Optional attribute; read/write access; type: i
The size of data packets to send.
count
Optional attribute; read/write access; type: i|n
The number of packets left to send until traffic generation stops. A nil value means an unlimited number of packets.
state
Optional attribute; read/write access; type: i
Current state of traffic generator.
enabled
Optional attribute; read/write access; type: i
Set to 1 to enable traffic generation.
probe
Optional attribute; read/write access; type: b
Probe the connection with ICMP ECHO before generating traffic. This might help fill ARP caches in routers on the way to reduce the risk of dropping the first real packet.
model_crc
Optional attribute; read/write access; type: b
If set to true, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
bandwidth_limit
Optional attribute; read/write access; type: i
Internal state.
ip_id
Optional attribute; read/write access; type: i
Internal state.
receive_stats
Optional attribute; read/write access; type: i
Internal state.
rx_packets
Optional attribute; read/write access; type: i
Internal state.
rx_bytes
Optional attribute; read/write access; type: i
Internal state.
neighbors
Optional attribute; read/write access; type: D
Internal state.
total_rx_packets
Optional attribute; read/write access; type: i
Total number of UDP packets received on the test port.
total_tx_packets
Optional attribute; read/write access; type: i
Total number of UDP packets transmitted on the test port.
crc_errors
Optional attribute; read/write access; type: i
The number of CRC errors seen.

Provided By

etg

eth-cable-link

Description

Ethernet cable link

Interfaces Implemented

conf_object, log_object, link, ethernet_snoop, network_breakpoint

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface network_breakpoint

Attributes

endpoints
Pseudo attribute; read-only access; type: [o*]
The connected devices.
goal_latency
Required attribute; read/write access; type: f
The desired latency for this link.
effective_latency
Pseudo attribute; read-only access; type: f
The effective latency for this link.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency; implies nondeterminism.
global_id
Optional attribute; read/write access; type: s|n
The global identifier for a link. Used in distributed simulation to identify links that are connected together. The global ID cannot be changed once the link has been created.
stats
Pseudo attribute; read-only access; type: [iiii]
Statistics in an internal format
outside_cell
Optional attribute; read/write access; type: b
Always True; link objects do not belong to a particular cell

Provided By

eth-links

eth-connector

Description

Ethernet hotplug connector for ethernet adapters.

Interfaces Implemented

conf_object, log_object, connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

remote
Optional attribute; read/write access; type: o|n
Remote connector.
connector_name
Optional attribute; read/write access; type: s|n
phy
Required attribute; read/write access; type: o|n
Ethernet PYH object.
aname
Required attribute; read/write access; type: s
Name of PHY attribute which holds the link object.

Provided By

std-bp

eth-hub-link

Description

Simple broadcasting Ethernet link

Interfaces Implemented

conf_object, log_object, link, ethernet_snoop, network_breakpoint

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface network_breakpoint

Attributes

endpoints
Pseudo attribute; read-only access; type: [o*]
The connected devices.
goal_latency
Required attribute; read/write access; type: f
The desired latency for this link.
effective_latency
Pseudo attribute; read-only access; type: f
The effective latency for this link.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency; implies nondeterminism.
global_id
Optional attribute; read/write access; type: s|n
The global identifier for a link. Used in distributed simulation to identify links that are connected together. The global ID cannot be changed once the link has been created.
stats
Pseudo attribute; read-only access; type: [iiii]
Statistics in an internal format
outside_cell
Optional attribute; read/write access; type: b
Always True; link objects do not belong to a particular cell

Provided By

eth-links

eth-probe

Description

Ethernet probe. The probe can be inserted between any devices or link talking via the ethernet_common interface. A snooper or probe function can be attached to listen to the traffic going to the probe, and possibly modify it. Use command insert-ethernet-probe to create and insert a probe. Or do a manual connection instead by using command create-unconnected-ethernet-probe and assign the attributes in port A and B of the probe.

Interfaces Implemented

conf_object, log_object, ethernet_probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

probe_ports
Required attribute; read/write access; type: [oo]
Port objects of the probe as [Port A, Port B]

Provided By

eth-probe

eth-probe-port

Description

Ethernet probe port

Interfaces Implemented

conf_object, log_object, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

probe
Required attribute; read/write access; type: o
Probe object to which this port belongs
side
Required attribute; read/write access; type: i
Whether this port is port A (0) or port B (1)
partner
Required attribute; read/write access; type: n|o|[os]
Object to which the port is connected and talking Ethernet
partner_attr
Required attribute; read/write access; type: s
Attribute of the connected object that points at this probe port, if available

Provided By

eth-probe

eth-switch-link

Description

Switched Ethernet link

Interfaces Implemented

conf_object, log_object, link, ethernet_snoop, ethernet_vlan_snoop, network_breakpoint

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface network_breakpoint

Attributes

endpoints
Pseudo attribute; read-only access; type: [o*]
The connected devices.
goal_latency
Required attribute; read/write access; type: f
The desired latency for this link.
effective_latency
Pseudo attribute; read-only access; type: f
The effective latency for this link.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency; implies nondeterminism.
global_id
Optional attribute; read/write access; type: s|n
The global identifier for a link. Used in distributed simulation to identify links that are connected together. The global ID cannot be changed once the link has been created.
stats
Pseudo attribute; read-only access; type: [iiii]
Statistics in an internal format
outside_cell
Optional attribute; read/write access; type: b
Always True; link objects do not belong to a particular cell

Provided By

eth-links

eth-transceiver

Description

eth-transceiver is an IEEE 802.3 physical layer device with MII interface

Interfaces Implemented

conf_object, log_object, mii_management, mii

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

mdio_target
Optional attribute; read/write access; type: n|o|[os]
Describes where the outgoing MDIO signal should be connected
serial_num_cycles
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_clock
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
Optional attribute; read/write access; type: i
Set to 1 when the link is up.
full_duplex
Optional attribute; read/write access; type: i
Set to 1 for full duplex, and 0 for half duplex.
speed
Optional attribute; read/write access; type: i
Link speed (10, 100, or 1000).
registers
Optional attribute; read/write access; type: [i{32}]
The register file as described in 802.3 (32 registers).
gmii
Optional attribute; read/write access; type: i
Set to 1 if the transceiver supports GMII.
phyidr1
Required attribute; read/write access; type: i
Value of the PHYIDR1 register.
phyidr2
Required attribute; read/write access; type: i
Value of the PHYIDR2 register.

Provided By

eth-transceiver

eth_injector

Description

Pseudo Ethernet device for packet injection based on pcap file input.

Interfaces Implemented

conf_object, log_object, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

append_crc
Optional attribute; read/write access; type: b
Assume that the CRC field of the Ethernet frame read from the pcap file is missing and append four zero bytes at the end of the frame before sending it. The simulation will handle the packet as if the CRC was correct
auto_restart
Optional attribute; read/write access; type: b
True if injection will be automatically restarted when pcap is depleted.
connection
Optional attribute; read/write access; type: o|n
The Ethernet link endpoint or Ethernet device that this injector is connected to.
pcapfile
Optional attribute; read/write access; type: s|n
Pcap file to inject packets from.
rate_multiplier
Optional attribute; read/write access; type: f
Modifies the rate/frequency that packets are injected by the float value defined. A value of 2.0 injects packets twice as fast, and a value of 0.5 injects packets at half the speed, relative to the timestamps in the source pcap file
sent
Optional attribute; read/write access; type: i
Number of sent packets.
start
Pseudo attribute; read/write access; type: i
Controls starting and stopping of pcap packet playback. When set to non zero, the packet playback will start from the beginning.

Provided By

eth-injector

event_histogram

Description

Instrumentation tool that collect and displays all events dispatched in connected clocks/processors in a histogram

Interfaces Implemented

conf_object, log_object, instrumentation_tool, table

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface table

Provided By

event-histogram

event_histogram_connection

Description

Connection object for the event_histogram class

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

clock
Optional attribute; read/write access; type: o
clock
tool
Optional attribute; read/write access; type: o
tool

Provided By

event-histogram

exception_histogram

Description

This tool subscribes to all exceptions in all connected processors and presents the information in a histogram with exception type and the number of occurrences of each exception. Use the histogram command in the tool to display the result.

Interfaces Implemented

conf_object, log_object, instrumentation_tool, table

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface table

Attributes

connections
Pseudo attribute; read-only access; type: [o*]
List of connection sub-objects used.

Provided By

exception-histogram

exception_histogram_connection

Description

instrumentation connection

Interfaces Implemented

conf_object, log_object, instrumentation_connection, table, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface table

Attributes

histogram
Pseudo attribute; read-only access; type: [[si]*]
((exception_name, counter)*)* exception histogram for a connection
cpu
Pseudo attribute; read/write access; type: o
the processor being monitored
tool
Pseudo attribute; read/write access; type: o
the tool owning this connection
clear
Pseudo attribute; write-only access; type: b
When this attribute is set, the current histogram statistics is removed.
exception_count
Pseudo attribute; read-only access; type: i
Total number of exceptions seen

Provided By

exception-histogram

fake-space

Description

Translates all memory-space interface methods that are not exposed to Python, to methods that are. This is intended for module testing.

Interfaces Implemented

conf_object, log_object, memory_space, io_memory, breakpoint

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface memory_space

Commands for interface breakpoint

Attributes

target_space
Required attribute; read/write access; type: o
Memory space to which all interface access will be redirected. Usually implemented in Python or similar.

Provided By

Simics Core

firewire_bus

Description

A FireWire bus. The bus takes responsibility for all the bus arbitration and assigning ids. It does not keep track of the topology of the bus, so the IDs will be quite arbitrary. Neither does it keep track of the transfer rate limitations, which means that you can transmit as much data per time unit as you want.

Interfaces Implemented

conf_object, log_object, firewire_bus

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

connections
Optional attribute; read/write access; type: [[[oi][oi]]*]
The connections between the ports on the devices. Each connection is represented as a pair of ports, where each port is represented as a pair of a device and a port number. The connections must be kept consistent with the devices connected to the bus.
current_transfer
Pseudo attribute; read/write access; type: d|n
The current transfer. This attribute is only valid during the Firewire_Transfer hap.
self_ids
Pseudo attribute; read/write access; type: [i*]
The self-id packets describing the current tree. This attribute is only valid during the Firewire_Bus_Reset hap. It describes the structure of the tree. The connected_devices attribute is what is used to say which device has which node-id.

Provided By

firewire-bus

firewire_device_test_wrapper

Description

simple device for testing RapidIO

Interfaces Implemented

conf_object, log_object, firewire_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

packet_data_after_transfer
Pseudo attribute; read-only access; type: d|n
Content of the last packet after real_device.transfer was called.
packet_data_before_transfer
Pseudo attribute; read-only access; type: d|n
Content of the last packet before real_device.transfer was called.
real_device
Required attribute; read/write access; type: o|[os]
The real firewire device the calls are forwarded to

Required interfaces: firewire_device.

Provided By

firewire-bus

fixed-clock

Description

An instance of the fixed-clock class provides an event queue driven by an object implementing the event_delta interface.

Interfaces Implemented

conf_object, log_object, cycle_event, event_handler

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

events
Optional attribute; read/write access; type: [[osaai]*]
((object, evclass, value, unused, when)*). Pending events.
master
Optional attribute; read/write access; type: o|n
Object implementing the event_delta interface interface or NIL.

Provided By

Simics Core

floppy-drive

Description

Floppy disk drive for use with the 82077 controller.

Interfaces Implemented

conf_object, log_object, floppy_drive

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

drive_busy
Optional attribute; read/write access; type: i
Drive busy flag.
seek_in_progress
Optional attribute; read/write access; type: i
A background seek is in progress.
disk_changed
Optional attribute; read/write access; type: i
Disk in drive has changed.
write_protect
Optional attribute; read/write access; type: i
Write protect flag.
motor_on
Optional attribute; read/write access; type: i
Motor currently on.
data_rate
Optional attribute; read/write access; type: i
Current data rate.
tracks
Optional attribute; read/write access; type: i
Number of tracks.
sectors_per_track
Optional attribute; read/write access; type: i
Number of sectors per track.
heads
Optional attribute; read/write access; type: i
Number of heads.
cur_track
Optional attribute; read/write access; type: i
Current track.
cur_head
Optional attribute; read/write access; type: i
Current head.
cur_sector
Optional attribute; read/write access; type: i
Current sector.
image
Optional attribute; read/write access; type: n|o
Object holding floppy data. Must implement the image interface.

Provided By

82077

framebuffer

Description

This class provides a graphical representation of a memory region.

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

width
Optional attribute; read/write access; type: i
Width in pixels
height
Optional attribute; read/write access; type: i
Height in pixels
depth
Optional attribute; read/write access; type: i
Bit depth (only 8 and 32 supported currently)
scan_bytes
Optional attribute; read/write access; type: i
Bytes per scan line
console
Required attribute; read/write access; type: o
Connected console. Must implement the gfx_con interface.
palette
Pseudo attribute; read/write access; type: s|n
The name of a built-in palette to use, or NIL for 32-bit depth. Valid palette names are "linux-old" and "linux-new" (default).
palette_colors
Optional attribute; read/write access; type: n|[i{256}]
Colors of the current palette on the form 0xrrggbb, or NIL if no palette is set.
memory_space
Optional attribute; read/write access; type: o|n
The memory space from which to fetch data; only for 32-bit depth
refresh_rate
Optional attribute; read/write access; type: i
Set refresh rate (only for 32-bit depth) in milliseconds. Use zero to disable periodic refresh.
refresh
Pseudo attribute; write-only access; type: Unknown
Refresh the screen!

Provided By

framebuffer

freerun-extension

Description

The freerun-extension class is used to augment clock and CPU classes with functionality to allow them to base virtual time on realtime.

Interfaces Implemented

freerun

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
freerunning-mode-change
Notifier that is triggered when freerunning mode is enabled or disabled. The new enabled/disabled state is available through the freerun interface.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

freerun_speed
Optional attribute; read/write access; type: f
Freerun speed. A value of 1.0 means realtime.
freerun_min_ips
Optional attribute; read/write access; type: f
Minimum allowed value for the number of instructions executed per virtual second, expressed as a fraction of the current CPU frequency.
freerun_max_ips
Optional attribute; read/write access; type: f
Maximum allowed value for the number of instructions executed per virtual second, expressed as a fraction of the current CPU frequency.
freerun_enabled
Optional attribute; read/write access; type: b
Freerun mode enabled

Provided By

Simics Core

frequency_bus

Description

The frequency_bus class implements a bus that distributes a frequency to a set of targets. Targets subscribe to the bus via the simple_dispatcher interface, and frequency changes are distributed to subscribers via the frequency_listener iface. The distributed frequency can either be generated by the bus itself, or be fetched from a different object (e.g., from another frequency bus). The input frequency can optionally be scaled before it is distributed.

Interfaces Implemented

conf_object, log_object, frequency_listener, scale_factor_listener, simple_dispatcher

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

current_output_freq
Pseudo attribute; read-only access; type: [ii]
The frequency currently output to connected devices
frequency
Optional attribute; read/write access; type: o|[ii]|[os]
The frequency broadcasted by this bus. A value of [p, q] means a fix frequency of p/q Hz; if the value is an object implementing the simple_dispatcher interface, the frequency is fetched from that object; if the value is an [object, port] pair, the frequency is fetched from the given port.
scale_factor
Optional attribute; read/write access; type: o|[ii]|[os]
The input frequency is multiplied by this number before broadcasted. A value of [p, q] means a fix factor of p/q; if the value is an object implementing the simple_dispatcher interface, the factor is fetched from that object; if the value is an [object, port] pair, the factor is fetched from the given port.
targets
Pseudo attribute; read-only access; type: [[o,s|n]*]
Current frequency target objects, on the form [object, port]

Provided By

frequency-bus

ftp-alg

Description

FTP ALG.

Interfaces Implemented

conf_object, log_object, alg

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

forward_handler
Required attribute; read/write access; type: o
An instance of the port-forward-outgoing-server class. Must implement the port_forward interface.
incoming_handler
Required attribute; read/write access; type: o
Must implement the port_forward interface.
ftp_port
Optional attribute; read/write access; type: i
Port for FTP service (on target), default 21.

Provided By

ftp_alg

ftp-control

Description

Helper class for the ftp-server. Used to keep track of control connections

Interfaces Implemented

conf_object, log_object, tcp_service

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

ftp
Required attribute; read/write access; type: o
FTP object

Provided By

ftp-service

ftp-data

Description

Helper class for the ftp-server. Used to keep track of data connections

Interfaces Implemented

conf_object, log_object, tcp_service

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

ftp
Required attribute; read/write access; type: o
FTP object

Provided By

ftp-service

ftp-service

Description

The ftp-service class implements a simple FTP server in the service node. There is no authentication, all user names and passwords will be accepted and give access to all files the Simics process may access. The most commonly used FTP commands are implemented such as RETR, STOR, PWD, CWD, CDUP, MODE, USER, PASS, TYPE, PASV, PORT, NOOP, STRU, LIST, NSLT and QUIT. Unimplemented features include IPv6, creation and deletion of directories and file deletion and renaming. ASCII transfers will handled as binary ones.

Interfaces Implemented

conf_object, log_object, tcp_service

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

tcp
Required attribute; read/write access; type: o
TCP layer. Must implement the tcp interface.
enabled
Optional attribute; read/write access; type: b
Set to true (default) if the FTP server will listen for connections on the IP addresses specified in the server_ip_list attribute.
server_ip_list
Required attribute; read/write access; type: [s*]
Server IPv4 addresses. Typically one for each interface of the service node. New addresses may be added at the end of the list, but removal is not supported.
ftp_helpers
Required attribute; read/write access; type: [oo]
FTP helper objects. One ftp-control object and one ftp-data object.
ftp_root_directory
Optional attribute; read/write access; type: s
The directory in which files read or written over FTP are located; the default is the current working directory. The client can read and write to any subdirectories of the root directory. The Simics search path is always used to locate files to read.
c_sessions
Optional attribute; read/write access; type: [[ssisi]*]
The active control sessions in the FTP service. The sub-entries for each session are: server IP address, client IP address, client port, current directory, dsession id.
d_sessions
Optional attribute; read/write access; type: [[bbbs|niisi]*]
The active data sessions in the FTP service. The sub-entries for each session are: passive mode, connected (in passive mode), write file name, file offset, write buffer size, directory listing, c_session id.

Provided By

ftp-service

g-cache

Description

g-cache is an in-order 'flat' cache model with the following features: configurable number of lines, line size, associativity; indexing/tagging on physical/virtual addresses; configurable policies for write-allocate and write-back; random, cyclic and lru replacement policies; several caches can be chained; a single cache can be connected to several processors; support for a simple MESI protocol between caches.

It is imperative to start Simics with the -stall flag to get correct cache statistics. It is possible to start Simics without it, but no transactions will then be stalled, and all transaction may not be visible to the cache.

Note that the sample MESI protocol was written to handle simple cases such as several L1 write-through caches with L2 caches synchronizing via MESI. To model more complex protocols, you will need to modify g-cache.

See Simics Analyzer User's Guide for more information.

Interfaces Implemented

conf_object, log_object, mesi_listen_interface, timing_model, cache_control

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

cpus
Required attribute; read/write access; type: n|o|[o*]
cpus that can send transactions to the cache.
config_line_number
Optional attribute; read/write access; type: i
Number of lines in the cache (default is 128)
config_line_size
Optional attribute; read/write access; type: i
Cache line size (must be a power of 2, default is 32). If you plan to use the STC in combination to improve the cache performance, this value must be greater or equal to the instruction_profile_line_size.
config_assoc
Optional attribute; read/write access; type: i
Cache associativity. Note that the total number of lines divided by the associativity must be a power of 2. (default is 4).
config_virtual_index
Optional attribute; read/write access; type: i
Address used to compute the set in the cache (0: physical, 1: virtual; default is 0).
config_virtual_tag
Optional attribute; read/write access; type: i
Address used to compute the tag of the cache line (0: physical, 1: virtual; default is 0).
config_write_allocate
Optional attribute; read/write access; type: i
Write allocation policy (0: non-write allocate, 1: write-allocate, default is 0).
config_write_back
Optional attribute; read/write access; type: i
Write policy (0: write-through, 1: write-back, default is 0).
config_replacement_policy
Optional attribute; read/write access; type: s
Replacement policy ("random", "lru" or "cyclic", default is "random").
penalty_read
Optional attribute; read/write access; type: i
Stall penalty (in cycles) for any incoming read transaction. A cache-hit on read will only suffer a 'read' penalty (default is 0). Note that if you set this to a non-zero value, the simulation won't be able to use the STCs.
penalty_write
Optional attribute; read/write access; type: i
Stall penalty (in cycles) for any incoming write transaction. A cache-hit on write (in a write-back cache) will only suffer a 'write' penalty (default is 0). Note that if you set this to a non-zero value, the simulation won't be able to use the STCs.
stat_transaction
Optional attribute; read/write access; type: i
Total number of transactions seen by the cache.
stat_dev_data_read
Optional attribute; read/write access; type: i
Number of device data read transactions (DMA).
stat_dev_data_write
Optional attribute; read/write access; type: i
Number of device data write transactions (DMA).
stat_c_dev_data_read
Optional attribute; read/write access; type: i
Number of cached device data read transactions (DMA).
stat_c_dev_data_write
Optional attribute; read/write access; type: i
Number of cached device data write transactions (DMA).
stat_uc_data_read
Optional attribute; read/write access; type: i
Number of uncacheable data read transactions.
stat_uc_data_write
Optional attribute; read/write access; type: i
Number of uncacheable data write transactions.
stat_uc_inst_fetch
Optional attribute; read/write access; type: i
Number of uncacheable inst fetch transactions.
stat_data_read
Optional attribute; read/write access; type: i
Number of cacheable data read transactions (may be underestimated if the STCs are used, see Simics Analyzer Guide for more information).
stat_data_read_miss
Optional attribute; read/write access; type: i
Number of cacheable data read transactions that missed in the cache.
stat_data_write
Optional attribute; read/write access; type: i
Number of cacheable data write transactions (may be underestimated if the STCs are used, see Simics Analyzer Guide for more information).
stat_data_write_miss
Optional attribute; read/write access; type: i
Number of cacheable data write transactions that missed in the cache (write-through caches report a correct miss value but all writes are sent to the next level).
stat_inst_fetch
Optional attribute; read/write access; type: i
Number of cacheable instruction fetches (may be underestimated if the STCs are used, see Simics Analyzer Guide for more information).
stat_inst_fetch_miss
Optional attribute; read/write access; type: i
Number of cacheable instruction fetches that missed in the cache.
stat_copy_back
Optional attribute; read/write access; type: i
Number of copy-back transactions initiated by the cache.
timing_model
Optional attribute; read/write access; type: o|n
Object listening on transactions coming from the cache (line fetch, copy-back).
profilers
Pseudo attribute; read/write access; type: [o|n*]
Profilers connected to the cache.
config_block_STC
Optional attribute; read/write access; type: i
Prevent the cache from using the STCs. Read the 'Cache Simulation' chapter in Simics Analyzer Guide for more information (0: STC usage allowed, 1: STC usage blocked; default is 0).
penalty_read_next
Optional attribute; read/write access; type: i
Stall penalty (in cycles) for a read transaction issued by the cache to the next level cache. A cache miss on read will have a penalty for 'read' (incoming transaction) + 'read-next' (line fetch transaction) + any penalty set by the next caches. (default is 0)
penalty_write_next
Optional attribute; read/write access; type: i
Stall penalty (in cycles) for a write transactions issued by the cache to the next level cache. In a write-back cache, a cache miss on read triggering a copy-back transaction will have a penalty for 'read', 'write-next' (copy-back transaction) and 'read-next' (line fetch transaction). In write-through cache, a write transaction will always have at least a penalty for 'write' and 'write-next' (write-through transaction). (default is 0).
lines
Optional attribute; read/write access; type: [[iiii]*]
Content of the cache lines
cacheable_devices
Optional attribute; read/write access; type: n|[o*]
List of devices that can be cached.
snoopers
Optional attribute; read/write access; type: n|[o*]
Caches listening on the bus (MESI protocol).
higher_level_caches
Optional attribute; read/write access; type: n|[o*]
Higher level caches that need to receive invalidates during MESI snooping (MESI protocol).
stat_mesi_exclusive_to_shared
Optional attribute; read/write access; type: i
Number of Exclusive to Shared transitions in MESI protocol.
stat_mesi_modified_to_shared
Optional attribute; read/write access; type: i
Number of Modified to Shared transitions in MESI protocol.
stat_mesi_invalidate
Optional attribute; read/write access; type: i
Number of lines invalidated in MESI protocol.
stat_lost_stall_cycles
Optional attribute; read/write access; type: i
Stall cycles lost due to non-stallable transactions.
config_seed
Optional attribute; read/write access; type: i
Seed for random replacement policy, default is 0).
lines_last_used
Optional attribute; read/write access; type: [i*]
Last used timestamp for the cache lines
next_line_in_set
Optional attribute; read/write access; type: [i*]
Next line used for replacement in a given set.

Provided By

g-cache

gdb-remote

Description

The gdb-remote module allows a GDB session to connect to Simics and control the execution. An object of class gdb-remote is used to accept incoming GDB connection requests.

A GDB binary capable of debugging many Simics target machines is included in the Simics Base package. If you want to build your own gdb, read on.

The following table lists, for each target architectures supported by gdb-remote, the string to give to configure as the --target parameter when building GDB, and any command you may have to enter at the GDB command prompt before connecting to Simics:

risc-v64
--target riscv64-linux-gnu
command: set architecture riscv
h8300
--target h8300-elf
command: set architecture h8300(s|h)
x86-64
--target x86_64-pc-linux-gnu
command: set architecture i386:x86-64
mips64be
--target mips64-elf64-linux64
command: set architecture mips:isa64r2
arc600
--target arc-elf32
command: set architecture opella-target arc600
arm64
--target aarch64-elf
sparc-v8
--target sparc-unknown-linux-gnu
command: set architecture sparc:v8plus
mips64le
--target mips64el-elf64-linux64
command: set architecture mips:isa64r2
ppce500
--target powerpc64-elf-linux
command: set architecture powerpc:e500
ppc32
--target powerpc64-elf-linux
command: set architecture powerpc:common
x86
--target x86_64-pc-linux-gnu
command: set architecture i386
ppc64
--target powerpc64-elf-linux
command: set architecture powerpc:common64
armle
--target armle-unknown-linux-gnu
risc-v32
command: set architecture riscv:rv32
xtensa
--target xtensa
command: set architecture xtensa
arc700
--target arc-elf32
command: set architecture ARC700
armbe
--target armbe-unknown-linux-gnu
mips32le
--target mips-elf-linux
command: set architecture mips:isa32r2
mips32be
--target mips-elf-linux
command: set architecture mips:isa32r2
nios2
--target nios2-elf
m68k
--target m68k
command: set architecture m68k

Note that these --target flags are not the only ones that will work, just examples of ones that do work.

Interfaces Implemented

conf_object, log_object, external_connection_events

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

tcp
tcp-server – gdb-remote TCP server
unix_socket
unix-socket-server – gdb-remote Unix domain socket server

Commands for this class

Attributes

processor
Pseudo attribute; read/write access; type: o|n
Processor to connect the GDB stub to.
architecture
Pseudo attribute; read/write access; type: s
Architecture of target.
disconnect
Pseudo attribute; write-only access; type: b
Disconnects the remote GDB
connected
Pseudo attribute; read-only access; type: b
Returns true if the gdb-remote object is connected to a GDB session, false if not.
signal
Pseudo attribute; write-only access; type: i
Sends a signal to the remote GDB. This makes GDB think the program it is debugging has received a signal. See the signal(7) man page for a list of signal numbers.
send_packet
Pseudo attribute; write-only access; type: s
Sends a raw packet from gdb-remote to GDB. The string that this attribute is written with will be sent as a packet to GDB.
large_operations
Optional attribute; read/write access; type: i
Set to non-zero if memory operations received from GDB should be performed as single operations instead of bytewise
follow_context
Pseudo attribute; read/write access; type: i
Set to non-zero if context should be followed.
context_object
Optional attribute; read/write access; type: o|n
Context object that this GDB session is attached to.
send_target_xml
Optional attribute; read/write access; type: b
Should an XML target description be sent to GDB, default is true, but can be disabled since it can confuse some clients.
no_xml_registers
Optional attribute; read/write access; type: b
If true, exclude register layout from XML target description, only architecture will be sent as XML.

Provided By

gdb-remote

generic-flash-memory

Description

The generic-flash-memory class simulates different types of flash-memory depending on which attributes are set. Refer to [simics]/src/extensions/apps-python/flash_memory.py for a complete description of the features implemented and the flash chips that are pre-configured.

Limitations
  • Many vendor-specific commands are not implemented.
  • Erase suspend will complete the erase, and resume will then simply be ignored.

Interfaces Implemented

conf_object, log_object, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.Reset
generic-flash-memory.Reset – Reset the flash
port.io
generic-flash-memory.io
port.wp
generic-flash-memory.wp – Hardware signal, Enable/Disable Write
port.wren
generic-flash-memory.wren – Enable/Disable Write to flash sector

Commands for this class

Commands for interface translator

Attributes

command_set
Optional attribute; read/write access; type: i
If no CFI structure is provided, this attribute should be set to indicate the command-set to use. Default is 0 (invalid command-set).
cfi_query
Optional attribute; read/write access; type: n|d|[i+]
CFI query structure (if the device is CFI compatible). Default is none (device is not CFI compatible).
device_id
Optional attribute; read/write access; type: i|[i+]
Device ID/code as used in Intel identifier codes and AMD autoselect mode. Default is 0.
manufacturer_id
Optional attribute; read/write access; type: i
Manufacturer ID/code as used in Intel identifier codes and AMD autoselect mode. Default is 0.
write_buffer_size
Optional attribute; read/write access; type: i
Write buffer size *in bytes* for write buffer commands. Default is 32 (standard value for Intel Strataflash®).
interleave
Required attribute; read/write access; type: i
Interleave (number of parallel flash memory chips).
bus_width
Required attribute; read/write access; type: i
Total width (in bits) of the data path connected to the flash device.
max_chip_width
Optional attribute; read/write access; type: i
Maximum data width (for example, specified as 16 for a x8/x16 capable device).
unit_size
Required attribute; read/write access; type: [i+]
A list of block/sector sizes.
ignore_timing
Optional attribute; read/write access; type: i
Obsolete attribute since timing is not modeled. Kept for backward compatibility only.
unit_erase_time
Optional attribute; read/write access; type: f
Obsolete attribute since timing is not modeled. Kept for backward compatibility only.
strict_cmd_set
Optional attribute; read/write access; type: i
If set to 1, warnings that the command-set is misused become errors. Default is 0.
storage_ram
Required attribute; read/write access; type: o
RAM object providing the backing store area.
accept_smaller_reads
Pseudo attribute; read/write access; type: i
Obsolete, do not use.
accept_smaller_writes
Pseudo attribute; read/write access; type: i
Obsolete, do not use.
big_endian
Optional attribute; read/write access; type: i
If 1, the flash device will behave as a big endian device. If 0, it will behave as a little endian device. Default is 0.
intel_chip_erase
Optional attribute; read/write access; type: b
If TRUE, the flash device supports Intel chip erase command operations. If FALSE, Intel chip erase command is flagged as error. Default is FALSE.
intel_program_verify
Optional attribute; read/write access; type: b
If TRUE, the flash device supports Intel program verify command operations. If FALSE, Intel program verify command is flagged as error. Default is FALSE.
intel_write_buffer
Optional attribute; read/write access; type: i
If 1, the flash device supports Intel write buffer operations. If 0, Intel write buffer operations are ignored. Default is 0.
intel_protection_program
Optional attribute; read/write access; type: i
If 1, the flash device supports Intel protection program operations. If 0, Intel protection program operations are ignored. Default is 0.
intel_configuration
Optional attribute; read/write access; type: i
If 1, the flash device supports Intel configuration operations. If 0, Intel configuration operations are ignored. Default is 0.
intel_lock
Optional attribute; read/write access; type: i
If 2, the flash device supports advanced lock/unlock/lock down operations. If 1, the flash device supports simple lock/unlock all operations. If 0, lock operations are ignored. Default is 0.
amd_ignore_cmd_address
Optional attribute; read/write access; type: i
If 1, the address will be ignored when parsing AMD commands. Default is 0.
lock_status
Optional attribute; read/write access; type: [[i*]*]
Lock status for all units.
hardware_lock_status
Optional attribute; read/write access; type: [[i*]*]
Hardware lock status for all units (for Intel advanced lock system).
unit_status
Optional attribute; read/write access; type: [[i*]*]
Status for all units.
ppb_bits
Optional attribute; read/write access; type: [[i*]*]
AMD non-volatile PPB section bits.
dyb_bits
Optional attribute; read/write access; type: [[i*]*]
AMD volatile (dynamic) section protection bits.
chip_mode
Optional attribute; read/write access; type: [s*]
Current state for all chips.
chip_write_buffer
Optional attribute; read/write access; type: [d|n*]
Current write buffer for all chips.
chip_write_buffer_start_address
Optional attribute; read/write access; type: [i*]
Current write buffer start address for all chips.
chip_write_buffer_current_count
Optional attribute; read/write access; type: [i*]
Current write buffer count for all chips.
amd_lock_register
Optional attribute; read/write access; type: [i*]
AMD lock register contents.
amd_ppb_lock_bit
Optional attribute; read/write access; type: [i*]
AMD PPB lock bit
reset
Pseudo attribute; write-only access; type: i
Set to 1 in order to reset the device.
busy_signal_targets
Optional attribute; read/write access; type: [n|o|[os]*]
(dst_object, dst_signal)* The destination device and signal name to connect the busy signal of the chips to. The destinations should implement the signal interface. Without a timing model, the device will never raise the busy signal.

Provided By

generic-flash-memory

generic-flash-memory.Reset

Description

Reset the flash

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic-flash-memory.io

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic-flash-memory.wp

Description

Hardware signal, Enable/Disable Write

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic-flash-memory.wren

Description

Enable/Disable Write to flash sector

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic-mmc-card

Description

This is an IVP EMMC model in Simics

Interfaces Implemented

conf_object, log_object, mmc

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

card_type
Optional attribute; read/write access; type: i
Memory card type (0=MMC, 1=SD, 2=SDHC, 3=SDIO)
size
Optional attribute; read/write access; type: i
Memory card size, in bytes.
OCR
Pseudo attribute; read/write access; type: i
OCR (Operation Conditions) Register
CSR
Pseudo attribute; read/write access; type: i
CSR (CARD Conditions) Register
RCA
Pseudo attribute; read/write access; type: i
RCA (Relative Card Address) Register
CID
Pseudo attribute; read/write access; type: d
CID (Card Identification) Register
CSD
Optional attribute; read/write access; type: d
CSD (Card-Specific Data) Register
SCR
Pseudo attribute; read/write access; type: d
SCR (SD Card Configuration) Register
ExtCSD
Pseudo attribute; read/write access; type: d
Extended CSD (Card-Specific Data) Register
SSR
Pseudo attribute; read/write access; type: d
SSR (SD Status) Register
flash_image
Optional attribute; read/write access; type: o|n
Flash memory disk image
ivp_state
Optional attribute; read/write access; type: a
ivp internal model state

Provided By

generic-mmc-card

generic_eth_phy

Description

Represents a generic Ethernet 802.3 PHY with MII and MDIO45 interfaces. It reflects link-status in the MII registers but does not autonegotiate speed with the link. All Ethernet frames are passed through unmodified, except when loopback mode is enabled in the MII registers, then they are immediately returned back to the MAC. The generic_eth_phy can optionally model a maximum transmit bandwidth, see the tx_bandwidth attribute.

Interfaces Implemented

conf_object, log_object, ethernet_cable, ethernet_common, ieee_802_3_phy, ieee_802_3_phy_v2, ieee_802_3_phy_v3, mdio45_phy, mii, mii_management

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.mii_regs
generic_eth_phy.mii_regs – The MII management register set as described in IEEE 802.3.
bank.mmd_auto_neg
generic_eth_phy.mmd_auto_neg – The Auto-Negotiation MMD register set in the MDIO interface, as described in IEEE 802.3.
bank.mmd_default
generic_eth_phy.mmd_default – Fallback MMD used for unimplemented and/or reserved MMDs
bank.mmd_dte_xs
generic_eth_phy.mmd_dte_xs – The DTE XS MMD register set in the MDIO interface, as described in IEEE 802.3.
bank.mmd_mii_ext
generic_eth_phy.mmd_mii_ext – The MII extension MMD register set in the MDIO interface, as described in IEEE 802.3.
bank.mmd_pcs
generic_eth_phy.mmd_pcs – The PCS MMD register set in the MDIO interface, as described in IEEE 802.3.
bank.mmd_phy_xs
generic_eth_phy.mmd_phy_xs – The PHY XS MMD register set in the MDIO interface, as described in IEEE 802.3.
bank.mmd_pma_pmd
generic_eth_phy.mmd_pma_pmd – The PMA/PMD MMD register set in the MDIO interface, as described in IEEE 802.3.
bank.mmd_tc
generic_eth_phy.mmd_tc – The TC MMD register set in the MDIO interface, as described in IEEE 802.3.
bank.mmd_vendor1
generic_eth_phy.mmd_vendor1 – The vendor1 MMD register set in the MDIO interface, as described in IEEE 802.3.
bank.mmd_vendor2
generic_eth_phy.mmd_vendor2 – The vendor2 MMD register set in the MDIO interface, as described in IEEE 802.3.
bank.mmd_wis
generic_eth_phy.mmd_wis – The WIS MMD register set in the MDIO interface, as described in IEEE 802.3.
port.HRESET
generic_eth_phy.HRESET
port.SRESET
generic_eth_phy.SRESET

Commands for this class

Attributes

address
Optional attribute; read/write access; type: i
PHY identifier sent in calls to ieee_802_3_mac interface methods.
Optional attribute; read/write access; type: o|[os]|n
The Ethernet link that the PHY is connected to or Nil if the PHY is disconnected.

Required interfaces: ethernet_common.

Optional attribute; read/write access; type: o|[os]|n
An object that will get a high signal when the link status is up.

Required interfaces: signal.

loopback_delay
Optional attribute; read/write access; type: f
The time in seconds for sending back a frame when in loopback mode
mac
Required attribute; read/write access; type: o|[os]
Media access controller (MAC) object
phy_id
Pseudo attribute; read/write access; type: i
32-bit PHY identifier
register_defaults
Optional attribute; read/write access; type: [n|i{32}]
Reset values of the MII registers. A nil value denotes that the standard reset value for that register is used.
registers
Pseudo attribute; read/write access; type: [i{32}]
The 32 MII management registers
tx_bandwidth
Optional attribute; read/write access; type: i
The transmit bandwidth of the network interface in bits per second. The network interface will limit the rate at which it sends packets to remain below this bandwidth. Set to 0 for unlimited bandwidth.
tx_next_time
Optional attribute; read/write access; type: f
The earliest time at which that the network interface may send another packet. Used for transmit bandwidth limitation.

Provided By

generic_eth_phy

generic_eth_phy.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic_eth_phy.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic_eth_phy.mii_regs

Description

The MII management register set as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_eth_phy.mmd_auto_neg

Description

The Auto-Negotiation MMD register set in the MDIO interface, as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_eth_phy.mmd_default

Description

Fallback MMD used for unimplemented and/or reserved MMDs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_eth_phy.mmd_dte_xs

Description

The DTE XS MMD register set in the MDIO interface, as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_eth_phy.mmd_mii_ext

Description

The MII extension MMD register set in the MDIO interface, as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_eth_phy.mmd_pcs

Description

The PCS MMD register set in the MDIO interface, as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_eth_phy.mmd_phy_xs

Description

The PHY XS MMD register set in the MDIO interface, as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_eth_phy.mmd_pma_pmd

Description

The PMA/PMD MMD register set in the MDIO interface, as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_eth_phy.mmd_tc

Description

The TC MMD register set in the MDIO interface, as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_eth_phy.mmd_vendor1

Description

The vendor1 MMD register set in the MDIO interface, as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_eth_phy.mmd_vendor2

Description

The vendor2 MMD register set in the MDIO interface, as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_eth_phy.mmd_wis

Description

The WIS MMD register set in the MDIO interface, as described in IEEE 802.3.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

generic_pcie_switch

Description

Generic PCIe switch with a configurable number of ports and configurable vendor and device IDs

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
device_id
Optional attribute; read/write access; type: i
Device ID
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
port_count
Optional attribute; read/write access; type: i
Number of down ports
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
vendor_id
Optional attribute; read/write access; type: i
Vendor ID

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

generic-pcie-switch-comp

generic_pcie_switch_port

Description

The generic_pcie_switch_port class implements a generic PCIe switch port.

The port is hotpluggable, handles I/O, memory and prefetchable transactions and has configurable vendor and device IDs. It does not implement any memory or I/O BARs. It exposes PCI Express 2.0 and MSI-64 capabilities.

Interfaces Implemented

conf_object, log_object, bridge, io_memory, pci_bridge, pci_device, pci_express, pci_express_hotplug, pci_upstream

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.pci_config
generic_pcie_switch_port.pci_config – The PCI configuration space.

Commands for this class

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
is_upstream
Optional attribute; read/write access; type: b
Set to true for upstream port object
mapping_setup
Optional attribute; read/write access; type: [i{15}]
Attributes for the different bridge mappings: io-memory up/down, memory up/down, prefetchable memory down: (io_down.priority, io_down.align_size, io_down.endian, mem_down.priority, mem_down.align_size, mem_down.endian, pref_down.priority, pref_down.align_size, pref_down.endian, io_up.priority, io_up.align_size, io_up.endian, mem_up.priority, mem_up.align_size, mem_up.endian)
pci_bus
Optional attribute; read/write access; type: o|[os]|n
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus, pci_express.

port_num
Optional attribute; read/write access; type: i
Port number
secondary_bus
Required attribute; read/write access; type: o|[os]
Secondary bus

Required interfaces: io_memory, pci_bus, pci_downstream, pci_express.

Provided By

generic-pcie-switch-port

generic_pcie_switch_port.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

bist
Optional attribute; read/write access; type: i
Build-in Self Test
bridge_control
Optional attribute; read/write access; type: i
Bridge Control
cache_line_size
Optional attribute; read/write access; type: i
CacheLine Size
capabilities_ptr
Pseudo attribute; read/write access; type: i
Capabilities Pointer
class_code
Optional attribute; read/write access; type: i
Class Code
command
Optional attribute; read/write access; type: i
Command Register
device_id
Optional attribute; read/write access; type: i
Device ID
exp_capabilities
Optional attribute; read/write access; type: i
PCI Express Capabilities Register
exp_capability_header
Optional attribute; read/write access; type: i
PCI Express Capability List Register
exp_dev_cap
Optional attribute; read/write access; type: i
Device Capabilities Register
exp_dev_cap2
Optional attribute; read/write access; type: i
Device Capabilities 2 Register
exp_dev_control
Optional attribute; read/write access; type: i
Device Control Register
exp_dev_control2
Optional attribute; read/write access; type: i
Device control 2 Register
exp_dev_status
Optional attribute; read/write access; type: i
Device Status Register
exp_dev_status2
Optional attribute; read/write access; type: i
Device status 2 Register
Optional attribute; read/write access; type: i
Link Capabilities Register
Optional attribute; read/write access; type: i
Link Capabilities 2 Register
Optional attribute; read/write access; type: i
Link Control Register
Optional attribute; read/write access; type: i
Link Control 2 Register
Optional attribute; read/write access; type: i
Link Status Register
Optional attribute; read/write access; type: i
Link Status 2 Register
exp_root_control
Optional attribute; read/write access; type: i
Root Control Register
exp_root_status
Optional attribute; read/write access; type: i
Root Status
exp_slot_cap
Optional attribute; read/write access; type: i
Slot Capabilities Register
exp_slot_cap2
Optional attribute; read/write access; type: i
Slot Capabilities 2 Register
exp_slot_control
Optional attribute; read/write access; type: i
Slot Control Register
exp_slot_control2
Optional attribute; read/write access; type: i
Slot Control 2 Register
exp_slot_status
Optional attribute; read/write access; type: i
Slot Status Register
exp_slot_status2
Optional attribute; read/write access; type: i
Slot Status 2 Register
header_type
Optional attribute; read/write access; type: i
Header Type
interrupt_line
Optional attribute; read/write access; type: i
Interrupt Line
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt Pin
interrupts
Optional attribute; read/write access; type: i
Raised _internal_ interrupts
io_base
Optional attribute; read/write access; type: i
I/O Base
io_base_upper
Optional attribute; read/write access; type: i
I/O Base Upper 16 Bits
io_limit
Optional attribute; read/write access; type: i
I/O Limit
io_limit_upper
Optional attribute; read/write access; type: i
I/O Limit Upper 16 Bits
irq_pin_count
Optional attribute; read/write access; type: [i{4}]
Forwarded interrupt count for bridges
latency_timer
Optional attribute; read/write access; type: i
Latency Timer
memory_base
Optional attribute; read/write access; type: i
Memory Base
memory_limit
Optional attribute; read/write access; type: i
Memory Limit
msi_address
Optional attribute; read/write access; type: i
Message Address
msi_capability_header
Optional attribute; read/write access; type: i
Capability Header
msi_control
Optional attribute; read/write access; type: i
Message Control
msi_data
Optional attribute; read/write access; type: i
Message Data
msi_upper_address
Optional attribute; read/write access; type: i
Message Upper Address
prefetchable_base
Optional attribute; read/write access; type: i
Prefetchable Memory Base
prefetchable_base_upper
Optional attribute; read/write access; type: i
Prefetchable Memory Base Upper 32 Bits
prefetchable_limit
Optional attribute; read/write access; type: i
Prefetchable Memory Limit
prefetchable_limit_upper
Optional attribute; read/write access; type: i
Prefetchable Memory Limit Upper 32 Bits
primary_bus_number
Optional attribute; read/write access; type: i
Primary Bus Number
revision_id
Optional attribute; read/write access; type: i
Revision ID
secondary_bus_number
Optional attribute; read/write access; type: i
Secondary Bus Number
secondary_latency_timer
Optional attribute; read/write access; type: i
Secondary Latency Timer
secondary_status
Optional attribute; read/write access; type: i
Secondary Status
status
Optional attribute; read/write access; type: i
Status Register
subordinate_bus_number
Optional attribute; read/write access; type: i
Subordinate Bus Number
vendor_id
Optional attribute; read/write access; type: i
Vendor ID

generic_spi_flash

Description

The generic_spi_flash class implements the M25P05/10/20/40/80/16/32/64/128, N25Q256A/512A/00AA and W25Q80/16/32/64/128 BV/CV serial flash memories, accessed via the SPI Interface. Different flash models using serial interface from different manufactures can be implemented by manually configure JEDEC ID, sector number and sector size attributes.

Interfaces Implemented

conf_object, log_object, serial_peripheral_interface_slave

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.fcl
generic_spi_flash.fcl – Flash control logic
port.HRESET
generic_spi_flash.HRESET
port.TOP_SECTOR_LOCK
generic_spi_flash.TOP_SECTOR_LOCK
port.WRITE_PROTECT
generic_spi_flash.WRITE_PROTECT

Commands for this class

Attributes

JEDEC_signature
Optional attribute; read/write access; type: n|[iii]
JEDEC standard signature. It should be configured in format like [0x20, 0x20, 0x15] for M25P16. Please refer to the hardware documentation for the correct value.
addr4b_enabled
Optional attribute; read/write access; type: b
Enable 4-byte address mode.
dual_parallel_enabled
Optional attribute; read/write access; type: b
Device represents two instances in dual parallel mode.
elec_signature
Optional attribute; read/write access; type: i
Electronic Signature, has default value 0x13. this is not the same as, or even a subset of, the JEDEC 16-bit Electronic Signature. this is for reason of backward compatibility, only, and should not be used for new designs. It should be configured with value 0x05 for M25P05-A, 0x10 for M25P10-A, 0x11 for M25P20, 0x12 for M25P40, 0x13 for M25P80, 0x14 for M25P16, 0x15 for M25P32. 0x16 for M25P64. For all other devices not listed above, please check the respective hardware documentation.
extended_id
Optional attribute; read/write access; type: n|[ii]
Extended device identification. It is only implemented in some flash models. For those models, the two bytes are used to identify different devices. It should be configured like: [0x4d, 0x00] for S25FL032P. Please refer to the hardware documentation for the correct value.
fcmd_counter
Optional attribute; read/write access; type: [i{256}]
Array of the commands statistic counters.
fpdi_enabled
Optional attribute; read/write access; type: b
Enable DUAL INPUT FAST PROGRAM Command. Please refer to the hardware documentation to set True.
fpqi_enabled
Optional attribute; read/write access; type: b
Enable QUAD INPUT FAST PROGRAM Command. Please refer to the hardware documentation to set True.
frdo_enabled
Optional attribute; read/write access; type: b
Enable DUAL OUTPUT FAST READ Command. Please refer to the hardware documentation to set True.
frqo_enabled
Optional attribute; read/write access; type: b
Enable QUAD OUTPUT FAST READ Command. Please refer to the hardware documentation to set True.
mem_block
Required attribute; read/write access; type: o|[os]
Connects to an image object which holding the data, the size of attached object should be equal to sector_number.val * sector_size.val.

Required interfaces: image.

pp_buffer
Optional attribute; read/write access; type: d|n
buffer for holding page program data
sector_lock
Optional attribute; read/write access; type: d
The SPM1 lock registers.
sector_number
Optional attribute; read/write access; type: i
Sector number in the whole flash, has default value 16. Please refer to the hardware documentation for the correct value.
sector_size
Optional attribute; read/write access; type: i
Bytes size for flash sector, has default value 0x10000(64 * 1024). Please refer to the hardware documentation for the correct value. For example, 0x8000 for M25P05-A
sfdp_data
Optional attribute; read/write access; type: [i*]
Array for storing headers and data for sfdp tables.
sfdp_flash_size
Optional attribute; read/write access; type: i
Size of flash memory which is stored in basic SFDT table.
sfdp_tables_num
Optional attribute; read/write access; type: i
Total number of SFPD tables.
sfdp_tables_revision
Optional attribute; read/write access; type: [[ii]{2}]
Revision of sfdp table [msb, lsb].
spi_master
Optional attribute; read/write access; type: o|[os]|n
SPI master this device connected to.

Required interfaces: serial_peripheral_interface_master.

Provided By

generic-spi-flash

generic_spi_flash.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic_spi_flash.TOP_SECTOR_LOCK

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic_spi_flash.WRITE_PROTECT

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic_spi_flash.fcl

Description

Flash control logic

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

gfx-frontend-winsome

Description

The gfx-frontend-winsome class.

Interfaces Implemented

conf_object, log_object, gfx_console_frontend, gui_console_backend

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

graphcon

global-time-extension

Description

The internal global-time-extension extension class provides global time handling for the ps-clock class. This class should only be used by Simics Core.

Interfaces Implemented

global_time

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

goldfish-rtc

Description

goldfish virtual hardware real-time clock

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.regs
goldfish-rtc.regs
port.HRESET
goldfish-rtc.HRESET

Commands for this class

Attributes

initial_time
Optional attribute; read/write access; type: i
Time at reset in seconds
irq_dev
Optional attribute; read/write access; type: o|[os]|n
RTC alarm interrupt request

Required interfaces: signal.

Provided By

goldfish-rtc

goldfish-rtc.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

goldfish-rtc.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

graphcon

Description

The graphcon class implements a graphical console, representing a computer screen. Several consoles may be present at any time. It also supports input of keyboard and mouse events. The objects of the graphcon class should be connected to a graphics card device and a keyboard/mouse device.

Interfaces Implemented

conf_object, log_object, keyboard_console, gfx_console_backend, abs_pointer_activate, recorded, con_input_code, checkpoint, gfx_con, screenshot, extended_serial, gfx_break, vga_text_update, vnc_server_v2, external_connection_events, break_strings, break_strings_v2, con_input

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
graphcon-close
Notifier that is triggered when a graphics console is closed.
graphcon-open
Notifier that is triggered when a graphics console is opened.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

tcp
tcp-server – VNC TCP server
unix_socket
unix-socket-server – VNC Unix domain socket server

Commands for this class

Commands for interface gfx_break

Commands for interface break_strings_v2

Attributes

keyboard
Optional attribute; read/write access; type: o|n
Keyboard device the console is connected to.
mouse
Optional attribute; read/write access; type: o|n
Mouse device the console is connected to.
abs_mouse
Optional attribute; read/write access; type: o|n
Absolute positioning pointer device connected to the console. Must implement the abs_pointer interface
abs_pointer_enabled
Optional attribute; read/write access; type: b
Absolute positioning pointer enabled.
pending_kbd_input
Optional attribute; read/write access; type: [[ib]*]
Queued keyboard input waiting to be sent to the attached keyboard device. Each element is a key code and a make/break flag (TRUE on make).
mouse_state
Optional attribute; read/write access; type: [iibb]
Mouse state, only used when not using an absolute positioning pointer.
microm_per_pixel
Pseudo attribute; read/write access; type: [ii]
Micrometers per (horizontal, vertical) pixel for converting mouse movements. only used when not using an absolute positioning pointer.
grab_modifier
Optional attribute; read/write access; type: s
A string in (control, alt, shift), specifying the modifier key used for grabbing and ungrabbing input from the console. Currently only the left side modifier are interpreted.
grab_button
Optional attribute; read/write access; type: s
One of left, middle and right The grab button specifies which mouse button that is used to grab and ungrab input for the console.
visible
Optional attribute; read/write access; type: b|n
Show/hide console GUI window. Setting to NIL only has effect before instantiation, in which case it leads to the default visibility behaviour of showing the console window if it is the unique console in the configuration.
recorder
Required attribute; read/write access; type: o
Recorder object
max_screen_size
Optional attribute; read/write access; type: [ii]
Console window maximum allowed screen size, in pixels (width, height).
window_title
Optional attribute; read/write access; type: s
Console GUI window title.
screen_size
Optional attribute; read/write access; type: [ii]
Console window size in pixels (width, height).
screen_data
Optional attribute; read/write access; type: d
Console screen data.
palette
Optional attribute; read/write access; type: [[iii]{256}]
((r, g, b), ...) Palette used in 8-bit mode. 256 colors, 8 bits/channel.
output_file
Pseudo attribute; read/write access; type: s
If set to a non-empty string, output will be directed to and appended to this file. Set to an empty string to stop file output.
keyboard_leds
Pseudo attribute; read-only access; type: [bbb]
State of keyboard leds (Caps lock, Num lock, Scroll lock).
cmd_line_output
Optional attribute; read/write access; type: b|n
If set to TRUE, the Simics command line will receive console text output, which will also be logged at level 3. If set to NIL, command line and log output will happen automatically when the console GUI is invisible. If set to FALSE, no command line or log output will happen.
output_line
Optional attribute; read/write access; type: d
The current output line of printable characters from the attached VGA device.
device
Optional attribute; read/write access; type: o|n
Video device the console is connected to.
refresh_rate
Optional attribute; read/write access; type: i
Refresh rate (in hertz). Set to 0 to disable screen refresh
gfx_breaks
Pseudo attribute; read-only access; type: [[isbbfiiiid]*]
List of console graphical breakpoints. Each entry is (hap id, name, active, oneshot, update interval, minx, miny, maxx, maxy, image data)
next_gfx_break_id
Pseudo attribute; read-only access; type: i
Hap ID for next added breakpoint.
vga_text_data
Pseudo attribute; read-only access; type: [iiii[i*]d]|n
VGA text screen contents: (rows, columns, font width, font height, line lengths, text data). NIL if not currently in VGA text mode.
refresh_in_virtual_time
Optional attribute; read/write access; type: b
If TRUE, then the refresh rate will refresh the screen based on virtual time, instead of real time. Default is FALSE.
vnc_allow_compression
Optional attribute; read/write access; type: b
If TRUE, then compressed encodings are used if the VNC client requests it, otherwise only raw encoding is used. Default is TRUE. Supported encodings are ZRLE and Tight.
vnc_zlib_level
Optional attribute; read/write access; type: i
VNC zlib compression level, in range 0..9, default 6.
vnc_keymap
Optional attribute; read/write access; type: [[ii]*]
VNC keyboard mapping for special keys: a list of pairs, keysym -> sim_key_t.
vnc_password
Optional attribute; read/write access; type: s|n
VNC server password. If this is set to a string, which must be non-empty, then the server will use the VNC authentication mechanism and require clients to provide the password on connect.
break_strings
Pseudo attribute; read-only access; type: [[sbbiib]*]
List of console break strings (string, active, oneshot, hap ID, unused, regexp)

Provided By

graphcon

gui

Description

Class used by the built-in GUI to communicate with remote frontend handler in Simics.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

hap-meter

Description

Hap meter

Interfaces Implemented

conf_object, log_object, scalar_time

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

blip
Pseudo attribute; write-only access; type: s
Write a stream name (any string) to this attribute to register a blip on that stream.
init
Pseudo attribute; write-only access; type: n
Initialize object
has_consumers
Pseudo attribute; write-only access; type: b
Does the meter have any consumers?

Provided By

hap-meter

host_core

Description

Class used for host core specific probes. Objects of this class corresponds to a physical processor core, with one or more hardware threads (SMT).

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

core_num
Optional attribute; read/write access; type: i
The host core number

Provided By

Simics Core

host_processor

Description

Class used for host processor specific probes. Objects of this class corresponds to a virtual processor in the system (SMT). It could be oneor several of these per core.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cpu_num
Optional attribute; read/write access; type: i
The host cpu number

Provided By

Simics Core

host_system

Description

Singleton object class used to for host specific probes.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

Simics Core

hostfs

Description

The hostfs device is used in conjunction with a target OS module to allow the simulated machine to access the filesystem of the host machine. In order to work, the hostfs-device needs to be mapped into a specific location in the physical memory space. This address is target OS and architecture dependent.

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

version
Optional attribute; read/write access; type: i
Simicsfs protocol version.
host_root
Optional attribute; read/write access; type: s
Host directory to use as root for the mounted file tree
mounted
Optional attribute; read/write access; type: b
True if simicsfs has been mounted on the target

Provided By

hostfs

hypersim-pattern-matcher

Description

Framework for instruction pattern detection and protection. This class requires other classes, which define the patterns to be detected and uses this class, to be any useful. Instruction patterns can be defined to identify specific idle loops, busy-wait loops, spinlocks etc in memory which can be fast forwarded in the simulators time

Interfaces Implemented

conf_object, log_object, hypersim_pattern_matcher

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

memory_space
Required attribute; read/write access; type: o
Physical memory space, must implement memory_space and breakpoint interfaces.
cpus
Optional attribute; read/write access; type: [o*]
CPUs handling pattern matcher events.
patterns
Pseudo attribute; read-only access; type: [o*]
Installed pattern objects.
search_interval
Pseudo attribute; read/write access; type: [ii]
Pattern search interval in steps, [lower, upper].
cpu_ffwd_steps
Pseudo attribute; read-only access; type: [[oii]*]
(cpu, ffwd_idle_steps, ffwd_steps)* List of how many steps each CPU has been fast-forwarded (for all hypersim patterns)
total_ffwd_steps
Pseudo attribute; read-only access; type: [ii]
(ffwd_idle_steps, ffwd_steps) Total amount of steps that has been fast-forwarded (for all hypersim patterns and all CPUs)
pattern_info
Pseudo attribute; read-only access; type: [[os[[ii[[oii]*]]*]iii]*]
(pattern_obj, pattern_name, (paddr, active, (cpu, ffwd_idle_steps, ffwd_steps)*, failed_examine_calls, successful_trigger_calls, failed_trigger_calls)*)* List of each pattern and the physical addresses the patterns have been found and how many steps each CPU has been fast-forwarded for the physical address.
detected_patterns
Pseudo attribute; read-only access; type: [[os[i*]]*]
(pattern_obj, pattern_name, (physical_address)*)* List of each pattern and each physical address where the pattern have been detected (and currently active)

Provided By

hypersim-pattern-matcher

i210

Description

Intel® i210 PCIe Gigabit Ethernet Controller.

Interfaces Implemented

conf_object, log_object, ieee_802_3_mac, ieee_802_3_mac_v3, io_memory, pci_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.csr
i210.csr – i210 Ethernet Controller Registers
bank.io_mapped
i210.io_mapped – I/O-Mapped Access to Internal Registers and Memory
bank.pci_config
i210.pci_config – The PCI configuration space.
port.HRESET
i210.HRESET
port.POWER
i210.POWER
port.SRESET
i210.SRESET

Commands for this class

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
eeprom
Optional attribute; read/write access; type: [i{64}]
EEPROM (for mac address)
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
ext_interrupt_raised
Optional attribute; read/write access; type: b
Extended Interrupt Output State
flash
Required attribute; read/write access; type: o|[os]
Connection to the SPI interface in the i210
flash_func
Required attribute; read/write access; type: i
Function number of GbE SPI flash program register bank in the SPI
interrupt_raised
Optional attribute; read/write access; type: b
Interrupt Output State
legacy_interrupt_raised
Optional attribute; read/write access; type: b
Legacy Interrupt Output State
mac_address
Optional attribute; read/write access; type: s
MAC address ('XX:XX:XX:XX:XX:XX' string)
mii
Required attribute; read/write access; type: o|[os]
connect to external PHY for MDIO access

Required interfaces: mii_management.

pci_bus
Required attribute; read/write access; type: o|[os]
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus, pci_express.

phy
Required attribute; read/write access; type: o|[os]
connects to external PHY

Required interfaces: ieee_802_3_phy_v2.

phy_address
Required attribute; read/write access; type: i
Address of attached external PHY
tx_descriptor
Optional attribute; read/write access; type: [id]
Current transmit descriptor

Provided By

i210

i210.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i210.POWER

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i210.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i210.csr

Description

i210 Ethernet Controller Registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, io_memory, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i210.io_mapped

Description

I/O-Mapped Access to Internal Registers and Memory

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, io_memory, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i210.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, io_memory, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i210_v2

Description

Intel® i210 PCIe Gigabit Ethernet Controller.

Interfaces Implemented

conf_object, log_object, ieee_802_3_mac, ieee_802_3_mac_v3, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.csr
i210_v2.csr – i210 Ethernet Controller Registers
bank.io_mapped
i210_v2.io_mapped – I/O-Mapped Access to Internal Registers and Memory
bank.pcie_config
i210_v2.pcie_config
port.HRESET
i210_v2.HRESET
port.POWER
i210_v2.POWER
port.SRESET
i210_v2.SRESET
port.phy
i210_v2.phy

Commands for this class

Attributes

eeprom
Optional attribute; read/write access; type: [i{64}]
EEPROM (for mac address)
eth_phy
Required attribute; read/write access; type: o|[os]
connects to external PHY

Required interfaces: ieee_802_3_phy_v2.

ext_interrupt_raised
Optional attribute; read/write access; type: b
Extended Interrupt Output State
flash
Required attribute; read/write access; type: o|[os]
Connection to the SPI interface in the i210
interrupt_raised
Optional attribute; read/write access; type: b
Interrupt Output State
legacy_interrupt_raised
Optional attribute; read/write access; type: b
Legacy Interrupt Output State
mac_address
Optional attribute; read/write access; type: s
MAC address ('XX:XX:XX:XX:XX:XX' string)
mii
Required attribute; read/write access; type: o|[os]
connect to external PHY for MDIO access

Required interfaces: mii_management.

phy_address
Required attribute; read/write access; type: i
Address of attached external PHY
tx_descriptor
Optional attribute; read/write access; type: [id]
Current transmit descriptor

Provided By

i210-v2

i210_v2.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i210_v2.POWER

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i210_v2.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i210_v2.csr

Description

i210 Ethernet Controller Registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

i210_v2.io_mapped

Description

I/O-Mapped Access to Internal Registers and Memory

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

i210_v2.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

expansion.image
image – Expansion image
expansion.rom
rom – Expansion ROM

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

i210_v2.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

i21150

Description

The i21150 object models the Intel® i21150 PCI to PCI Bridge

Interfaces Implemented

conf_object, log_object, pci_device, io_memory, pci_bridge, bridge

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
secondary_bus
Required attribute; read/write access; type: o
Secondary (downstream) PCI bus.
mapping_setup
Optional attribute; read/write access; type: [i{15}]
Attributes for mappings

Provided By

i21150

i21152

Description

The i21152 object models the Intel® i21152 PCI to PCI Bridge

Interfaces Implemented

conf_object, log_object, pci_device, io_memory, pci_bridge, bridge

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
secondary_bus
Required attribute; read/write access; type: o
Secondary (downstream) PCI bus.
mapping_setup
Optional attribute; read/write access; type: [i{15}]
Attributes for mappings

Provided By

i21152

i21154

Description

Intel® 21154 PCI-PCI bridge. Not implemented:

Interfaces Implemented

conf_object, log_object, bridge, io_memory, pci_bridge, pci_device, pci_upstream

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.pci_config
i21154.pci_config – The PCI configuration space.

Commands for this class

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
mapping_setup
Optional attribute; read/write access; type: [i{15}]
Attributes for the different bridge mappings: io-memory up/down, memory up/down, prefetchable memory down: (io_down.priority, io_down.align_size, io_down.endian, mem_down.priority, mem_down.align_size, mem_down.endian, pref_down.priority, pref_down.align_size, pref_down.endian, io_up.priority, io_up.align_size, io_up.endian, mem_up.priority, mem_up.align_size, mem_up.endian)
pci_bus
Required attribute; read/write access; type: o|[os]
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus.

secondary_bus
Required attribute; read/write access; type: o|[os]
Secondary bus

Required interfaces: io_memory, pci_bus, pci_downstream.

Provided By

i21154

i21154.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

bist
Optional attribute; read/write access; type: i
Build-in Self Test
bridge_control
Optional attribute; read/write access; type: i
Bridge Control
cache_line_size
Optional attribute; read/write access; type: i
CacheLine Size
capabilities_ptr
Pseudo attribute; read/write access; type: i
Capabilities Pointer
class_code
Optional attribute; read/write access; type: i
Class Code
command
Optional attribute; read/write access; type: i
Command Register
device_id
Optional attribute; read/write access; type: i
Device ID
header_type
Optional attribute; read/write access; type: i
Header Type
interrupt_line
Optional attribute; read/write access; type: i
Interrupt Line
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt Pin
interrupts
Optional attribute; read/write access; type: i
Raised _internal_ interrupts
io_base
Optional attribute; read/write access; type: i
I/O Base
io_base_upper
Optional attribute; read/write access; type: i
I/O Base Upper 16 Bits
io_limit
Optional attribute; read/write access; type: i
I/O Limit
io_limit_upper
Optional attribute; read/write access; type: i
I/O Limit Upper 16 Bits
irq_pin_count
Optional attribute; read/write access; type: [i{4}]
Forwarded interrupt count for bridges
latency_timer
Optional attribute; read/write access; type: i
Latency Timer
memory_base
Optional attribute; read/write access; type: i
Memory Base
memory_limit
Optional attribute; read/write access; type: i
Memory Limit
prefetchable_base
Optional attribute; read/write access; type: i
Prefetchable Memory Base
prefetchable_base_upper
Optional attribute; read/write access; type: i
Prefetchable Memory Base Upper 32 Bits
prefetchable_limit
Optional attribute; read/write access; type: i
Prefetchable Memory Limit
prefetchable_limit_upper
Optional attribute; read/write access; type: i
Prefetchable Memory Limit Upper 32 Bits
primary_bus_number
Optional attribute; read/write access; type: i
Primary Bus Number
revision_id
Optional attribute; read/write access; type: i
Revision ID
secondary_bus_number
Optional attribute; read/write access; type: i
Secondary Bus Number
secondary_latency_timer
Optional attribute; read/write access; type: i
Secondary Latency Timer
secondary_status
Optional attribute; read/write access; type: i
Secondary Status
status
Optional attribute; read/write access; type: i
Status Register
subordinate_bus_number
Optional attribute; read/write access; type: i
Subordinate Bus Number
vendor_id
Optional attribute; read/write access; type: i
Vendor ID

i21554-prim

Description

The Intel® i21554-prim models the primary interface on the PCI to PCI bridge

Interfaces Implemented

conf_object, log_object, bridge, pci_device, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

base_translate
Optional attribute; read/write access; type: [i{6}]
Translation bases.
base_setup
Optional attribute; read/write access; type: [i{7}]
The setup register values. The i21554 device can be programmed by an on board serial prom that will initialize the setup registers. In Simics this is done by setting this attribute. The seven registers are in the following order: downstream memory 0, downstream I/O / memory 1, downstream memory 2, downstream memory 3 (lower), downstream memory 3 (upper), upstream I/O / memory 0 and upstream memory 1.
scnd_interface
Required attribute; read/write access; type: o
Secondary interface object for the bridge
bridge_mappings
Optional attribute; read/write access; type: [[iiii]*]
List of all current PCI I/O and memory mappings.
down_conf_addr
Optional attribute; read/write access; type: i
Downstream configuration address register.
chip_control0
Optional attribute; read/write access; type: i
Chip Control 0 register.
pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).

Provided By

i21554

i21554-scnd

Description

The i21554-scnd models the secondary interface on the PCI to PCI bridge

Interfaces Implemented

conf_object, log_object, bridge, pci_bridge, pci_device, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

prim_interface
Required attribute; read/write access; type: o
Primary interface object for the bridge
bridge_mappings
Optional attribute; read/write access; type: [[iiii]*]
List of all current PCI I/O and memory mappings.
pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).

Provided By

i21554

i21555-prim

Description

The Intel® i21555-prim models the primary interface on the PCI to PCI bridge

Interfaces Implemented

conf_object, log_object, bridge, pci_device, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

base_translate
Optional attribute; read/write access; type: [i{6}]
Translation bases.
base_setup
Optional attribute; read/write access; type: [i{7}]
The setup register values. The i21555 device can be programmed by an on board serial prom that will initialize the setup registers. In Simics this is done by setting this attribute. The seven registers are in the following order: downstream memory 0, downstream I/O / memory 1, downstream memory 2, downstream memory 3 (lower), downstream memory 3 (upper), upstream I/O / memory 0 and upstream memory 1.
scnd_interface
Required attribute; read/write access; type: o
Secondary interface object for the bridge
bridge_mappings
Optional attribute; read/write access; type: [[iiii]*]
List of all current PCI I/O and memory mappings.
down_conf_addr
Optional attribute; read/write access; type: i
Downstream configuration address register.
chip_control0
Optional attribute; read/write access; type: i
Chip Control 0 register.
pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).

Provided By

i21555

i21555-scnd

Description

The i21555-scnd models the secondary interface on the PCI to PCI bridge

Interfaces Implemented

conf_object, log_object, bridge, pci_bridge, pci_device, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

prim_interface
Required attribute; read/write access; type: o
Primary interface object for the bridge
bridge_mappings
Optional attribute; read/write access; type: [[iiii]*]
List of all current PCI I/O and memory mappings.
pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).

Provided By

i21555

i2c-bus

Description

The i2c-bus class implements the functionality of an I2C bus, to which several I2C devices can connect.

Interfaces Implemented

conf_object, log_object, i2c_bus, i2c_slave, i2c_bridge, i2c_master

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.SCL
i2c-bus.SCL – SCL clock signal
port.SDA
i2c-bus.SDA – SDA data signal

Commands for this class

Attributes

i2c_devices
Pseudo attribute; read-only access; type: [[si]*]
Contains a list of the devices connected to the bus. Each list entry is a list of (device, address) for each address that has a device connected. Devices connect themselves using the i2c_bus interface.
current_slave
Optional attribute; read/write access; type: o|n
The slave of the currently ongoing transaction, if any.
current_state
Optional attribute; read/write access; type: i
The current state of the bus, where 0 is idle, 1 is master transmit, 2 is master receive, 3 is slave transmit, and 4 is slave receive.
Optional attribute; read/write access; type: o|n
If set, the bus will try to share all communication with this i2c link object. This is useful when converting i2c devices to use the new interfaces i2c_link, i2c_slave and i2c_master, since it allows devices to be converted one by one. All connected slave devices are forwarded as slave devices in this i2c link object. Slave devices registered on the link will be accessible from master devices on this i2c bus, but only as long as all responses arrive immediately, i.e., as long as both the link and the slave device have zero latency.
first_read_request
Optional attribute; read/write access; type: b
When forwarding a connection to a slave device via an i2c_link object and in slave transmit mode, this attribute is true right after the start condition and before the first read request. Marks that the next read should not be preceded by an ack_read_request
sda_target
Optional attribute; read/write access; type: n|o|[os]
Describes where the outgoing SDA signal should be connected
i2c_device_state
Optional attribute; read/write access; type: [iiii]
List representing data state in the device

Provided By

i2c-bus

i2c-bus.SCL

Description

SCL clock signal

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i2c-bus.SDA

Description

SDA data signal

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i2c_link

Description

The i2c_link_v1 class implements the functionality of an I2C bus, to which several I2C devices can connect. Connecting I2C devices should implement the i2c_master or i2c_slave interface.

Interfaces Implemented

conf_object, log_object, i2c_link, i2c_master_v2, i2c_slave_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

bus_freed_queue
Optional attribute; read/write access; type: [o*]
List of i2c master devices waiting for a bus_freed call. Index 0 is first in the queue.
enqueued_start
Optional attribute; read/write access; type: i
When connected as slave to an i2c-link-v2 object, a stop and a start request may arrive while waiting for an ack_read_response from a slave. This attribute stores the start address, -1 if no start is enqueued.
Optional attribute; read/write access; type: s
Internal state of the link
Optional attribute; read/write access; type: o|[os]|n
This connect is used to connect with Link v2. It should only setby the component

Required interfaces: i2c_master_v2, i2c_slave_v2.

slave_devices
Pseudo attribute; read-only access; type: [[oi]*]
Contains a list of the slave devices connected to the link. Each list entry is a list of (device, address) for each address that has a device connected. Devices connect themselves using the i2c_link interface.

Provided By

i2c-link-v1

i2c_slave_v2_to_bus_adapter

Description

The i2c_slave_v2_to_bus_adapter class makes it possible to connect an I2C slave device, implementing i2c_slave_v2 interface, directly to a legacy i2c-bus object. The slave device must send all responses synchronously, i.e., before a start(), write() or read() call in the i2c_slave_v2 interface has returned, the slave it must have called the corresponding acknowledge() or read_response() method. The adapter can be used on a single-master bus where the master device has not yet been upgraded to the new i2c_master_v2/i2c_slave_v2 interfaces, but one of the slave devices has.

Interfaces Implemented

conf_object, log_object, i2c_device, i2c_master_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

i2c_bus
Required attribute; read/write access; type: o|[os]
I2C bus to connect to.

Required interfaces: i2c_bus.

i2c_slave
Required attribute; read/write access; type: o|[os]
Simple I2C slave device connected with.

Required interfaces: i2c_slave_v2.

Provided By

i2c-bus

i2c_to_i3c_adapter

Description

The i2c_to_i3c_adapter allows to attach an I2C device to I3C bus.

Interfaces Implemented

conf_object, log_object, i2c_master_v2, i3c_slave

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

Optional attribute; read/write access; type: o|[os]|n
Connect to I2C slave device

Required interfaces: i2c_slave_v2.

Optional attribute; read/write access; type: o|[os]|n
Connect to I3C master device or i3c_link

Required interfaces: i3c_master.

Provided By

i3c-link

i2c_wire

Description

The i2c_wire class implements bridge functionality between two i2c-link-v2 endpoints. It will forward everything from one side to another without analyzing. To use this device, connect i2c_link[0]/i2c_port[0] to one endpoint and i2c_link[1]/i2c_port[1] to another endpoint

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

port.i2c_port[0..1]
i2c_wire.i2c_port

Commands for this class

Attributes

Optional attribute; read/write access; type: [o|[os]|n{0:2}]
These connectors are used to connect two i2c-link-v2 objects.

Provided By

i2c-link-v2

i2c_wire.i2c_port

Interfaces Implemented

conf_object, log_object, i2c_master_v2, i2c_slave_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i3c_bus

Description

The i3c_bus allows to attach up to 16 I3C devices on it for I3C communicating.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.i3c
i3c_bus.i3c
port.HRESET
i3c_bus.HRESET
port.I3C[0..15]
i3c_bus.I3C

Commands for this class

Attributes

i3c_devices
Optional attribute; read/write access; type: [o|[os]|n{0:16}]
Connect to I3C devices
known_address
Optional attribute; read/write access; type: [[iib]*]|n
Known slave address for the bus
status
Pseudo attribute; read-only access; type: s
Current i3c bus status

Provided By

i3c-link

i3c_bus.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i3c_bus.I3C

Interfaces Implemented

conf_object, log_object, i3c_daa_snoop, i3c_master, i3c_slave

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i3c_bus.i3c

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i3c_cable_endpoint

Description

I3C cable link endpoint

Interfaces Implemented

conf_object, log_object, link_endpoint_v2, i3c_master, i3c_slave, i3c_daa_snoop

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

id
Required attribute; read/write access; type: i
Endpoint ID. The ID of each endpoint must be unique among the link's endpoints, and it may not be 0 or 0xffffffffffffffff
Required attribute; read/write access; type: o
The link object to which this endpoint belongs.
delivery_queue
Optional attribute; read/write access; type: [[i[o|n[ii]][iiid]]*]
The endpoint's queue.
sorting_key
Optional attribute; read/write access; type: [bi]
Internal.
device
Required attribute; read/write access; type: n|o|[os]
The device connected to this endpoint.
indirect_delivery
Optional attribute; read/write access; type: b
If set, deliver link messages to their targets immediately to let them worry about the exact time of delivery. Needed for endpoints attached to follower agents.

Provided By

i3c-link

i3c_cable_impl

Description

I3C cable link

Interfaces Implemented

conf_object, log_object, link

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

endpoints
Pseudo attribute; read-only access; type: [o*]
The connected devices.
goal_latency
Required attribute; read/write access; type: f
The desired latency for this link.
effective_latency
Pseudo attribute; read-only access; type: f
The effective latency for this link.
immediate_delivery
Optional attribute; read/write access; type: b
Immediate delivery instead of using the specified latency; implies nondeterminism.
global_id
Optional attribute; read/write access; type: s|n
The global identifier for a link. Used in distributed simulation to identify links that are connected together. The global ID cannot be changed once the link has been created.
stats
Pseudo attribute; read-only access; type: [iiii]
Statistics in an internal format
outside_cell
Optional attribute; read/write access; type: b
Always True; link objects do not belong to a particular cell

Provided By

i3c-link

i3c_wire

Description

The i3c_wire implements bridge functionality between two i3c_link endpoints. It will forward everything from one side to another without analyzing. To use this device, connect i3c_link[0]/I3C_PORT[0] to one endpoint and i3c_link[1]/I3C_PORT[1] to another endpoint

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.I3C_PORT[0..1]
i3c_wire.I3C_PORT

Commands for this class

Attributes

Optional attribute; read/write access; type: [o|[os]|n{0:2}]
Connectors to connect two i3c_link objects

Provided By

i3c-link

i3c_wire.I3C_PORT

Interfaces Implemented

conf_object, log_object, i3c_daa_snoop, i3c_master, i3c_slave

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8042

Description

The i8042 device models a legacy PC keyboard controller together with a 105-key standard keyboard, and a mouse with three buttons, three buttons and a wheel or five buttons and a wheel.

Interfaces Implemented

conf_object, log_object, io_memory, keyboard, mouse

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

reset_target
Optional attribute; read/write access; type: o|n
Object implementing the x86_reset_bus interface.
irq_dev
Optional attribute; read/write access; type: o|n
Interrupt device implementing the simple_interrupt interface.
console
Optional attribute; read/write access; type: o|n
Console device implementing the 'gfx_con' or 'keyboard_console' interfaces.
kbd_irq_level
Required attribute; read/write access; type: i
Interrupt level of the keyboard. Use to send interrupts to irq_dev using the simple_interrupt.
mouse_irq_level
Required attribute; read/write access; type: i
Interrupt level of the mouse. Use to send interrupts to irq_dev using the simple_interrupt.
next_write
Optional attribute; read/write access; type: i
The next write expected on the command port. 0 = Undefined, 1 = Command, 2 = Output, 3 = Mouse, and 4 = MouseBuffer.
obuffer
Optional attribute; read/write access; type: i
The next data that will be read from the keyboard.
mfull
Optional attribute; read/write access; type: b
True if obuffer contains mouse data.
ofull
Optional attribute; read/write access; type: b
True if obuffer contains data.
ifull
Optional attribute; read/write access; type: b
True if input buffer full flag. Always false in the current implementation.
command_last
Optional attribute; read/write access; type: b
True if the last write to the keyboard was a command.
selftest_ok
Optional attribute; read/write access; type: b
True if the selftest flag signals OK.
scan_convert
Optional attribute; read/write access; type: b
Flag whether we do scan code conversion.
mouse_irq_en
Optional attribute; read/write access; type: i
Mouse interrupt enabled flag.
mouse_disabled
Optional attribute; read/write access; type: i
Mouse disabled flag.
mouse_connected
Optional attribute; read/write access; type: i
Mouse connected flag.
kbd_irq_en
Optional attribute; read/write access; type: i
Keyboard interrupt enabled flag.
kbd_disabled
Optional attribute; read/write access; type: i
Keyboard disabled flag.
sent_time
Optional attribute; read/write access; type: f
The last time we sent an interrupt.
cmd_buttons
Optional attribute; read/write access; type: i
The state of the mouse buttons as set by the button-event pseudo attribute. Bit 0 = left button pressed, bit 1 = right button pressed, and 2 = middle button pressed.
irq_sent
Optional attribute; read/write access; type: i
Set to 1 if the keyboard interrupt line is raised, 2 if the mouse interrupt is raised, or 0 otherwise.
key_enabled
Optional attribute; read/write access; type: i
Flag saying if the keyboard is enabled.
key_caps_lock
Optional attribute; read/write access; type: i
Caps lock led flag.
key_num_lock
Optional attribute; read/write access; type: i
Num lock led flag.
key_scroll_lock
Optional attribute; read/write access; type: i
Scroll lock led flag.
led_caps_lock
Optional attribute; read/write access; type: n|o|[os]
Caps lock led signal target.
led_num_lock
Optional attribute; read/write access; type: n|o|[os]
Num lock led signal target.
led_scroll_lock
Optional attribute; read/write access; type: n|o|[os]
Scroll lock led signal target.
key_scan_codes
Optional attribute; read/write access; type: i
Selected scan codes.
key_buffer
Optional attribute; read/write access; type: [i*]
(b0, b1, ..., b15) Controller keyboard output data.
key_first
Optional attribute; read/write access; type: i
Index of the next data that will be read from the key_buffer.
key_buf_num
Optional attribute; read/write access; type: i
Number of entries used after key_first in the key_buffer.
key_next_write
Optional attribute; read/write access; type: i
Command expected for the next write to the controller. 0 = Undefined, 1 = Led, 2 = Typematic, and 3 = Scan.
mou_enabled
Optional attribute; read/write access; type: i
Mouse enabled flag.
mou_two_to_one
Optional attribute; read/write access; type: i
Scaling is 2:1 flag.
mou_resolution
Optional attribute; read/write access; type: i
Mouse resolution. The resolution is 1 << value counts / mm.
mou_sample_rate
Optional attribute; read/write access; type: i
Sample rate in Hz.
mou_buffer
Optional attribute; read/write access; type: [i{48}]
(b0, b1, ..., b47) Controller output mouse data.
mou_first
Optional attribute; read/write access; type: i
Index of next data in mou_buffer.
mou_buf_num
Optional attribute; read/write access; type: i
Number of entries used from mou_first in mou_buffer.
mou_next_write
Optional attribute; read/write access; type: i
Command expected for the next write to the mouse controller. 0 = Undefined, 1 = Resolution, and 3 = SampleRate.
mouse_type
Optional attribute; read/write access; type: i
Modeled mouse type. 0 = 3-button mouse (default), 1 = 3-button wheel mouse, and 2 = 5-button wheel mouse.
mouse_mode
Optional attribute; read/write access; type: i
Mode operating mode. 0 = 3-button mode, 1 = 3-button wheel mode, and 2 = 5-button wheel mode.
mode_select_state
Optional attribute; read/write access; type: i
Mode selection state. 0 = knocking not in progress, 1 = having set sample rate to 200 Hz once, 2 = having set sample rate to 200 Hz twice, and 3 = having set sample rate to 100 Hz.
mouse_movement_x
Optional attribute; read/write access; type: i
Mouse movement since last packet.
mouse_movement_y
Optional attribute; read/write access; type: i
Mouse movement since last packet.
mouse_movement_z
Optional attribute; read/write access; type: i
Mouse movement since last packet.
mouse_report_button_state
Optional attribute; read/write access; type: i
Mouse button state in last packet.
mouse_current_button_state
Optional attribute; read/write access; type: i
Current mouse button state.
mouse_event
Pseudo attribute; write-only access; type: Unknown
Write-only. Forces mouse events. Writes to indices 0 through 5 result in movement in directions up, down, left, right, wheel up, or wheel down by value mm.
key_event
Pseudo attribute; write-only access; type: Unknown
Write-only. Forces keyboard events. Writing value (an integer) to index i forces key number i to be pressed if value is false, or released if value is true.
button_event
Pseudo attribute; write-only access; type: Unknown
Write-only. Forces mouse button events. Writing value to index 0 (1, 2, 3, or 4) causes the left (right, middle, fourth, or fifth) button to be pressed if value is false, or released if value is false.
shift_l_down
Optional attribute; read/write access; type: i
Status of the left shift key.
shift_r_down
Optional attribute; read/write access; type: i
Status of the right shift key.
ctrl_l_down
Optional attribute; read/write access; type: i
Status of the left ctrl key.
ctrl_r_down
Optional attribute; read/write access; type: i
Status of the right ctrl key.
alt_l_down
Optional attribute; read/write access; type: i
Status of the left alt key.
alt_r_down
Optional attribute; read/write access; type: i
Status of the right alt key.
fast_a20
Optional attribute; read/write access; type: i
The fast A20 bit (port 92h).
fast_init
Optional attribute; read/write access; type: i
The fast init bit (port 92h).
output_port
Optional attribute; read/write access; type: i
The 8042 controller's output port P2. Only bits 2 and 3 are in this attribute. Use other attributes for the remaining bits.
output_port_mask
Optional attribute; read/write access; type: i
One bit set for each locked bit in output port P2.
allow_keyboard_buffer_overflow
Optional attribute; read/write access; type: b
By default this attribute is false, which implies that the i8042 will not allow the keyboard buffer to overflow. Instead it will force the console to buffer the input until there is room for it in the keyboard buffer. This makes the console generally easier to work with, since you are guaranteed that it won't drop characters. If you for some reason want to allow keyboard buffer overflows, set this attribute to true.
irq_freq
Optional attribute; read/write access; type: i
The maximum frequency in Hz at which the i8042 will generate interrupts. The default is 2000 Hz, which simulates the timing of a real device. However, some operating systems and X servers may have problems keeping up with that interrupt frequency when run with low processor clock frequencies and may start to lose input. If that happens you can lower the interrupt frequency. 20 Hz seems to work well with X servers on Linux in the configurations distributed with Simics.

Class Attributes

keys
Pseudo attribute; read-only access; type: [s*]
List with the names of all keys on the keyboard. Their index in the list represents the Simics internal key code.

Provided By

8042

i82077

Description

The 82077 device implements the functionality of the Intel® 82077 floppy controller together with up to four disk drives. There can usually be two floppy controllers in a PC system, the first and the secondary. While a controller can have four drives connected to it, most BIOSes only support two drives.

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

irq_dev
Optional attribute; read/write access; type: o|n
Interrupt device, implementing the simple_interrupt interface.
dma_dev
Required attribute; read/write access; type: o
DMA device, implementing the legacy_dma interface.
dma_channel
Required attribute; read/write access; type: i
DMA channel.
irq_level
Required attribute; read/write access; type: i
Interrupt level.
state
Optional attribute; read/write access; type: i
Floppy command state. Idle=0, Command=1, Execute=2, Result=3.
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt request status.
enabled
Optional attribute; read/write access; type: i
Controller enable flag.
dma_enabled
Optional attribute; read/write access; type: i
DMA enable flag.
drive_select
Optional attribute; read/write access; type: i
Currently selected drive.
receive_ready
Optional attribute; read/write access; type: i
Controller is ready to receive data (main status bit 7).
direction_cpu
Optional attribute; read/write access; type: i
Data transfer direction (main status bit 6).
command_busy
Optional attribute; read/write access; type: i
Command busy (main status bit 4).
fifo_enabled
Optional attribute; read/write access; type: i
FIFO enable flag.
fifo_threshold
Optional attribute; read/write access; type: i
FIFO threshold.
poll_enabled
Optional attribute; read/write access; type: i
Polling mode enable flag.
poll_change
Optional attribute; read/write access; type: i
Polling change detected.
precomp
Optional attribute; read/write access; type: i
Precompensation.
cmd_id
Optional attribute; read/write access; type: i
Currently executing command.
cmd_len
Optional attribute; read/write access; type: i
Actual length of current command.
cur_cmd_len
Optional attribute; read/write access; type: i
Number of command bytes received.
res_len
Optional attribute; read/write access; type: i
Number of result bytes.
cur_res_pos
Optional attribute; read/write access; type: i
Current result read position.
implied_seek
Optional attribute; read/write access; type: i
Implied seek enable flag.
step_rate
Optional attribute; read/write access; type: i
Step rate interval.
head_load
Optional attribute; read/write access; type: i
Head load time.
head_unload
Optional attribute; read/write access; type: i
Head unload time.
st0
Optional attribute; read/write access; type: i
Status register 0.
st1
Optional attribute; read/write access; type: i
Status register 1.
st2
Optional attribute; read/write access; type: i
Status register 2.
drives
Optional attribute; read/write access; type: [o]|[oo]|[ooo]|[oooo]|n
((drive)*). List of up to four floppy drives.
cmd
Optional attribute; read/write access; type: [i{17}]
(b0, ..., b16). Current command.
res
Optional attribute; read/write access; type: [i{15}]
(b0, ..., b14). Result bytes.

Provided By

82077

i8237x2

Description

The 8237x2 device implements the functionality of two cascaded 8237 DMA controllers. The 8237x2 supplies 7 dma channels that other devices can use for direct transfers to and from physical memory. The channel to use should be set in the device requesting DMA transfers. The 8237x2 exports two functions for reading and writing data. Limitation: Most registers in the 8237x2 device change hardware specific parameters. These do nothing in the 8237x2. Memory-to-Memory DMA transfers are not supported. The verify transfer type is not supported. Transfer delays are not modelled correctly, all transfers are completed in the same cycle as they are initiated by the device. Software initiated DMA requests are not supported.

Interfaces Implemented

conf_object, log_object, io_memory, legacy_dma

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

memory
Required attribute; read/write access; type: o
The physical memory to connect the DMA device to.
current_addr
Optional attribute; read/write access; type: [[iiii]{2}]
((a1, a2, a3, a4), (b1, b2, b3, b4)) The current address register. a1 - a4 are addresses of the first chip's 4 DMA channels' and b1 - b4 are for the second chip.
base_addr
Optional attribute; read/write access; type: [[iiii]{2}]
((a1, a2, a3, a4), (b1, b2, b3, b4)) The base address register for both chips' 4 DMA channels.
current_count
Optional attribute; read/write access; type: [[iiii]{2}]
((a1, a2, a3, a4), (b1, b2, b3, b4)) The current count register.
base_count
Optional attribute; read/write access; type: [[iiii]{2}]
((a1, a2, a3, a4), (b1, b2, b3, b4)) The base count register.
disabled
Optional attribute; read/write access; type: [ii]
(0|1,0|1) If the chips are disabled or enabled.
mask
Optional attribute; read/write access; type: [[iiii]{2}]
(0|1, 0|1, 0|1, 0|1), (0|1, 0|1, 0|1, 0|1) Which channels are disables/enabled.
flip_flop
Optional attribute; read/write access; type: [ii]
(hi, lo) hi/lo byte access selector.
dec_address
Optional attribute; read/write access; type: [[iiii]{2}]
(0|1, 0|1, 0|1, 0|1), (0|1, 0|1, 0|1, 0|1) If set decrement addresses on transfers instead of increment. Per channel.
auto_init
Optional attribute; read/write access; type: [[iiii]{2}]
(0|1, 0|1, 0|1, 0|1), (0|1, 0|1, 0|1, 0|1) If set re-initialize registers at terminal count.
dma_type
Optional attribute; read/write access; type: [[iiii]{2}]
((a1, a2, a3, a4), (b1, b2, b3, b4)) DMA type 0 (verify), 1 (write), 2 (read), 3 (illegal) for all channels.
dma_mode
Optional attribute; read/write access; type: [[iiii]{2}]
((a1, a2, a3, a4), (b1, b2, b3, b4)) DMA mode 0 (demand), 1 (single), 2 (block), 3 (cascade) for all channels.
request
Optional attribute; read/write access; type: [[iiii]{2}]
((a1, a2, a3, a4), (b1, b2, b3, b4)) The request register.
tc
Optional attribute; read/write access; type: [[iiii]{2}]
(0|1, 0|1, 0|1, 0|1), (0|1, 0|1, 0|1, 0|1) Bit set on terminal count (TC) for a DMA channel.
page_addr
Optional attribute; read/write access; type: [[iiii]{2}]
((a1, a2, a3, a4), (b1, b2, b3, b4)) The 64k/128k page that DMA is relative.
page_size
Optional attribute; read/write access; type: [ii]
(page-size1, page-size2) Page size for the controllers. 64k or 128k.
extra_page_addr
Optional attribute; read/write access; type: [[iiii]{2}]
((a1, a2, a3, a4), (b1, b2, b3, b4)) Extra page address registers. These registers have no function in the device.

Provided By

8237x2

i8254

Description

The i8254 device implements the functionality of the PIT (Programmable Interval Timer) counter device found in most PCs. In a real system it is used to generate interval signals for the TOD clock, DMA refresh, and the speaker. The simulated device is only connected to the interrupt device; it counts internally, and the value can be read and written from the processor. The Intel® 8254 device also implements Port B in the 8255 PPI (Programmable Peripheral Interface). This port is used to control the builtin PC speaker. Counting mode 1 is not implemented.

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.Gate0
i8254.Gate0 – GATE input for timer 0
port.Gate1
i8254.Gate1 – GATE input for timer 1
port.Gate2
i8254.Gate2 – GATE input for timer 2
port.RESET
i8254.RESET – Device reset. The stand-alone version of this device does not have a reset pin, but the device as IP in larger ASICs typically do act on reset.

Commands for this class

Attributes

irq_dev
Optional attribute; read/write access; type: o|n
Device to send interrupts to, that implements the simple_interrupt or signal interface.
irq_level
Optional attribute; read/write access; type: i
Interrupt level for the interrupt device.
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt request status.
refresh_clock
Optional attribute; read/write access; type: i
Bit 4 when reading from port B.
speaker
Optional attribute; read/write access; type: i
Enable flag for speaker, only valid if the have_speaker attribute is 1.
have_speaker
Optional attribute; read/write access; type: i
Set to 1 (default) if counter 2 is connected to a standard PC speaker.
beep
Optional attribute; read/write access; type: i
Set to 1 if a beep is currently playing in the speaker. Only valid if the have_speaker attribute is 1.
count
Optional attribute; read/write access; type: [iii]|[iiii]
A list of count values (i.e. BCD mode setting doesn't affect the value of the attribute), one for each counter.
count_actual
Pseudo attribute; read-only access; type: [iii]|[iiii]
The calculated current count values (i.e. BCD mode setting doesn't affest the value of the attribute)
initial_count
Optional attribute; read/write access; type: [iii]|[iiii]
A list of initial count values (i.e. BCD mode setting doesn't affect the value of the attribute), one for each counter.
latched_count
Optional attribute; read/write access; type: [iii]|[iiii]
A list of latched values (i.e. BCD mode setting doesn't affect the value of the attribute), one for each counter.
latched_status
Optional attribute; read/write access; type: [iii]|[iiii]
A list of latched status bytes, one for each counter.
latched
Optional attribute; read/write access; type: [iii]|[iiii]
A list of flags, each set to 1 if the corresponding counter has a latched value.
latched_s
Optional attribute; read/write access; type: [iii]|[iiii]
A list of flags, each set to 1 if the corresponding counter has a latched status.
next_read_high
Optional attribute; read/write access; type: [iii]|[iiii]
For each of the counters, a flag indicating if the next read access is for the high byte.
next_write_high
Optional attribute; read/write access; type: [iii]|[iiii]
For each of the counters, a flag indicating if the next write access is for the high byte.
counting
Optional attribute; read/write access; type: [iii]|[iiii]
For each of the counters, a flag indicating whether it is running.
expired_count
Optional attribute; read/write access; type: [iii]
For each counter the number of times a counter was reloaded since it was started.
gate
Optional attribute; read/write access; type: [iii]|[iiii]
Gate signals (1 or 0), one for each counter.
out
Optional attribute; read/write access; type: [iii]|[iiii]
Output values (0 or 1), one for each counter.
cmd
Optional attribute; read/write access; type: [iii]|[iiii]
The RW command for each counter.
mode
Optional attribute; read/write access; type: [iii]|[iiii]
The PIT counting mode for each counter (0 - 5).
bcd
Optional attribute; read/write access; type: [iii]|[iiii]
The counting format for each counter (0 or 1).
null_count
Optional attribute; read/write access; type: [iii]|[iiii]
The 'null count' status bit.
clock_freq_hz
Optional attribute; read/write access; type: [fff]|[ffff]
Clock input frequencies for the counters, in Hz. Defaults to 1193180.0 Hz for all counters. The frequency should be set before simulation starts.
mode_names
Pseudo attribute; read-only access; type: [ssssss]
List of all mode names.
cmd_names
Pseudo attribute; read-only access; type: [ssss]
List of all command names.

Provided By

8254

i8254.Gate0

Description

GATE input for timer 0

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8254.Gate1

Description

GATE input for timer 1

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8254.Gate2

Description

GATE input for timer 2

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8254.RESET

Description

Device reset. The stand-alone version of this device does not have a reset pin, but the device as IP in larger ASICs typically do act on reset.

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i82543

Description

This class models the Intel® 82543 Gigabit Ethernet Controller. Limitations on all i8254x:

Interfaces Implemented

conf_object, log_object, pci_device, io_memory, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
Optional attribute; read/write access; type: o|n
The Ethernet link that the network device is connected to.
model_crc
Pseudo attribute; read/write access; type: i
Deprecated. Do not use.
tx_bandwidth
Optional attribute; read/write access; type: i
The transmit bandwidth of the network interface in bits per second. The network interface will limit the rate at which it sends packets to remain below this bandwidth. Set to 0 for unlimited bandwidth.
tx_next_time
Optional attribute; read/write access; type: f
The earliest time at which that the network interface may send another packet. Used for transmit bandwidth limitation.
network
Pseudo attribute; read/write access; type: o|n
Obsolete attribute. Use link instead.
inject_packet
Pseudo attribute; write-only access; type: d
Attribute used to send a packet to the network device. Writing this attribute at any time injects a new packet into the device (without involving the network simulation). Injecting a packet copies the packet data, allowing the caller to reuse or dispose of the buffer used for creating the packet, after the attribute is written.
add_crc_on_inject
Optional attribute; read/write access; type: i
Frames injected using the 'inject_packet' will get a correctly calculated CRC added at the end when this attribute is set to 1 (default). When set to 0, the user has to supply a CRC field with the injected frame. Note that you must always provide room for the CRC field, even when this attribute is set to 1.
device_id
Optional attribute; read/write access; type: i
This uniquely identifies the Ethernet controller.
subsystem_id
Optional attribute; read/write access; type: i
Subsystem ID.
subsystem_vendor_id
Optional attribute; read/write access; type: i
Subsystem vendor ID.
phy_device
Optional attribute; read/write access; type: o
IEEE 802.3 physical device (exporting the MII interface).
gbic_device
Pseudo attribute; read/write access; type: o|n
Unused.
eeprom
Required attribute; read/write access; type: o
Serial 4-wire EEPROM.
interrupt
Optional attribute; read/write access; type: i
Set to 1 when an interrupt is pending.
media_type
Optional attribute; read/write access; type: s
Media type ("copper" or "fiber").
memory
Optional attribute; read/write access; type: d
Contents of mapped memory (including register set).
receive_fifo
Optional attribute; read/write access; type: [[id]*]
Receive FIFO contents.
ICR
Pseudo attribute; read/write access; type: i
Interrupt Cause Read
TDT
Pseudo attribute; read/write access; type: i
TX Descriptor Tail
CTRL
Pseudo attribute; read/write access; type: i
Device Control
STATUS
Pseudo attribute; read/write access; type: i
Device Status
EECD
Pseudo attribute; read/write access; type: i
EEPROM/Flash Control
EERD
Pseudo attribute; read/write access; type: i
EEPROM Read
CTRL_EXT
Pseudo attribute; read/write access; type: i
Extended Device Control
FLA
Pseudo attribute; read/write access; type: i
Flash Access
MDIC
Pseudo attribute; read/write access; type: i
MDI Control
FCAL
Pseudo attribute; read/write access; type: i
Flow Control Address Low
FCAH
Pseudo attribute; read/write access; type: i
Flow Control Address High
FCT
Pseudo attribute; read/write access; type: i
Flow Control Type
VET
Pseudo attribute; read/write access; type: i
VLAN Ether Type
ITR
Pseudo attribute; read/write access; type: i
Interrupt Throttling Rate
ICS
Pseudo attribute; read/write access; type: i
Interrupt Cause Set
IMS
Pseudo attribute; read/write access; type: i
Interrupt Mask Set
IMC
Pseudo attribute; read/write access; type: i
Interrupt Mask Clear
RCTL
Pseudo attribute; read/write access; type: i
RX Control
FCTTV
Pseudo attribute; read/write access; type: i
Flow Control Transmit Timer Value
TXCW
Pseudo attribute; read/write access; type: i
TX Configuration Word
RXCW
Pseudo attribute; read/write access; type: i
RX Configuration Word
TCTL
Pseudo attribute; read/write access; type: i
TX Control
TIPG
Pseudo attribute; read/write access; type: i
TX Inter-packet gap
TBT
Pseudo attribute; read/write access; type: i
TX Burst Timer
AIT
Pseudo attribute; read/write access; type: i
Adaptive Interframe Spacing Throttle
LEDCTL
Pseudo attribute; read/write access; type: i
LED Control
PBA
Pseudo attribute; read/write access; type: i
Packet Buffer Allocation
FCRTL
Pseudo attribute; read/write access; type: i
Flow Control Receive Threshold Low
FCRTH
Pseudo attribute; read/write access; type: i
Flow Control Receive Threshold High
RDBAL
Pseudo attribute; read/write access; type: i
RX Descriptor Base Address Low
RDBAH
Pseudo attribute; read/write access; type: i
RX Descriptor Base Address High
RDLEN
Pseudo attribute; read/write access; type: i
RX Descriptor Length
RDH
Pseudo attribute; read/write access; type: i
RX Descriptor Head
RDT
Pseudo attribute; read/write access; type: i
RX Descriptor Tail
RDTR
Pseudo attribute; read/write access; type: i
RX Delay Timer
RXDCTL
Pseudo attribute; read/write access; type: i
RX Descriptor Control
RADV
Pseudo attribute; read/write access; type: i
RX Interrupt Absolute Delay Timer
RSRPD
Pseudo attribute; read/write access; type: i
RX Small Packet Detect
TXDMAC
Pseudo attribute; read/write access; type: i
TX DMA Control
TDFH
Pseudo attribute; read/write access; type: i
TX Data FIFO Head
TDFT
Pseudo attribute; read/write access; type: i
TX Data FIFO Tail
TDFHS
Pseudo attribute; read/write access; type: i
TX Data FIFO Head Saved
TDFTS
Pseudo attribute; read/write access; type: i
TX Data FIFO Tail Saved
TDFPC
Pseudo attribute; read/write access; type: i
TX Data FIFO Packet Count
TDBAL
Pseudo attribute; read/write access; type: i
TX Descriptor Base Address Low
TDBAH
Pseudo attribute; read/write access; type: i
TX Descriptor Base Address High
TDLEN
Pseudo attribute; read/write access; type: i
TX Descriptor Length
TDH
Pseudo attribute; read/write access; type: i
TX Descriptor Head
TIDV
Pseudo attribute; read/write access; type: i
TX Interrupt Delay Value
TXDCTL
Pseudo attribute; read/write access; type: i
TX Descriptor Control
TADV
Pseudo attribute; read/write access; type: i
TX Interrupt Absolute Delay Val
TSPMT
Pseudo attribute; read/write access; type: i
TCP Segmentation PAD and Min Threshold
CRCERRS
Pseudo attribute; read/write access; type: i
CRC Error Count
ALGNERRC
Pseudo attribute; read/write access; type: i
Alignment Error Count
SYMERRS
Pseudo attribute; read/write access; type: i
Symbol Error Count
RXERRC
Pseudo attribute; read/write access; type: i
Receive Error Count
MPC
Pseudo attribute; read/write access; type: i
Missed Packet Count
SCC
Pseudo attribute; read/write access; type: i
Single Collision Count
ECOL
Pseudo attribute; read/write access; type: i
Excessive Collision Count
MCC
Pseudo attribute; read/write access; type: i
Multiple Collision Count
LATECOL
Pseudo attribute; read/write access; type: i
Late Collision Count
COLC
Pseudo attribute; read/write access; type: i
Collision Count
DC
Pseudo attribute; read/write access; type: i
Defer Count
TNCRS
Pseudo attribute; read/write access; type: i
TX-No CRS
SEC
Pseudo attribute; read/write access; type: i
Sequence Error Count
CEXTERR
Pseudo attribute; read/write access; type: i
Carrier Extension Error Count
RLEC
Pseudo attribute; read/write access; type: i
Receive Length Error Count
XONRXC
Pseudo attribute; read/write access; type: i
XON RX Count
XONTXC
Pseudo attribute; read/write access; type: i
XON TX Count
XOFFRXC
Pseudo attribute; read/write access; type: i
XOFF RX Count
XOFFTXC
Pseudo attribute; read/write access; type: i
XOFF TX Count
FCRUC
Pseudo attribute; read/write access; type: i
Flow Control RX Unsupported Count
PRC64
Pseudo attribute; read/write access; type: i
Packets RX (64 bytes)
PRC127
Pseudo attribute; read/write access; type: i
Packets RX (65-127 bytes)
PRC255
Pseudo attribute; read/write access; type: i
Packets RX (128-255 bytes)
PRC511
Pseudo attribute; read/write access; type: i
Packets RX (255-511 bytes)
PRC1023
Pseudo attribute; read/write access; type: i
Packets RX (512-1023 bytes)
PRC1522
Pseudo attribute; read/write access; type: i
Packets RX (1024-1522 bytes)
GPRC
Pseudo attribute; read/write access; type: i
Good Packets RX Count
BPRC
Pseudo attribute; read/write access; type: i
Broadcast Packets RX Count
MPRC
Pseudo attribute; read/write access; type: i
Multicast Packets RX Count
GPTC
Pseudo attribute; read/write access; type: i
Good Packets TX Count
GORCL
Pseudo attribute; read/write access; type: i
Good Octets RX Count Low
GORCH
Pseudo attribute; read/write access; type: i
Good Octets RX Count High
GOTCL
Pseudo attribute; read/write access; type: i
Good Octets TX Count Low
GOTCH
Pseudo attribute; read/write access; type: i
Good Octets TX Count High
RNBC
Pseudo attribute; read/write access; type: i
RX No Buffers Count
RUC
Pseudo attribute; read/write access; type: i
RX Undersize Count
RFC
Pseudo attribute; read/write access; type: i
RX Fragment Count
ROC
Pseudo attribute; read/write access; type: i
RX Oversize Count
RJC
Pseudo attribute; read/write access; type: i
RX Jabber Count
MGTPRC
Pseudo attribute; read/write access; type: i
Management Packets RX Count
MGTPDC
Pseudo attribute; read/write access; type: i
Management Packets Dropped Count
MGTPTC
Pseudo attribute; read/write access; type: i
Management Packets TX Count
TORL
Pseudo attribute; read/write access; type: i
Total Octets RX Low
TORH
Pseudo attribute; read/write access; type: i
Total Octets RX High
TOTL
Pseudo attribute; read/write access; type: i
Total Octets TX Low
TOTH
Pseudo attribute; read/write access; type: i
Total Octets TX High
TPR
Pseudo attribute; read/write access; type: i
Total Packets RX
TPT
Pseudo attribute; read/write access; type: i
Total Packets TX
PTC64
Pseudo attribute; read/write access; type: i
Packets TX (64 bytes)
PTC127
Pseudo attribute; read/write access; type: i
Packets TX (65-127 bytes)
PTC255
Pseudo attribute; read/write access; type: i
Packets TX (128-255 bytes)
PTC511
Pseudo attribute; read/write access; type: i
Packets TX (256-511 bytes)
PTC1023
Pseudo attribute; read/write access; type: i
Packets TX (512-1023 bytes)
PTC1522
Pseudo attribute; read/write access; type: i
Packets TX (1024-1522 Bytes)
MPTC
Pseudo attribute; read/write access; type: i
Multicast Packets TX Count
BPTC
Pseudo attribute; read/write access; type: i
Broadcast Packets TX Count
TSCTC
Pseudo attribute; read/write access; type: i
TCP Segmentation Context TX
TSCTFC
Pseudo attribute; read/write access; type: i
TCP Segmentation Context TX Fail
RXCSUM
Pseudo attribute; read/write access; type: i
RX Checksum Control
MTA
Pseudo attribute; read/write access; type: i
Multicast Table Array
RA
Pseudo attribute; read/write access; type: i
Receive Address
VFTA
Pseudo attribute; read/write access; type: i
VLAN Filter Table Array
WUC
Pseudo attribute; read/write access; type: i
Wakeup Control
WUFC
Pseudo attribute; read/write access; type: i
Wakeup Filter Control
WUS
Pseudo attribute; read/write access; type: i
Wakeup Status
MANC
Pseudo attribute; read/write access; type: i
Management Control
IPAV
Pseudo attribute; read/write access; type: i
IP Address Valid
IP4AT
Pseudo attribute; read/write access; type: i
IPv4 Address Table
IP6AT
Pseudo attribute; read/write access; type: i
IPv6 Address Table
WUPL
Pseudo attribute; read/write access; type: i
Wakeup Packet Length
WUPM
Pseudo attribute; read/write access; type: i
Wakeup Packet Memory
FFLT
Pseudo attribute; read/write access; type: i
Flexible Filter Length Table
FFMT
Pseudo attribute; read/write access; type: i
Flexible Filter Mask Table
FFVT
Pseudo attribute; read/write access; type: i
Flexible Filter Value Table
receive_address_array
Pseudo attribute; read-only access; type: [s*]
Receive address array.
debug_statistics
Pseudo attribute; read/write access; type: [ii]
Number of packets received and transmitted. Setting the attribute will clear all counters.
txd_context
Optional attribute; read/write access; type: [ii]
On chip TCP/IP transmit context.
stat_packets_rx
Pseudo attribute; read/write access; type: i
Number of packets received.
stat_packets_tx
Pseudo attribute; read/write access; type: i
Number of packets transmitted.

Provided By

i82543

i82546

Description

This class models the Intel® 82546 Gigabit Ethernet Controller. Limitations on all i8254x:

Interfaces Implemented

conf_object, log_object, pci_device, io_memory, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
Optional attribute; read/write access; type: o|n
The Ethernet link that the network device is connected to.
model_crc
Pseudo attribute; read/write access; type: i
Deprecated. Do not use.
tx_bandwidth
Optional attribute; read/write access; type: i
The transmit bandwidth of the network interface in bits per second. The network interface will limit the rate at which it sends packets to remain below this bandwidth. Set to 0 for unlimited bandwidth.
tx_next_time
Optional attribute; read/write access; type: f
The earliest time at which that the network interface may send another packet. Used for transmit bandwidth limitation.
network
Pseudo attribute; read/write access; type: o|n
Obsolete attribute. Use link instead.
inject_packet
Pseudo attribute; write-only access; type: d
Attribute used to send a packet to the network device. Writing this attribute at any time injects a new packet into the device (without involving the network simulation). Injecting a packet copies the packet data, allowing the caller to reuse or dispose of the buffer used for creating the packet, after the attribute is written.
add_crc_on_inject
Optional attribute; read/write access; type: i
Frames injected using the 'inject_packet' will get a correctly calculated CRC added at the end when this attribute is set to 1 (default). When set to 0, the user has to supply a CRC field with the injected frame. Note that you must always provide room for the CRC field, even when this attribute is set to 1.
device_id
Optional attribute; read/write access; type: i
This uniquely identifies the Ethernet controller.
subsystem_id
Optional attribute; read/write access; type: i
Subsystem ID.
subsystem_vendor_id
Optional attribute; read/write access; type: i
Subsystem vendor ID.
phy_device
Optional attribute; read/write access; type: o
IEEE 802.3 physical device (exporting the MII interface).
gbic_device
Pseudo attribute; read/write access; type: o|n
Unused.
eeprom
Required attribute; read/write access; type: o
Serial 4-wire EEPROM.
interrupt
Optional attribute; read/write access; type: i
Set to 1 when an interrupt is pending.
media_type
Optional attribute; read/write access; type: s
Media type ("copper" or "fiber").
memory
Optional attribute; read/write access; type: d
Contents of mapped memory (including register set).
receive_fifo
Optional attribute; read/write access; type: [[id]*]
Receive FIFO contents.
ICR
Pseudo attribute; read/write access; type: i
Interrupt Cause Read
TDT
Pseudo attribute; read/write access; type: i
TX Descriptor Tail
CTRL
Pseudo attribute; read/write access; type: i
Device Control
STATUS
Pseudo attribute; read/write access; type: i
Device Status
EECD
Pseudo attribute; read/write access; type: i
EEPROM/Flash Control
EERD
Pseudo attribute; read/write access; type: i
EEPROM Read
CTRL_EXT
Pseudo attribute; read/write access; type: i
Extended Device Control
FLA
Pseudo attribute; read/write access; type: i
Flash Access
MDIC
Pseudo attribute; read/write access; type: i
MDI Control
FCAL
Pseudo attribute; read/write access; type: i
Flow Control Address Low
FCAH
Pseudo attribute; read/write access; type: i
Flow Control Address High
FCT
Pseudo attribute; read/write access; type: i
Flow Control Type
VET
Pseudo attribute; read/write access; type: i
VLAN Ether Type
ITR
Pseudo attribute; read/write access; type: i
Interrupt Throttling Rate
ICS
Pseudo attribute; read/write access; type: i
Interrupt Cause Set
IMS
Pseudo attribute; read/write access; type: i
Interrupt Mask Set
IMC
Pseudo attribute; read/write access; type: i
Interrupt Mask Clear
RCTL
Pseudo attribute; read/write access; type: i
RX Control
FCTTV
Pseudo attribute; read/write access; type: i
Flow Control Transmit Timer Value
TXCW
Pseudo attribute; read/write access; type: i
TX Configuration Word
RXCW
Pseudo attribute; read/write access; type: i
RX Configuration Word
TCTL
Pseudo attribute; read/write access; type: i
TX Control
TIPG
Pseudo attribute; read/write access; type: i
TX Inter-packet gap
TBT
Pseudo attribute; read/write access; type: i
TX Burst Timer
AIT
Pseudo attribute; read/write access; type: i
Adaptive Interframe Spacing Throttle
LEDCTL
Pseudo attribute; read/write access; type: i
LED Control
PBA
Pseudo attribute; read/write access; type: i
Packet Buffer Allocation
FCRTL
Pseudo attribute; read/write access; type: i
Flow Control Receive Threshold Low
FCRTH
Pseudo attribute; read/write access; type: i
Flow Control Receive Threshold High
RDBAL
Pseudo attribute; read/write access; type: i
RX Descriptor Base Address Low
RDBAH
Pseudo attribute; read/write access; type: i
RX Descriptor Base Address High
RDLEN
Pseudo attribute; read/write access; type: i
RX Descriptor Length
RDH
Pseudo attribute; read/write access; type: i
RX Descriptor Head
RDT
Pseudo attribute; read/write access; type: i
RX Descriptor Tail
RDTR
Pseudo attribute; read/write access; type: i
RX Delay Timer
RXDCTL
Pseudo attribute; read/write access; type: i
RX Descriptor Control
RADV
Pseudo attribute; read/write access; type: i
RX Interrupt Absolute Delay Timer
RSRPD
Pseudo attribute; read/write access; type: i
RX Small Packet Detect
TXDMAC
Pseudo attribute; read/write access; type: i
TX DMA Control
TDFH
Pseudo attribute; read/write access; type: i
TX Data FIFO Head
TDFT
Pseudo attribute; read/write access; type: i
TX Data FIFO Tail
TDFHS
Pseudo attribute; read/write access; type: i
TX Data FIFO Head Saved
TDFTS
Pseudo attribute; read/write access; type: i
TX Data FIFO Tail Saved
TDFPC
Pseudo attribute; read/write access; type: i
TX Data FIFO Packet Count
TDBAL
Pseudo attribute; read/write access; type: i
TX Descriptor Base Address Low
TDBAH
Pseudo attribute; read/write access; type: i
TX Descriptor Base Address High
TDLEN
Pseudo attribute; read/write access; type: i
TX Descriptor Length
TDH
Pseudo attribute; read/write access; type: i
TX Descriptor Head
TIDV
Pseudo attribute; read/write access; type: i
TX Interrupt Delay Value
TXDCTL
Pseudo attribute; read/write access; type: i
TX Descriptor Control
TADV
Pseudo attribute; read/write access; type: i
TX Interrupt Absolute Delay Val
TSPMT
Pseudo attribute; read/write access; type: i
TCP Segmentation PAD and Min Threshold
CRCERRS
Pseudo attribute; read/write access; type: i
CRC Error Count
ALGNERRC
Pseudo attribute; read/write access; type: i
Alignment Error Count
SYMERRS
Pseudo attribute; read/write access; type: i
Symbol Error Count
RXERRC
Pseudo attribute; read/write access; type: i
Receive Error Count
MPC
Pseudo attribute; read/write access; type: i
Missed Packet Count
SCC
Pseudo attribute; read/write access; type: i
Single Collision Count
ECOL
Pseudo attribute; read/write access; type: i
Excessive Collision Count
MCC
Pseudo attribute; read/write access; type: i
Multiple Collision Count
LATECOL
Pseudo attribute; read/write access; type: i
Late Collision Count
COLC
Pseudo attribute; read/write access; type: i
Collision Count
DC
Pseudo attribute; read/write access; type: i
Defer Count
TNCRS
Pseudo attribute; read/write access; type: i
TX-No CRS
SEC
Pseudo attribute; read/write access; type: i
Sequence Error Count
CEXTERR
Pseudo attribute; read/write access; type: i
Carrier Extension Error Count
RLEC
Pseudo attribute; read/write access; type: i
Receive Length Error Count
XONRXC
Pseudo attribute; read/write access; type: i
XON RX Count
XONTXC
Pseudo attribute; read/write access; type: i
XON TX Count
XOFFRXC
Pseudo attribute; read/write access; type: i
XOFF RX Count
XOFFTXC
Pseudo attribute; read/write access; type: i
XOFF TX Count
FCRUC
Pseudo attribute; read/write access; type: i
Flow Control RX Unsupported Count
PRC64
Pseudo attribute; read/write access; type: i
Packets RX (64 bytes)
PRC127
Pseudo attribute; read/write access; type: i
Packets RX (65-127 bytes)
PRC255
Pseudo attribute; read/write access; type: i
Packets RX (128-255 bytes)
PRC511
Pseudo attribute; read/write access; type: i
Packets RX (255-511 bytes)
PRC1023
Pseudo attribute; read/write access; type: i
Packets RX (512-1023 bytes)
PRC1522
Pseudo attribute; read/write access; type: i
Packets RX (1024-1522 bytes)
GPRC
Pseudo attribute; read/write access; type: i
Good Packets RX Count
BPRC
Pseudo attribute; read/write access; type: i
Broadcast Packets RX Count
MPRC
Pseudo attribute; read/write access; type: i
Multicast Packets RX Count
GPTC
Pseudo attribute; read/write access; type: i
Good Packets TX Count
GORCL
Pseudo attribute; read/write access; type: i
Good Octets RX Count Low
GORCH
Pseudo attribute; read/write access; type: i
Good Octets RX Count High
GOTCL
Pseudo attribute; read/write access; type: i
Good Octets TX Count Low
GOTCH
Pseudo attribute; read/write access; type: i
Good Octets TX Count High
RNBC
Pseudo attribute; read/write access; type: i
RX No Buffers Count
RUC
Pseudo attribute; read/write access; type: i
RX Undersize Count
RFC
Pseudo attribute; read/write access; type: i
RX Fragment Count
ROC
Pseudo attribute; read/write access; type: i
RX Oversize Count
RJC
Pseudo attribute; read/write access; type: i
RX Jabber Count
MGTPRC
Pseudo attribute; read/write access; type: i
Management Packets RX Count
MGTPDC
Pseudo attribute; read/write access; type: i
Management Packets Dropped Count
MGTPTC
Pseudo attribute; read/write access; type: i
Management Packets TX Count
TORL
Pseudo attribute; read/write access; type: i
Total Octets RX Low
TORH
Pseudo attribute; read/write access; type: i
Total Octets RX High
TOTL
Pseudo attribute; read/write access; type: i
Total Octets TX Low
TOTH
Pseudo attribute; read/write access; type: i
Total Octets TX High
TPR
Pseudo attribute; read/write access; type: i
Total Packets RX
TPT
Pseudo attribute; read/write access; type: i
Total Packets TX
PTC64
Pseudo attribute; read/write access; type: i
Packets TX (64 bytes)
PTC127
Pseudo attribute; read/write access; type: i
Packets TX (65-127 bytes)
PTC255
Pseudo attribute; read/write access; type: i
Packets TX (128-255 bytes)
PTC511
Pseudo attribute; read/write access; type: i
Packets TX (256-511 bytes)
PTC1023
Pseudo attribute; read/write access; type: i
Packets TX (512-1023 bytes)
PTC1522
Pseudo attribute; read/write access; type: i
Packets TX (1024-1522 Bytes)
MPTC
Pseudo attribute; read/write access; type: i
Multicast Packets TX Count
BPTC
Pseudo attribute; read/write access; type: i
Broadcast Packets TX Count
TSCTC
Pseudo attribute; read/write access; type: i
TCP Segmentation Context TX
TSCTFC
Pseudo attribute; read/write access; type: i
TCP Segmentation Context TX Fail
RXCSUM
Pseudo attribute; read/write access; type: i
RX Checksum Control
MTA
Pseudo attribute; read/write access; type: i
Multicast Table Array
RA
Pseudo attribute; read/write access; type: i
Receive Address
VFTA
Pseudo attribute; read/write access; type: i
VLAN Filter Table Array
WUC
Pseudo attribute; read/write access; type: i
Wakeup Control
WUFC
Pseudo attribute; read/write access; type: i
Wakeup Filter Control
WUS
Pseudo attribute; read/write access; type: i
Wakeup Status
MANC
Pseudo attribute; read/write access; type: i
Management Control
IPAV
Pseudo attribute; read/write access; type: i
IP Address Valid
IP4AT
Pseudo attribute; read/write access; type: i
IPv4 Address Table
IP6AT
Pseudo attribute; read/write access; type: i
IPv6 Address Table
WUPL
Pseudo attribute; read/write access; type: i
Wakeup Packet Length
WUPM
Pseudo attribute; read/write access; type: i
Wakeup Packet Memory
FFLT
Pseudo attribute; read/write access; type: i
Flexible Filter Length Table
FFMT
Pseudo attribute; read/write access; type: i
Flexible Filter Mask Table
FFVT
Pseudo attribute; read/write access; type: i
Flexible Filter Value Table
CTRL_DUP
Pseudo attribute; read/write access; type: i
Device Control (shadow)
receive_address_array
Pseudo attribute; read-only access; type: [s*]
Receive address array.
debug_statistics
Pseudo attribute; read/write access; type: [ii]
Number of packets received and transmitted. Setting the attribute will clear all counters.
txd_context
Optional attribute; read/write access; type: [ii]
On chip TCP/IP transmit context.
stat_packets_rx
Pseudo attribute; read/write access; type: i
Number of packets received.
stat_packets_tx
Pseudo attribute; read/write access; type: i
Number of packets transmitted.

Provided By

i82546

i82559

Description

Intel® 82559 Fast Ethernet Controller.

Interfaces Implemented

conf_object, log_object, ieee_802_3_mac, ieee_802_3_mac_v3, io_memory, pci_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.csr
i82559.csr – Control/Status Registers
bank.pci_config
i82559.pci_config – The PCI configuration space.

Commands for this class

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
mii
Required attribute; read/write access; type: o|[os]
Object connected to the MII management interface.

Required interfaces: mii.

pci_bus
Required attribute; read/write access; type: o|[os]
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus.

phy
Required attribute; read/write access; type: o|[os]
Phy object

Required interfaces: ieee_802_3_phy_v2.

phy_address
Required attribute; read/write access; type: i
The PHY address of which object mii connects to
serial_eeprom
Required attribute; read/write access; type: o|[os]
Serial EEPROM

Required interfaces: microwire.

Provided By

i82559

i82559.csr

Description

Control/Status Registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i82559.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

bist
Optional attribute; read/write access; type: i
Build-in Self Test
cache_line_size
Optional attribute; read/write access; type: i
CacheLine Size
capabilities_ptr
Pseudo attribute; read/write access; type: i
Capabilities Pointer
cardbus_cis_ptr
Optional attribute; read/write access; type: i
Cardbus CIS Pointer
class_code
Optional attribute; read/write access; type: i
Class Code
command
Optional attribute; read/write access; type: i
Command Register
device_id
Optional attribute; read/write access; type: i
Device ID
header_type
Optional attribute; read/write access; type: i
Header Type
interrupt_line
Optional attribute; read/write access; type: i
Interrupt Line
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt Pin
interrupts
Optional attribute; read/write access; type: i
Raised _internal_ interrupts
latency_timer
Optional attribute; read/write access; type: i
Latency Timer
max_lat
Optional attribute; read/write access; type: i
MAX_LAT
min_gnt
Optional attribute; read/write access; type: i
MIN_GNT
revision_id
Optional attribute; read/write access; type: i
Revision ID
status
Optional attribute; read/write access; type: i
Status Register
subsystem_id
Optional attribute; read/write access; type: i
Subsystem ID
subsystem_vendor_id
Optional attribute; read/write access; type: i
Subsystem Vendor ID
vendor_id
Optional attribute; read/write access; type: i
Vendor ID

i82571EB_v2

Description

Intel® i82571EB PCIe Gigabit Ethernet Controller.

Interfaces Implemented

conf_object, log_object, ieee_802_3_mac, ieee_802_3_mac_v3, io_memory, pci_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.csr
i82571EB_v2.csr – i82571EB Ethernet Controller Registers
bank.io_mapped
i82571EB_v2.io_mapped – I/O-Mapped Access to Internal Registers and Memory
bank.pci_config
i82571EB_v2.pci_config – The PCI configuration space.
port.HRESET
i82571EB_v2.HRESET
port.POWER
i82571EB_v2.POWER
port.SRESET
i82571EB_v2.SRESET

Commands for this class

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
eeprom
Optional attribute; read/write access; type: [i{64}]
EEPROM (for mac address)
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
ext_interrupt_raised
Optional attribute; read/write access; type: b
Extended Interrupt Output State
flash
Required attribute; read/write access; type: o|[os]
Connection to the SPI interface in the i82571EB
flash_func
Required attribute; read/write access; type: i
Function number of GbE SPI flash program register bank in the SPI
interrupt_raised
Optional attribute; read/write access; type: b
Interrupt Output State
lan_identifier
Required attribute; read/write access; type: i
LAN ID, LAN A or LAN B (0b00=LAN A, 0b01=LAN B)
legacy_interrupt_raised
Optional attribute; read/write access; type: b
Legacy Interrupt Output State
mac_address
Optional attribute; read/write access; type: s
MAC address ('XX:XX:XX:XX:XX:XX' string)
mii
Required attribute; read/write access; type: o|[os]
connect to external PHY for MDIO access

Required interfaces: mii_management.

pci_bus
Optional attribute; read/write access; type: o|[os]|n
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus, pci_express.

phy
Required attribute; read/write access; type: o|[os]
connects to external PHY

Required interfaces: ieee_802_3_phy_v2.

phy_address
Required attribute; read/write access; type: i
Address of attached external PHY
tx_descriptor
Optional attribute; read/write access; type: [id]
Current transmit descriptor

Provided By

i82571EB-v2

i82571EB_v2.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i82571EB_v2.POWER

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i82571EB_v2.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i82571EB_v2.csr

Description

i82571EB Ethernet Controller Registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, io_memory, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i82571EB_v2.io_mapped

Description

I/O-Mapped Access to Internal Registers and Memory

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, io_memory, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i82571EB_v2.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, io_memory, register_view, register_view_catalog, register_view_read_only

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i82574_v2

Description

Intel® 82574 PCIe Gigabit Ethernet Controller.

Interfaces Implemented

conf_object, log_object, ieee_802_3_mac, ieee_802_3_mac_v3, io_memory, pci_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.csr
i82574_v2.csr – i82574 Ethernet Controller Registers
bank.io_mapped
i82574_v2.io_mapped – I/O-Mapped Access to Internal Registers and Memory
bank.pci_config
i82574_v2.pci_config – The PCI configuration space.
port.HRESET
i82574_v2.HRESET
port.SRESET
i82574_v2.SRESET

Commands for this class

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
context
Optional attribute; read/write access; type: [ii]
TCP/IP context
eeprom
Optional attribute; read/write access; type: [i{64}]
EEPROM (for mac address)
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
ext_interrupt_raised
Optional attribute; read/write access; type: b
Extended Interrupt Output State
flash
Required attribute; read/write access; type: o|[os]
Connection to the SPI interface.
flash_func
Required attribute; read/write access; type: i
Function number of GbE SPI flash program register bank
interrupt_raised
Optional attribute; read/write access; type: b
Interrupt Output State
legacy_interrupt_raised
Optional attribute; read/write access; type: b
Legacy Interrupt Output State
mac_address
Optional attribute; read/write access; type: s
MAC address ('XX:XX:XX:XX:XX:XX' string)
mii
Required attribute; read/write access; type: o|[os]
connect to external PHY for MDIO access

Required interfaces: mii_management.

pci_bus
Optional attribute; read/write access; type: o|[os]|n
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus, pci_express.

phy
Required attribute; read/write access; type: o|[os]
connects to external PHY

Required interfaces: ieee_802_3_phy_v2.

phy_address
Required attribute; read/write access; type: i
Address of attached external PHY
tx_descriptor
Optional attribute; read/write access; type: [id]
Current transmit descriptor

Provided By

i82574-v2

i82574_v2.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i82574_v2.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i82574_v2.csr

Description

i82574 Ethernet Controller Registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i82574_v2.io_mapped

Description

I/O-Mapped Access to Internal Registers and Memory

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i82574_v2.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

aer_cap_control
Optional attribute; read/write access; type: i
Advanced Error Capabilities and Control
aer_capability_header
Optional attribute; read/write access; type: i
Capability Header
aer_corr_error_mask
Optional attribute; read/write access; type: i
Correctable Error Mask
aer_corr_error_status
Optional attribute; read/write access; type: i
Correctable Error Status
aer_error_source_id
Optional attribute; read/write access; type: i
Error Source Identification
aer_header_log_1
Optional attribute; read/write access; type: i
Header Log (1st DW)
aer_header_log_2
Optional attribute; read/write access; type: i
Header Log (2nd DW)
aer_header_log_3
Optional attribute; read/write access; type: i
Header Log (3rd DW)
aer_header_log_4
Optional attribute; read/write access; type: i
Header Log (4th DW)
aer_root_error_cmd
Optional attribute; read/write access; type: i
Root Error Command
aer_root_error_status
Optional attribute; read/write access; type: i
Root Error Status
aer_unc_error_mask
Optional attribute; read/write access; type: i
Uncorrectable Error Mask
aer_unc_error_severity
Optional attribute; read/write access; type: i
Uncorrectable Error Severity
aer_unc_error_status
Optional attribute; read/write access; type: i
Uncorrectable Error Status
bist
Optional attribute; read/write access; type: i
Build-in Self Test
cache_line_size
Optional attribute; read/write access; type: i
CacheLine Size
capabilities_ptr
Pseudo attribute; read/write access; type: i
Capabilities Pointer
cardbus_cis_ptr
Optional attribute; read/write access; type: i
Cardbus CIS Pointer
class_code
Optional attribute; read/write access; type: i
Class Code
command
Optional attribute; read/write access; type: i
Command Register
device_id
Optional attribute; read/write access; type: i
Device ID
dsn_capability_header
Optional attribute; read/write access; type: i
Device Serial Number Extended Capability Header
dsn_serial_number_high
Optional attribute; read/write access; type: i
Serial Number (high)
dsn_serial_number_low
Optional attribute; read/write access; type: i
Serial Number (low)
header_type
Optional attribute; read/write access; type: i
Header Type
interrupt_line
Optional attribute; read/write access; type: i
Interrupt Line
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt Pin
interrupts
Optional attribute; read/write access; type: i
Raised _internal_ interrupts
latency_timer
Optional attribute; read/write access; type: i
Latency Timer
max_lat
Optional attribute; read/write access; type: i
MAX_LAT
min_gnt
Optional attribute; read/write access; type: i
MIN_GNT
msi_address
Optional attribute; read/write access; type: i
Message Address
msi_capability_header
Optional attribute; read/write access; type: i
Capability Header
msi_control
Optional attribute; read/write access; type: i
Message Control
msi_data
Optional attribute; read/write access; type: i
Message Data
msi_upper_address
Optional attribute; read/write access; type: i
Message Upper Address
pm_capabilities
Optional attribute; read/write access; type: i
Power Management Capabilities
pm_capability_header
Optional attribute; read/write access; type: i
Capability Header
pm_data
Optional attribute; read/write access; type: i
Power Management Data
pm_sc_bridge
Optional attribute; read/write access; type: i
Power Management Control/Status Bridge Extensions
pm_status_control
Optional attribute; read/write access; type: i
Power Management Status and Control
revision_id
Optional attribute; read/write access; type: i
Revision ID
status
Optional attribute; read/write access; type: i
Status Register
subsystem_id
Optional attribute; read/write access; type: i
Subsystem ID
subsystem_vendor_id
Optional attribute; read/write access; type: i
Subsystem Vendor ID
vendor_id
Optional attribute; read/write access; type: i
Vendor ID

i82576EB_v2

Description

Intel® i82576EB Gigabit Ethernet Controller.

Interfaces Implemented

conf_object, log_object, ieee_802_3_mac, ieee_802_3_mac_v3, io_memory, pci_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.csr
i82576EB_v2.csr – i82576EB Ethernet Controller Registers
bank.io_mapped
i82576EB_v2.io_mapped – I/O-Mapped Access to Internal Registers and Memory
bank.pci_config
i82576EB_v2.pci_config – The PCI configuration space.
port.HRESET
i82576EB_v2.HRESET
port.SRESET
i82576EB_v2.SRESET

Commands for this class

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
context
Optional attribute; read/write access; type: [ii]
Advanced context
eeprom
Optional attribute; read/write access; type: [i{64}]
EEPROM (for mac address)
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
ext_interrupt_raised
Optional attribute; read/write access; type: b
Extended Interrupt Output State
flash
Required attribute; read/write access; type: o|[os]
Connection to the SPI interface in the i82576EB
flash_func
Required attribute; read/write access; type: i
Function number of GbE SPI flash program register bank in the SPI
interrupt_raised
Optional attribute; read/write access; type: b
Interrupt Output State
lan_identifier
Required attribute; read/write access; type: i
LAN ID, LAN A or LAN B (0b00=LAN A, 0b01=LAN B)
legacy_interrupt_raised
Optional attribute; read/write access; type: b
Legacy Interrupt Output State
mac_address
Optional attribute; read/write access; type: s
MAC address ('XX:XX:XX:XX:XX:XX' string)
mii
Required attribute; read/write access; type: o|[os]
connect to external PHY for MDIO access

Required interfaces: mii_management.

pci_bus
Optional attribute; read/write access; type: o|[os]|n
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus, pci_express.

phy
Required attribute; read/write access; type: o|[os]
connects to external PHY

Required interfaces: ieee_802_3_phy_v2.

phy_address
Required attribute; read/write access; type: i
Address of attached external PHY
tx_descriptor
Optional attribute; read/write access; type: [id]
Current transmit descriptor

Provided By

i82576EB-v2

i82576EB_v2.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i82576EB_v2.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i82576EB_v2.csr

Description

i82576EB Ethernet Controller Registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i82576EB_v2.io_mapped

Description

I/O-Mapped Access to Internal Registers and Memory

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i82576EB_v2.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

aer_cap_control
Optional attribute; read/write access; type: i
Advanced Error Capabilities and Control
aer_capability_header
Optional attribute; read/write access; type: i
Capability Header
aer_corr_error_mask
Optional attribute; read/write access; type: i
Correctable Error Mask
aer_corr_error_status
Optional attribute; read/write access; type: i
Correctable Error Status
aer_error_source_id
Optional attribute; read/write access; type: i
Error Source Identification
aer_header_log_1
Optional attribute; read/write access; type: i
Header Log (1st DW)
aer_header_log_2
Optional attribute; read/write access; type: i
Header Log (2nd DW)
aer_header_log_3
Optional attribute; read/write access; type: i
Header Log (3rd DW)
aer_header_log_4
Optional attribute; read/write access; type: i
Header Log (4th DW)
aer_root_error_cmd
Optional attribute; read/write access; type: i
Root Error Command
aer_root_error_status
Optional attribute; read/write access; type: i
Root Error Status
aer_unc_error_mask
Optional attribute; read/write access; type: i
Uncorrectable Error Mask
aer_unc_error_severity
Optional attribute; read/write access; type: i
Uncorrectable Error Severity
aer_unc_error_status
Optional attribute; read/write access; type: i
Uncorrectable Error Status
bist
Optional attribute; read/write access; type: i
Build-in Self Test
cache_line_size
Optional attribute; read/write access; type: i
CacheLine Size
capabilities_ptr
Pseudo attribute; read/write access; type: i
Capabilities Pointer
cardbus_cis_ptr
Optional attribute; read/write access; type: i
Cardbus CIS Pointer
class_code
Optional attribute; read/write access; type: i
Class Code
command
Optional attribute; read/write access; type: i
Command Register
device_id
Optional attribute; read/write access; type: i
Device ID
dsn_capability_header
Optional attribute; read/write access; type: i
Device Serial Number Extended Capability Header
dsn_serial_number_high
Optional attribute; read/write access; type: i
Serial Number (high)
dsn_serial_number_low
Optional attribute; read/write access; type: i
Serial Number (low)
header_type
Optional attribute; read/write access; type: i
Header Type
interrupt_line
Optional attribute; read/write access; type: i
Interrupt Line
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt Pin
interrupts
Optional attribute; read/write access; type: i
Raised _internal_ interrupts
latency_timer
Optional attribute; read/write access; type: i
Latency Timer
max_lat
Optional attribute; read/write access; type: i
MAX_LAT
min_gnt
Optional attribute; read/write access; type: i
MIN_GNT
msi_address
Optional attribute; read/write access; type: i
Message Address
msi_capability_header
Optional attribute; read/write access; type: i
Capability Header
msi_control
Optional attribute; read/write access; type: i
Message Control
msi_data
Optional attribute; read/write access; type: i
Message Data
msi_upper_address
Optional attribute; read/write access; type: i
Message Upper Address
pm_capabilities
Optional attribute; read/write access; type: i
Power Management Capabilities
pm_capability_header
Optional attribute; read/write access; type: i
Capability Header
pm_data
Optional attribute; read/write access; type: i
Power Management Data
pm_sc_bridge
Optional attribute; read/write access; type: i
Power Management Control/Status Bridge Extensions
pm_status_control
Optional attribute; read/write access; type: i
Power Management Status and Control
revision_id
Optional attribute; read/write access; type: i
Revision ID
status
Optional attribute; read/write access; type: i
Status Register
subsystem_id
Optional attribute; read/write access; type: i
Subsystem ID
subsystem_vendor_id
Optional attribute; read/write access; type: i
Subsystem Vendor ID
vendor_id
Optional attribute; read/write access; type: i
Vendor ID

i82583V_v2

Description

Intel® 82583V PCIe Gigabit Ethernet Controller.

Interfaces Implemented

conf_object, log_object, ieee_802_3_mac, ieee_802_3_mac_v3, io_memory, pci_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.csr
i82583V_v2.csr – i82583V Ethernet Controller Registers
bank.io_mapped
i82583V_v2.io_mapped – I/O-Mapped Access to Internal Registers and Memory
bank.pci_config
i82583V_v2.pci_config – The PCI configuration space.
port.HRESET
i82583V_v2.HRESET
port.SRESET
i82583V_v2.SRESET

Commands for this class

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
context
Optional attribute; read/write access; type: [ii]
TCP/IP context
eeprom
Optional attribute; read/write access; type: [i{64}]
EEPROM (for mac address)
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
ext_interrupt_raised
Optional attribute; read/write access; type: b
Extended Interrupt Output State
flash
Required attribute; read/write access; type: o|[os]
Connection to the SPI interface.
flash_func
Required attribute; read/write access; type: i
Function number of GbE SPI flash program register bank
interrupt_raised
Optional attribute; read/write access; type: b
Interrupt Output State
legacy_interrupt_raised
Optional attribute; read/write access; type: b
Legacy Interrupt Output State
mac_address
Optional attribute; read/write access; type: s
MAC address ('XX:XX:XX:XX:XX:XX' string)
mii
Required attribute; read/write access; type: o|[os]
connect to external PHY for MDIO access

Required interfaces: mii_management.

pci_bus
Optional attribute; read/write access; type: o|[os]|n
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus, pci_express.

phy
Required attribute; read/write access; type: o|[os]
connects to external PHY

Required interfaces: ieee_802_3_phy_v2.

phy_address
Required attribute; read/write access; type: i
Address of attached external PHY
tx_descriptor
Optional attribute; read/write access; type: [id]
Current transmit descriptor

Provided By

i82583V-v2

i82583V_v2.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i82583V_v2.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i82583V_v2.csr

Description

i82583V Ethernet Controller Registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i82583V_v2.io_mapped

Description

I/O-Mapped Access to Internal Registers and Memory

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

i82583V_v2.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

aer_cap_control
Optional attribute; read/write access; type: i
Advanced Error Capabilities and Control
aer_capability_header
Optional attribute; read/write access; type: i
Capability Header
aer_corr_error_mask
Optional attribute; read/write access; type: i
Correctable Error Mask
aer_corr_error_status
Optional attribute; read/write access; type: i
Correctable Error Status
aer_error_source_id
Optional attribute; read/write access; type: i
Error Source Identification
aer_header_log_1
Optional attribute; read/write access; type: i
Header Log (1st DW)
aer_header_log_2
Optional attribute; read/write access; type: i
Header Log (2nd DW)
aer_header_log_3
Optional attribute; read/write access; type: i
Header Log (3rd DW)
aer_header_log_4
Optional attribute; read/write access; type: i
Header Log (4th DW)
aer_root_error_cmd
Optional attribute; read/write access; type: i
Root Error Command
aer_root_error_status
Optional attribute; read/write access; type: i
Root Error Status
aer_unc_error_mask
Optional attribute; read/write access; type: i
Uncorrectable Error Mask
aer_unc_error_severity
Optional attribute; read/write access; type: i
Uncorrectable Error Severity
aer_unc_error_status
Optional attribute; read/write access; type: i
Uncorrectable Error Status
bist
Optional attribute; read/write access; type: i
Build-in Self Test
cache_line_size
Optional attribute; read/write access; type: i
CacheLine Size
capabilities_ptr
Pseudo attribute; read/write access; type: i
Capabilities Pointer
cardbus_cis_ptr
Optional attribute; read/write access; type: i
Cardbus CIS Pointer
class_code
Optional attribute; read/write access; type: i
Class Code
command
Optional attribute; read/write access; type: i
Command Register
device_id
Optional attribute; read/write access; type: i
Device ID
dsn_capability_header
Optional attribute; read/write access; type: i
Device Serial Number Extended Capability Header
dsn_serial_number_high
Optional attribute; read/write access; type: i
Serial Number (high)
dsn_serial_number_low
Optional attribute; read/write access; type: i
Serial Number (low)
header_type
Optional attribute; read/write access; type: i
Header Type
interrupt_line
Optional attribute; read/write access; type: i
Interrupt Line
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt Pin
interrupts
Optional attribute; read/write access; type: i
Raised _internal_ interrupts
latency_timer
Optional attribute; read/write access; type: i
Latency Timer
max_lat
Optional attribute; read/write access; type: i
MAX_LAT
min_gnt
Optional attribute; read/write access; type: i
MIN_GNT
msi_address
Optional attribute; read/write access; type: i
Message Address
msi_capability_header
Optional attribute; read/write access; type: i
Capability Header
msi_control
Optional attribute; read/write access; type: i
Message Control
msi_data
Optional attribute; read/write access; type: i
Message Data
msi_upper_address
Optional attribute; read/write access; type: i
Message Upper Address
pm_capabilities
Optional attribute; read/write access; type: i
Power Management Capabilities
pm_capability_header
Optional attribute; read/write access; type: i
Capability Header
pm_data
Optional attribute; read/write access; type: i
Power Management Data
pm_sc_bridge
Optional attribute; read/write access; type: i
Power Management Control/Status Bridge Extensions
pm_status_control
Optional attribute; read/write access; type: i
Power Management Status and Control
revision_id
Optional attribute; read/write access; type: i
Revision ID
status
Optional attribute; read/write access; type: i
Status Register
subsystem_id
Optional attribute; read/write access; type: i
Subsystem ID
subsystem_vendor_id
Optional attribute; read/write access; type: i
Subsystem Vendor ID
vendor_id
Optional attribute; read/write access; type: i
Vendor ID

i8259x2

Description

The 8259x2 device implements the functionality of two cascaded 8259 interrupt controllers. The 8259x2 supplies 15 interrupt levels that connected devices can use to interrupt the cpu. The interrupt level to use should be set in the interrupting device. Limitations: Most registers in the 8259x2 device change hardware specific parameters. These are do-nothing in the 8259x2. Special Fully Nested Mode is not implemented. Buffered Mode is not implemented. Special Mask Mode is not implemented. Automatic End of Interrupt is not implemented. Rotate commands are not supported. Specific EOI commands are not supported.

Interfaces Implemented

conf_object, log_object, io_memory, simple_interrupt, interrupt_cpu

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.RESET
i8259x2.RESET – Device reset. The stand-alone version of this device does not have a reset pin, but the device as IP in larger ASICs typically do act on reset.
port.irq_0
i8259x2.irq_0 – Signal based IRQ interface
port.irq_1
i8259x2.irq_1 – Signal based IRQ interface
port.irq_10
i8259x2.irq_10 – Signal based IRQ interface
port.irq_11
i8259x2.irq_11 – Signal based IRQ interface
port.irq_12
i8259x2.irq_12 – Signal based IRQ interface
port.irq_13
i8259x2.irq_13 – Signal based IRQ interface
port.irq_14
i8259x2.irq_14 – Signal based IRQ interface
port.irq_15
i8259x2.irq_15 – Signal based IRQ interface
port.irq_2
i8259x2.irq_2 – Signal based IRQ interface
port.irq_3
i8259x2.irq_3 – Signal based IRQ interface
port.irq_4
i8259x2.irq_4 – Signal based IRQ interface
port.irq_5
i8259x2.irq_5 – Signal based IRQ interface
port.irq_6
i8259x2.irq_6 – Signal based IRQ interface
port.irq_7
i8259x2.irq_7 – Signal based IRQ interface
port.irq_8
i8259x2.irq_8 – Signal based IRQ interface
port.irq_9
i8259x2.irq_9 – Signal based IRQ interface

Commands for this class

Attributes

irq_dev
Optional attribute; read/write access; type: o|n
Interrupt device to use, implementing the interrupt_ack interface.
interrupt_trigger
Optional attribute; read/write access; type: o|n
Interrupt device connected to P2SB, implementing the signal interface.
init_seq
Optional attribute; read/write access; type: [ii]
(dev1,dev2) sequence in initialization writes.
ic4_set
Optional attribute; read/write access; type: [ii]
(dev1,dev2) expect 4 init bytes.
read_reg
Optional attribute; read/write access; type: [ii]
(dev1,dev2) IRR or ISR on next read.
aeoi
Optional attribute; read/write access; type: [ii]
(dev1,dev2) auto end of interrupt mode.
sfnm
Optional attribute; read/write access; type: [ii]
(dev1,dev2) special fully nested mode.
poll
Optional attribute; read/write access; type: [ii]
(dev1,dev2) poll command.
low_irq_pri
Optional attribute; read/write access; type: [ii]
(dev1,dev2) interrupt with lowest priority.
irq_mask
Optional attribute; read/write access; type: [ii]
(dev1,dev2) interrupt mask.
vba
Optional attribute; read/write access; type: [ii]
(dev1,dev2) Interrupt Vector Base Address.
level
Optional attribute; read/write access; type: [ii]
(dev1,dev2) bit set for level triggered, else edge.
queued
Optional attribute; read/write access; type: [ii]
(dev1,dev2) bit set for interrupts received from device in level triggered mode. Used to handle re-issuing of level triggered interrupts. This bit is NOT used for the cascade line.
request
Optional attribute; read/write access; type: [ii]
(dev1,dev2) interrupt requested (IRR).
issued
Optional attribute; read/write access; type: [ii]
(dev1,dev2) bit set for interrupt sent (and acked) to cpu (ISR).
special_mask
Optional attribute; read/write access; type: [ii]
(dev1,dev2) special mask mode is set (may allow lower irq when ISR set).
line_status
Optional attribute; read/write access; type: [ii]
(dev1,dev2) interrupt input line status.
irq_requested
Optional attribute; read/write access; type: i
Interrupt of the cpu is requested.
reissue_pending
Optional attribute; read/write access; type: i
Interrupt reissue event posted to CPU.
ioapic
Optional attribute; read/write access; type: [oi]|[ni]
IO-APIC device and pin, implementing the ioapic interface.

Provided By

8259x2

i8259x2.RESET

Description

Device reset. The stand-alone version of this device does not have a reset pin, but the device as IP in larger ASICs typically do act on reset.

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_0

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_1

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_10

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_11

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_12

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_13

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_14

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_15

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_2

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_3

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_4

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_5

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_6

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_7

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_8

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

i8259x2.irq_9

Description

Signal based IRQ interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

id-splitter

Description

The id splitter module splits up memory operations into separate data and instruction streams. Data operations are forwarded to the timing interface of the object specified by the dbranch attribute and, in the same manner, instruction operations are forwarded to the ibranch.

Interfaces Implemented

conf_object, log_object, timing_model

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

ibranch
Optional attribute; read/write access; type: o
Object to receive instruction transactions.
dbranch
Optional attribute; read/write access; type: o
Object to receive data transactions.

Provided By

id-splitter

ide

Description

The IDE class implements the functionality of an IDE controller and its interaction with the DMA controller. Transfer timing (command start -> interrupt) for DMA is properly modelled.

Interfaces Implemented

conf_object, log_object, io_memory, ide_dma, ide_dma_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.DMA_DACK
ide.DMA_DACK
port.DMA_DDONE
ide.DMA_DDONE

Commands for this class

Attributes

irq_dev
Optional attribute; read/write access; type: o|[os]|n
Interrupt target implementing the signal interface. It also supports simple_interrupt interface, this will be deprecated in the future.
irq_level
Optional attribute; read/write access; type: i
Interrupt level. If the irq_dev attribute is set with an object that implements the simple_interrupt interface, this attribute controls the interrupt level.
control
Optional attribute; read/write access; type: i
Control register (shared between master/slave).
selected_drive
Optional attribute; read/write access; type: i
Currently selected drive (bit 4 in the drive/head register).
lba_mode
Optional attribute; read/write access; type: i
Currently selected addressing mode (bit 6 in the drive/head register).
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt request status.
interrupt_delay
Optional attribute; read/write access; type: f
Time in seconds between state changes.
primary
Optional attribute; read/write access; type: i
Set to one if this is a primary IDE controller.
model_dma_delay
Optional attribute; read/write access; type: i
If set, the controller will accurately model DMA transfer bandwidth (infinite bandwidth otherwise).
master
Optional attribute; read/write access; type: o|n
Master device. Must implement the ide-device interface.
slave
Optional attribute; read/write access; type: o|n
Slave device. Must implement the ide-device interface.
bus_master_dma
Optional attribute; read/write access; type: o|n
DMA controller implementing bus-master-ide.
dma_ready
Optional attribute; read/write access; type: i
Non-zero if the DMA controller is ready for transfer.
dma_dreq_target
Optional attribute; read/write access; type: o|[os]|n
DMA controller implementing signal interface. Upon a DMA request, the DREQ signal will be held high.
dma_dack_level
Optional attribute; read/write access; type: b
DMA controller implementing signal interface. Upon a DMA request, the DREQ signal will be held high.

Provided By

ide

ide.DMA_DACK

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

ide.DMA_DDONE

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

ide-cdrom

Description

The ide-cdrom class models a single slot removable IDE/ATAPI CD-ROM.

Interfaces Implemented

conf_object, log_object, ide_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

irq_pending
Optional attribute; read/write access; type: b
IRQ Pending.
status
Optional attribute; read/write access; type: i
Status register.
sector_cnt
Optional attribute; read/write access; type: i
Sector count register.
sector_num
Optional attribute; read/write access; type: i
Sector number register.
cylinder
Optional attribute; read/write access; type: i
Cylinder number (cylinder high and cylinder low).
head
Optional attribute; read/write access; type: i
Lower four bits of the head register.
command
Optional attribute; read/write access; type: i
Last command.
error
Optional attribute; read/write access; type: i
Error register.
features
Optional attribute; read/write access; type: i
Feature register.
pio_mode
Optional attribute; read/write access; type: i
Current PIO mode (upper byte in identify device word 51).
udma_mode
Optional attribute; read/write access; type: i
Current UDMA mode (upper byte in identify device word 88).
udma_enabled
Optional attribute; read/write access; type: i
Set if UDMA is enabled.
multiword_dma_mode
Optional attribute; read/write access; type: i
Current multiword DMA mode (upper byte in identify device word 63).
multiword_dma_enabled
Optional attribute; read/write access; type: i
Set if multiword DMA is enabled.
sectors_per_int
Optional attribute; read/write access; type: i
Sectors per interrupt (lower byte in identify device word 59).
tr_sectors_size
Optional attribute; read/write access; type: i
Transfer sector size.
tr_sectors_per_block
Optional attribute; read/write access; type: i
Transfer sectors per block.
tr_sectors_last_block
Optional attribute; read/write access; type: i
Transfer sectors last block.
tr_num_blocks
Optional attribute; read/write access; type: i
Number of blocks in transfer.
tr_op
Optional attribute; read/write access; type: i
DMA transfer operation type.
tr_update_address
Optional attribute; read/write access; type: i
Update address during transfer.
tr_drq_start_offset
Optional attribute; read/write access; type: i
Offset in sector buffer where the active DRQ block starts.
tr_drq_bytes_handled
Optional attribute; read/write access; type: i
Bytes handled in DRQ block before the active sector.
tr_pos
Optional attribute; read/write access; type: i
Transfer position.
tr_req_length
Optional attribute; read/write access; type: i
Requested length of transfer.
tr_drq_bytes
Optional attribute; read/write access; type: i
Bytes per DRQ.
tr_bytes_remaining
Optional attribute; read/write access; type: i
Transfer bytes remaining.
tr_current_lba
Optional attribute; read/write access; type: i
Current transfer address.
tr_disk_finished
Optional attribute; read/write access; type: i
Transfer finished (device view).
tr_dma_finished
Optional attribute; read/write access; type: i
DMA finished.
buf
Optional attribute; read/write access; type: s|[iii]|n
sector buffer | atapi packet. Current transfer source/destination.
sector_buffer
Optional attribute; read/write access; type: [i{2048}]
(b0, ..., b2047). Sector buffer.
state
Optional attribute; read/write access; type: i
Device state.
power_mode
Optional attribute; read/write access; type: i
Device power mode (0==active, 1==idle, 2==standby, 3==sleep).
stat_commands
Optional attribute; read/write access; type: [i{256}]
(f0, ..., f255). Executed command count (command i has been issued fi times).
stat_atapi_commands
Optional attribute; read/write access; type: [i{256}]
(f0, ..., f255). Executed ATAPI command count (command i has been issued fi times).
stat_bytes_read
Optional attribute; read/write access; type: i
Total number of bytes read from device using PIO.
stat_bytes_written
Optional attribute; read/write access; type: i
Total number of bytes written to device using PIO.
stat_bytes_transfered_dma
Optional attribute; read/write access; type: i
Total number of bytes read or written to or from device using DMA.
geometry_valid
Optional attribute; read/write access; type: i
Geometry valid.
serial_number
Optional attribute; read/write access; type: s
Device serial number. Up to 20 character long string.
firmware_id
Optional attribute; read/write access; type: s
Device firmware id. Up to 8 character long string.
model_id
Optional attribute; read/write access; type: s
Device model id. Up to 40 character long string.
no_48bits_lba_support
Optional attribute; read/write access; type: i
48-bit address feature set not supported (bit 10 in identify device word 83).
tr_packet_use_dma
Optional attribute; read/write access; type: i
Use DMA for PACKET command data transfer.
atapi_packet
Optional attribute; read/write access; type: [i{12}]
(b0, ..., b11). ATAPI packet.
sense_key
Optional attribute; read/write access; type: i
Sense key.
sense_asc
Optional attribute; read/write access; type: i
Sense ASC.
sense_ascq
Optional attribute; read/write access; type: i
Sense ASCQ.
current_profile
Optional attribute; read/write access; type: s|n
Current profile. Set to CD-ROM or DVD-ROM if media is present. It should be set to Nil if no media is present in the drive.
cd_media
Optional attribute; read/write access; type: o|n
Device media implementing cdrom_media. Eject media by setting this attribute to NIL.
locked
Optional attribute; read/write access; type: i
Media locked.
media_change
Optional attribute; read/write access; type: i
Media has changed since the last GET_MEDIA_STATUS command.
unit_attension
Optional attribute; read/write access; type: i
Current unit attention condition, 0 if unit attention condition not present.

Provided By

ide

ide-disk

Description

Instances of the ide-disk class are generic IDE disks with several of tunable parameters. PIO is supported up to mode 4, and Ultra DMA up to level 2.

Interfaces Implemented

conf_object, log_object, ide_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

irq_pending
Optional attribute; read/write access; type: b
IRQ Pending.
status
Optional attribute; read/write access; type: i
Status register.
sector_cnt
Optional attribute; read/write access; type: i
Sector count register.
sector_num
Optional attribute; read/write access; type: i
Sector number register.
cylinder
Optional attribute; read/write access; type: i
Cylinder number (cylinder high and cylinder low).
head
Optional attribute; read/write access; type: i
Lower four bits of the head register.
command
Optional attribute; read/write access; type: i
Last command.
error
Optional attribute; read/write access; type: i
Error register.
features
Optional attribute; read/write access; type: i
Feature register.
pio_mode
Optional attribute; read/write access; type: i
Current PIO mode (upper byte in identify device word 51).
udma_mode
Optional attribute; read/write access; type: i
Current UDMA mode (upper byte in identify device word 88).
udma_enabled
Optional attribute; read/write access; type: i
Set if UDMA is enabled.
multiword_dma_mode
Optional attribute; read/write access; type: i
Current multiword DMA mode (upper byte in identify device word 63).
multiword_dma_enabled
Optional attribute; read/write access; type: i
Set if multiword DMA is enabled.
sectors_per_int
Optional attribute; read/write access; type: i
Sectors per interrupt (lower byte in identify device word 59).
tr_sectors_size
Optional attribute; read/write access; type: i
Transfer sector size.
tr_sectors_per_block
Optional attribute; read/write access; type: i
Transfer sectors per block.
tr_sectors_last_block
Optional attribute; read/write access; type: i
Transfer sectors last block.
tr_num_blocks
Optional attribute; read/write access; type: i
Number of blocks in transfer.
tr_op
Optional attribute; read/write access; type: i
DMA transfer operation type.
tr_update_address
Optional attribute; read/write access; type: i
Update address during transfer.
tr_drq_start_offset
Optional attribute; read/write access; type: i
Offset in sector buffer where the active DRQ block starts.
tr_drq_bytes_handled
Optional attribute; read/write access; type: i
Bytes handled in DRQ block before the active sector.
tr_pos
Optional attribute; read/write access; type: i
Transfer position.
tr_req_length
Optional attribute; read/write access; type: i
Requested length of transfer.
tr_drq_bytes
Optional attribute; read/write access; type: i
Bytes per DRQ.
tr_bytes_remaining
Optional attribute; read/write access; type: i
Transfer bytes remaining.
tr_current_lba
Optional attribute; read/write access; type: i
Current transfer address.
tr_disk_finished
Optional attribute; read/write access; type: i
Transfer finished (device view).
tr_dma_finished
Optional attribute; read/write access; type: i
DMA finished.
buf
Optional attribute; read/write access; type: s|[iii]|n
sector buffer | atapi packet. Current transfer source/destination.
sector_buffer
Optional attribute; read/write access; type: [i{2048}]
(b0, ..., b2047). Sector buffer.
state
Optional attribute; read/write access; type: i
Device state.
power_mode
Optional attribute; read/write access; type: i
Device power mode (0==active, 1==idle, 2==standby, 3==sleep).
stat_commands
Optional attribute; read/write access; type: [i{256}]
(f0, ..., f255). Executed command count (command i has been issued fi times).
stat_atapi_commands
Optional attribute; read/write access; type: [i{256}]
(f0, ..., f255). Executed ATAPI command count (command i has been issued fi times).
stat_bytes_read
Optional attribute; read/write access; type: i
Total number of bytes read from device using PIO.
stat_bytes_written
Optional attribute; read/write access; type: i
Total number of bytes written to device using PIO.
stat_bytes_transfered_dma
Optional attribute; read/write access; type: i
Total number of bytes read or written to or from device using DMA.
geometry_valid
Optional attribute; read/write access; type: i
Geometry valid.
serial_number
Optional attribute; read/write access; type: s
Device serial number. Up to 20 character long string.
firmware_id
Optional attribute; read/write access; type: s
Device firmware id. Up to 8 character long string.
model_id
Optional attribute; read/write access; type: s
Device model id. Up to 40 character long string.
no_48bits_lba_support
Optional attribute; read/write access; type: i
48-bit address feature set not supported (bit 10 in identify device word 83).
sector_num_ext
Optional attribute; read/write access; type: i
Sector number extended register. (for 48bit addressing and Harddisk only).
cylinder_ext
Optional attribute; read/write access; type: i
Cylinder number extended. (for 48bit addressing and Harddisk only).
features_ext
Optional attribute; read/write access; type: i
Feature extended register. (for 48bit addressing and Harddisk only).
disk_cylinders
Required attribute; read/write access; type: i
Number of logical cylinders.
disk_sectors_per_track
Required attribute; read/write access; type: i
Number of logical sectors per track.
disk_heads
Required attribute; read/write access; type: i
Number of logical heads.
disk_sectors
Required attribute; read/write access; type: i
Total number of sectors on disk.
image
Required attribute; read/write access; type: o
Object implementing the image interface holding device data.

Provided By

ide

ieee_802_15_4_probe

Description

The ieee_802_15_4_probe provides a way to listen to traffic at a particular device that is connected to the link. The probe will receive both incoming and outgoing traffic for the device.

Interfaces Implemented

conf_object, log_object, ieee_802_15_4_link, ieee_802_15_4_probe, ieee_802_15_4_receiver

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

device
Optional attribute; read/write access; type: o|[os]|n
the transceiver that the probe will be connected to

Required interfaces: ieee_802_15_4_receiver.

ep
Optional attribute; read/write access; type: o|[os]|n
the endpoint that the probe will be connected to

Required interfaces: ieee_802_15_4_link.

Provided By

ieee-802-15-4-probe

image

Description

The image class provides persistent file-backed flat-address storage of devices such as physical memory and disks. Writes are fully shadowed, which allows changes to be stored in a compact way and the original images be kept unchanged. Memory page allocation is done lazily.

In an image object, one or more files represent the image data. This is done in a transparent way: page ranges not present in one file is searched in subsequent files.

Image files can be in raw format, compressed craff format, read-only DMG format, or VHDX format (fixed virtual hard disks and dynamic virtual hard disks are supported). The craff utility that is shipped with Simics simulator can be used to manipulate image files, for example, to convert image files from and into the craff format.

Interfaces Implemented

conf_object, log_object, image, checkpoint, linear_image, page_bank

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface image

Attributes

image_snoop_devices
Optional attribute; read/write access; type: [o*]
Objects implementing the image_snoop. Installed objects will be called through the interface when image data is modified.
size
Required attribute; read/write access; type: i
Logical image size in bytes.
files
Optional attribute; read/write access; type: [[saii]|[saiii]|[saiiii]*]
((file, is-writable, start, size[, offset])+) Specifies the files that represent the (initial) image contents. Several files may be specified and may also overlap in memory. Later files override earlier files. file is the file name of a file in craff, DMG, VHDX, or raw format, or a raw disk device (typically, /dev/sd* on Linux and \\.\PhysicalDriveN on Windows; administrative privileges may be required for access). is-writable is "rw" or "ro" and specifies whether changes made to an image should be written back to the file or cached in memory. start is the first address in the image represented by the file. size is the number of bytes the file represents. If zero, the size is taken from the file. offset is the offset in the file where this mapping starts.
In checkpoint files generated by Simics, file may contain a path of the form %n%. Such a sequence will be replaced by the nth element of the checkpoint_path attribute in the sim object, counting from zero. By using %n% as path, all absolute paths are kept in the checkpoint_path attribute, making it easier to update a checkpoint when files that it depends on have moved.
Only the last file in the list may have is-writable set to "rw". That file will be updated in place with any changes done to the image. If no file is in "rw" mode, changes done to the image are stored as dirty pages. These changes can be saved as a diff-file or to a new checkpoint.
linear
Optional attribute; read/write access; type: i|b
Set if the memory should be preallocated, resident and contiguous. This can only be set before the object is instantiated.
byte_access
Pseudo attribute; read/write access; type: d
Read/write access to single bytes. The attribute is indexed by an integer specifying offset, or by a slice (pair of integers) specifying range.
dirty
Pseudo attribute; read-only access; type: b
Whether there are unsaved changes not backed by any writable file.
init_pattern
Optional attribute; read/write access; type: i
Contents of uninitialized bytes (default zero). Must be a single byte.
cache_reads
Optional attribute; read/write access; type: b
If TRUE, always cache data being read in memory. This improves performance when repeatedly accessing the same or nearby data, at the cost of increased memory consumption. The default is FALSE.
persistent
Pseudo attribute; read-only access; type: b
Whether the image data is persistent.

Class Attributes

memory_limit
Pseudo attribute; read/write access; type: i
Maximum number of bytes cached by all images in the system before pages are swapped to disk. This is used to reduce memory consumption. Setting this limit too high or too low will adversely affect system performance. If set to 0, the limit is disabled.
memory_usage
Pseudo attribute; read-only access; type: i
Total memory usage of image pages.

Provided By

Simics Core

index-map

Description

The index-map class is used internally by Simics in the implementation of object arrays.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

instruction_count

Description

This tool counts all instructions executed on each processor connected, including those that got an exception. Note that this is sligtly different from steps executed which also includes interrupts. Use the icount command in the tool to display the count on each processor.

Interfaces Implemented

conf_object, log_object, instrumentation_tool, table

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface table

Attributes

connections
Pseudo attribute; read-only access; type: [o*]
The connection objects currently used.

Provided By

instruction-count

instruction_count_connection

Description

Instrumentation connection.

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

provider
Pseudo attribute; read-only access; type: o
The provider of the connection.
icount
Pseudo attribute; read/write access; type: i
The provider of the connection.

Provided By

instruction-count

instruction_histogram

Description

The instruction histogram tool can be used to collect information about all instructions executed in the system. You can choose between different views: mnemonic, size, x86-normalized (x86) and xed-iform (x86). See the view argument to the new-instruction-histogram command. The gathered information is displayed by the histogram command in the tool.

Interfaces Implemented

conf_object, log_object, instrumentation_tool, table

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface table

Attributes

view
Pseudo attribute; read/write access; type: s
The 'view' used for the instruction histogram.
connections
Pseudo attribute; read-only access; type: [o*]
List of connection sub-objects used.

Provided By

instruction-histogram

instrumentation_filter_aggregator

Description

Aggregates disable/enable sources to one output

Interfaces Implemented

conf_object, log_object, instrumentation_filter_slave, instrumentation_filter_status

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

dest
Optional attribute; read/write access; type: o|n
Destination object, must implement instrumentation_connection interface.
disabled_sources
Pseudo attribute; read-only access; type: [i*]
List of disabled sources as integers.

Provided By

instrumentation-filter-aggregator

interface_histogram_tool

Description

Log interface calls

Interfaces Implemented

conf_object, log_object, instrumentation_tool, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

interface-histogram-tool

interface_histogram_tool_connection

Description

Instrumentation connection

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

interface-histogram-tool

interface_log_tool

Description

Log interface calls

Interfaces Implemented

conf_object, log_object, instrumentation_tool

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

file
Pseudo attribute; read/write access; type: s|n
Write log to this file.

Provided By

interface-log-tool

interface_log_tool_connection

Description

Instrumentation connection

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

interface-log-tool

interrupt_to_signal

Description

The interrupt_to_signal class converts an interrupt received via the simple_interrupt interface to a signal (the signal interface).

Interfaces Implemented

conf_object, log_object, simple_interrupt

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

signal_targets
Optional attribute; read/write access; type: [[i,o,s|n,i]*]
Simple interrupt to target object/port mappings. The first parameter is the simple interrupt ID, the second the object, the third the port name (or null if no port), and the fourth the current signal level.

Provided By

interrupt-to-signal

io-apic

Description

The IOAPIC device implements the functionality of the Intel® 82093AA I/O-APIC. The IOAPIC is connected to an APIC-bus.

Interfaces Implemented

conf_object, log_object, io_memory, ioapic

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.RESET
io-apic.RESET – Reset pin.

Commands for this class

Attributes

apic_bus
Optional attribute; read/write access; type: o|[os]|n
Connected bus object of class apic-bus.
mem_msi
Optional attribute; read/write access; type: o|n
Object implementing io_memory interface which will receive MSI signals. If not set apic-bus will be used
ioapic_id
Optional attribute; read/write access; type: i
The ID of this io-apic object.
ibdf_def_value
Optional attribute; read/write access; type: i
Default value of the IBDF register used if lpc isn't connected
register_select
Optional attribute; read/write access; type: i
Register selected for reading/writing (will affect the next transaction).
redirection
Optional attribute; read/write access; type: [i*]
Represents the redirection table, where each interrupt input signal has a dedicated entry.
pin_raised
Optional attribute; read/write access; type: [i*]
A one in the corresponding index means that the input pin is high, while a zero means that it is low.
int_deliver_status
Optional attribute; read/write access; type: [i*]
Interrupt acceptance status.
edid_size
Optional attribute; read/write access; type: i
RW part of EDID field in redirection entry. Writable EDID is [48 + edid_size - 1 : 48]. Zero means no EDID.
ioapic_version
Optional attribute; read/write access; type: i
I/O apic implementation version (Indirect register 1).
ioapic_version_once_ref
Optional attribute; read/write access; type: i
Initialize to 0 to enable RWO behavior on the IOAPIC version register. Otherwise (the default) the register is read-only. Allowed values are: 0=RWO not yet written, 1=RWO written, 2=always read-only.
redirection_vector_read_only
Optional attribute; read/write access; type: b
Set to True if interrupt vectors in redirection table should be read-only
boot_configuration
Optional attribute; read/write access; type: i
BCFG register (Indirect register 3).

Provided By

io-apic

io-apic.RESET

Description

Reset pin.

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

leader

Description

System for synchronizing with external processes.

Interfaces Implemented

conf_object, log_object, leader, leader_message

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

port
Optional attribute; read/write access; type: i
TCP port to listen for a follower connection on. If set to zero, an available port will be used, and that number can be read out in this attribute.
use_arbitrary_port
Optional attribute; read/write access; type: b
Whether an arbitrary port number will be used instead of the one specified in the port attribute.
clock
Required attribute; read/write access; type: o
Proxy clock for the follower.
agent
Required attribute; read/write access; type: o
Object handling messages to/from the follower.

Provided By

Simics Core

legacy-clock-extension

Description

The legacy-clock-extension class is used to augment old style clocks and CPUs which only implements the cycle interface with functionality needed by Simics Core.

Interfaces Implemented

event_delta, frequency

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
frequency-change
Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

vtime
vtime – event handler
vtime.cycles
cycle-counter – cycle queue
vtime.ps
ps-clock – event queue (ps)

Attributes

cell
Optional attribute; read/write access; type: o|n
Cell

Provided By

Simics Core

legacy-upstream-pcie-adapter

Description

Glue bridge to connect new style PCIe endpoints and / root ports (including multi-function) to old style upstream bridges, switches and root ports. Normally the glue bridge will be connected to a pcie-bus.

Interfaces Implemented

conf_object, log_object, pci_device, pci_express, pci_upstream_operation, pcie_adapter_compat, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

impl.port.downstream
legacy-upstream-pcie-adapter.impl.downstream
port.HRESET
legacy-upstream-pcie-adapter.HRESET
port.SRESET
legacy-upstream-pcie-adapter.SRESET

Commands for this class

Commands for interface translator

Attributes

devices
Pseudo attribute; read/write access; type: [[iio]|[io]|o*]
Connected PCIe device. Format is (function_number, object)*). Currently only one device is supported, and it must have both device number 0 as well as function number 0

Provided By

legacy-upstream-pcie-adapter

legacy-upstream-pcie-adapter.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

legacy-upstream-pcie-adapter.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

legacy-upstream-pcie-adapter.impl.downstream

Interfaces Implemented

conf_object, log_object, pcie_map, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

downstream_port
pcie-downstream-port – This class manages the downstream address spaces and connected devices for PCIe switches and Root Complexes

Commands for interface transaction

linux_analyzer

Description

Linux Analyzer

Interfaces Implemented

conf_object, log_object, osa_tracker_control

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

node_tree
Required attribute; read/write access; type: o
The node tree object, must implement software_node_tree_tracker, osa_machine_query and osa_machine_notification interfaces
analyze
Pseudo attribute; write-only access; type: i
Run a new analyze pass and update the node tree

Provided By

linux-tracker

linux_mapper

Description

Standard Linux Node Tree.

Interfaces Implemented

conf_object, log_object, osa_mapper_admin, osa_mapper_control, osa_mapper_query, osa_linux_software_info, osa_target_info

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

node_tree_admin
Required attribute; read/write access; type: o
Object that administrates the node tree. Must implement the osa_node_tree_admin interface
tracker_state_notification
Required attribute; read/write access; type: o
Object to subscribe for tracker state updates on. Must implement the osa_tracker_state_notification interface
tracker_state_query
Required attribute; read/write access; type: o
Object that keeps the tracker state. Must implements the osa_tracker_state_query interface
tracker
Required attribute; read/write access; type: o
Software tracker object
ignore_empty_name
Optional attribute; read/write access; type: b
If set to true updates to the name property that are empty strings will be ignored.
enabled
Pseudo attribute; read-only access; type: b
Mapper enabled - read only

Provided By

linux-tracker

linux_tracker

Description

Linux Tracker

Interfaces Implemented

conf_object, log_object, osa_micro_checkpoint, osa_tracker_parameters, osa_linux_software_tracker_info, osa_target_info, osa_tracker_control

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

osa_admin
Required attribute; read/write access; type: o
The osa administrator object, must implement the osa_tracker_state_admin interface
parent
Required attribute; read/write access; type: o
The parent object, must implement the osa_machine_query and osa_machine_notification interfaces
enabled
Pseudo attribute; read-only access; type: b
Tracker enabled - read only
check_kernel_version
Optional attribute; read/write access; type: b
If true, a check will be made to verify that the parameters or the symbol file matches the kernel in memory
early_detect_check
Optional attribute; read/write access; type: b
If true, perform early task struct validation while detecting parameters, this can improve detection time. Having this set to false might improve chance to detect parameters for some targets that would otherwise fail.
enable_vm_support
Optional attribute; read/write access; type: b
If true the tracker will ignore all haps and breakpoints that occur while a processor is running a virtualization guest (using KVM). If this is disabled, errors might show up when guests are running. Handling of guests is currently only supported for x86-64 processors. VM support cannot be used together with physical breakpoints.

Provided By

linux-tracker

linux_tracker_comp

Description

A Linux Tracker top object that can be inserted into a domain.

Interfaces Implemented

conf_object, log_object, osa_parameters, osa_tracker_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface osa_parameters

Provided By

linux-tracker

mac_splitter

Description

This object splits incoming access from one PHY to several MACs.

Interfaces Implemented

conf_object, log_object, ieee_802_3_mac_v3

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

mac
Required attribute; read/write access; type: [o|[os]{2}]
The MACs connected to the splitter.

Required interfaces: ieee_802_3_mac_v3.

Provided By

mac-splitter

magic_pipe

Description

A mux/demux for high throughput communication between the simulated target and the simulator host.

Interfaces Implemented

conf_object, log_object, magic_pipe_setup, magic_pipe_reader, magic_pipe_writer, recorded

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

haps
Pseudo attribute; read-only access; type: i
Magic hap count
readers
Pseudo attribute; read-only access; type: [o*]
List of active readers
writers
Pseudo attribute; read-only access; type: [o*]
List of active writers
retries
Pseudo attribute; read-only access; type: i
Retransmission count
arch32
Pseudo attribute; read/write access; type: b
32-bit override (read-only)

Provided By

magic-pipe

mem-traffic-meter

Description

A mem-traffic-meter object snoops on the memory traffic passing through one or more memory-space objects, and makes the data available to the graphical plot window.

Interfaces Implemented

conf_object, log_object, snoop_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

mem-traffic-meter

memory-space

Description

Instances of the memory-space class provide linear address spaces into which devices and memory can be mapped.

Interfaces Implemented

conf_object, log_object, translator, transaction, memory_space, translate, map_demap, direct_memory_lookup, direct_memory_lookup_v2, breakpoint, breakpoint_trigger, breakpoint_query_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
map-change
Notifier that is triggered after map was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface translator

Commands for interface transaction

Commands for interface memory_space

Commands for interface breakpoint

Attributes

map
Optional attribute; read/write access; type: [[io|[os|n]iii]|[io|[os|n]iiio|[os|n]|n]|[io|[os|n]iiio|[os|n]|ni]|[io|[os|n]iiio|[os|n]|nii]|[io|[os|n]iiio|[os|n]|niii]*]
((base, object or (object, "port"), function, offset, length, target, priority, align-size, byte-swap)*).

Maps zero or more objects in the memory space. If target is not NIL, then object must implement at least one of the translator, translate, or bridge interfaces, searched in that order. The target, or object if target is NIL, must implement at least one of the ram, rom, io_memory, port_space, transaction, translator, or transaction_translator interfaces, searched in that order, or it can implement both translate and memory_space. (Some of these interfaces are Simics internal and cannot be implemented by user-defined classes).

If object only implements the bridge interface, then the target field must be set. If object implements translator, or translate, then target is optional and used as default target.

The memory-space class implements the translator, translate and memory_space interfaces, and can thus be passed as object, without any target.

object is mapped in the address space from base to base + length - 1 (inclusive). For a DML device, object is usually the bank object (object.bank.<bank_name>). A deprecated alternative is to map a port interface, represented by a pair [object, "portname"]. The function field is deprecated and usually equals 0. It is passed to io_memory.operation() as a field in the map_info struct argument; it is used in some legacy PCI device models to select bank. The priority (-32768 – 32767) is used when multiple mappings exist on the same address. The mapping with the lowest number has the highest priority.

If the map target does not support large accesses, then align-size can be set to the maximum allowed size (which must be a power of two). Accesses spanning align boundaries will be split into several smaller transactions. By default, the align size is set to 4 for port-space devices and 8 for other devices, but is not used for memory.
IMPORTANT: align-size based transaction splitting only takes effect for map targets implementing the io_memory, port_space, translate, or bridge interfaces and is otherwise not applied.
Mappings with an align-size of 2, 4, or 8 may set the byte-swap field to 1, 2 or 3. A value of 1 will model bridges that perform byte swapping on a specific bus width. 3 will swap all bytes in the transaction based on the access size. And with 2 the bus and transaction byte-swap variants will be combined. Consider a mapping with a 4-byte align size and memory at address 0 that contains the bytes: 0x00 0x01 0x02 0x03. A 2-byte big-endian read access at address 0 will give the following values as results. No swap: 0x0001, bus swap: 0x0302, bus and transaction swap: 0x0203 and transaction swap: 0x0100.

The typical syntax for this attribute is:

memory-space.map = [
[0xa000, obj.bank.foo, 0, 0, 0x1000],
[0xf000, obj.bank.bar, 0, 0, 0x0200]
]

This will map the bank foo at 0xa000. The length of the mapping is 0x1000 bytes. Similarly, the bank bar will be mapped at 0xf000 with a length of 0x0200 bytes.
timing_model
Optional attribute; read/write access; type: o|[os]|n
The timing_model is called when a memory operation reaches the memory-space, before it is performed. The model has to implement the "timing_model" interface.
snoop_device
Optional attribute; read/write access; type: o|[os]|n
The snoop_device is similar to a timing-model, but called after a memory operation is complete. The object has to implement the "snoop_memory" interface, but the returned stall time is ignored.
default_target
Optional attribute; read/write access; type: [o|[os|n]iio|[os|n]|n]|[o|[os|n]iio|[os|n]|ni]|[o|[os|n]iio|[os|n]|nii]|n
(object, function, offset, target, align-size, byte-swap).
An access not targeting any object in the map attribute will be forwarded to the default target. See the map attribute for an explanation of the list entries.
unmapped_read_value
Optional attribute; read/write access; type: n|i
The byte pattern defined in this attribute will be replicated to represent the value read from unmapped addresses. The default value (nil), will generate an error on such accesses.
ignore_unmapped_writes
Optional attribute; read/write access; type: b
Set to true to ignore unmapped write accesses; otherwise, they generate an error. Default is false.
memory
Pseudo attribute; read/write access; type: d
Read from or write to the space. Data is read without side effects (with the inquiry bit set), while writes are allowed to trigger side effects (including actually writing the data).

Provided By

Simics Core

memory_profiler

Description

The memory-profiler tool counts different memory accesses together with the associated address and presents the data in a table. Read, written, and executed addresses can be collected separately at a given address type - virtual or physical. Use the new-memory-profiler command to select the data be be collected. The profile can be displayed in a table at a given address granularity with the tool's profile command. The data can also be displayed when disassembling instructions by adding a view to each line with a processor's aprof-view command.

Interfaces Implemented

conf_object, log_object, instrumentation_tool, address_profiler

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface address_profiler

Attributes

stat
Pseudo attribute; read/write access; type: [[iii[i*]]*]
Statistics indexed by view 0-5
granularity_log2
Pseudo attribute; read/write access; type: i
Granularity in log2 for data be collected. Valid range is 0 - 63

Provided By

memory-profiler

memory_profiler_connection

Description

Instrumentation connection.

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

read_physical
Optional attribute; read/write access; type: b
Enables profile of physical memory reads
read_logical
Optional attribute; read/write access; type: b
Enables profile of logical memory reads
write_physical
Optional attribute; read/write access; type: b
Enables profile of physical memory writes
write_logical
Optional attribute; read/write access; type: b
Enables profile of logical memory writes
execute_physical
Optional attribute; read/write access; type: b
Enables profile of physical memory reads
execute_logical
Optional attribute; read/write access; type: b
Enables profile of logical memory reads

Provided By

memory-profiler

micron_mtfc128gap_emmc_card

Description

A Micron 128 GB MTFC128GAP eMMC Card.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

micron_mtfc16gap_emmc_card

Description

A Micron 16 GB MTFC16GAP eMMC Card.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

micron_mtfc2ggqdi_emmc_card

Description

A 2GB Micron eMMC card.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

micron_mtfc32gap_emmc_card

Description

A Micron 32 GB MTFC32GAP eMMC Card.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

micron_mtfc4gacaeam_emmc_card

Description

A Micron MTFC4GACAEAM-1M WT eMMC Card.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

micron_mtfc4gacaeam_emmc_card_with_boot_part

Description

A Micron MTFC4GACAEAM-1M WT eMMC Card with adjustable partitions.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

boot0_part
Optional attribute; read/write access; type: s
Boot 0 partition file
boot1_part
Optional attribute; read/write access; type: s
Boot 1 partition file
component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
rpbm_part
Optional attribute; read/write access; type: s
RPBM partition file
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

micron_mtfc4ggqdi_emmc_card

Description

A Micron MTFC4GGQDI-IT eMMC Card.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

micron_mtfc4ggqdi_sdhc_card

Description

A SDHC card component similar to Micron MTFC4GGQDI-IT eMMC.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

micron_mtfc64gap_emmc_card

Description

A Micron 64 GB MTFC64GAP eMMC Card.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

micron_mtfc64ggqdi_sdhc_card

Description

A SDHC card component similar to Micron MTFC64GGQDI-IT eMMC.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

micron_mtfc8gacaeam_emmc_card

Description

A Micron MTFC8GACAEAM-1M WT eMMC Card.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

micron_mtfc8gam_emmc_card

Description

A Micron 8 GB MTFC8GAM eMMC Card.

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
file
Optional attribute; read/write access; type: s|n
File with disk contents for the full disk. Either a raw file or a virtual disk file in craff, DMG, or VHDX format
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
size
Pseudo attribute; read/write access; type: i
Card size, in bytes
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.
use_generic_sdmmc_card
Optional attribute; read/write access; type: b
TRUE for using the newer generic-sdmmc-card device, or FALSE for the older and outdated generic-mmc-card device.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

mmc-card-comp

microwire-eeprom

Description

This device models a generic, 3-wire (microwire) serial EEPROM (for example 93Cxx).

Interfaces Implemented

conf_object, log_object, microwire

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

size
Optional attribute; read/write access; type: i
The size of the eeprom, in bits. Supported values are 1024, 2048 and 4096 bits.
width
Optional attribute; read/write access; type: i
The width of the eeprom (number of data bits in each read or write instruction). Supported values are 8 and 16 bit.
chip_select
Optional attribute; read/write access; type: i
The value of the chip-select pin.
data_clock
Optional attribute; read/write access; type: i
The value of the data-clock pin.
data_input
Optional attribute; read/write access; type: i
The value of the data-input pin.
data_output
Optional attribute; read/write access; type: i
The value of the data-output pin.
write_enabled
Optional attribute; read/write access; type: i
The write enable state, determined by the EWEN and EWDS instructions.
data
Optional attribute; read/write access; type: d
The memory contents.
internal_state
Optional attribute; read/write access; type: [i{4}]
Internal state.

Provided By

microwire-eeprom

mii-management-bus

Description

The mii-management-bus device is a bus model that allows multiple MII devices to share the same management interface. The interface is usually a two pin (MDC/MDIO) serial connection, and all devices are assumed to implement the "mii_management" interface.

Interfaces Implemented

conf_object, log_object, mii_management, mdio45_bus

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

serial_num_cycles
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_clock
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
mdio_target
Optional attribute; read/write access; type: n|o|[os]
Describes where the outgoing MDIO signal should be connected
devices
Optional attribute; read/write access; type: [[oi]*]
A list of device and address pairs, listing MII capable devices connected to the this management bus, i.e., sharing the same MDC and MDIO pins. Note that all these devices must implement the "mii_management" interface.

Provided By

mii-management-bus

mii-transceiver

Description

mii-transceiver is an IEEE 802.3 physical layer device with MII interface

Interfaces Implemented

conf_object, log_object, ethernet_common, mii_management, mii, ieee_802_3_phy, ieee_802_3_phy_v2, ieee_802_3_phy_v3

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

Optional attribute; read/write access; type: o|n
The Ethernet link that the network device is connected to.
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n
Ethernet (MAC) address of the network interface.
model_crc
Pseudo attribute; read/write access; type: i
Deprecated. Do not use.
tx_bandwidth
Optional attribute; read/write access; type: i
The transmit bandwidth of the network interface in bits per second. The network interface will limit the rate at which it sends packets to remain below this bandwidth. Set to 0 for unlimited bandwidth.
tx_next_time
Optional attribute; read/write access; type: f
The earliest time at which that the network interface may send another packet. Used for transmit bandwidth limitation.
network
Pseudo attribute; read/write access; type: o|n
Obsolete attribute. Use link instead.
inject_packet
Pseudo attribute; write-only access; type: d
Attribute used to send a packet to the network device. Writing this attribute at any time injects a new packet into the device (without involving the network simulation). Injecting a packet copies the packet data, allowing the caller to reuse or dispose of the buffer used for creating the packet, after the attribute is written.
add_crc_on_inject
Optional attribute; read/write access; type: i
Frames injected using the 'inject_packet' will get a correctly calculated CRC added at the end when this attribute is set to 1 (default). When set to 0, the user has to supply a CRC field with the injected frame. Note that you must always provide room for the CRC field, even when this attribute is set to 1.
mdio_target
Optional attribute; read/write access; type: n|o|[os]
Describes where the outgoing MDIO signal should be connected
serial_num_cycles
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_clock
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: i
MII Management Interface serial communication state.
mac
Required attribute; read/write access; type: o|[os]
Set to a media access controller (MAC) object, implementing the ieee_802_3_mac_v3 or ieee_802_3_mac interface.
Optional attribute; read/write access; type: i
The status of the link - 0 when completely unconnected, 1 when connected but down, and 2 when connected and up.
duplex_mode
Optional attribute; read/write access; type: i
Set to 1 for full duplex (0 for half duplex).
Optional attribute; read/write access; type: i
The link speed (usually 10 or 100 Mbit/s).
address
Optional attribute; read/write access; type: i
PHY identifier sent in calls to ieee_802_3_mac interface methods.
registers
Optional attribute; read/write access; type: [i{32}]
The MII management register set as described in IEEE 802.3.

Provided By

mii-transceiver

mmc_card

Description

The mmc_card implements JESD84-B50.1-compliant eMMC card.

Interfaces Implemented

conf_object, log_object, mmc

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
mmc_card.regs – Set of common information registers

Commands for this class

Attributes

bkops_status
Optional attribute; read/write access; type: i
This field indicates the level of background operations urgency: 0x0: No operations required, 0x1: Operations outstanding – non critical, 0x2: Operations outstanding – performance being impacted, 0x3: Operations outstanding – critical
boot_part_preconf
Optional attribute; read/write access; type: i
Pre-configured bootable partition ('disable', 'user', 'boot0', 'boot1'). Indicate which partition is enabled for booting by host.
cmdq_delayed_ready
Optional attribute; read/write access; type: b
Marking task "Ready for execution" after some random delay
cmdq_enable
Optional attribute; read/write access; type: b
The card maintains a queue of up to 32 data transfers. Commands CMD44/CMD45 are sent to queue up transfers in advance, and then one of the transfers is selected to execute by CMD46/CMD47 at which point data transfer begins.This attribute sets EXT_CSD_CMDQ_SUPPORT bit and defines eMMC v5.1 revision in EXT_CSD_REV fields
flash_image
Optional attribute; read/write access; type: o|[os]|n
Image that will hold the memory contents

Required interfaces: image.

gp_part_preconf
Optional attribute; read/write access; type: i
True means that the gp partitions and/or enhanced user data area have been pre-configured by the host
mem_enhanced_area_offset
Optional attribute; read/write access; type: [i*]
Starting address of the enhanced user data area
mem_enhanced_area_size
Optional attribute; read/write access; type: [i*]
Enhanced user data area size
mem_part_access
Optional attribute; read/write access; type: [i*]
Mask of available partitions according to EXT_CSD_PART_CONFIG_ACC order
partition_map
Optional attribute; read/write access; type: [o|[os]|n{0:7}]
An array of 7 objects or ports implementing the image interface used to store the data of the physical partitions, or NIL for unimplemented partitions.

Required interfaces: image.

rpmb_auth_enable
Optional attribute; read/write access; type: b
This function provides means for the system to store data to the specific memory area in an authenticated and replay protected manner
rpmb_auth_key
Optional attribute; read/write access; type: d|n
One time programmable authentication key register. This register cannot be overwritten, erased or read. The key is used by the eMMC RPMB engine to authenticate the accesses when MAC is calculated.
rpmb_mac_data
Optional attribute; read/write access; type: d|n
Accumulation buffer to calculate MAC data
rpmb_response
Optional attribute; read/write access; type: d|n
RPMB response data frame
rpmb_state
Optional attribute; read/write access; type: i
RPMB internal state
rpmb_write_counter
Optional attribute; read/write access; type: i
Counter value for the total amount of successful authenticated data write requests made by the host. Initial value after eMMC production is 0x0000 0000. Value will be incremented by one automatically by the eMMC RPMB engine along with successful programming accesses. The value cannot be reset. After the counter has reached its maximum value 0xFFFF FFFF it will not be incremented anymore (overflow prevention) and the bit [7] in Operation Result value will be permanently set.

Provided By

generic-sdmmc-card

mmc_card.regs

Description

Set of common information registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

CID
Optional attribute; read/write access; type: [i{16}]
CID: Card identification register. Isn't mapped onto io_memory space area.
CSD
Optional attribute; read/write access; type: [i{16}]
CSD: Device-Specific Data register. Isn't mapped onto io_memory space area.
CSR
Optional attribute; read/write access; type: i
CSR: Card status (R1 response fields). Isn't mapped onto io_memory space area.
DSR
Optional attribute; read/write access; type: i
DSR: Driver stage register. Isn't mapped onto io_memory space area.
ExtCSD
Optional attribute; read/write access; type: [i{512}]
ExtCSD: Extended CSD register. Isn't mapped onto io_memory space area.
OCR
Optional attribute; read/write access; type: i
OCR: Operation condition register. Isn't mapped onto io_memory space area.
QSR
Optional attribute; read/write access; type: i
QSR: Queue Status Register. Isn't mapped onto io_memory space area.
RCA
Optional attribute; read/write access; type: i
RCA: Relative device address. Isn't mapped onto io_memory space area.

mnemonic_histogram_connection

Description

sub class for instruction-histogram

Interfaces Implemented

conf_object, log_object, instrumentation_connection, table, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface table

Attributes

histogram
Pseudo attribute; read-only access; type: [[s|ii]*]
((instruction, counter)*)* instruction histogram
cpu
Pseudo attribute; read/write access; type: o
the processor being monitored
clear
Pseudo attribute; write-only access; type: b
When this attribute is set, the current histogram statistics is removed.
parent
Pseudo attribute; read/write access; type: o
Parent object for this connection.

Provided By

instruction-histogram

mtprof

Description

The mtprof class is used for multithreaded performance profiling.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

data
Pseudo attribute; read-only access; type: [[[ff][f*][f*]]*]
Performance data.
active
Pseudo attribute; read/write access; type: b
Enables or disables multithreaded simulation profiling.
modelrt
Pseudo attribute; read-only access; type: [i*]
List with predictions how fast the simulation would run on a host at least as many hast threads as there are cells in the simulation. Each entry corresponds to a particular latency, see the models attribute.
models
Pseudo attribute; read-only access; type: [i*]
List of time synchronization models labelled by the latency setting of the model.
cellrt
Pseudo attribute; read-only access; type: [i*]
List with the amount of cpu time (in us) used to simulate a particular cell. The order of the list is defined by the cells attribute.
realtime
Pseudo attribute; read-only access; type: i
Realtime elapsed (in us) while profiling.
cells
Pseudo attribute; read-only access; type: [o*]
List with cells; used to interpret the collected data.
interval
Pseudo attribute; read/write access; type: i
Profiling interval (in ms). Default is 10 ms.
max_points
Pseudo attribute; read/write access; type: i
Maximal number of data points to store in memory for later output to file or graph plotting. Default is 4000 points.
totalrt
Pseudo attribute; read-only access; type: i
Total amount of CPU time used for the simulation.

Provided By

mtprof

namespace

Description

The namespace class does not have any structure itself, but it can be used as a hierarchical parent to child objects.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

namespace_root

Description

Class for the root of the object hierarchy.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

new-flash-memory

Description

The generic-flash-memory class simulates different types of flash-memory depending on which attributes are set. Refer to [simics]/src/extensions/apps-python/flash_memory.py for a complete description of the features implemented and the flash chips that are pre-configured.

Limitations
  • Many vendor-specific commands are not implemented.
  • Erase suspend will complete the erase, and resume will then simply be ignored.

Interfaces Implemented

conf_object, log_object, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.Reset
generic-flash-memory.Reset – Reset the flash
port.io
generic-flash-memory.io
port.wp
generic-flash-memory.wp – Hardware signal, Enable/Disable Write
port.wren
generic-flash-memory.wren – Enable/Disable Write to flash sector

Commands for interface translator

Attributes

command_set
Optional attribute; read/write access; type: i
If no CFI structure is provided, this attribute should be set to indicate the command-set to use. Default is 0 (invalid command-set).
cfi_query
Optional attribute; read/write access; type: n|d|[i+]
CFI query structure (if the device is CFI compatible). Default is none (device is not CFI compatible).
device_id
Optional attribute; read/write access; type: i|[i+]
Device ID/code as used in Intel identifier codes and AMD autoselect mode. Default is 0.
manufacturer_id
Optional attribute; read/write access; type: i
Manufacturer ID/code as used in Intel identifier codes and AMD autoselect mode. Default is 0.
write_buffer_size
Optional attribute; read/write access; type: i
Write buffer size *in bytes* for write buffer commands. Default is 32 (standard value for Intel Strataflash®).
interleave
Required attribute; read/write access; type: i
Interleave (number of parallel flash memory chips).
bus_width
Required attribute; read/write access; type: i
Total width (in bits) of the data path connected to the flash device.
max_chip_width
Optional attribute; read/write access; type: i
Maximum data width (for example, specified as 16 for a x8/x16 capable device).
unit_size
Required attribute; read/write access; type: [i+]
A list of block/sector sizes.
ignore_timing
Optional attribute; read/write access; type: i
Obsolete attribute since timing is not modeled. Kept for backward compatibility only.
unit_erase_time
Optional attribute; read/write access; type: f
Obsolete attribute since timing is not modeled. Kept for backward compatibility only.
strict_cmd_set
Optional attribute; read/write access; type: i
If set to 1, warnings that the command-set is misused become errors. Default is 0.
storage_ram
Required attribute; read/write access; type: o
RAM object providing the backing store area.
accept_smaller_reads
Pseudo attribute; read/write access; type: i
Obsolete, do not use.
accept_smaller_writes
Pseudo attribute; read/write access; type: i
Obsolete, do not use.
big_endian
Optional attribute; read/write access; type: i
If 1, the flash device will behave as a big endian device. If 0, it will behave as a little endian device. Default is 0.
intel_chip_erase
Optional attribute; read/write access; type: b
If TRUE, the flash device supports Intel chip erase command operations. If FALSE, Intel chip erase command is flagged as error. Default is FALSE.
intel_program_verify
Optional attribute; read/write access; type: b
If TRUE, the flash device supports Intel program verify command operations. If FALSE, Intel program verify command is flagged as error. Default is FALSE.
intel_write_buffer
Optional attribute; read/write access; type: i
If 1, the flash device supports Intel write buffer operations. If 0, Intel write buffer operations are ignored. Default is 0.
intel_protection_program
Optional attribute; read/write access; type: i
If 1, the flash device supports Intel protection program operations. If 0, Intel protection program operations are ignored. Default is 0.
intel_configuration
Optional attribute; read/write access; type: i
If 1, the flash device supports Intel configuration operations. If 0, Intel configuration operations are ignored. Default is 0.
intel_lock
Optional attribute; read/write access; type: i
If 2, the flash device supports advanced lock/unlock/lock down operations. If 1, the flash device supports simple lock/unlock all operations. If 0, lock operations are ignored. Default is 0.
amd_ignore_cmd_address
Optional attribute; read/write access; type: i
If 1, the address will be ignored when parsing AMD commands. Default is 0.
lock_status
Optional attribute; read/write access; type: [[i*]*]
Lock status for all units.
hardware_lock_status
Optional attribute; read/write access; type: [[i*]*]
Hardware lock status for all units (for Intel advanced lock system).
unit_status
Optional attribute; read/write access; type: [[i*]*]
Status for all units.
ppb_bits
Optional attribute; read/write access; type: [[i*]*]
AMD non-volatile PPB section bits.
dyb_bits
Optional attribute; read/write access; type: [[i*]*]
AMD volatile (dynamic) section protection bits.
chip_mode
Optional attribute; read/write access; type: [s*]
Current state for all chips.
chip_write_buffer
Optional attribute; read/write access; type: [d|n*]
Current write buffer for all chips.
chip_write_buffer_start_address
Optional attribute; read/write access; type: [i*]
Current write buffer start address for all chips.
chip_write_buffer_current_count
Optional attribute; read/write access; type: [i*]
Current write buffer count for all chips.
amd_lock_register
Optional attribute; read/write access; type: [i*]
AMD lock register contents.
amd_ppb_lock_bit
Optional attribute; read/write access; type: [i*]
AMD PPB lock bit
reset
Pseudo attribute; write-only access; type: i
Set to 1 in order to reset the device.
busy_signal_targets
Optional attribute; read/write access; type: [n|o|[os]*]
(dst_object, dst_signal)* The destination device and signal name to connect the busy signal of the chips to. The destinations should implement the signal interface. Without a timing model, the device will never raise the busy signal.

Provided By

generic-flash-memory

generic-flash-memory.Reset

Description

Reset the flash

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic-flash-memory.io

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic-flash-memory.wp

Description

Hardware signal, Enable/Disable Write

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

generic-flash-memory.wren

Description

Enable/Disable Write to flash sector

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

onfi_flash

Description

The onfi_flash class is a generic NAND Flash Memory model that is compliant to ONFI 1.0 standard.

The following commands are supported:

Read
Change Read Column
Block Erase
Read Status
Read Status Enhanced
Page Program
Change Write Column
Read ID
Read Parameter Page
Reset

Other commands are currently not supported.

The data_image and spare_image attributes must points to image objects holding the data and spare area data of the flash of size consistent with the parameter of the device.

The following attributes regarding device parameters are required to be properly set before object instantiation (and can not be changed after configuration):

bus_width: data bus width of this device, either 8 or 16
data_bytes_per_page: value multiple of 512
pages_per_block: value multiple of 2
blocks: total number of blocks
id_bytes: the electronic signature of this device returned by Read ID
parameter_page: 256+ bytes of device parameters read by Read Parameter Page

The following attribute regarding device parameters are optional, if not set before object instantiation it will be calculated from data_bytes_per_page:

spare_bytes_per_page: range from 1 to 2208
The following attributes can be read for information purpose:

total_bytes_per_page: data_bytes_per_page + spare_bytes_per_page

Further information can be found in the documentation of the individual attributes.

Notes

Devices with 16-bit bus width will interpret the data in the images as little-endian. For example, if column 0 of page 0 is read, byte 0 in the image will be returned in bit 0 - 7 and byte 1 in bit 8-15. If you use an image in big-endian format you must therefore byte-swap it before loading it.

Interfaces Implemented

conf_object, log_object, io_memory, nand_flash

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
onfi_flash.regs

Commands for this class

Attributes

address_latch_enable
Optional attribute; read/write access; type: i
The current state of the "address latch enable" pin, true (non-zero) for high and false (zero) for low.
blocks
Required attribute; read/write access; type: i
The number of blocks of the device.
bus_width
Required attribute; read/write access; type: i
Data bus width of the device. Must be either 8 or 16.
command_latch_enable
Optional attribute; read/write access; type: i
The current state of the "command latch enable" pin, true (non-zero) for high and false (zero) for low.
data_bytes_per_page
Required attribute; read/write access; type: i
The number of data bytes per page. Must be a multiple of 512.
data_image
Required attribute; read/write access; type: o|[os]
The image object containing the data part of the device's pages. The image should contain the data contents of the pages concatenated in order.

Required interfaces: image.

id_bytes
Required attribute; read/write access; type: [i*]
Bytes returned by the "read ID (0x00) " command.
pages_per_block
Required attribute; read/write access; type: i
The number of pages per block. Must be a multiple of 2.
parameter_page
Required attribute; read/write access; type: [i*]
bytes returned by the "Read Parameter Page" command.
saved_state
Optional attribute; read/write access; type: i
Saved state.
saved_state_counter
Optional attribute; read/write access; type: i
Saved sub-state.
spare_bytes_per_page
Optional attribute; read/write access; type: i
The number of spare bytes per page. Valid from 1 to 2208. If 0 or not set, it will be calculated from data_bytes_per_page
spare_image
Required attribute; read/write access; type: o|[os]
The image object containing the spare parts of the device's pages. The image should contain the spare contents of the pages concatenated in order.

Required interfaces: image.

state
Optional attribute; read/write access; type: i
Current state.
state_column_address
Optional attribute; read/write access; type: i
Current column address.
state_counter
Optional attribute; read/write access; type: i
Current sub-state.
state_page_address
Optional attribute; read/write access; type: i
Current page address.
state_page_buffer
Optional attribute; read/write access; type: d
Current content of the page buffer.
status_byte
Optional attribute; read/write access; type: i
Status Register
sub_feature_parameter
Optional attribute; read/write access; type: [i{4}]
Sub feature parameters
total_bytes_per_page
Pseudo attribute; read/write access; type: i
Total number of bytes per page (Read Only).
write_protect
Optional attribute; read/write access; type: i
The current state of the "write protect" pin, true (non-zero) for high (write-protect off) and false (zero) for low (write-protect on).

Provided By

onfi-flash

onfi_flash.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

os_awareness

Description

OS Awareness framework for controlling the trackers

Interfaces Implemented

conf_object, log_object, osa_node_tree_query, osa_control_v2, osa_control, osa_machine_notification, osa_machine_query, osa_tracker_state_notification, osa_tracker_state_query, osa_tracker_state_admin, osa_node_tree_admin, osa_node_tree_notification, osa_component, osa_parameters, osa_node_path

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
osa_processors
Notifier that is triggered after 'processors' attribute was updated.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface osa_component

Commands for interface osa_parameters

Attributes

next_node_id
Optional attribute; read/write access; type: i
The next node ID
trees
Optional attribute; read/write access; type: [[oDD]*]
The node trees
trackers
Optional attribute; read/write access; type: [[oD]*]
The node trees
top_trackers
Optional attribute; read/write access; type: [o*]
The trackers which will receive enable/disable calls
top_mappers
Optional attribute; read/write access; type: [o*]
The mappers which will receive enable/disable calls
processors
Optional attribute; read/write access; type: [o*]
List of processors
processors_added
Optional attribute; read/write access; type: b
True if processors have been added to trackers, false otherwise

Provided By

os-awareness

partition_mapper

Description

Partition Mapper

Interfaces Implemented

conf_object, log_object, osa_mapper_control, osa_mapper_query, osa_mapper_admin, osa_node_tree_admin, osa_tracker_state_notification, osa_tracker_state_query, osa_micro_checkpoint

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

parent
Required attribute; read/write access; type: o
The parent object. Must implement the osa_node_tree_admin, osa_tracker_state_query and osa_tracker_state_notification interfaces.
tracker
Required attribute; read/write access; type: o
The partition tracker object for the partition mapper
include_partition_name
Optional attribute; read/write access; type: b
If true both the partition name and the guest tracker name will be part of the partitions node name in the node tree.
enabled
Pseudo attribute; read-only access; type: b
Set to true if tracker is enabled, otherwise false. Read-only.

Provided By

partition-tracker

partition_tracker

Description

The partition tracker is used to let trackers track on a subset of the processors available on the system. Several guest trackers, of the same or different kind, can be used on different processors.

Interfaces Implemented

conf_object, log_object, osa_tracker_control, osa_machine_notification, osa_machine_query, osa_tracker_state_admin, osa_micro_checkpoint

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

parent
Required attribute; read/write access; type: o
The parent object which must implement the osa_tracker_state_admin, osa_machine_query, and osa_machine_notification interfaces.
tracker_name
Optional attribute; read/write access; type: s
Name of partition tracker
enabled
Pseudo attribute; read-only access; type: b
True if the tracker is enabled, read-only attribute

Provided By

partition-tracker

partition_tracker_comp

Description

A Partition Tracker that can be used to assign only certain processors to other trackers.

Interfaces Implemented

conf_object, log_object, osa_parameters, osa_tracker_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface osa_parameters

Attributes

guests
Optional attribute; read/write access; type: [[iso|n[o*]]*]
Maps from partitions to guest trackers. Format is [id, name, guest composition, [cpus]]

Provided By

partition-tracker

pc-config

Description

This device listens to the BIOS output port. It also initializes certain in-memory tables when the BIOS requests that.

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

build_acpi_tables
Optional attribute; read/write access; type: b
BIOS helper device variable.
cpu_list
Required attribute; read/write access; type: [[o,o|n,b]*]
List of CPUs where is list item is itself a (cpu, apic, is_logical) list. The is_logical field is true if the CPU is a logical CPUs.
megs
Required attribute; read/write access; type: i
BIOS helper device variable.
memory_space
Required attribute; read/write access; type: o
Memory space to which tables are written.
ioapic_id
Required attribute; read/write access; type: i
BIOS helper device variable.
user_rsdp_address
Required attribute; read/write access; type: i
BIOS helper device variable.
ebda_base
Optional attribute; read/write access; type: i
Physical address of EBDA.
rsdp_offs
Optional attribute; read/write access; type: i
BIOS helper device variable.
high_desc_offs
Optional attribute; read/write access; type: i
BIOS helper device variable.
nvr_desc_offs
Optional attribute; read/write access; type: i
BIOS helper device variable.
reclaim_desc_offs
Optional attribute; read/write access; type: i
BIOS helper device variable.
high_desc_offs2
Optional attribute; read/write access; type: i
BIOS helper device variable.
smem_offs
Optional attribute; read/write access; type: i
BIOS helper device variable.

Provided By

pc-config

pc-shadow

Description

Shadow RAM controller for PCs.

Interfaces Implemented

conf_object, log_object, io_memory, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.RESET
pc-shadow.RESET – RESET.

Commands for this class

Commands for interface translator

Attributes

index
Optional attribute; read/write access; type: i
Index register.
config_register
Optional attribute; read/write access; type: [i{256}]
Configuration registers.

Provided By

pc-shadow

pc-shadow.RESET

Description

RESET.

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

pci-bus

Description

The pci-bus device models a logical Peripheral Component Interconnect bus that PCI devices can be connected to. The bus needs memory-space objects connected, representing the three PCI address spaces 'configuration', 'I/O' and 'memory'. The bus itself should be connected to a PCI bridge device.

Interfaces Implemented

conf_object, log_object, io_memory, pci_upstream, pci_downstream, pci_upstream_operation, pci_bus

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

conf_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI configuration space.
memory_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI memory space.
io_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI I/O space.
bridge
Optional attribute; read/write access; type: o|n|[o*]
Upstream PCI bridge object, which must implement the pci_bridge interface. For cPCI use-case, multiple bridges can be assigned and signals will be sent to all of them.
interrupt
Optional attribute; read/write access; type: o|n|[o*]
One or more interrupt device objects that implements the pci_interrupt interface. This attribute only has to be set if the bridge does not handle PCI interrupts.
bus_number
Optional attribute; read/write access; type: i
PCI bus number of this bus. In most cases this is 0, but some exceptions exist. This attribute is set by the bridge and should not be changed by the user.
sub_bus_number
Optional attribute; read/write access; type: i
Subordinate PCI bus number for this bus. This attribute is set by the bridge and should not be changed by the user.
send_interrupt_to_bridge
Optional attribute; read/write access; type: i
If non-zero (default), interrupt will be routed to the PCI bridge as well as the interrupt devices.
upstream_target
Optional attribute; read/write access; type: n|o|[os]
If non-NULL, all upstream transactions are forwarded to the specified object using the pci_upstream or transaction interface.
pci_devices
Optional attribute; read/write access; type: [[iio]|[iioi]*]
((id, function, object)*). id is the PCI device id. function is the PCI device logical function. object is the PCI device itself, which must implement the pci_device interface. The tuple may also contain an additional integer that tells if the PCI device is enabled or not. As default the PCI device is enabled.

Provided By

pci-bus

pci-controller-connector

Description

PCI controller hotplug connector.

Interfaces Implemented

conf_object, log_object, connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

remote
Optional attribute; read/write access; type: o|n
Remote connector.
connector_name
Optional attribute; read/write access; type: s|n
bus
Required attribute; read/write access; type: o|[os]
dev_num
Required attribute; read/write access; type: i

Provided By

std-bp

pci-device-connector

Description

PCI device hotplug connector.

Interfaces Implemented

conf_object, log_object, connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

remote
Optional attribute; read/write access; type: o|n
Remote connector.
connector_name
Optional attribute; read/write access; type: s|n
fn
Required attribute; read/write access; type: i
dev
Required attribute; read/write access; type: o

Provided By

std-bp

pci_proxy

Description

A PCI(e) proxy inserted between a PCI(e) bus and PCI(e) device. For multi-functions PCI(e) device, pci_proxy_mf should be used.

Interfaces Implemented

conf_object, log_object, io_memory, pci_bus, pci_device, pci_express, pci_upstream_operation

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus_target
Optional attribute; read/write access; type: o
PCI bus target to route the transaction to
pci_device_target
Optional attribute; read/write access; type: o|[os]
PCI device target to route the transaction to

Provided By

pci-proxy

pci_proxy_mf

Description

A PCI(e) proxy inserted between a PCI(e) bus and PCI(e) device. For single function PCI(e) device, pci_proxy should be used.

Interfaces Implemented

conf_object, log_object, io_memory, pci_bus, pci_device, pci_express, pci_multi_function_device, pci_upstream_operation

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus_target
Optional attribute; read/write access; type: o
PCI bus target to route the transaction to
pci_device_target
Optional attribute; read/write access; type: o|[os]
PCI device target to route the transaction to

Provided By

pci-proxy

pcie-bus

Description

The pcie-bus device models a logical PCI Express switch that PCI Express devices can be connected to. The switch needs memory-space objects connected, representing the three PCI Express address spaces 'configuration', 'I/O' and 'memory'. The switch itself should be connected to a PCI Express bridge device.

Interfaces Implemented

conf_object, log_object, io_memory, pci_upstream, pci_downstream, pci_upstream_operation, pci_express, pci_bus

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.downstream
pcie-bus.downstream – Downstream Transactions, used by RC's
port.upstream
pcie-bus.upstream – Upstream Transactions, used by endpoints

Commands for this class

Attributes

conf_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI configuration space.
memory_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI memory space.
io_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI I/O space.
bridge
Optional attribute; read/write access; type: o|n|[o*]
Upstream PCI bridge object, which must implement the pci_bridge and the pci_express interface. It can also implement the optional pci_express_hotplug interface. For cPCI use-case, multiple bridges can be assigned and signals will be sent to all of them.
interrupt
Optional attribute; read/write access; type: o|n|[o*]
One or more interrupt device objects that implements the pci_interrupt interface. This attribute only has to be set if the bridge does not handle PCI interrupts.
bus_number
Optional attribute; read/write access; type: i
PCI bus number of this bus. In most cases this is 0, but some exceptions exist. This attribute is set by the bridge and should not be changed by the user.
sub_bus_number
Optional attribute; read/write access; type: i
Subordinate PCI bus number for this bus. This attribute is set by the bridge and should not be changed by the user.
send_interrupt_to_bridge
Optional attribute; read/write access; type: i
If non-zero (default), interrupt will be routed to the PCI bridge as well as the interrupt devices.
upstream_target
Optional attribute; read/write access; type: n|o|[os]
If non-NULL, all upstream transactions are forwarded to the specified object using the pci_upstream or transaction interface.
pci_devices
Optional attribute; read/write access; type: [[iio]|[iioi]*]
((id, function, object)*). id is the PCI device id. function is the PCI device logical function. object is the PCI device itself, which must implement the pci_device interface. The object can also optionally implement either or both of: the pci_express interface, a port-object named 'port.pcie_message' implementing the transaction interface.The tuple may also contain an additional integer that tells if the PCI device is enabled or not. As default the PCI device is enabled.

Provided By

pcie-bus

pcie-bus.downstream

Description

Downstream Transactions, used by RC's

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

pcie-bus.upstream

Description

Upstream Transactions, used by endpoints

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

pcie-downstream-port

Description

This class manages the downstream address spaces and connected devices for PCIe switches and Root Complexes

Interfaces Implemented

conf_object, log_object, pcie_map, pcie_port_control, transaction, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

cfg_space
memory-space – downstream Config space
impl.port.msg_routing
pcie-downstream-port.impl.msg_routing
io_space
memory-space – downstream I/O space
mem_space
memory-space – downstream Memory space
msg_space
memory-space – downstream Message space
port.HOT_RESET
pcie-downstream-port.HOT_RESET
port.broadcast
pcie-downstream-port.broadcast
port.cfg
pcie-downstream-port.cfg – access point into downstream Config space
port.downstream
pcie-downstream-port.downstream – access point into downstream PCIe space
port.ecam
pcie-downstream-port.ecam – ECAM configuration space
port.io
pcie-downstream-port.io – access point into downstream I/O space
port.mem
pcie-downstream-port.mem – access point into downstream Memory space
port.msg
pcie-downstream-port.msg – access point into downstream Message space
port.phy
pcie-downstream-port.phy

Commands for this class

Commands for interface transaction

Commands for interface translator

Attributes

devices
Optional attribute; read/write access; type: [[iio]|[io]|o*]
Connected PCIe devices. Format is (device_number, function_number, object)*). The device_number can be omitted, in which case function_number is an 8-bit or 16-bit number. In the case of a 16-bit number, the bus number (bits 8 through 15) is hardcoded for this device, even though it is physically connected to whatever bus this downstream port is configured to. The object must implement the pcie_device interface. Note that after being connected, devices must add their functions through the pcie_map interface, no transactions will be forwarded to the device by default. If both device_number and function_number are omitted, the object does not correspond to a physical device on this bus, but will receive the same calls as any other device. This is useful for transparent bridges to other buses.
sec_bus_num
Optional attribute; read/write access; type: i
Secondary Bus Number
transparent_enabled
Optional attribute; read/write access; type: b
If TRUE, this bus operates in transparent mode, all ranges mapped by devices on this bus will be mapped in the upstream target of this bus. The sec_bus_num will be claimed in the upstream config and message space.
upstream_target
Optional attribute; read/write access; type: o|[os]|n
Target receiving all upstream transactions

Provided By

pcie-downstream-port

pcie-downstream-port.HOT_RESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

pcie-downstream-port.broadcast

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

pcie-downstream-port.cfg

Description

access point into downstream Config space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction_translator

pcie-downstream-port.downstream

Description

access point into downstream PCIe space

Interfaces Implemented

conf_object, log_object, pcie_device, pcie_port_control, transaction, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

Commands for interface transaction_translator

pcie-downstream-port.ecam

Description

ECAM configuration space

Interfaces Implemented

conf_object, log_object, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface translator

pcie-downstream-port.impl.msg_routing

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

pcie-downstream-port.io

Description

access point into downstream I/O space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction_translator

pcie-downstream-port.mem

Description

access point into downstream Memory space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction_translator

pcie-downstream-port.msg

Description

access point into downstream Message space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction_translator

pcie-downstream-port.phy

Interfaces Implemented

conf_object, log_object, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface translator

pcie-downstream-port-legacy

Description

This is the legacy-compatible variant of the pcie-downstream-port class

Interfaces Implemented

conf_object, log_object, io_memory, pci_bus, pci_downstream, pci_express, pci_upstream, pci_upstream_operation, pcie_map, pcie_port_control, transaction, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

cfg_space
memory-space – downstream Config space
conf_space
memory-space – legacy Config space
impl.cfg_to_conf
pcie-downstream-port-legacy.impl.cfg_to_conf – translates to legacy conf space
impl.conf_to_cfg
pcie-downstream-port-legacy.impl.conf_to_cfg – translates from legacy conf space
impl.port.msg_routing
pcie-downstream-port-legacy.impl.msg_routing
impl.transaction_to_pci_express
pcie-downstream-port-legacy.impl.transaction_to_pci_express – translates from transaction to legacy pci_express
io_space
memory-space – downstream I/O space
mem_space
memory-space – downstream Memory space
msg_space
memory-space – downstream Message space
port.HOT_RESET
pcie-downstream-port-legacy.HOT_RESET
port.broadcast
pcie-downstream-port-legacy.broadcast
port.cfg
pcie-downstream-port-legacy.cfg – access point into downstream Config space
port.downstream
pcie-downstream-port-legacy.downstream – access point into downstream PCIe space
port.ecam
pcie-downstream-port-legacy.ecam – ECAM configuration space
port.io
pcie-downstream-port-legacy.io – access point into downstream I/O space
port.mem
pcie-downstream-port-legacy.mem – access point into downstream Memory space
port.msg
pcie-downstream-port-legacy.msg – access point into downstream Message space
port.phy
pcie-downstream-port-legacy.phy
port.upstream
pcie-downstream-port-legacy.upstream

Commands for this class

Commands for interface transaction

Commands for interface translator

Attributes

bridge
Pseudo attribute; read-only access; type: o|[os]|n
Pseudo-attribute to make this look like a legacy pcie-bus
bus_number
Pseudo attribute; read/write access; type: i
Secondary bus number
devices
Optional attribute; read/write access; type: [[iio]|[io]|o*]
Connected PCIe devices. Format is (device_number, function_number, object)*). The device_number can be omitted, in which case function_number is an 8-bit or 16-bit number. In the case of a 16-bit number, the bus number (bits 8 through 15) is hardcoded for this device, even though it is physically connected to whatever bus this downstream port is configured to. The object must implement the pcie_device interface. Note that after being connected, devices must add their functions through the pcie_map interface, no transactions will be forwarded to the device by default. If both device_number and function_number are omitted, the object does not correspond to a physical device on this bus, but will receive the same calls as any other device. This is useful for transparent bridges to other buses.
memory_space
Pseudo attribute; read/write access; type: o
Legacy Memory space
pci_devices
Optional attribute; read/write access; type: [[iio]|[iioi]*]
((id, function, object)*). id is the PCI device id. function is the PCI device logical function. object is the PCI device itself, which must implement the pci_device interface. The object can also optionally implement either or both of: the pci_express interface, a port-object named 'port.pcie_message' implementing the transaction interface. The tuple may also contain an additional integer that tells if the PCI device is enabled or not. As default the PCI device is enabled.
sec_bus_num
Optional attribute; read/write access; type: i
Secondary Bus Number
transparent_enabled
Optional attribute; read/write access; type: b
If TRUE, this bus operates in transparent mode, all ranges mapped by devices on this bus will be mapped in the upstream target of this bus. The sec_bus_num will be claimed in the upstream config and message space.
upstream_target
Optional attribute; read/write access; type: o|[os]|n
Target receiving all upstream transactions

Provided By

pcie-downstream-port

pcie-downstream-port-legacy.HOT_RESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

pcie-downstream-port-legacy.broadcast

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

pcie-downstream-port-legacy.cfg

Description

access point into downstream Config space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction_translator

pcie-downstream-port-legacy.downstream

Description

access point into downstream PCIe space

Interfaces Implemented

conf_object, log_object, pcie_device, pcie_port_control, transaction, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

Commands for interface transaction_translator

pcie-downstream-port-legacy.ecam

Description

ECAM configuration space

Interfaces Implemented

conf_object, log_object, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface translator

pcie-downstream-port-legacy.impl.cfg_to_conf

Description

translates to legacy conf space

Interfaces Implemented

conf_object, log_object, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface translator

pcie-downstream-port-legacy.impl.conf_to_cfg

Description

translates from legacy conf space

Interfaces Implemented

conf_object, log_object, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface translator

pcie-downstream-port-legacy.impl.msg_routing

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

pcie-downstream-port-legacy.impl.transaction_to_pci_express

Description

translates from transaction to legacy pci_express

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

pcie-downstream-port-legacy.io

Description

access point into downstream I/O space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction_translator

pcie-downstream-port-legacy.mem

Description

access point into downstream Memory space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction_translator

pcie-downstream-port-legacy.msg

Description

access point into downstream Message space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction_translator

pcie-downstream-port-legacy.phy

Interfaces Implemented

conf_object, log_object, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface translator

pcie-downstream-port-legacy.upstream

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

pcie-endpoint-shim-frontend

Description

Device that behaves like a PCIe endpoint towards the Simics PCIe system and captures all downstream accesses to forward them to a Shim device. The Shim converts the transactions to an external non-simics API. The endpoint can be a RCiEP or an EP. Use cases are hybrid systems where an Endpoint runs in a separate environment like an RTL simulator, FPGA prototype or in an external functional simulator.

Interfaces Implemented

conf_object, log_object, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.pcie_config
pcie-endpoint-shim-frontend.pcie_config
port.HRESET
pcie-endpoint-shim-frontend.HRESET
port.phy
pcie-endpoint-shim-frontend.phy
port.upstream
pcie-endpoint-shim-frontend.upstream

Attributes

downstream_shim
Required attribute; read/write access; type: o|[os]
Device receiving all downstream PCIe transactions and is responsible for converting them to the emulator API

Required interfaces: pcie_port_control.

Provided By

sample-pcie-shim

pcie-endpoint-shim-frontend.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

pcie-endpoint-shim-frontend.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

pcie-endpoint-shim-frontend.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

pcie-endpoint-shim-frontend.upstream

Interfaces Implemented

conf_object, log_object, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface translator

pcie-port-shim-frontend

Description

Device that behaves like a PCIe root port, upstream port or downstream port towards the Simics PCIe system and captures all downstream accesses to forward them to a Shim device which converts the transactions to an external non-simics API. Use cases are hybrid systems where parts of the PCIe hierarchy sits in Simics, while an Endpoint or Switch run in a separate environment like an RTL simulator, FPGA prototype or in an external functional simulator.

Interfaces Implemented

conf_object, log_object, pcie_device, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.pcie_config
pcie-port-shim-frontend.pcie_config

Commands for interface transaction_translator

Attributes

downstream_shim
Required attribute; read/write access; type: o|[os]
Device receiving all downstream PCIe transactions and is responsible for converting them to the emulator API

Required interfaces: pcie_port_control.

Provided By

sample-pcie-shim

pcie-port-shim-frontend.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

pcie-shim-stub

Description

Shim that forwards Simics PCIe transaction to an external entity

Interfaces Implemented

conf_object, log_object, pcie_port_control, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

Attributes

upstream_target
Optional attribute; read/write access; type: o|n
Target to forward upstream PCIe transactions

Provided By

sample-pcie-shim

pcie-switch

Description

The pcie-bus device models a logical PCI Express switch that PCI Express devices can be connected to. The switch needs memory-space objects connected, representing the three PCI Express address spaces 'configuration', 'I/O' and 'memory'. The switch itself should be connected to a PCI Express bridge device.

Interfaces Implemented

conf_object, log_object, io_memory, pci_upstream, pci_downstream, pci_upstream_operation, pci_express, pci_bus

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.downstream
pcie-bus.downstream – Downstream Transactions, used by RC's
port.upstream
pcie-bus.upstream – Upstream Transactions, used by endpoints

Attributes

conf_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI configuration space.
memory_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI memory space.
io_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI I/O space.
bridge
Optional attribute; read/write access; type: o|n|[o*]
Upstream PCI bridge object, which must implement the pci_bridge and the pci_express interface. It can also implement the optional pci_express_hotplug interface. For cPCI use-case, multiple bridges can be assigned and signals will be sent to all of them.
interrupt
Optional attribute; read/write access; type: o|n|[o*]
One or more interrupt device objects that implements the pci_interrupt interface. This attribute only has to be set if the bridge does not handle PCI interrupts.
bus_number
Optional attribute; read/write access; type: i
PCI bus number of this bus. In most cases this is 0, but some exceptions exist. This attribute is set by the bridge and should not be changed by the user.
sub_bus_number
Optional attribute; read/write access; type: i
Subordinate PCI bus number for this bus. This attribute is set by the bridge and should not be changed by the user.
send_interrupt_to_bridge
Optional attribute; read/write access; type: i
If non-zero (default), interrupt will be routed to the PCI bridge as well as the interrupt devices.
upstream_target
Optional attribute; read/write access; type: n|o|[os]
If non-NULL, all upstream transactions are forwarded to the specified object using the pci_upstream or transaction interface.
pci_devices
Optional attribute; read/write access; type: [[iio]|[iioi]*]
((id, function, object)*). id is the PCI device id. function is the PCI device logical function. object is the PCI device itself, which must implement the pci_device interface. The object can also optionally implement either or both of: the pci_express interface, a port-object named 'port.pcie_message' implementing the transaction interface.The tuple may also contain an additional integer that tells if the PCI device is enabled or not. As default the PCI device is enabled.

Provided By

pcie-bus

pcie-bus.downstream

Description

Downstream Transactions, used by RC's

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

pcie-bus.upstream

Description

Upstream Transactions, used by endpoints

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

perfanalyze-client

Description

Performance and memory analysis class.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Class Attributes

memory_usage
Pseudo attribute; read-only access; type: [[sbii]+]
Get memory usage information. Each sublist has information about one memory mapping of the form (filename, text, start_address, end_address).
profiling_enabled
Pseudo attribute; read/write access; type: b
Controls if profiling is enabled or not.
profile_data
Pseudo attribute; read-only access; type: [[sbii]*]
Get profiling data. The sublist format is (module, user_defined, samples, samples_accum), where user_defined is set if the sublist refers to a section defined by SIM_add_profiling_area.
profile_data_clear
Pseudo attribute; write-only access; type: b
If set no True, clears all current profile data.
profile_data_accum_clear
Pseudo attribute; write-only access; type: b
If set no True, clears all current accumulated profile data.

Provided By

Simics Core

persistent-ram

Description

Persistent random access memory.

Interfaces Implemented

conf_object, log_object, transaction, ram, tagged_memory, page_bank_client, direct_memory_flush, ram_access_subscribe, direct_memory, direct_memory_tags

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.tags
persistent-ram.tags – tags handling

Commands for this class

Commands for interface transaction

Attributes

image
Required attribute; read/write access; type: o|n
Object holding data, usually an image object, or NIL. Must implement the page_bank interface.
tags
Optional attribute; read/write access; type: o|n
Auxiliary data contents, as an image, or Nil.
self_allocated_image_size
Optional attribute; read/write access; type: i
If image is explicitly set to NIL and self_allocated_image_size is set to a non-zero value before instantiation, the RAM will create its own image when instantiated. The self-instantiated image can be overridden by the image attribute if set later. Has no effect post-instantiation.

Provided By

Simics Core

persistent-ram.tags

Description

tags handling

Interfaces Implemented

conf_object, log_object, page_bank_client

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

pipe_manager

Description

A class that receives and transmits data through a magic pipe connection to a pipe agent running in the target system.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

haps
Optional attribute; read/write access; type: i
Magic hap count
input
Pseudo attribute; read/write access; type: s|n
Input file
magic
Pseudo attribute; read/write access; type: i
Magic number of the pipe agent
output
Pseudo attribute; read/write access; type: s|n
Output file
pipe
Pseudo attribute; read/write access; type: o|n
Connected pipe object or NIL

Provided By

pipe-manager-example

port-forward-incoming-server

Description

Port forwarding TCP service. Handles connections initiated external to Simics wanting access to the simulated environment.

Interfaces Implemented

conf_object, log_object, tcp_service, udp_service, port_forward

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

tcp
Required attribute; read/write access; type: o
TCP layer. Must implement the tcp interface.
udp
Required attribute; read/write access; type: o
UDP layer. Must implement the udp interface.
connections
Optional attribute; read/write access; type: [[ssisi]*]
((protocol, in_addr, in_port, forward_ip, forward_port)*). Sets up port forwarding listening to port in_host on ip in_addr of the host machine and forwarding to port forward_port on ip forward_ip within the simulated environment. Protocol must be either tcp or udp. BUG: If the in_addr is set to "::", the behavior is currently host-specific.
add_connection
Pseudo attribute; write-only access; type: [ssisi]
(protocol, in_addr, in_port, forward_ip, forward_port). Add a port forwarding listening port in_host on ip in_addr of the host machine and forwarding to port forward_port on ip forward_ip within the simulated environment. Protocol must be either tcp or udp.
temporary_connections
Pseudo attribute; read-only access; type: [[sisi]*]
((protocol, in_port, forward_ip, forward_port)*). The format of this attribute is identical to the connections attribute. This attribute contains temporary port mappings that are set up by the NAPT protocol handler.
algs
Optional attribute; read/write access; type: [o*]
Application Level Gateway (ALG) objects providing protocol specific support for port forwarding. The first object returning non-null in a call to its connection method will be the one that handles that particular connection.
preserve_ip
Optional attribute; read/write access; type: b
Internal state.

Provided By

service-node

port-forward-outgoing-server

Description

Port forwarding service. Handles connections originating from inside the simulated environment.

Interfaces Implemented

conf_object, log_object, tcp_service, udp_service, port_forward

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

tcp
Required attribute; read/write access; type: o
TCP layer. Must implement the tcp interface.
udp
Required attribute; read/write access; type: o
UDP layer. Must implement the udp interface.
connections
Optional attribute; read/write access; type: [[si]|[sissi]|[sii]|[sissii]*]
Configures how connections are forwarded. The first two elements in each sublist specify the protocol and port to listen on. If zero, then all ports are listened on. If a sublist has five elements, then the additional arguments specify the ip address to listen on, and the ip address and port to forward to. If a sublist only has two element, then the connection will be forwarded to the ip address and port given in the incoming ip packet. If a source port is specified, it will be appended as the last element of the list, i.e., the length of the list will be 3 or 6, respectively, in that case.
active_connections
Pseudo attribute; read-only access; type: [[ssisi]*]
Currently active connections from the simulated world to the real world. This attribute is read-only, and returns a list of connections, where each item contains the following information: [tcp/udp, simulated ip, simulated port, real ip, real port].
drop_active_connection
Pseudo attribute; write-only access; type: [ssisi]
Drop an active connection from the simulated world to the real world. This attribute can be used to drop forwarded connections in case it was left open by either side, and waiting for time-out is not a viable option. The value to write is the connection description, as returned by the active_connections attribute: [tcp/upd, simulated ip, simulated port, real ip, real port].
algs
Optional attribute; read/write access; type: [o*]
Application Level Gateway (ALG) objects providing protocol specific support for port forwarding. The first object returning non-null in a call to its connection method will be the one that handles that particular connection.
udp_timeout
Optional attribute; read/write access; type: i
Timeout before dropping an idle UDP NAT forcefully, in seconds. Default to 600. A negative value will in effect disable this timeout mechanism.

Provided By

service-node

port-space

Description

Class providing a 16-bit+3 port address space. In response to an address being asserted on the bus, an actual EISA or ISA device signals how large a transfer it can handle through the I/O chip select 16 line (ISA), and the EX16 and EX32 lines (EISA). This allows for example a 2-byte access at address A to have different meaning than two 1-byte accesses at address A and A+1. In the port-space class, the maximal width for each address should be specified in the map attribute. Mapping 2 bytes at address A also automatically maps 1 byte at address A+1. In the same way, mapping 4 bytes at A also maps 1 byte at A+1, 2 bytes at A+2, and 1 byte at A+3.

Interfaces Implemented

conf_object, log_object, port_space, map_demap

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface port_space

Attributes

map
Optional attribute; read/write access; type: [[io|[os|n]iii]*]
((base, object, function, offset, length)*). Maps zero or more object to the port space. object, which must implement the io-memory interface, is mapped from base to base + length - 1 (inclusive). Both function and offset is handed on to the mapped object through the io-memory interface. A mapped region larger than 4 bytes will be internally split into multiple 4-byte mappings. Mappings larger than 4 bytes must be a multiple of 4 bytes long, and must start at a 4-byte aligned address.
default_target
Optional attribute; read/write access; type: [oiio|n]|n
(object, function, offset, target). An access not targeting any object in the map attribute will be forwarded to the default target. target should be non-nil if and only if object is a translation object.

Provided By

Simics Core

preferences

Description

The preferences class represents Simics's global simulator preferences that, unlike the settings in the sim object, usually are the same between sessions.

Interfaces Implemented

conf_object, log_object, preference

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
pref-change
Notifier that is triggered when preferences are changed.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

startup_simics_path
Optional attribute; read/write access; type: [s*]
The initial value of the Simics search path. This list of dictionaries are copied to the sim->simics_path attribute at startup.
swap_dir
Optional attribute; read/write access; type: s
Directory where to store swap files, to limit Simics memory usage.
output_radix
Optional attribute; read/write access; type: i
The default output radix for integers in the command line. One of 2, 8, 10 and 16. Default is 10.
output_grouping
Optional attribute; read/write access; type: [iiii]
The default digit grouping for integers in the command line, for binary, octal, decimal and hexadecimal integers.
enable_multithreading
Optional attribute; read/write access; type: b
Set to TRUE if Multimachine Accelerator should be enabled when Simics is started. Default TRUE.
history_lines
Optional attribute; read/write access; type: i
The number of input lines saved in the command history.
readline_shortcuts
Optional attribute; read/write access; type: b
Set to TRUE if GNU Readline style keyboard shortcuts should be used in the command line. If set to FALSE, Windows style shortcuts are used.
default_log_endianness
Optional attribute; read/write access; type: s
Sets the default endianness of logged values when not given by context. Valid values are "little" (the default) and "big".
wireshark_path
Optional attribute; read/write access; type: s|n
The directory were wireshark or ethereal binaries are located. If not set the default environment path will be searched.
cli_table_border_style
Optional attribute; read/write access; type: s
The style of the table-borders. Valid styles are: borderless, ascii, thin, thick and header_only_underline_ascii. Default is thin.
force_ipv4
Optional attribute; read/write access; type: b
If TRUE, network services such as telnet and VNC in the target consoles will use IPv4 only. Default is FALSE.

Provided By

Simics Core

probe_aggregator

Description

Probe class for aggregate of probes.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

aggregate_name
Optional attribute; read/write access; type: s
The aggregate name
probe_kind
Optional attribute; read/write access; type: s
The probe-kind
function_string
Optional attribute; read/write access; type: s
The probe function
cell_owner
Optional attribute; read/write access; type: o|n
The cell owner
object_names
Optional attribute; read/write access; type: [s*]
Restricted set of objects to aggregate
cprops
Optional attribute; read/write access; type: [[is|i|o|n|b|[s*]|[[is|i|o|n|b|[s*]]*]|[[[is|i|o|n|b|[s*]]*]*]]*]
Probe properties

Provided By

Simics Core

probe_alias_probe

Description

Probe class for an alias probe.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cprops
Optional attribute; read/write access; type: [[is|i|o|n|b|[s*]|[[is|i|o|n|b|[s*]]*]|[[[is|i|o|n|b|[s*]]*]*]]*]
Probe properties
alias_name
Optional attribute; read/write access; type: s
The alias name
base
Optional attribute; read/write access; type: i
The probe id

Provided By

Simics Core

probe_attribute

Description

Probe class for attribute encapsulation.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cprops
Optional attribute; read/write access; type: [[is|i|o|n|b|[s*]|[[is|i|o|n|b|[s*]]*]|[[[is|i|o|n|b|[s*]]*]*]]*]
Probe properties
owner
Optional attribute; read/write access; type: o
The attribute object
probe_type
Optional attribute; read/write access; type: s
The probe type
attr_name
Optional attribute; read/write access; type: s
The attribute name

Provided By

Simics Core

probe_cell_io_access

Description

Probe class for cell io-probes.

Interfaces Implemented

conf_object, log_object, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cell_owner
Optional attribute; read/write access; type: o
The cell object.

Provided By

Simics Core

probe_cpu_disabled_reason

Description

Probe class for disabled status.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The cpu

Provided By

Simics Core

probe_cycle_histogram

Description

Probe class for cycle objects with extended clocks.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cprops
Optional attribute; read/write access; type: [[is|i|o|n|b|[s*]|[[is|i|o|n|b|[s*]]*]|[[[is|i|o|n|b|[s*]]*]*]]*]
Probe properties
owner
Required attribute; read/write access; type: o
The cpu

Provided By

Simics Core

probe_cycle_triggered

Description

Probe class for cycle objects with extended clocks.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cprops
Optional attribute; read/write access; type: [[is|i|o|n|b|[s*]|[[is|i|o|n|b|[s*]]*]|[[[is|i|o|n|b|[s*]]*]*]]*]
Probe properties
owner
Optional attribute; read/write access; type: o
The cpu

Provided By

Simics Core

probe_cycles

Description

Probe class for elapsed cycles on a processor.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The owner object.

Provided By

Simics Core

probe_esteps

Description

Probe class for execute steps on a processor.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The executed steps object.

Provided By

Simics Core

probe_event_provider

Description

Probe class for encapsulation of the event_provider interface.

Interfaces Implemented

conf_object, log_object, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The provider object.

Provided By

Simics Core

probe_execute_load

Description

Probe class for execution time spent simulating a processor.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The cpu object.

Provided By

Simics Core

probe_fraction_probe

Description

Probe class for fraction of two probes.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cprops
Optional attribute; read/write access; type: [[is|i|o|n|b|[s*]|[[is|i|o|n|b|[s*]]*]|[[[is|i|o|n|b|[s*]]*]*]]*]
Probe properties
part
Optional attribute; read/write access; type: i
The part probe
total
Optional attribute; read/write access; type: i
The total probe
cname
Optional attribute; read/write access; type: s
The probe name
factor
Optional attribute; read/write access; type: f|i
Multiply factor

Provided By

Simics Core

probe_host_core_temps

Description

Probe class for temperature a host core.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

core_num
Optional attribute; read/write access; type: i
The host cpu number

Provided By

Simics Core

probe_host_cpu_load

Description

Probe class for host processor load.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cpu_num
Optional attribute; read/write access; type: i
The host cpu number

Provided By

Simics Core

probe_host_freq

Description

Probe class for host processor frequency.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cpu_num
Optional attribute; read/write access; type: i
The host cpu number

Provided By

Simics Core

probe_host_freq_percent

Description

Probe class for host frequency percent of max.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cpu_num
Optional attribute; read/write access; type: i
The host cpu number

Provided By

Simics Core

probe_host_idle_time

Description

Probe class for host frequency.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cpu_num
Optional attribute; read/write access; type: i
The host cpu number

Provided By

Simics Core

probe_host_loadavg

Description

Probe class for loadavg.

Interfaces Implemented

conf_object, log_object, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_host_memory

Description

Probe class for memory.

Interfaces Implemented

conf_object, log_object, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_host_seconds

Description

Probe class for host thread time.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_host_swap

Description

Probe class for swap.

Interfaces Implemented

conf_object, log_object, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_host_work_time

Description

Probe class for host frequency.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cpu_num
Optional attribute; read/write access; type: i
The host cpu number

Provided By

Simics Core

probe_hypersim_steps

Description

Probe class for hupersim steps on a processor.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The step object

Provided By

Simics Core

probe_image_mem

Description

Probe class for image memory.

Interfaces Implemented

conf_object, log_object, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_interpreter_steps

Description

Probe class for interpreter steps on a processor.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The step object

Provided By

Simics Core

probe_io_probes

Description

Probe class for io-histogram.

Interfaces Implemented

conf_object, log_object, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_load_percent

Description

Probe class for how much a processor is idling.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The step object.

Provided By

Simics Core

probe_mm_malloc

Description

Probe class for mm allocation sites.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_module_profile

Description

Probe class for module-profiling.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_monitor

Description

Probe sampler and data collector tool that allows user to observe collected data.

Interfaces Implemented

conf_object, log_object, table

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface table

Attributes

mode
Required attribute; read/write access; type: s
Sampling mode used.
interval
Optional attribute; read/write access; type: f
Sampling interval.
clock
Optional attribute; read/write access; type: o|n
Master clock.
notifier_type
Optional attribute; read/write access; type: s|n
Notifier type.
notifier_obj
Optional attribute; read/write access; type: o|n
Object where the notifier is installed.
timestamp_file_name
Optional attribute; read/write access; type: s|n
Sampler timestamp file to read/write.
summary
Optional attribute; read/write access; type: b
Print a summary when simulation stops.
window
Optional attribute; read/write access; type: b
Open an independent console window.
print_no_samples
Optional attribute; read/write access; type: b
Disable sample printing.
output_file_name
Optional attribute; read/write access; type: n|s
Table dump file name.

Provided By

probe-monitor

probe_picoseconds

Description

Probe class for elapsed pico-seconds on a processor.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The cpu using the picosecond clock.

Provided By

Simics Core

probe_process_memory

Description

Probe class for process memory usage.

Interfaces Implemented

conf_object, log_object, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_sim_virtual_time

Description

Probe class for virtual time.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_sim_virtual_time_ps

Description

Probe class for virtual time in ps.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_simulation_time

Description

Probe class for wall clock time during simulation.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_steps

Description

Probe class for processor steps.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The step object.

Provided By

Simics Core

probe_streamer

Description

Probe sampler and data collector that streams collected data out.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

mode
Required attribute; read/write access; type: s
Sampling mode used.
interval
Optional attribute; read/write access; type: f
Sampling interval.
clock
Optional attribute; read/write access; type: o|n
Master clock.
notifier_type
Optional attribute; read/write access; type: s|n
Notifier type.
notifier_obj
Optional attribute; read/write access; type: o|n
Object where the notifier is installed.
timestamp_file_name
Optional attribute; read/write access; type: s|n
Sampler timestamp file to read/write.
csv_output_file_name
Optional attribute; read/write access; type: s
CSV output file name.
metadata_enabled
Optional attribute; read/write access; type: b
Enable metadata.
timestamping
Optional attribute; read/write access; type: b
Enable timestamping.
timestamp_probe
Optional attribute; read/write access; type: n|s
Probe used for timestamping.

Provided By

probe-monitor

probe_system_perfmeter

Description

Probe based system-perfmeter extending on the probe-monitor, but adds some performance related features

Interfaces Implemented

conf_object, log_object, table

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface table

Attributes

mode
Required attribute; read/write access; type: s
Sampling mode used.
interval
Optional attribute; read/write access; type: f
Sampling interval.
clock
Optional attribute; read/write access; type: o|n
Master clock.
notifier_type
Optional attribute; read/write access; type: s|n
Notifier type.
notifier_obj
Optional attribute; read/write access; type: o|n
Object where the notifier is installed.
timestamp_file_name
Optional attribute; read/write access; type: s|n
Sampler timestamp file to read/write.
summary
Optional attribute; read/write access; type: b
Print a summary when simulation stops.
window
Optional attribute; read/write access; type: b
Open an independent console window.
print_no_samples
Optional attribute; read/write access; type: b
Disable sample printing.
output_file_name
Optional attribute; read/write access; type: n|s
Table dump file name.

Provided By

probe-monitor

probe_telemetry

Description

Probe class for encapsulation of the telemetry interface.

Interfaces Implemented

conf_object, log_object, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The telemetry provider object.

Provided By

Simics Core

probe_thread_group_histogram

Description

Probe class for thread execution histogram.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_thread_histogram

Description

Probe class for thread execution histogram.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probe_turbo_stat

Description

Probe class for executed jit-steps on a processor.

Interfaces Implemented

conf_object, log_object, probe_subscribe, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The cpu object.

Provided By

Simics Core

probe_virtual_time

Description

Probe class for virtual time on a processor.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The cycle object.

Provided By

Simics Core

probe_vmp_probe_group

Description

Probe class for vmp statistics.

Interfaces Implemented

conf_object, log_object, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The cpu
vm_space_name
Optional attribute; read/write access; type: s
The vm probe space name to use
vm_space_index
Optional attribute; read/write access; type: i
The vm probe space index to use
vm_prefix
Optional attribute; read/write access; type: s
Probe prefix

Provided By

Simics Core

probe_vmp_probe_group_histogram

Description

Probe class for vmp histogram statistics.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The cpu
vm_space_name
Optional attribute; read/write access; type: s
The vm probe space to use
vm_space_index
Optional attribute; read/write access; type: i
The vm probe space to use
vm_prefix
Optional attribute; read/write access; type: s
Probe prefix

Provided By

Simics Core

probe_vmp_probe_group_total

Description

Probe class for vmp total statistics.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

owner
Optional attribute; read/write access; type: o
The cpu
vm_space_name
Optional attribute; read/write access; type: s
The vm probe space to use
vm_space_index
Optional attribute; read/write access; type: i
The vm probe space to use
vm_prefix
Optional attribute; read/write access; type: s
Probe prefix

Provided By

Simics Core

probe_wallclock_time

Description

Probe class for wall clock time.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

probes

Description

Singleton object class for the probes framework.

Interfaces Implemented

conf_object, log_object, probe_sampler_cache

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

Simics Core

process_filter

Description

Instrumentation filter for processes.

Interfaces Implemented

conf_object, log_object, instrumentation_filter_master

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

software_comp
Required attribute; read/write access; type: o
OSA software component to use.
tracked_processes
Pseudo attribute; read/write access; type: [s*]
The processes being tracked.

Provided By

process-filter

process_histogram

Description

The process histogram connects to the process-tracker and gathers information about processes. For each detected process it counts: how many times it is created, scheduled on a certain processor and the amount of instruction it has executed on each processor.

Interfaces Implemented

conf_object, log_object, instrumentation_tool, probe_index, table

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface table

Provided By

process-histogram

process_histogram_connection

Description

These objects holds information about a process_histogram's connection to the software tracker

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

process-histogram

ps-clock

Description

The ps-clock class implements a clock counting pico-seconds. The class also provides global time handling.

Interfaces Implemented

conf_object, log_object, temporal_state, cycle_event, cycle_control, frequency, callback_info, cycle_event_instrumentation, global_time

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
frequency-change
Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface callback_info

Commands for interface cycle_event_instrumentation

Attributes

frequency
Optional attribute; read/write access; type: i|f|o|[of]
Cycle frequency in Hz or, alternatively, an object with the frequency interface to use its frequency.
events
Optional attribute; read/write access; type: [[osaai]*]
((object, evclass, value, unused, when)*). Pending events.
vtime
Optional attribute; read/write access; type: o|n
Object of the vtime class driving this clock. The 'vtime' port object of the object's clock is used if the attribute is set to NULL.

Provided By

Simics Core

pseudo_namespace

Description

The pseudo_namespace is similar to the namespace class but is of pseudo class type. It does not have any structure itself, but it can be used as a hierarchical parent to pseudo child objects

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

Simics Core

py_array_test_probe

Description

Example of an object written in Python implementing the probe array interface.

Interfaces Implemented

conf_object, log_object, probe_array

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

incr
Optional attribute; read/write access; type: n
Increment the probe array values.
size
Required attribute; read/write access; type: i
Size of the probe array.

Provided By

test-probe

py_test_probe

Description

Example of an object written in Python implementing the probe interface.

Interfaces Implemented

conf_object, log_object, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

incr
Optional attribute; read/write access; type: n
Increment the probe value.

Provided By

test-probe

ram

Description

Random access memory.

Interfaces Implemented

conf_object, log_object, transaction, ram, tagged_memory, page_bank_client, direct_memory_flush, ram_access_subscribe, direct_memory, direct_memory_tags

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.tags
ram.tags – tags handling

Commands for this class

Commands for interface transaction

Attributes

image
Required attribute; read/write access; type: o|n
Object holding data, usually an image object, or NIL. Must implement the page_bank interface.
tags
Optional attribute; read/write access; type: o|n
Auxiliary data contents, as an image, or Nil.
self_allocated_image_size
Optional attribute; read/write access; type: i
If image is explicitly set to NIL and self_allocated_image_size is set to a non-zero value before instantiation, the RAM will create its own image when instantiated. The self-instantiated image can be overridden by the image attribute if set later. Has no effect post-instantiation.

Provided By

Simics Core

ram.tags

Description

tags handling

Interfaces Implemented

conf_object, log_object, page_bank_client

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

ram_tracer

Description

The ram/rom tracer tool prints all monitored accesses to a ram or ram object to be printed. This blocks all caching of ram/rom pages in all processor so every access can be displayed. The new-ram-tracer command controls if read, write, or executed accesses should be printed. Inquiry accesses can also be added. The trace can be saved to a file as well.

Interfaces Implemented

conf_object, log_object, instrumentation_tool

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

connections
Pseudo attribute; read-only access; type: [o*]
Example attribute, returns the connections
file
Pseudo attribute; read/write access; type: s|n
File to write to if set.

Provided By

ram-tracer

ram_tracer_connection

Description

Instrumentation connection.

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

block
Pseudo attribute; read/write access; type: b
Block caching of accesses, disable tracing
access
Pseudo attribute; read/write access; type: i
The types of accesses to trace from the ram
ram
Pseudo attribute; read/write access; type: o
The ram object connected to the connection
inquiry
Pseudo attribute; read/write access; type: b
Handle inquiry accesses as well as normal ones.

Provided By

ram-tracer

realtime

Description

In some cases simulated time may run faster than real time; this can happen if the OS is in a tight idle loop or an instruction halts execution waiting for an interrupt, or if the host machine is simply sufficiently fast. This can cause problems for programs that interact with the real world (for example the user), since time-outs may expire really fast. A realtime object will, when enabled, periodically check the simulation speed and wait for a while if it is too high.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

clock_object
Required attribute; read/write access; type: o
The object used to measure simulated time. This can be any processor in the system.
speed
Pseudo attribute; read/write access; type: f
How fast the simulated time runs compared to real time. The default is 1, which means that simulated time runs at the same speed as real time. Note that Simics may be unable to run as fast as requested if the host is not fast enough.
check_interval
Pseudo attribute; read/write access; type: i
How frequently elapsed simulated time should be compared to elapsed real time. Specified in milliseconds of simulated time; the default is 100. The actual time between comparisons may be less than this. It will never be less than set-time-quantum, so check that setting if you need very fine-grained realtime behavior.
enabled
Pseudo attribute; read/write access; type: b
Whether the real-time behavior is enabled or not. Defaults to false.
drift_compensate
Pseudo attribute; read/write access; type: f
The speed attribute says how fast the simulation should run, but the actual speed will always deviate a little from that value even if the host is fast enough. To keep these errors from accumulating, the simulation speed has to be adjusted; drift_compensate regulates how much it may be adjusted. If set to (for example) 0.25, simulation speed may be increased or decreased by up to 25% if necessary to make up for any accumulated drift with respect to real time. If set to zero (the default), the simulation speed may not be changed at all from its set value.
rtc_freq
Pseudo attribute; read-only access; type: i
Frequency of the realtime clock, in Hz.
max_oversleep
Pseudo attribute; read/write access; type: i
The sleep system call will usually sleep somewhat longer than requested. To compensate for this, Simics will ask for a shorter sleep, and busy-wait the rest of the time. This parameter determines how much shorter, in microseconds. (This will only help against delays imposed by the sleep implementation, not against delays caused by other processes on the system.)

Provided By

realtime

recorder

Description

The recorder class is used to record and playback I/O events. Recordable events include network traffic and mouse and keyboard events.

Interfaces Implemented

conf_object, log_object, recorder_v2, temporal_state

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

in_file
Optional attribute; read/write access; type: s|n
Name of input file, if any.
out_file
Optional attribute; read/write access; type: s|n
Name of output file, if any.
input_during_playback
Pseudo attribute; read/write access; type: b
If true, input is accepted when playback is active.
recording
Pseudo attribute; read/write access; type: b
If true, recording is active.
playback
Pseudo attribute; read/write access; type: b
If true, playback is active.
event
Pseudo attribute; read/write access; type: b
If true, playback event is active.
stop_at_end_of_recording
Pseudo attribute; read/write access; type: b
Determines if the simulation will be stopped when the end of the recording is reached. Default value is true.

Provided By

recorder

remote_sync_domain

Description

A controller object for a group of synchronized nodes.

Interfaces Implemented

conf_object, log_object, sync_domain_controller, sync_initial_time, link_config, link_route, dist_control

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

server
Required attribute; read/write access; type: s
The address of the server. A string on the format "host:port", or "host" for default port 1920.
nodes
Pseudo attribute; read-only access; type: [o]
The nodes connected to this domain.
min_latency
Pseudo attribute; read-only access; type: f
The min-latency, in seconds.
report_time
Pseudo attribute; read-only access; type: f|n
The report time.
stop_time
Pseudo attribute; read-only access; type: f|n
The stop time.
finished
Pseudo attribute; write-only access; type: n
Set to indicate that the local configuration is done and let the server accept other clients

Provided By

Simics Core

remote_sync_node

Description

A controller object for a group of synchronized nodes.

Interfaces Implemented

conf_object, log_object, sync_node, link_route, dist_control_node

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

Simics Core

remote_sync_server

Description

A server for connecting to a synchronization domain.

Interfaces Implemented

conf_object, log_object, remote_server

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

port
Required attribute; read/write access; type: i
Port listened to. If 0, an available port is chosen.
domain
Required attribute; read/write access; type: o
Synchronization domain clients are connected to.
accept_clients
Pseudo attribute; read/write access; type: b
Whether to accept incoming connections.
finished
Pseudo attribute; write-only access; type: n
Set to indicate that the local configuration is done and let the server accept clients

Provided By

Simics Core

rn-eth-bridge-tap

Description

Ethernet bridge using a TAP interface.

Interfaces Implemented

conf_object, log_object, ethernet_common, recorded, real_network

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

interface
Pseudo attribute; read/write access; type: s|n
The name of the TAP interface on the host.
connected
Pseudo attribute; read/write access; type: b
Set to true if the object is connected to the real network and configured properly. Also used to initiate a new connection. If the object successfully opened the TAP device but failed to read the IP address and netmask, this attribute has to be set to true again after the TAP device has been configured.
tap_bridge
Optional attribute; read/write access; type: b
Should be set to true if the TAP interface is used to setup an Ethernet bridge.
host_ip
Pseudo attribute; read-only access; type: s
IP address of the network adapter (TAP) connected to the real network.
host_netmask
Pseudo attribute; read-only access; type: s
Network address mask of the host Ethernet network.
run_in_thread
Optional attribute; read/write access; type: i
The run_in_thread level, either 1 or 2.
Optional attribute; read/write access; type: o|n
Simulated Ethernet link to connect to.
recorder
Required attribute; read/write access; type: o
Recorder device for recording and playback of traffic from the real network.
tx_bandwidth
Optional attribute; read/write access; type: i
The transmit bandwidth of the network interface in bits per second. The network interface will limit the rate at which it sends packets to remain below this bandwidth. Set to 0 for unlimited bandwidth. Default limit is 10Mbit/s.
tx_next_time
Optional attribute; read/write access; type: f
Next time the bandwidth limitation allows us to send a frame
tx_packet_rate
Optional attribute; read/write access; type: i
The maximum transmit rate of the network interface in packets per second. The network interface will limit the rate at which it sends packets to remain below this rate. Set to 0 for unlimited rate, which is the default.

Class Attributes

network_devices
Pseudo attribute; read-only access; type: [s*]
List of TAP interfaces on the host machine.

Provided By

real-network

rom

Description

Read-only memory.

Interfaces Implemented

conf_object, log_object, transaction, rom, tagged_memory, page_bank_client, direct_memory_flush, ram_access_subscribe, direct_memory, direct_memory_tags

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.tags
rom.tags – tags handling

Commands for this class

Commands for interface transaction

Attributes

image
Required attribute; read/write access; type: o|n
Object holding data, usually an image object, or NIL. Must implement the page_bank interface.
tags
Optional attribute; read/write access; type: o|n
Auxiliary data contents, as an image, or Nil.
self_allocated_image_size
Optional attribute; read/write access; type: i
If image is explicitly set to NIL and self_allocated_image_size is set to a non-zero value before instantiation, the RAM will create its own image when instantiated. The self-instantiated image can be overridden by the image attribute if set later. Has no effect post-instantiation.

Provided By

Simics Core

rom.tags

Description

tags handling

Interfaces Implemented

conf_object, log_object, page_bank_client

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample-device-c

Description

The sample-device device is a dummy device that compiles and that can be loaded into Simics. Using it as a starting point when writing own devices for Simics is encouraged. Several device specific functions are included. The source is included in simics/src/devices/sample-device-c.

Interfaces Implemented

conf_object, log_object, sample, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction

Attributes

value
Optional attribute; read/write access; type: i
The value field.

Provided By

sample-device-c

sample-i3c-target

Description

Sample i3c target device

Interfaces Implemented

conf_object, log_object, i3c_slave

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Commands for this class

Attributes

bus
Optional attribute; read/write access; type: o|[os]|n
Connect to I3C bus

Required interfaces: i3c_master.

dcr
Optional attribute; read/write access; type: i
I3C Device Characteristic Register
provisional_id
Optional attribute; read/write access; type: i
Unique ID for dynamic address assigning, only the lower 48 bits are valid
read_value
Optional attribute; read/write access; type: i
8-bit value for read response
static_address
Optional attribute; read/write access; type: i
7 bits static address, set as 0xff to disable it

Provided By

sample-i3c-devices

sample-memhier

Description

The sample-memhier class is an example of how to write memory hierarchies for Simics. It will print memory usage traces to a log file when its trace-file attribute is assigned a file name.

Interfaces Implemented

conf_object, log_object, timing_model

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

trace_file
Optional attribute; read/write access; type: s
Name of output file the trace is written to.
count
Optional attribute; read/write access; type: i
Number of memory operations traced so far.

Provided By

sample-memhier

sample-pcie-ats-endpoint

Description

sample PCIe Endpoint with an ATS Cache

Interfaces Implemented

conf_object, log_object, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.pcie_config
sample-pcie-ats-endpoint.pcie_config
port.HRESET
sample-pcie-ats-endpoint.HRESET
port.device_memory_request
sample-pcie-ats-endpoint.device_memory_request
port.phy
sample-pcie-ats-endpoint.phy

Provided By

sample-pcie-ats-device

sample-pcie-ats-endpoint.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample-pcie-ats-endpoint.device_memory_request

Interfaces Implemented

conf_object, log_object, transaction_translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

sample-pcie-ats-endpoint.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

sample-pcie-ats-endpoint.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

sample-pcie-ats-prs-dma

Description

DMA endpoint with eight concurrent channels. Each DMA channel starts with allocating the necessary pages using PRS. The DMA then performs an ATS translation followed by the actual DMA operating on the translated addresses. After the DMA is finished it issues a stop marker message to the TA to free up the pages.

Interfaces Implemented

conf_object, log_object, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.pcie_config
sample-pcie-ats-prs-dma.pcie_config
bank.regs
sample-pcie-ats-prs-dma.regs
port.HRESET
sample-pcie-ats-prs-dma.HRESET
port.phy
sample-pcie-ats-prs-dma.phy

Attributes

device_memory
Required attribute; read/write access; type: o|[os]
Memory in device endpoint
irq_dma_done
Optional attribute; read/write access; type: [o|[os]|n{0:8}]
Interrupt signal raised by DMA channel when it is finished

Required interfaces: signal.

Provided By

sample-pcie-ats-device

sample-pcie-ats-prs-dma.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample-pcie-ats-prs-dma.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

sample-pcie-ats-prs-dma.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

sample-pcie-ats-prs-dma.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample-pcie-device

Description

A sample PCIe endpoint with a BAR mapped register bank that contains a register that when written sends an MSI-X interrupt after 0.1 seconds. It has 3 PCIe capabilities that are mandatory for an endpoint. While it uses MSI-X for interrupts but MSI could be used also/instead.

Interfaces Implemented

conf_object, log_object, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.bar_mapped_bank
sample-pcie-device.bar_mapped_bank
bank.msix_data
sample-pcie-device.msix_data
bank.pcie_config
sample-pcie-device.pcie_config
port.HRESET
sample-pcie-device.HRESET
port.phy
sample-pcie-device.phy

Commands for this class

Provided By

sample-pcie-device

sample-pcie-device.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample-pcie-device.bar_mapped_bank

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample-pcie-device.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample-pcie-device.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

sample-pcie-device.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

sample-pcie-external-connection

Description

Shim that forwards Simics PCIe transaction to an external entity

Interfaces Implemented

conf_object, log_object, external_connection_events, pcie_port_control, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

Attributes

external_target
Optional attribute; read/write access; type: o|n
External Target to send request and responses to
connection_alive
Pseudo attribute; read-only access; type: b
Connection with external process is alive
upstream_target
Optional attribute; read/write access; type: o|n
Target to forward upstream PCIe transactions

Provided By

sample-pcie-shim

sample-pcie-root-complex-ats

Description

Sample Root Complex that implements an ATS/PRS Translation Agent

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.regs
sample-pcie-root-complex-ats.regs
downstream_port
pcie-downstream-port – This class manages the downstream address spaces and connected devices for PCIe switches and Root Complexes
port.ats_request
sample-pcie-root-complex-ats.ats_request – handles ATS Translation requests
port.ats_translated
sample-pcie-root-complex-ats.ats_translated – handles ATS Translated requests
port.ats_untranslated
sample-pcie-root-complex-ats.ats_untranslated – handles ATS Untranslated requests
port.message
sample-pcie-root-complex-ats.message – handles PCIe Messages

Commands for interface transaction_translator

Attributes

ENABLE_PASID_CHECK
Optional attribute; read/write access; type: b
When set to true all ATS translated requests are verified that their PASID value has gone through the Page Request Service for that address range.
STU
Optional attribute; read/write access; type: i
Smallest Translation Unit
host_memory
Optional attribute; read/write access; type: o|[os]|n
Connection to Host Memory

Provided By

sample-pcie-ats-device

sample-pcie-root-complex-ats.ats_request

Description

handles ATS Translation requests

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

sample-pcie-root-complex-ats.ats_translated

Description

handles ATS Translated requests

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

sample-pcie-root-complex-ats.ats_untranslated

Description

handles ATS Untranslated requests

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

sample-pcie-root-complex-ats.message

Description

handles PCIe Messages

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

sample-pcie-root-complex-ats.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample-risc

Description

The sample RISC (Reduced Instructions Set Computer/Cosimulator).

Interfaces Implemented

conf_object, log_object, simulator_cache, breakpoint_change, direct_memory_update, stall, execute, cycle, event_delta, frequency, step, frequency_listener

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
frequency-change
Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

vtime
vtime – event handler
vtime.cycles
cycle-counter – cycle queue
vtime.ps
ps-clock – event queue (ps)

Commands for this class

Commands for interface cycle

Commands for interface step

Attributes

current_risc_core
Required attribute; read/write access; type: o
Currently active core used for commands that normally target the current processor.
cached_pages
Pseudo attribute; read-only access; type: [[oiii]*]
Cached pages; for debugging/testing purposes only
do_not_schedule
Optional attribute; read/write access; type: b
Set to TRUE to prevent this object from being scheduled by the cell.
cycles
Optional attribute; read/write access; type: i
Time measured in cycles from machine start.
time_queue
Optional attribute; read/write access; type: [[osaii]*]
((object, evclass, value, slot, step)*).
cell
Optional attribute; read/write access; type: o|n
Cell
steps
Optional attribute; read/write access; type: i
Time measured in steps from machine start.
step_queue
Optional attribute; read/write access; type: [[osaii]*]
((object, evclass, value, slot, step)*).
freq_mhz
Pseudo attribute; read/write access; type: i|f
Processor clock frequency in MHz.
frequency
Optional attribute; read/write access; type: [ii]|o|[os]
Processor clock frequency in Hz, as a rational number [numerator, denominator].

Provided By

sample-risc

sample-risc-core

Description

Sample RISC core.

Interfaces Implemented

conf_object, log_object, context_handler, processor_info_v2, processor_info, int_register, exception, processor_cli, opcode_info

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface context_handler

Commands for interface processor_info

Commands for interface exception

Attributes

sample_risc
Required attribute; read/write access; type: o
Cosimulator object.
physical_memory_space
Required attribute; read/write access; type: o
Physical memory space.
core_enabled
Optional attribute; read/write access; type: b
Core state: enabled.
idle_cycles
Optional attribute; read/write access; type: i
Number of idle cycles.
stallable_memops
Optional attribute; read/write access; type: b
If true, read and write transactions will be issued as stallable operations.
current_context
Pseudo attribute; read/write access; type: o|n
Current context object
processor_number
Optional attribute; read/write access; type: i
Simics internal number for an instance of the 'processor_info' interface. Each instance must have a unique number. This attribute can only be set as part of an initial configuration.
registers
Optional attribute; read/write access; type: [i*]
The registers.
freq_mhz
Optional attribute; read/write access; type: f
The frequency in MHz for the core.
r0
Optional attribute; read/write access; type: i
r0
r1
Optional attribute; read/write access; type: i
r1
r2
Optional attribute; read/write access; type: i
r2
r3
Optional attribute; read/write access; type: i
r3
r4
Optional attribute; read/write access; type: i
r4
r5
Optional attribute; read/write access; type: i
r5
r6
Optional attribute; read/write access; type: i
r6
r7
Optional attribute; read/write access; type: i
r7
r8
Optional attribute; read/write access; type: i
r8
r9
Optional attribute; read/write access; type: i
r9
r10
Optional attribute; read/write access; type: i
r10
r11
Optional attribute; read/write access; type: i
r11
r12
Optional attribute; read/write access; type: i
r12
r13
Optional attribute; read/write access; type: i
r13
r14
Optional attribute; read/write access; type: i
r14
r15
Optional attribute; read/write access; type: i
r15
pc
Optional attribute; read/write access; type: i
pc
msr
Optional attribute; read/write access; type: i
msr

Provided By

sample-risc

sample-user-decoder

Description

Sample user decoder showing how to decode an instruction and change its execution.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Class Attributes

user_nop
Pseudo attribute; read/write access; type: [i+]|n
User specified instruction pattern that this sample decoder replaces with a no-op.

Provided By

sample-user-decoder

sample-x86-isa-extension

Description

Sample instruction set architecture extension for x86

Interfaces Implemented

conf_object, log_object, instrumentation_tool

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

processor
Optional attribute; read/write access; type: o
Connected processor.
my_register
Optional attribute; read/write access; type: i
My new 64-bit wide register.

Provided By

sample-x86-isa-extension

sample_802_15_4_transceiver

Description

a sample IEEE 802.15.4 transceiver

Interfaces Implemented

conf_object, log_object, ieee_802_15_4_receiver

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
sample_802_15_4_transceiver.regs
port.reset
sample_802_15_4_transceiver.reset

Commands for this class

Attributes

channel_num
Optional attribute; read/write access; type: i
The channel number.
channel_page
Optional attribute; read/write access; type: i
The channel page.
contention_count
Optional attribute; read/write access; type: i
Contention failure times.
contention_target
Optional attribute; read/write access; type: o|[os]|n
The NumberOutput for contention times.

Required interfaces: uint64_state.

crc
Optional attribute; read/write access; type: i
The CRC status.
ep
Optional attribute; read/write access; type: o|[os]|n
The endpoint that the device will be connected to.

Required interfaces: ieee_802_15_4_link.

id
Optional attribute; read/write access; type: i
node id
id_target
Optional attribute; read/write access; type: o|[os]|n
The NumberOutput for ID.

Required interfaces: uint64_state.

lost_frames_count
Optional attribute; read/write access; type: i
The number of lost frames.
pkt_lost_target
Optional attribute; read/write access; type: o|[os]|n
The NumberOutput for lost packets.

Required interfaces: uint64_state.

pkt_recv_target
Optional attribute; read/write access; type: o|[os]|n
The NumberOutput for received packets.

Required interfaces: uint64_state.

pkt_sent_target
Optional attribute; read/write access; type: o|[os]|n
The NumberOutput for sent packets.

Required interfaces: uint64_state.

received_frames_count
Optional attribute; read/write access; type: i
The number of received frames.
sent_frames_count
Optional attribute; read/write access; type: i
The number of sent frames.
tx_buffer
Optional attribute; read/write access; type: d
A buffer for transmit FIFO.
tx_buffer_pos
Optional attribute; read/write access; type: i
The next pos to fill in the buffer.

Provided By

sample-802-15-4-transceiver

sample_802_15_4_transceiver.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sample_802_15_4_transceiver.reset

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample_device_cxx_after

Description

No description

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

cancel_after
Pseudo attribute; write-only access; type: b
When being set, cancel all after callbacks

Provided By

sample-device-c++

sample_device_cxx_after_bank

Description

Sample C++ after device with a bank

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.b[0..1]
sample_device_cxx_after_bank.SampleAfterBank – sample bank

Commands for this class

Provided By

sample-device-c++

sample_device_cxx_after_bank.SampleAfterBank

Description

sample bank

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

bank-register-value-change
Notifier that is triggered when bank register value changes.
cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_device_cxx_attribute_class_attribute

Description

Sample C++ attribute device with class attribute

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Class Attributes

instance_count
Pseudo attribute; read-only access; type: i
Instance count of the class

Provided By

sample-device-c++

sample_device_cxx_attribute_class_member_method

Description

Sample C++ attribute device use cls member method

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

value
Required attribute; read/write access; type: i
A value.

Provided By

sample-device-c++

sample_device_cxx_attribute_class_member_variable

Description

Sample C++ attribute device use cls member variable

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

flags
Optional attribute; read/write access; type: [bb]
Two boolean flags in an array

Provided By

sample-device-c++

sample_device_cxx_attribute_custom_method

Description

Sample C++ attribute device use custom method

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

blob
Optional attribute; read/write access; type: d
Some data

Provided By

sample-device-c++

sample_device_cxx_attribute_global_method

Description

Sample C++ attribute device use global method

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

name_and_id
Optional attribute; read/write access; type: [si]
A pair of a name and id

Provided By

sample-device-c++

sample_device_cxx_attribute_nested_stl_container

Description

Sample C++ attribute device with nested STL container

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

id_strs
Optional attribute; read/write access; type: [[i[s*]]*]
a map where each ID maps to a list of strings

Provided By

sample-device-c++

sample_device_cxx_attribute_pseudo

Description

Sample C++ attribute device with pseudo attribute

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

test_trigger
Pseudo attribute; write-only access; type: b
When being set, trigger some action

Provided By

sample-device-c++

sample_device_cxx_attribute_specialized_converter

Description

Sample C++ attribute device with specialized converter

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

my_type
Optional attribute; read/write access; type: [iso|n]
An attribute of MyType

Provided By

sample-device-c++

sample_device_cxx_bank_by_code

Description

Sample C++ device with a bank by code

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.b[0..1]
sample_device_cxx_bank_by_code.SampleBank – sample bank

Commands for this class

Provided By

sample-device-c++

sample_device_cxx_bank_by_code.SampleBank

Description

sample bank

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

bank-register-value-change
Notifier that is triggered when bank register value changes.
cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_device_cxx_bank_by_data

Description

Sample C++ device with a bank by data

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.b[0..1]
sample_device_cxx_bank_by_data.b – sample bank array of size 2

Commands for this class

Provided By

sample-device-c++

sample_device_cxx_bank_by_data.b

Description

sample bank array of size 2

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

bank-register-value-change
Notifier that is triggered when bank register value changes.
cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_device_cxx_class_with_init_class

Description

This is a sample Simics device written in C++.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

sample-device-c++

sample_device_cxx_class_without_init_class

Description

This is a sample Simics device written in C++.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

sample-device-c++

sample_device_cxx_class_without_init_local

Description

This is a sample Simics device written in C++.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

sample-device-c++

sample_device_cxx_connect

Description

Sample C++ device with a connect

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

irq_dev
Optional attribute; read/write access; type: o|n
IRQ device

Provided By

sample-device-c++

sample_device_cxx_connect_map_target

Description

Sample C++ device with a MapTargetConnect

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

map_target
Optional attribute; read/write access; type: o|n
Map Target

Provided By

sample-device-c++

sample_device_cxx_connect_to_descendant

Description

Sample C++ device with a ConnectToDescendant

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.memory_space
memory-space – Target memory space as descendant

Commands for this class

Attributes

target_mem_space
Optional attribute; read/write access; type: o|n
Target port to a memory space

Provided By

sample-device-c++

sample_device_cxx_event

Description

Sample C++ device with an event

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

sample-device-c++

sample_device_cxx_interface

Description

Sample C++ device with an interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

signal_raised
Optional attribute; read/write access; type: b
If signal is raised

Provided By

sample-device-c++

sample_device_cxx_interface_c

Description

Sample C++ device with a C interface

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

signal_raised
Optional attribute; read/write access; type: b
If signal is raised

Provided By

sample-device-c++

sample_device_cxx_interface_with_custom_info

Description

Sample C++ interface device using custom info

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

signal_raised
Optional attribute; read/write access; type: b
If signal is raised

Provided By

sample-device-c++

sample_device_cxx_logging

Description

Sample C++ device with logging example

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

sample-device-c++

sample_device_cxx_port_use_confobject

Description

No description

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.sample
sample_device_cxx_port_use_confobject.sample

Commands for this class

Provided By

sample-device-c++

sample_device_cxx_port_use_confobject.sample

Description

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

raised
Pseudo attribute; read-only access; type: b
Return if signal is raised or not

sample_device_cxx_port_use_port

Description

No description

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.sample[0..1]
sample_device_cxx_port_use_port.sample

Commands for this class

Attributes

state
Optional attribute; read/write access; type: i
A value

Provided By

sample-device-c++

sample_device_cxx_port_use_port.sample

Description

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

sample_device_cxx_user_interface

Description

Sample C++ device with a user interface

Interfaces Implemented

conf_object, log_object, sample

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

simple_method_cnt
Optional attribute; read/write access; type: i
Received simple_method method calls

Provided By

sample-device-c++

sample_device_dml

Description

This is a very simple device.

Interfaces Implemented

conf_object, log_object, sample

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.regs
sample_device_dml.regs – sample DML devicecustom desc

Commands for this class

Attributes

int_attr
Optional attribute; read/write access; type: i
An integer attribute

Provided By

sample-device-dml

sample_device_dml.regs

Description

sample DML devicecustom desc

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_device_mixed

Description

This is a very simple device which shows how you can use C/C++ code from DML.

Interfaces Implemented

conf_object, log_object, myinterface

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
sample_device_mixed.regs

Commands for this class

Provided By

sample-device-mixed

sample_device_mixed.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sample_device_pkg_prio

Description

This is a very simple device.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.regs
sample_device_pkg_prio.regs – simple bank to have at least some functionality

Commands for this class

Attributes

int_attr
Optional attribute; read/write access; type: i
An integer attribute

Provided By

sample-device-pkg-prio

sample_device_pkg_prio.regs

Description

simple bank to have at least some functionality

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_device_python

Description

This device does nothing useful, but can be used as a starting point when writing Simics devices in Python.

The source can be found at [simics]/src/devices/sample-device-python/.

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

temperature
Optional attribute; read/write access; type: i
The temperature register.

Provided By

sample-device-python

sample_device_python_confclass

Description

longer doc for the class

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

temperature
Optional attribute; read/write access; type: i
The temperature register.

Provided By

sample-device-python-confclass

sample_dma_device

Description

Example of a DMA device supporting contiguous memory or scatter-gather lists. The device has a controllable throughput (words per second) and supports either polling mode or interrupt based signalling upon DMA completion.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.regs
sample_dma_device.regs

Commands for this class

Attributes

intr_target
Required attribute; read/write access; type: o|[os]
Interrupt target port to signal on DMA interrupts.

Required interfaces: signal.

target_mem
Required attribute; read/write access; type: o|[os]
The memory on which the DMA engine operates. Data will be read from and copied to the memory associated with this memory.
throttle
Optional attribute; read/write access; type: f
Delay in seconds per 32-bit word of memory copied, default is 1μs.

Provided By

sample-dma-device

sample_dma_device.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_dma_device_cpp

Description

Example of a DMA device supporting contiguous memory or scatter-gather lists. The device has a controllable throughput (words per second) and supports either polling mode or interrupt based signalling upon DMA completion.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
sample_dma_device_cpp.regs – DMA register bank

Commands for this class

Attributes

target_mem
Required attribute; read/write access; type: o
The memory space on which the DMA engine operates. Data will be read from and copied to the memory associated with this memory space.
intr_target
Required attribute; read/write access; type: o
Interrupt target port to signal on DMA interrupts.
throttle
Optional attribute; read/write access; type: f
Delay in seconds per 32-bit word of memory copied, default is 1μs.

Provided By

sample-dma-device-c++

sample_dma_device_cpp.regs

Description

DMA register bank

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

bank-register-value-change
Notifier that is triggered when bank register value changes.
cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_dma_device_python

Description

This device models a Simics DMA device in Python.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
sample_dma_device_python.regs – An example of a register bank.

Commands for this class

Attributes

intr_target
Optional attribute; read/write access; type: o
The interrupt target
target_mem
Required attribute; read/write access; type: o
The target memory space to do DMA transfer
throttle
Optional attribute; read/write access; type: f
Delay in seconds per 32-bit word of memory copied, default is 1μs.

Provided By

sample-dma-device-python

sample_dma_device_python.regs

Description

An example of a register bank.

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample_event_device

Description

This is a sample device using events.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
sample_event_device.regs

Commands for this class

Provided By

sample-event-device

sample_event_device.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sample_firewire_device

Description

A simple firewire device which only implements the required firewire registers. It can't take on the cycle-master, isochronous resource manager or bus manager roles.

Interfaces Implemented

conf_object, log_object, firewire_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.PHY
sample_firewire_device.PHY
bank.config_rom
sample_firewire_device.config_rom
bank.firewire_config_registers
sample_firewire_device.firewire_config_registers

Commands for this class

Provided By

sample-firewire-device

sample_firewire_device.PHY

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sample_firewire_device.config_rom

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sample_firewire_device.firewire_config_registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sample_generic_message_device

Description

The is the sample_generic_message_device class which is an example of how generic message devices can be written inSimics.

Interfaces Implemented

conf_object, log_object, generic_message_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

address
Optional attribute; read/write access; type: i
Address of device itself on the link.
delay
Optional attribute; read/write access; type: i
Delay between each message in cycles.
dest_address
Optional attribute; read/write access; type: i
Destination address of the message.
frame_delay
Optional attribute; read/write access; type: i
Delay to send the message in ns.
length
Optional attribute; read/write access; type: i
Length of the message to send.
received_value
Optional attribute; read/write access; type: i
Last byte received from the link.
send_value
Optional attribute; read/write access; type: i
Value to send to the link.

Provided By

sample-generic-message-device

sample_i2c_device

Description

The is the sample_i2c_device class which is an example of how I2C slave devices can be written in Simics.

Interfaces Implemented

conf_object, log_object, i2c_slave_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Commands for this class

Attributes

address
Required attribute; read/write access; type: i
7-bit address on the i2c bus. It can be any valid i2c address in range of [0, 127].
Optional attribute; read/write access; type: o|[os]|n
I2C link Connection

Required interfaces: i2c_master_v2.

read_value
Optional attribute; read/write access; type: i
Value to return on reads.
written_value
Optional attribute; read/write access; type: i
Last byte written to this device.

Provided By

sample-i2c-device

sample_i3c_master

Description

Sample I3C master device

Interfaces Implemented

conf_object, log_object, i3c_master

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.b
sample_i3c_master.b

Commands for this class

Attributes

bus
Required attribute; read/write access; type: o|[os]
Connect to the object which implements the i3c_slave.

Required interfaces: i3c_slave.

status
Optional attribute; read/write access; type: i
Internal status

Provided By

sample-i3c-devices

sample_i3c_master.b

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sample_interrupt_device

Description

Sample interrupt device.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
sample_interrupt_device.regs
port.generate_interrupt[0..31]
sample_interrupt_device.generate_interrupt

Commands for this class

Attributes

interrupt_state
Optional attribute; read/write access; type: [[biii]*]
The interrupt state
irq_dev
Required attribute; read/write access; type: o|[os]
The interrupt destination.

Required interfaces: signal.

Provided By

sample-interrupt-device

sample_interrupt_device.generate_interrupt

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample_interrupt_device.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sample_linux_mapper

Description

An example of a Linux mapper that works with trackers of the sample_linux_tracker class.

Interfaces Implemented

conf_object, log_object, osa_mapper_control, osa_mapper_query, osa_mapper_admin

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

parent
Required attribute; read/write access; type: o
The parent object. Must implement the osa_node_tree_admin, osa_tracker_state_query, and osa_tracker_state_notification interfaces
tracker
Required attribute; read/write access; type: o
Tracker associated with mapper
enabled
Pseudo attribute; read-only access; type: b
Mapper enabled - read only
entities
Optional attribute; read/write access; type: [[iiii]*]
Mapping of entities to nodes on the format: [entity id, node id, parent id, type]

Provided By

sample-linux-tracker

sample_linux_tracker

Description

An example of how to write a tracker for Linux that should work with the qsp-linux-common.simics script.

Interfaces Implemented

conf_object, log_object, osa_tracker_control, osa_micro_checkpoint

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

parent
Required attribute; read/write access; type: o
The parent object. Must implement the osa_tracker_state_admin, osa_machine_query, and osa_machine_notification interfaces
enabled
Pseudo attribute; read-only access; type: b
Tracker enabled - read only
default_parameters
Pseudo attribute; read-only access; type: D
Default parameters for the QSP platform

Provided By

sample-linux-tracker

sample_linux_tracker_comp

Description

Example for creating a linux tracker composition

Interfaces Implemented

conf_object, log_object, osa_parameters, osa_tracker_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface osa_parameters

Provided By

sample-linux-tracker

sample_notifier_cc

Description

This is a sample Simics device written in C++.

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
sample-notifier-reset
Notifier that is triggered after the device was reset

Commands for this class

Attributes

notifier_count
Optional attribute; read/write access; type: i
A count for notifier

Provided By

sample-notifier-c++

sample_notifier_dml

Description

Example of a device both subscribing to and publishing notifiers

Interfaces Implemented

conf_object, log_object, frequency

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
frequency-change
Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Commands for this class

Attributes

frequency_provider
Required attribute; read/write access; type: o|[os]
upstream frequency provider, whose frequency and frequency change notification is forwarded through the device, with the frequency being modulated according to multiplier

Required interfaces: frequency.

multiplier
Optional attribute; read/write access; type: f
frequency forwarded through the device from the frequency provider is multiplied by this amount

Provided By

sample-notifier-dml

sample_pci_device

Description

This is a very simple PCI device.

Interfaces Implemented

conf_object, log_object, io_memory, pci_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.pci_config
sample_pci_device.pci_config – The PCI configuration space.
bank.regs
sample_pci_device.regs
port.HRESET
sample_pci_device.HRESET
port.SRESET
sample_pci_device.SRESET

Commands for this class

Attributes

config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
int_attr
Optional attribute; read/write access; type: i
An integer attribute
pci_bus
Optional attribute; read/write access; type: o|[os]|n
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus.

Provided By

sample-pci-device

sample_pci_device.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample_pci_device.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample_pci_device.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pci_device.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_device_old

Description

A sample PCI Express device

Interfaces Implemented

conf_object, log_object, io_memory, pci_device, pci_express

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.pci_config
sample_pcie_device_old.pci_config – The PCI configuration space.

Commands for this class

Attributes

attention_indicator
Optional attribute; read/write access; type: s
This attribute represents the attention indicator, which software can program to be OFF/BLINK/ON
config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
pci_bus
Optional attribute; read/write access; type: o|[os]|n
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus, pci_express.

power_indicator
Optional attribute; read/write access; type: s
This attribute represents the power indicator, which software can program to be OFF/BLINK/ON

Provided By

sample-pcie-device-old

sample_pcie_device_old.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

bist
Optional attribute; read/write access; type: i
Build-in Self Test
cache_line_size
Optional attribute; read/write access; type: i
CacheLine Size
capabilities_ptr
Pseudo attribute; read/write access; type: i
Capabilities Pointer
cardbus_cis_ptr
Optional attribute; read/write access; type: i
Cardbus CIS Pointer
class_code
Optional attribute; read/write access; type: i
Class Code
command
Optional attribute; read/write access; type: i
Command Register
device_id
Optional attribute; read/write access; type: i
Device ID
header_type
Optional attribute; read/write access; type: i
Header Type
interrupt_line
Optional attribute; read/write access; type: i
Interrupt Line
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt Pin
interrupts
Optional attribute; read/write access; type: i
Raised _internal_ interrupts
latency_timer
Optional attribute; read/write access; type: i
Latency Timer
max_lat
Optional attribute; read/write access; type: i
MAX_LAT
min_gnt
Optional attribute; read/write access; type: i
MIN_GNT
revision_id
Optional attribute; read/write access; type: i
Revision ID
status
Optional attribute; read/write access; type: i
Status Register
subsystem_id
Optional attribute; read/write access; type: i
Subsystem ID
subsystem_vendor_id
Optional attribute; read/write access; type: i
Subsystem Vendor ID
vendor_id
Optional attribute; read/write access; type: i
Vendor ID

sample_pcie_sriov_device

Description

A sample PCI Express SR-IOV device.

Interfaces Implemented

conf_object, log_object, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

f0
sample_pcie_sriov_device.f0
f5
sample_pcie_sriov_device.f5
port.HRESET
sample_pcie_sriov_device.HRESET
port.phy
sample_pcie_sriov_device.phy

Commands for this class

Provided By

sample-pcie-sriov-device

sample_pcie_sriov_device.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample_pcie_sriov_device.f0

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

PF
sample_pcie_sriov_device.f0.PF
VF[0..5]
sample_pcie_sriov_device.f0.VF

sample_pcie_sriov_device.f0.PF

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.bar01
sample_pcie_sriov_device.f0.PF.bar01
bank.bar45
sample_pcie_sriov_device.f0.PF.bar45
bank.msix_data
sample_pcie_sriov_device.f0.PF.msix_data
bank.pcie_config
sample_pcie_sriov_device.f0.PF.pcie_config

sample_pcie_sriov_device.f0.PF.bar01

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f0.PF.bar45

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f0.PF.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f0.PF.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

sample_pcie_sriov_device.f0.VF

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.bar01
sample_pcie_sriov_device.f0.VF.bar01
bank.bar45
sample_pcie_sriov_device.f0.VF.bar45
bank.msix_data
sample_pcie_sriov_device.f0.VF.msix_data
bank.pcie_config
sample_pcie_sriov_device.f0.VF.pcie_config

sample_pcie_sriov_device.f0.VF.bar01

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f0.VF.bar45

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f0.VF.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f0.VF.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

sample_pcie_sriov_device.f5

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

PF
sample_pcie_sriov_device.f5.PF
VF[0..5]
sample_pcie_sriov_device.f5.VF

sample_pcie_sriov_device.f5.PF

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.bar01
sample_pcie_sriov_device.f5.PF.bar01
bank.bar45
sample_pcie_sriov_device.f5.PF.bar45
bank.msix_data
sample_pcie_sriov_device.f5.PF.msix_data
bank.pcie_config
sample_pcie_sriov_device.f5.PF.pcie_config

sample_pcie_sriov_device.f5.PF.bar01

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f5.PF.bar45

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f5.PF.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f5.PF.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

sample_pcie_sriov_device.f5.VF

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.bar01
sample_pcie_sriov_device.f5.VF.bar01
bank.bar45
sample_pcie_sriov_device.f5.VF.bar45
bank.msix_data
sample_pcie_sriov_device.f5.VF.msix_data
bank.pcie_config
sample_pcie_sriov_device.f5.VF.pcie_config

sample_pcie_sriov_device.f5.VF.bar01

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f5.VF.bar45

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f5.VF.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample_pcie_sriov_device.f5.VF.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

sample_pcie_sriov_device.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

sample_serial_device

Description

The sample_serial_device implements a serial device.

Interfaces Implemented

conf_object, log_object, serial_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.registers
sample_serial_device.registers
port.hreset
sample_serial_device.hreset

Commands for this class

Attributes

console
Optional attribute; read/write access; type: o|[os]|n
Name of a console object that is used for character output.

Required interfaces: serial_device.

input_buffer
Optional attribute; read/write access; type: [i*]
Input buffer.
irq_dev
Optional attribute; read/write access; type: o|[os]|n
Input characters pending interrupt.

Required interfaces: signal.

irq_level
Optional attribute; read/write access; type: i
Input characters pending interrupt level.
output_buffer
Optional attribute; read/write access; type: [i*]
Output buffer.

Provided By

sample-serial-device

sample_serial_device.hreset

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample_serial_device.registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sample_signal_device

Description

A sample-signal-device with in/out connectors

Interfaces Implemented

conf_object, log_object, component, component_connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface component

Attributes

component_queue
Pseudo attribute; read/write access; type: a
The queue object for this component. It is only used as a placeholder for the real queue object before the component is instantiated. It can point to an instantiated cycle object or a pre_conf object.
components
Optional attribute; read/write access; type: [o*]
This attribute is only valid for top-level components. List of components below the top-level component. This attribute is not valid until the object has been instantiated.
count
Optional attribute; read/write access; type: i
Count of this component, connected to sub objects.
cpu_list
Pseudo attribute; read/write access; type: [o*]
A list of all processors that belong to the component. This attribute is not valid until the object has been instantiated. This attribute is only used in top-level components and other components that are used as software domains.
domain
Optional attribute; read/write access; type: o|n
This attribute is only valid for top-level components. Domain to put the component in.
dynamic_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
instantiated
Optional attribute; read/write access; type: b
Set to TRUE if the component has been instantiated.
machine_icon
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. An instance of a top-level component may override the default system_icon with its own icon. This attribute is the name of an 80x80 pixel large icon in PNG format that should reside in the [host]/lib/images/ directory of the Simics installation or the project.
object_list
Pseudo attribute; read-only access; type: D|n
Dictionary with the instantiated objects that the component consists of.
object_prefix
Optional attribute; read/write access; type: s
Object prefix string used by the component.
pending_cell_object_factories
Optional attribute; read/write access; type: [[ss]*]
Internal attribute for pending cell objects factories.
period
Optional attribute; read/write access; type: f
Period of this component, connected to sub objects.
static_slots
Pseudo attribute; read/write access; type: D|n
Do not use. Kept for checkpoint compatibility.
system_info
Optional attribute; read/write access; type: s|n
This attribute is only valid for top-level components. A short single-line description of the current configuration of the system that the component is a top-level of. The line may include the Linux name of the simulated machine, the installed operating system, or similar information. For example Tango - Fedora Core 5 Linux
top_component
Optional attribute; read/write access; type: o|n
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.

Class Attributes

basename
Pseudo attribute; read/write access; type: s|n
component_icon
Pseudo attribute; read/write access; type: s|n
config_attributes
Pseudo attribute; read/write access; type: [[s[a*]]*]
system_icon
Pseudo attribute; read-only access; type: s|n

Provided By

sample-signal-device

sample_signal_device_impl

Description

This is a very simple device.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.incoming
sample_signal_device_impl.incoming

Commands for this class

Provided By

sample-signal-device

sample_signal_device_impl.incoming

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sample_timer_device

Description

This is the sample_timer_device class, an example of how timer devices can be written in Simics.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.regs
sample_timer_device.regs

Commands for this class

Attributes

irq_dev
Optional attribute; read/write access; type: o|[os]|n
Device an interrupt should be forwarded to (interrupt controller)

Required interfaces: signal.

Provided By

sample-timer-device

sample_timer_device.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sata

Description

The sata class implements the functionality of a SATA device that can be connected to a SATA controller .

Interfaces Implemented

conf_object, log_object, sata

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

master
Optional attribute; read/write access; type: o|n
IDE device. Must implement the ide-device interface.
hba
Optional attribute; read/write access; type: o|[os]|n
Host bus adaptor. Must implement the sata interface.
lba_mode
Optional attribute; read/write access; type: i
Currently selected addressing mode (bit 6 in the drive/head register).
interrupt_delay
Optional attribute; read/write access; type: f
Time in seconds between state changes.
initial_fis_delay
Optional attribute; read/write access; type: f
Time in seconds between a COMRESET is received and the initial D2H Register FIS is sent to the host.
state
Optional attribute; read/write access; type: i
Device state.
write_cache_enabled
Optional attribute; read/write access; type: b
"Write cache enabled" state.
tag_queue
Optional attribute; read/write access; type: d
Tag Queue for FPDMA
cmd_fis_queue
Optional attribute; read/write access; type: d
Command Fis Queue for FPDMA
sector_buffer
Optional attribute; read/write access; type: d
contains current contents of sector buffer

Provided By

sata

sata-controller-connector

Description

SATA controller hotplug connector.

Interfaces Implemented

conf_object, log_object, connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

remote
Optional attribute; read/write access; type: o|n
Remote connector.
connector_name
Optional attribute; read/write access; type: s|n
sata
Required attribute; read/write access; type: o|[os]

Provided By

std-bp

sata-device-connector

Description

SATA device hotplug connector.

Interfaces Implemented

conf_object, log_object, connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

remote
Optional attribute; read/write access; type: o|n
Remote connector.
connector_name
Optional attribute; read/write access; type: s|n
device
Required attribute; read/write access; type: o
SATA device object.
aname
Required attribute; read/write access; type: s
Name of SATA device attribute which holds the SATA controller object.

Provided By

std-bp

script-engine

Description

Class for scripted interaction with a console object.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

script
Optional attribute; read/write access; type: [s*]
Script, as a list of strings.
index
Optional attribute; read/write access; type: i
Current script line.
input_obj
Optional attribute; read/write access; type: o|n
Object with an 'input' command.
wait_obj
Optional attribute; read/write access; type: o|n
Object with a 'bp-wait-for-console-string' command.

Provided By

std-bp

script-params

Description

Singleton that contains parameters of the current script

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

current
Pseudo attribute; read-only access; type: [s*]

Provided By

Simics Core

sd_card

Description

The sd_card implements SD(v 3.00)/SDIO(v 3.00) memory card.

Interfaces Implemented

conf_object, log_object, mmc

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.cia
sd_card.cia
bank.regs
sd_card.regs – Set of common information registers

Commands for this class

Attributes

flash_image
Optional attribute; read/write access; type: o|[os]|n
Image that will hold the memory contents

Required interfaces: image.

mem_type
Optional attribute; read/write access; type: [i*]
Memory type based on its size: 0 - SC, 1 - HC, 2 - XC
sd_type
Optional attribute; read/write access; type: i
Memory card type: 0 - SD, 1 - SDIO

Provided By

generic-sdmmc-card

sd_card.cia

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sd_card.regs

Description

Set of common information registers

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

CID
Optional attribute; read/write access; type: [i{16}]
CID: Card identification register. Isn't mapped onto io_memory space area.
CSD
Optional attribute; read/write access; type: [i{16}]
CSD: Device-Specific Data register. Isn't mapped onto io_memory space area.
CSR
Optional attribute; read/write access; type: i
CSR: Card status (R1 response fields). Isn't mapped onto io_memory space area.
DSR
Optional attribute; read/write access; type: i
DSR: Driver stage register. Isn't mapped onto io_memory space area.
OCR
Optional attribute; read/write access; type: i
OCR: Operation condition register. Isn't mapped onto io_memory space area.
RCA
Optional attribute; read/write access; type: i
RCA: Relative device address. Isn't mapped onto io_memory space area.
SCR
Optional attribute; read/write access; type: i
SCR: SD CARD Configuration (SCR) register. Isn't mapped onto io_memory space area.
SSR
Optional attribute; read/write access; type: [i{64}]
SSR: SD status register. Isn't mapped onto io_memory space area.

selfprof

Description

Class used for self-profiling of Simics

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

selfprof

service-node

Description

This class provides services on an Ethernet network.

Interfaces Implemented

conf_object, log_object, udp, tcp, udp_service

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

eth_interfaces
Pseudo attribute; read-only access; type: [o*]
The Ethernet interface objects used by this service node.
recorder
Required attribute; read/write access; type: o
Recorder device for recording and playback of network traffic.
routing_table
Optional attribute; read/write access; type: [[ss|iso]*]
The routing table used by this service node. The four sub-entries for each routing table entry are network, netmask, gateway and service-node. The network and gateway are specified as IP addresses in dot notation, and the netmask is specified as an IP address or as a prefix length. The service-node is the node connected to the network where the gateway resides. For a route where the destination is reachable on the other service-node's connected network, the gateway should be set to 0.0.0.0. To create a default route, both the network and netmask should be set to 0.0.0.0.
services
Optional attribute; read/write access; type: D
The network services provided by the service-node, as a dictionary, and their enabled/disabled status.
next_tcp_port
Optional attribute; read/write access; type: i
Next new local TCP port.
udp_pcbs
Optional attribute; read/write access; type: [[o|ni|si|siiiiiiioi]*]
UDP PCBs. Do not attempt to setup connections yourself using this attribute, but use functionality in each separate UDP service to do so.
udp_pcbs_all
Pseudo attribute; read-only access; type: [[o|ni|si|siiiiiiioi]*]
UDP PCBs. This attribute is identical to udp_pcbs with the exception that it can only be read and that it also includes connections that will not be checkpointed.
tcp_ticks
Optional attribute; read/write access; type: i
TCP ticks.
tcp_timer
Optional attribute; read/write access; type: i
TCP timer.
tcp_iss
Optional attribute; read/write access; type: i
TCP initial sequence number.
tcp_timer_active
Pseudo attribute; write-only access; type: i
Unused, kept for checkpoint compatibility.
tcp_pcbs
Optional attribute; read/write access; type: [[o|ni|si|siiisioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii[d*][d*][d*]]*]
TCP PCBs. Do not attempt to setup connections yourself using this attribute, but use functionality in each separate TCP service to do so.
tcp_pcbs_all
Pseudo attribute; read-only access; type: [[o|ni|si|siiisioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii[d*][d*][d*]]*]
TCP PCBs. This attribute is identical to tcp_pcbs with the exception that it can only be read and that it also includes connections that will not be checkpointed.
napt_enable
Optional attribute; read/write access; type: i
When set to non-zero, the service node will provide network address port translation as specified by RFC 3022. The current implementation can only handle TCP NAPT.
hosts
Optional attribute; read/write access; type: [[s|n,s,s,s]*]
(mac, ip, host, domain) The host database used by the DHCP and DNS servers.
host_pools
Optional attribute; read/write access; type: [[i,s,s,s[[s|n,s,s,s]*]]*]
The host database used by the DHCP and DNS servers.
host_boot_filename
Optional attribute; read/write access; type: [[ss|n]*]
Extensions to the host database with the BOOTP/DHCP boot filename. Each entry in the list is a sub list with a client IP address and the boot filename. If no entry exists in the host database for a client boots using BOOTP or DHCP, then the value of the default_boot_filename attribute is used.
default_boot_filename
Optional attribute; read/write access; type: s|n
Default boot filename supplied in replies from the BOOTP/DHCP server if no client specific filename is configured in the host_boot_filename attribute.
host_dhcp_options
Optional attribute; read/write access; type: [[s[[id]*]]*]
Extensions to the host database with client specific DHCP option values that the DHCP server uses in replies. If no client specific option exists, then the value in the default_dhcp_options attribute, if set, is used. There are also a number of built-in DHCP options that the server always replies to. A built-in option can be disabled by specifying an empty value for the option in question. Each entry in the attribute list is a sub list with a client IP address followed by yet one list with two entries: the option number and a byte array with the reply. Vendor specific options can not be defined using this attribute.
default_dhcp_options
Optional attribute; read/write access; type: [[id]*]
Extension of the build-in set of DHCP options that the DHCP server uses in replies. These default options are used if no client specific options are set in the host_dhcp_options attribute.
dhcp_leases
Optional attribute; read/write access; type: [[ssdii]*]
The active leases used by the DHCP service. The sub-entries for each lease are ip-address, mac-address, client-id, lease-time, timestamp. The lease time is given in seconds since the lease was issued.
dhcp_max_lease_time
Optional attribute; read/write access; type: i|n
The maximum lease time handed out by the DHCP server. If the value is Nil, or 0xffffffff, infinite leases are allowed.
dhcp6_serverid
Optional attribute; read/write access; type: s|d
The DUID identifying the DHCPv6 server.
dhcp6_valid_prefixes
Optional attribute; read/write access; type: [[is]*]
The IPv6 prefixes that are valid on the local link. The sub-entries for each prefix are prefix-length, ip-address. ip-address must be an IPv6 address.
dhcp6_lifetimes
Optional attribute; read/write access; type: [ii]
Preferred and valid lifetimes for IPv6 addresses.
dhcp6_dns_servers
Optional attribute; read/write access; type: [s*]
List of IPv6 addresses to DNS recursive name servers.
dhcp6_domain_search_list
Optional attribute; read/write access; type: [s*]
List of domain names representing the domain search list.
dhcp6_nis_servers
Optional attribute; read/write access; type: [s*]
List of IPv6 addresses to NIS servers.
dhcp6_nis_domain_name
Optional attribute; read/write access; type: s
The NIS domain name.
dhcp6_nisp_servers
Optional attribute; read/write access; type: [s*]
List of IPv6 addresses to NIS+ servers.
dhcp6_nisp_domain_name
Optional attribute; read/write access; type: s
The NIS+ domain name.
dhcp6_allocated_addresses
Optional attribute; read/write access; type: [[sii]*]
The allocated addresses. The sub-entries for each allocated address are address, commit-flag, decline-flag. address must be an IPv6 address.
dhcp6_clients
Optional attribute; read/write access; type: [[d[[iii[[sii]*]]*][[i[[sii]*]]*]]*]
All known clients.
allow_real_dns
Optional attribute; read/write access; type: b
If TRUE, the service node's DNS server will forward queries for unknown hosts to a real DNS server.
async_real_dns
Optional attribute; read/write access; type: b
If TRUE, the service node will forward the real DNS lookup in asynchronous mode.
tftp_sessions
Optional attribute; read/write access; type: [[iissssi]*]
The active sessions in the TFTP service. The sub-entries for each session are server TID, client TID, read/write, server IP address, client IP address, file name, last read block.
tftp_root_directory
Optional attribute; read/write access; type: s|n
The directory in which files read or written over TFTP are located. If it is null, the Simics search path is used for reading files, and uploaded files are stored in the current directory.
bootparam_udp_port
Optional attribute; read/write access; type: i
The UDP port currently used for the Sun RPC Bootparam protocol replies. For checkpointing only.
rpc_bindings
Optional attribute; read/write access; type: [[iiii]*]
List of RPC bindings (program, version, protocol, port) that are used by port mapper or RPCBIND services within the service node.
ntp_virtual_time_mode
Optional attribute; read/write access; type: b
Set if virtual time is to be used instead of host time To set a time use 'ntp_virtual_base_time'.
ntp_virtual_base_time
Pseudo attribute; read/write access; type: i
Expect a timestamp with origin from 1970-01-01. That timestamp will be used as base along with simulated time to be given at NTP requests. If no date is given then host time will be used as time.
ntp_virtual_time_setup
Optional attribute; read/write access; type: [iii]
Set virtual base time and offset to use. First argument as base time, second argument as offset in seconds and third argument as offset in nano seconds. When virtual base time is set then offset will be added. During runtime then simulated clock will drive the time.
ntp_time
Pseudo attribute; read-only access; type: i
Get current NTP time.

Provided By

service-node

service-node-device

Description

Ethernet device for the service-node class.

Interfaces Implemented

conf_object, log_object, ethernet_common, recorded

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

Pseudo attribute; read/write access; type: o|n
The network link that this service node Ethernet device is attached to.
Optional attribute; read/write access; type: o|n
The network link that this service node Ethernet device is attached to (for checkpointing).
mac_address
Optional attribute; read/write access; type: s|[iiiiii]
The MAC address used by this service node Ethernet device.
arp_table
Pseudo attribute; write-only access; type: [[ss]*]
Compatibility attribute for old checkpoints.
neighbors
Optional attribute; read/write access; type: D
The neighbor table used by this Ethernet interface.
service_node
Required attribute; read/write access; type: o
The service node that the Ethernet device is attached to.
ip_addresses
Optional attribute; read/write access; type: [s*]
The configured IP addresses for this network interface. They are on the form "addr/prefixlen" and allows both IPv4 and IPv6 addresses. This list does not include automatically assigned IP number, such as link-local IPv6 addresses.
mtu
Optional attribute; read/write access; type: i
MTU, maximum transfer unit, is the largest Ethernet payload (without Ethernet header and CRC) that will be sent out on the network without fragmentation. Default 1500.
tx_bandwidth
Optional attribute; read/write access; type: i
The transmit bandwidth of the network interface in bits per second. The network interface will limit the rate at which it sends packets to remain below this bandwidth. Default limit is 1Gbit/s.
partial_packets_v4
Optional attribute; read/write access; type: [[ddf[[dib]*]]*]
((id, ip_hdr, timestamp, (data, offset, more_flag)*)*)

IPv4 partial packets.
partial_packets_v6
Optional attribute; read/write access; type: [[ssif[[diib]*]]*]
((source_ip, dest_ip, identification, timestamp, (ip_frame, start, end, more_flag)*)*)

IPv6 partial packets.

Provided By

service-node

set-memory

Description

The set-memory device is a device used to represent memory that is all set to a specific value. For example unmapped bios area in a PC that should return -1 (all ones).

Interfaces Implemented

conf_object, log_object, io_memory, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction

Attributes

value
Optional attribute; read/write access; type: i
The byte value returned when the memory is accessed.

Provided By

set-memory

signal-bus

Description

The signal-bus class implements a signal bus that distributes a signal from one or more initiators to a configured list of targets. Both the signal bus itself and all targets implement the signal interface. The initiator must also comply to the signal interface, with the exception that multiple initiators are allowed for signal-bus class.

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

input_inverted
Optional attribute; read/write access; type: b
True if the input signal should be inverted before sent out to the connected targets. Default is False.
targets
Optional attribute; read/write access; type: [o|[o,n|s]|[o,n|s,b]*]
Signal target objects, implementing one or more instances of the signal interface. The third argument in the target sub-list can be set to True if the target should get the signal inverted.

Provided By

signal-bus

signal_to_interrupt

Description

When the signal is raised on an instance of this class the device connected to irq_dev will be interrupted on level irq_level. Similarly, when the signal is lowered the interrupt is cleared.

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

irq_dev
Required attribute; read/write access; type: o|[os]
When the signal of an instance of the signal_to_interrupt class is raised the irq_dev device will receive an interrupt with level specified by the irq_level attribute.

Required interfaces: simple_interrupt.

irq_level
Required attribute; read/write access; type: i
When the signal of an instance of the signal_to_interrupt class is raised the device specified by the irq_dev attribute will receive an interrupt at level irq_level

Provided By

signal-to-interrupt

sim

Description

The sim class represents Simics's global simulator state, such as state not tied to a specific processor, device etc.

Interfaces Implemented

conf_object, log_object, callback_describe, module_iface_wrapping, iface_wrap_instrumentation

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
cell-thread-change
Notifier that is triggered when a thread is added to or removed from a cell.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

cell_list
Pseudo attribute; read-only access; type: [o*]
The list of scheduled cells
automatic_cell_partition
Pseudo attribute; read/write access; type: b
When TRUE, standard Simics components will automatically create cells as appropriate during the instantiation of models. When set to FALSE, all objects instantiated afterwards will be assigned to a default cell, providing a timing behavior compatible with previous Simics versions (3.2 and before).
version
Optional attribute; read/write access; type: i
Version (build-id) of Simics that a configuration file was created with.
handle_outside_memory
Optional attribute; read/write access; type: b
When a physical address is accessed which is neither memory (RAM) nor a memory-mapped device, Simics will default to stop on a special breakpoint and report this, on the assumption that it is erroneous behavior. If this attribute is set to TRUE, then Simics will override the default behavior and instead handle the operation in the manner prescribed by the target architecture. For example, this might trigger a data access exception.
simics_path
Optional attribute; read/write access; type: [s*]
The value of the Simics search path. See the commands add-directory and lookup-file for additional information. The current directory is always searched before any entry in the Simics search path.
hide_console_windows
Pseudo attribute; read/write access; type: b
A flag indicating whether Simics should hide windows for consoles. Default FALSE.
fail_on_warnings
Pseudo attribute; read/write access; type: b
This attribute is deprecated, use stop_on_error instead.
stop_on_error
Pseudo attribute; read/write access; type: b
If TRUE, Simics will stop simulation and interrupt any running script when there is an error log or internal error. When running in batch mode Simics will also terminate with a nonzero exit code upon such errors. The default is FALSE. This flag is set by using the --stop-on-error command-line option.
command_log
Pseudo attribute; read/write access; type: s|n
The command log file name, if command logging is active.
event_queue_max
Optional attribute; read/write access; type: i
Maximum number of events allowed in one event queue. A large number of event in a queue is typically an indication of a problem in a simulation model. Reaching the maximum as set with this attribute causes the simulator to stop, allowing the user to inspect the content of the queues.
host_name
Pseudo attribute; read-only access; type: s
Fully qualified host name
host_arch
Pseudo attribute; read-only access; type: s
Host architecture. x86_64.
host_os
Pseudo attribute; read-only access; type: s
Host operating system. linux or windows.
host_type
Pseudo attribute; read-only access; type: s
Host type. win64 or linux64.
host_bits
Pseudo attribute; read-only access; type: s
Host bits. 64.
hap_list
Pseudo attribute; read-only access; type: [[s,s,[s+]|n,s|n,s|n,i]*]
((name, params, param_names, index, description, handlers), ...). Get list of all haps. handlers is the number of installed callbacks.
checkpoint_path
Optional attribute; read/write access; type: [s*]
File search path for previous checkpoints, used by the files attribute in the image class.
simics_base
Pseudo attribute; read-only access; type: s
Full path to the Simics base installation directory.
simics_home
Pseudo attribute; read-only access; type: s
Full path to the Simics host directory.
project
Pseudo attribute; read/write access; type: s|n
Full path to the current project directory. Returns NIL if no project directory is used. This attribute should not be written.
host_phys_mem
Pseudo attribute; read-only access; type: i
The amount of physical memory of the host in bytes.
host_virt_mem
Pseudo attribute; read-only access; type: i
The size of the virtual address space that Simics can use, in bytes.
host_num_cpus
Pseudo attribute; read-only access; type: i
The number of processors on the host.
locale_encoding
Pseudo attribute; read-only access; type: s
The character encoding used by the current locale.
filename_encoding
Pseudo attribute; read-only access; type: s
The character encoding used by host filenames.
deprecation_level
Pseudo attribute; read/write access; type: i
A level of 0 turns off all deprecation warnings. On level 1 (default) Simics will warn when features that have been deprecated in the current major release or further back are used. On level 2, Simics will warn when newly deprecated features, or features that will become deprecated, are used.
deprecation_stack_trace
Pseudo attribute; read/write access; type: b
Set to true to make Simics print a stack trace each time a deprecation error is shown. This requires that deprecations_as_errors is also set to have any effect. Default is FALSE.
session_comments
Optional attribute; read/write access; type: [[fs[[si]*]s]*]
List of time-stamped user comments for a session.
session_comments_obj
Pseudo attribute; read/write access; type: [[fo[[oi]*]s]*]
List of time-stamped user comments for a session. Similar to session_comments that is saved in session files, but with object references instead of names.
allow_core_dumps
Pseudo attribute; read/write access; type: b
If set to false (default), Simics will catch fatal signals and try to report an error. If set to true, Simics will not handle such signals, but crash and possibly generate a core file on Linux.
real_network_warnings
Pseudo attribute; read/write access; type: b
If TRUE (default), Simics will print warnings when the target system becomes accessible from the local network of the host.
force_ipv4
Optional attribute; read/write access; type: b
If TRUE, network services such as telnet and VNC in the target consoles will use IPv4 only. Default is FALSE.
ignore_error_count
Pseudo attribute; read/write access; type: i
Set this to a positive integer to make Simics ignore that number of errors messages
warnings_as_errors
Pseudo attribute; read/write access; type: b
If TRUE, warning log messages have the same effect as error log messages. The default is FALSE. This flag is set by using the --warnings-as-errors command-line option.
deprecations_as_errors
Pseudo attribute; read/write access; type: b
If TRUE, deprecation warnings have the same effect as error messages. The default is FALSE. This flag is set by using the --deprecations-as-errors command-line options.
sigtrap_on_error_log
Pseudo attribute; read/write access; type: b
If TRUE, a SIGTRAP will be sent each time an error log is output in order to be able to catch error logs with gdb or some other debugger. Only has effect on Linux host.
module_cache_enable
Pseudo attribute; read/write access; type: b
TRUE if Simics is caching information about modules.
version_compat
Pseudo attribute; read-only access; type: i
The build-id of the oldest Simics that this version can load binary modules from.
module_searchpath
Pseudo attribute; read-only access; type: [s*]
The list of directories that are scanned for Simics modules, in priority order
default_log_level
Optional attribute; read/write access; type: i
The log level used for newly created objects.
max_worker_threads
Pseudo attribute; read/write access; type: i|n
Maximum number of worker threads. NIL (the default value) means that Simics will automatically calculate a value based on the host configuration. There must be at least one worker thread in the system.
use_jit_threads
Pseudo attribute; read/write access; type: b
Determines if the JIT engine should use worker threads to help with binary translation.
page_sharing
Optional attribute; read/write access; type: b
Controls page sharing mechanism, useful when simulating multiple similar machines. If this feature is enabled, pages with identical contents will be shared across the system just keeping one copy instead of multiple, resulting in host memory reduction. A page is detected as identical the first time it is accessed or executed.
page_sharing_savings
Pseudo attribute; read-only access; type: i
How much memory (in bytes) that currently have been saved due to the page sharing mechanism
page_sharing_page_size
Pseudo attribute; read-only access; type: i
How large (in bytes) each page are that are shared. This is a compile time constant, typically 4K or 8K.
do_global_page_sharing
Pseudo attribute; read-only access; type: i
When read, Simics will go through all active pages in the system and replace identical pages with a one read-only copy-on-write page. The amount of freed memory due to this operation is returned.
breakpoints
Pseudo attribute; read/write access; type: [[iiiiiiisssso[i*]]*]
((id, type, access, hits, activate_at, active, flags, prefix, substr, strpattern, strmask, object, handle*)*) List of memory breakpoints currently set. id is the breakpoint id as returned by SIM_breakpoint. type is 0 for physical, 1 for virtual, 2 for linear (x86), and 3 for I/O space (x86). access is the access type, three bits that can be combined - read (bit 0), write (bit 1), or execute (bit 2). hits is how many times the breakpoint has been hit (including hits when the breakpoint is disabled). activate_at tells how many times the breakpoints must be hit to be activated. flags is the matching flags (see the breakpoint_flag_t type). Simics can break on instructions with a certain prefix or sub-string. prefix and substr are the strings to use. strpattern and strmask tells if the breakpoints should break on instructions with a specified bit-pattern. First the mask will be applied to the instruction and then the result will be compared with the pattern. For instance if pattern is "0x0100" and mask is "0x0101" the breakpoint will only be triggered for instructions whose first byte has the lowest bit set and the second not. prefix, substr and pattern/mask works only for execution breakpoints and if more than one is set all must be satisfied to trigger the breakpoint. The object together with the list of handles identify the breakpoint in the handling object. This attribute can only be used to modify existing breakpoints, not to create new or to delete breakpoints.
batch_mode
Pseudo attribute; read/write access; type: b
If TRUE, Simics will exit when all scripts specified on the command line have been executed (successfully or not); if FALSE, Simics will return to prompt when the scripts are finished. Default is FALSE. The -batch-mode command line argument set this to TRUE.
echo
Pseudo attribute; read/write access; type: b
If TRUE, Simics will print out all the commands it executes on the console; if FALSE, Simics will stay quiet. Default is FALSE. The -echo command line argument set this to TRUE.
time_quantum
Pseudo attribute; read/write access; type: f
Default length of the time quantum in seconds, or Invalid if not set, or if it is unset. Setting this attribute unsets the cpu_switch_time attribute. Symmetrically, this attribute is unset if the cpu_switch_time is set.
cpu_switch_time
Pseudo attribute; read/write access; type: i
Default length of the time quantum in cycles of the first processor in the cell, or Invalid if not set, or if it is unset. Setting this attribute unsets the time_quantum attribute. Symmetrically, this attribute is unset if the time_quantum is set.
data_stc_enabled
Pseudo attribute; read/write access; type: b
If TRUE, the internal 'Data Simulator Translation Cache' (DSTC) is enabled. If FALSE, it is disabled. Default is enabled. The DSTC improves Simics performance by caching logical to real translation of commonly used memory addresses. The command line arguments -dstc and -stc set this to TRUE. The command line arguments -no-dstc and -no-stc set this to FALSE.
instruction_stc_enabled
Pseudo attribute; read/write access; type: b
If TRUE, the internal 'Instruction Simulator Translation Cache' (ISTC) is enabled. If FALSE, it is disabled. Default is enabled. The ISTC improves Simics performance by caching logical to real translation of commonly used jumps. The command line arguments -istc and -stc set this to TRUE. The command line arguments -no-istc and -no-stc set this to FALSE.
cpu_tick
Pseudo attribute; read/write access; type: [i|n*]
Host ticks per simulated processor. Index i in the list corresponds to the processor with number i. Set to an integer to start counting. Set to nil to disable counting. Processors beyond the length of the list will have counting disabled.
missed_cpu_ticks
Pseudo attribute; read-only access; type: i
CPU ticks that did not have a executing processor.
cell_ticks
Pseudo attribute; read-only access; type: [[o|ni]*]
Host ticks per simulated cell. ((cell_object|Nil), ticks)* The Nil entry identifies ticks recorded outside cells.
cell_tick_enable
Pseudo attribute; read/write access; type: b
Enables the cell tick counting, measuring which cells that execute most. The result of the measurement is found in the cell_ticks attribute. Switching from FALSE to TRUE will remove any old results.
current_frontend_object
Optional attribute; read/write access; type: o|n
Currently selected object in the command line environment.
host_ipv4
Pseudo attribute; read-only access; type: s|n
The ipv4 address of the host.
host_ipv6
Pseudo attribute; read-only access; type: s|n
The ipv6 address of the host.
package_list
Pseudo attribute; read-only access; type: s|n
Package list file used in this session (if any).

Provided By

Simics Core

simics-uefi

Description

PCI Express device with Simics meta-data

Interfaces Implemented

conf_object, log_object, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.pcie_config
simics-uefi.pcie_config
port.HRESET
simics-uefi.HRESET
port.phy
simics-uefi.phy

Commands for this class

Attributes

caps_accesses
Pseudo attribute; read-only access; type: i
Number of accesses to capabilities data
detected_video_modes
Pseudo attribute; read/write access; type: [s*]|s
Video modes that were detected during BIOS run
package_data
Pseudo attribute; read-only access; type: [i*]
Package data stored in capabilities
selected_boot_option
Optional attribute; read/write access; type: s|n
Boot device that shall get maximum priority
video_mode
Optional attribute; read/write access; type: i
Video mode to be set during boot

Provided By

simics-uefi

simics-uefi.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

simics-uefi.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

simics-uefi.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

simics_nvme_controller

Description

A generic NVMe I/O controller over PCIe with support multiple namespaces. Implements all mandatory features, commands and registers with the following limitations:The following optional registers are implemented:

Interfaces Implemented

conf_object, log_object, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.msix_data
simics_nvme_controller.msix_data
bank.pcie_config
simics_nvme_controller.pcie_config
bank.properties
simics_nvme_controller.properties
port.HRESET
simics_nvme_controller.HRESET
port.SRESET
simics_nvme_controller.SRESET
port.phy
simics_nvme_controller.phy

Commands for this class

Attributes

SN
Optional attribute; read/write access; type: s
The serial number for the NVM subsystem as an ASCII string.
bandwidth
Optional attribute; read/write access; type: i
The read/write speed of the NVMe disk, provided in MB/s. 0 means instant read/write:s, which is the default value
disk_size
Optional attribute; read/write access; type: i
The total size of the NVMe disk
images
Optional attribute; read/write access; type: [o|[os]|n{0:1024}]
Namespace images

Required interfaces: image.

namespace_sizes
Optional attribute; read/write access; type: [i*]
Size of the respective namespaces

Provided By

simics-nvme-controller

simics_nvme_controller.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

simics_nvme_controller.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

simics_nvme_controller.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

simics_nvme_controller.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

simics_nvme_controller.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

simics_nvme_controller.properties

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

simicsfs_server

Description

The SimicsFS server allows a SimicsFS client in the target system to mount all or parts of the host file system.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

simicsfs-server

simple-byte-dump

Description

A simple device that dumps all bytes written to a particular location in memory to a file specified by the "filename" attribute.

Interfaces Implemented

conf_object, log_object, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

filename
Optional attribute; read/write access; type: s|n
Filename to write bytes to. If not set, or set to Nil, anything written is discarded.

Provided By

simple-byte-dump

simple-scsi-disk

Description

Simple model of a SCSI disk for use with a SCSI controller. This model is not intended to be connected to a SCSI bus.

Interfaces Implemented

conf_object, log_object, simple_scsi_target

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

controller
Required attribute; read/write access; type: o
Name of the controller that this disk is connected to.
geometry
Required attribute; read/write access; type: [iii]
The geometry of the disk. ()
image
Required attribute; read/write access; type: o
The image object holding the actual data of the disk. This object must implement the 'image' interface.
mode_pages
Optional attribute; read/write access; type: [[i*]*]
Mode pages for the disk.
vpd_pages
Optional attribute; read/write access; type: [[i*]*]
VPD pages for the disk.
vendor
Optional attribute; read/write access; type: s
Vendor name of the disk.
model
Optional attribute; read/write access; type: s
Model name of the disk.
revision
Optional attribute; read/write access; type: s
Revision string of the disk.
vendor_specific_id
Optional attribute; read/write access; type: s
Vendor Specific string for the disk - often used as serial id.
sense_key
Optional attribute; read/write access; type: i
Current Sense Key code.
sectors_read
Pseudo attribute; read-only access; type: i
Number of sectors read in the current simulation session.
sectors_written
Pseudo attribute; read-only access; type: i
Number of sectors written in the current simulation session.
queue_length
Optional attribute; read/write access; type: i
Length of SCSI command queue (not implemented).
sector_data
Pseudo attribute; read/write access; type: Unknown
Can be used to access a sector (512 bytes) on the disk.
scsi_commands
Pseudo attribute; read-only access; type: Unknown
Pseudo attribute returning the SCSI command name (as a string) given an integer index representing the command.
scsi_standard
Optional attribute; read/write access; type: i
(Internal) Set SCSI standard to 2 or 3. Default value depends on device type.

Provided By

simple-scsi-disk

simple-tty

Description

A simple serial device.

Interfaces Implemented

conf_object, log_object, serial_device, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

console
Optional attribute; read/write access; type: o|n
Name of a console object that implements the 'serial_device' interface. This object is used for character input and output.
input_buffer
Optional attribute; read/write access; type: [i*]
The input buffer.
output_buffer
Optional attribute; read/write access; type: [i*]
The output buffer.

Provided By

simple-tty

simple_cache

Description

Simple cache structure

Interfaces Implemented

conf_object, log_object, simple_cache, table

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface table

Attributes

cache_block_size
Required attribute; read/write access; type: i
cache_block_size
cache_set_number
Required attribute; read/write access; type: i
cache_set_number
cache_ways
Optional attribute; read/write access; type: i
cache_ways
read_penalty
Optional attribute; read/write access; type: i
Read penalty
write_penalty
Optional attribute; read/write access; type: i
Write penalty
read_miss_penalty
Optional attribute; read/write access; type: i
Read miss penalty
write_miss_penalty
Optional attribute; read/write access; type: i
Write miss penalty, also read for ownership penalty.
snoop_penalty
Optional attribute; read/write access; type: i
Extra penalty for issuing snooping transaction.
stat_data_write
Pseudo attribute; read-only access; type: i
n. of writes
stat_data_write_miss
Pseudo attribute; read-only access; type: i
n. of writes misses
stat_data_write_back
Pseudo attribute; read-only access; type: i
n. of writes
stat_data_write_back_miss
Pseudo attribute; read-only access; type: i
n. of writes misses
stat_data_read
Pseudo attribute; read-only access; type: i
n. of reads
stat_data_read_miss
Pseudo attribute; read-only access; type: i
n. of reads misses
stat_data_prefetch
Pseudo attribute; read-only access; type: i
n. of prefetches
stat_data_prefetch_miss
Pseudo attribute; read-only access; type: i
n. of prefetch misses
stat_data_prefetch_read_for_ownership
Pseudo attribute; read-only access; type: i
n. of read for ownership prefetches
stat_data_prefetch_read_for_ownership_miss
Pseudo attribute; read-only access; type: i
n. of read for ownership prefetch misses
stat_data_read_for_ownership
Pseudo attribute; read-only access; type: i
n. of read for ownership
stat_data_read_for_ownership_miss
Pseudo attribute; read-only access; type: i
n. of read for ownership misses
stat_instr_fetch_miss
Pseudo attribute; read-only access; type: i
n. of instr miss
stat_instr_fetch
Pseudo attribute; read-only access; type: i
n. of instr
evicted_modified
Pseudo attribute; read-only access; type: i
n. of eviction of modified data
evicted_total
Pseudo attribute; read-only access; type: i
n. of total eviction.
stat_prefetches_used
Pseudo attribute; read-only access; type: i
n. of prefetched lines used.
next_level
Optional attribute; read/write access; type: o|n
next hierarchy object
prev_level
Optional attribute; read/write access; type: [o|n*]|n
Previous caches in hierarchy
level
Optional attribute; read/write access; type: i
Cache level 1 - N
policy
Optional attribute; read/write access; type: s
Cache policy, either 'inclusive', 'exclusive', or 'nine' which is default
ip_read_prefetcher
Optional attribute; read/write access; type: b
Use instruction pointer based read stride prefetcher.
ip_write_prefetcher
Optional attribute; read/write access; type: b
Use instruction pointer based write stride prefetcher.
prefetch_additional
Optional attribute; read/write access; type: i
Additional consecutive lines to prefetch
prefetch_adjacent
Optional attribute; read/write access; type: b
Prefetch the adjacent cache line as well so the total fetch region is block size * 2, naturally aligned.
cache_conn
Pseudo attribute; read/write access; type: o
The instrumentation connection
write_allocate
Pseudo attribute; read/write access; type: b
If TRUE, write misses reads the cache line first, and then the line is modified, otherwise write through on write miss.
write_back
Pseudo attribute; read/write access; type: b
If TRUE, modified cache line is written back to memory when line is flushed, otherwise write through.
meta_content
Pseudo attribute; read-only access; type: [[iiiii]*]
Cache meta content for each line: [State, tag, accessed, in prefetch stride, prefetched line].State is encoded as: 0 in Invalid, 1 is Shared, 2 is Exclusive, and 3 is Modified.
directory
Pseudo attribute; read/write access; type: o|n
Directory controlling this cache level
cpu
Pseudo attribute; read/write access; type: o|n|[o*]
The cpus connected to the cache

Provided By

simple-cache-tool

simple_cache_connection

Description

Instrumentation connection

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

dcache
Pseudo attribute; read/write access; type: o|n
next hierarchy object
icache
Pseudo attribute; read/write access; type: o|n
next hierarchy object
cpu
Pseudo attribute; read-only access; type: n|o
to read out the provider
tool
Pseudo attribute; read-only access; type: n|o
The cache tool of the connection
issue_instructions
Pseudo attribute; read/write access; type: b
If set the connection will issue instruction accesses to the added instruction cache. If the cache block is the same as last access, no issue will be done.
uncachable_reads
Pseudo attribute; read/write access; type: i
Number of uncachable read accesses done.
uncachable_writes
Pseudo attribute; read/write access; type: i
Number of uncachable write accesses done.
prefetch_instructions
Pseudo attribute; read/write access; type: i
Number of prefetch instructions.
cache_all_flush_instructions
Pseudo attribute; read/write access; type: i
Number of flush entire cache instructions.
cache_line_flush_instructions
Pseudo attribute; read/write access; type: i
Number of cache line flush instructions.

Provided By

simple-cache-tool

simple_cache_tool

Description

Empty tool to create a connection

Interfaces Implemented

conf_object, log_object, instrumentation_tool

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

connections
Pseudo attribute; read-only access; type: [o*]
List of connection sub-objects used.
cycle_staller
Pseudo attribute; read/write access; type: o|n
Cycle staller object.

Provided By

simple-cache-tool

simple_directory

Description

Directory controlling a particular cache level a in coherent cache configuration.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

next_directory
Optional attribute; read/write access; type: o|n
Directory of next level

Provided By

simple-cache-tool

simple_i2c_device

Description

Simple I2C slave device implementing both i2c_bus and i2c_slave_v2 interfaces. It can be used for testing.

Interfaces Implemented

conf_object, log_object, i2c_device, i2c_slave_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

address
Required attribute; read/write access; type: i
Address on the i2c bus.
read_value
Optional attribute; read/write access; type: i
Value to return on reads.
written_value
Optional attribute; read/write access; type: i
Last byte written to this device.

Provided By

simple-i2c-device

simple_pcie_device

Description

A simple PCIe device that can be used for testing.

Interfaces Implemented

conf_object, log_object, io_memory, pci_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.pci_config
simple_pcie_device.pci_config – The PCI configuration space.

Commands for this class

Attributes

address
Optional attribute; read/write access; type: i
Transaction address in PCI memory.
config_registers
Pseudo attribute; read-only access; type: [i*]
The PCI configuration registers, each 32 bits in size.
data
Optional attribute; read/write access; type: d
Read/write transaction data from/to PCI memory.
expansion_rom_size
Optional attribute; read/write access; type: i
The size of the expansion ROM mapping.
pci_bus
Optional attribute; read/write access; type: o|[os]|n
The PCI bus this device is connected to, implementing the pci-bus interface.

Required interfaces: io_memory, pci_bus, pci_express.

size
Optional attribute; read/write access; type: i
Transaction size in PCI memory.

Provided By

simple-pcie-device

simple_pcie_device.pci_config

Description

The PCI configuration space.

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Attributes

bist
Optional attribute; read/write access; type: i
Build-in Self Test
cache_line_size
Optional attribute; read/write access; type: i
CacheLine Size
capabilities_ptr
Pseudo attribute; read/write access; type: i
Capabilities Pointer
cardbus_cis_ptr
Optional attribute; read/write access; type: i
Cardbus CIS Pointer
class_code
Optional attribute; read/write access; type: i
Class Code
command
Optional attribute; read/write access; type: i
Command Register
device_id
Optional attribute; read/write access; type: i
Device ID
header_type
Optional attribute; read/write access; type: i
Header Type
interrupt_line
Optional attribute; read/write access; type: i
Interrupt Line
interrupt_pin
Optional attribute; read/write access; type: i
Interrupt Pin
interrupts
Optional attribute; read/write access; type: i
Raised _internal_ interrupts
latency_timer
Optional attribute; read/write access; type: i
Latency Timer
max_lat
Optional attribute; read/write access; type: i
MAX_LAT
min_gnt
Optional attribute; read/write access; type: i
MIN_GNT
revision_id
Optional attribute; read/write access; type: i
Revision ID
status
Optional attribute; read/write access; type: i
Status Register
subsystem_id
Optional attribute; read/write access; type: i
Subsystem ID
subsystem_vendor_id
Optional attribute; read/write access; type: i
Subsystem Vendor ID
vendor_id
Optional attribute; read/write access; type: i
Vendor ID

size_histogram_connection

Description

sub class for instruction-histogram

Interfaces Implemented

conf_object, log_object, instrumentation_connection, table, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface table

Attributes

histogram
Pseudo attribute; read-only access; type: [[s|ii]*]
((instruction, counter)*)* instruction histogram
cpu
Pseudo attribute; read/write access; type: o
the processor being monitored
clear
Pseudo attribute; write-only access; type: b
When this attribute is set, the current histogram statistics is removed.
parent
Pseudo attribute; read/write access; type: o
Parent object for this connection.

Provided By

instruction-histogram

sja1000_can

Description

The sja1000_canclass provides a model of SJA1000 which is a stand-alone controller for the Controller Area Network (CAN)

Interfaces Implemented

conf_object, log_object, can_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.regs
sja1000_can.regs
bank.regs_acceptance
sja1000_can.regs_acceptance
bank.regs_basic
sja1000_can.regs_basic
bank.regs_peli
sja1000_can.regs_peli
port.HRESET
sja1000_can.HRESET
port.SRESET
sja1000_can.SRESET

Commands for this class

Attributes

Optional attribute; read/write access; type: o|[os]|n
CAN link

Required interfaces: can_link.

pos_free_rxfifo
Optional attribute; read/write access; type: i
Start position of free RXFIFO.
signal_raised
Optional attribute; read/write access; type: b
Interrupt is currently raised

Provided By

sja1000-can

sja1000_can.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sja1000_can.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

sja1000_can.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sja1000_can.regs_acceptance

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sja1000_can.regs_basic

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sja1000_can.regs_peli

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

sparse-memory

Description

A memory in which every address can contain a byte or be empty. To be used, for example, when testing devices that do DMA. Empty addresses can be written, but not read. The memory can optionally be sized.

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface transaction

Attributes

size
Optional attribute; read/write access; type: i|n
The size of the memory
mem
Optional attribute; read/write access; type: [[id]*]
The chunks of data, a sorted list of discrete and non-adjacent [offset, data] pairs.

Provided By

sparse-memory

spi_checker

Description

This object checks the communication between a SPI master and slave, and reports test failures if any of the objects breaches the SPI protocol. The spi_checker implements both the SPI master and slave interfaces, and should be used as a proxy between these. You should initially set the 'slave' attribute of the spi_checker to the slave object you wish to check, and then connect the spi_checker object as a slave to the spi_master object.

Interfaces Implemented

conf_object, log_object, serial_peripheral_interface_master, serial_peripheral_interface_slave

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

master
Pseudo attribute; read-only access; type: o
active
Optional attribute; read/write access; type: b
True while an SPI transaction is active, lowered to False after a transaction's last SPI request from the master device.
slave
Required attribute; read/write access; type: o
The connected slave device
slave_expected_size
Optional attribute; read/write access; type: i|n
If this is a number, we expect the next operation to be a response of this size from the slave.

Provided By

spi_checker

sr_histogram

Description

Tool for collecting service-routine histograms.

Interfaces Implemented

conf_object, log_object, instrumentation_tool, table

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface table

Provided By

simics-inspector

sr_histogram_connection

Description

Instrumentation connection.

Interfaces Implemented

conf_object, log_object, instrumentation_connection, probe_index

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

simics-inspector

sr_ticks

Description

Tool for measuring the time spent in each service-routine.

Interfaces Implemented

conf_object, log_object, instrumentation_tool, table

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface table

Provided By

simics-inspector

sr_ticks_connection

Description

Instrumentation connection.

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

simics-inspector

standard-pcie-switch

Description

A standard PCIe switch with 4 downstream slots that contains the mandatory capabilities for a PCIe function in all ports.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

dsp[0..3]
standard-pcie-switch.dsp
usp
standard-pcie-switch.usp

Commands for this class

Provided By

standard-pcie-switch

standard-pcie-switch.dsp

Interfaces Implemented

conf_object, log_object, pcie_device, pcie_hotplug_events, pcie_link_training, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.msix_data
standard-pcie-switch.dsp.msix_data
bank.pcie_config
standard-pcie-switch.dsp.pcie_config
downstream_port
pcie-downstream-port – This class manages the downstream address spaces and connected devices for PCIe switches and Root Complexes
downstream_translators.port.cfg
standard-pcie-switch.dsp.downstream_translators.cfg
downstream_translators.port.io
standard-pcie-switch.dsp.downstream_translators.io
downstream_translators.port.mem
standard-pcie-switch.dsp.downstream_translators.mem
downstream_translators.port.msg
standard-pcie-switch.dsp.downstream_translators.msg
port.HRESET
standard-pcie-switch.dsp.HRESET
port.upstream_message
standard-pcie-switch.dsp.upstream_message – consumes Upstream PCIe Messages
port.upstream_message_router
standard-pcie-switch.dsp.upstream_message_router

Commands for interface transaction_translator

standard-pcie-switch.dsp.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

standard-pcie-switch.dsp.downstream_translators.cfg

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

standard-pcie-switch.dsp.downstream_translators.io

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

standard-pcie-switch.dsp.downstream_translators.mem

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

standard-pcie-switch.dsp.downstream_translators.msg

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

standard-pcie-switch.dsp.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

standard-pcie-switch.dsp.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

standard-pcie-switch.dsp.upstream_message

Description

consumes Upstream PCIe Messages

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

standard-pcie-switch.dsp.upstream_message_router

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

standard-pcie-switch.usp

Interfaces Implemented

conf_object, log_object, pcie_device, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.msix_data
standard-pcie-switch.usp.msix_data
bank.pcie_config
standard-pcie-switch.usp.pcie_config
downstream_port
pcie-downstream-port – This class manages the downstream address spaces and connected devices for PCIe switches and Root Complexes
downstream_translators.port.cfg
standard-pcie-switch.usp.downstream_translators.cfg
downstream_translators.port.io
standard-pcie-switch.usp.downstream_translators.io
downstream_translators.port.mem
standard-pcie-switch.usp.downstream_translators.mem
downstream_translators.port.msg
standard-pcie-switch.usp.downstream_translators.msg
port.HRESET
standard-pcie-switch.usp.HRESET
port.phy
standard-pcie-switch.usp.phy
port.upstream_message
standard-pcie-switch.usp.upstream_message – consumes Upstream PCIe Messages
port.upstream_message_router
standard-pcie-switch.usp.upstream_message_router

Commands for interface transaction_translator

standard-pcie-switch.usp.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

standard-pcie-switch.usp.downstream_translators.cfg

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

standard-pcie-switch.usp.downstream_translators.io

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

standard-pcie-switch.usp.downstream_translators.mem

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

standard-pcie-switch.usp.downstream_translators.msg

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

standard-pcie-switch.usp.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

standard-pcie-switch.usp.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

standard-pcie-switch.usp.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

standard-pcie-switch.usp.upstream_message

Description

consumes Upstream PCIe Messages

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

standard-pcie-switch.usp.upstream_message_router

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction_translator

state-assertion

Description

The state-assertion extension provides the possibility to record the state of various devices at regular interval, to be able to compare it to a later run.
When creating trace assertion information, the general scheme is the following:
- use state-assertion-create-file to open the file where the data will be saved. This will also create a state-assertion object.
- use <state-assertion>.add to specify the objects to assert as well as the amount of steps between each assertion.
- use <state-assertion>.start to begin the assertion. From now on, continuing the simulation will record information into the file.
- use <state-assertion>.stop to empty the buffers and close the file.
When using state-assertion information to compare against the current run, you should:
- use state-assertion-open-file to open the file containing the state information you want to use.
- use <state-assertion>.start when you want to begin the comparison. The comparison is stopped automatically when no data is available. If states differ, the simulation is stopped and the differences are displayed.
It is also possible to connect directly two Simics instead of using a file, with the functions state-assertion-receive and state-assertion-connect. The recording/comparison is then executed directly.

Interfaces Implemented

conf_object, log_object, snoop_memory, timing_model

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

create
Pseudo attribute; write-only access; type: [sisiii]
This is a pseudo-attribute that should not be used directly. It creates a state assertion file for recording.
open
Pseudo attribute; write-only access; type: [siii]
This is a pseudo-attribute that should not be used directly. It creates a state assertion file for recording.
add
Pseudo attribute; write-only access; type: [oiiso|n]
This is a pseudo-attribute that should not be used directly. It adds an object to the state assertion queue.
addmemlis
Pseudo attribute; write-only access; type: [s]
This is a pseudo-attribute that should not be used directly. It adds a memory listener in the state-assertion queue.
start
Pseudo attribute; write-only access; type: i
This is a pseudo-attribute that should not be used directly. It starts the state assertion.
fforward
Pseudo attribute; write-only access; type: [si]
This is a pseudo-attribute that should not be used directly. It fast-forwards the assertion process.
stop
Pseudo attribute; write-only access; type: i
This is a pseudo-attribute that should not be used directly. It stops the assertion process.
flush
Pseudo attribute; write-only access; type: i
Set attribute to flush buffered output (value should be 1).
info
Pseudo attribute; write-only access; type: i
This is a pseudo-attribute that should not be used directly. It provides information on the objects asserted.
status
Pseudo attribute; write-only access; type: i
This is a pseudo-attribute that should not be used directly. It provides runtime information on the assertion process.
lsize
Pseudo attribute; read-only access; type: i
This is a fake line size for the memory hierarchy system.
manual_handler
Pseudo attribute; write-only access; type: o
When this attribute is set, state-assertion reacts as if an event had occur for a specific object.
object_remap
Pseudo attribute; read/write access; type: [[so]*]
This attribute controls remapping of objects. Each sublist contains one string with the name of an object in the trace we are asserting against and the other element is the corresponding object in the current configuration.

Provided By

state-assertion

step-counter-extension

Description

The step-counter-extension extension class is used to augment objects with a step interface.

Interfaces Implemented

step

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

vtime.steps
fixed-clock – step queue

Commands for interface step

Provided By

Simics Core

subsystem-namespace

Description

Extension class that defines an attribute for storing meta-data about the sub-system.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

blueprint
Required attribute; read/write access; type: s
The blueprint that created the hierarchy
icon
Optional attribute; read/write access; type: s
The system icon filename.
info
Optional attribute; read/write access; type: s
The system information.

Provided By

blueprints

sync_domain

Description

A controller object for a group of synchronized nodes.

Interfaces Implemented

conf_object, log_object, sync_domain_controller, sync_initial_time, link_config, sync_node, link_route, dist_control, dist_control_node, temporal_state

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

sync_domain
Optional attribute; read/write access; type: o|n
Parent synchronization domain.
nodes
Pseudo attribute; read-only access; type: [o*]
The nodes that belongs to this group. All objects in the list must implement the sync_node interface.
min_latency
Optional attribute; read/write access; type: f
The minimum latency that can be used for communication between nodes in this domain, in seconds. Use the set-min-latency command.
stop_time
Pseudo attribute; read-only access; type: f|n
The latest allowed time in this domain.
report_time
Pseudo attribute; read-only access; type: f|n
The report time in this domain.

Provided By

Simics Core

system_panel_bool

Description

control panel signal state objects

Interfaces Implemented

conf_object, log_object, signal, system_panel_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

panel
Required attribute; read/write access; type: o|[os]
System Panel

Required interfaces: system_panel.

target
Optional attribute; read/write access; type: o|[os]|n
Object to which state changes are propagated. The current state is sent to the target object via the signal interface whenever it is changed to a new value. This can either happen by input from another configuration object via the signal interface, or by user input from the system panel frontend.

Required interfaces: signal.

Provided By

system-panel

system_panel_number

Description

control panel number state

Interfaces Implemented

conf_object, log_object, system_panel_object, uint64_state

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

panel
Required attribute; read/write access; type: o|[os]
System Panel

Required interfaces: system_panel.

restriction
Optional attribute; read/write access; type: n|i
If set to a nonnegative integer value, input values greater or equal to this value are forbidden and will cause an error log. If set to nil, any integer is accepted as input. A restriction makes it possible to use the object for widgets that only support a limited range.
target
Optional attribute; read/write access; type: o|[os]|n
Object to which numeric state is propagated. The current state is sent to the target object via the uint64_state interface whenever it is changed to a new value. This can either happen by input from another object via the uint64_state interface, or by user input from the system panel frontend.

Required interfaces: uint64_state.

Provided By

system-panel

system_panel_state_manager

Description

Store panel objects whose state have changed, and propagate them to frontend when ready.

Interfaces Implemented

conf_object, log_object, recorded, system_panel, system_panel_state_manager

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

notification_sent
Pseudo attribute; read/write access; type: b
This flag indicates if state changes notification has been sent to front end. If true, means state changes existed locally and the notification of the changes has been sent to front end.
panel_component
Required attribute; read/write access; type: o|[os]
The containing component. Used to look up slot names for panel input.

Required interfaces: component.

use_recorder
Optional attribute; read/write access; type: b
If this attribute is true, the recorder is used for all input. If this is false, the recorder is bypassed.

Provided By

system-panel

tcf-agent

Description

This class implements the Simics Debugger API. The class can be instantiated at most one time. Do not create this instance manually. Use SIM_get_debugger instead.

Interfaces Implemented

conf_object, log_object, tcf_channel, tcf_trace, agent_proxy_finder, tcf_pathmap, tcf_memorymap, tcf_pe, tcf_elf, debug_config, debug_notification, debug_query, debug_symbol, debug_symbol_file, debug_setup, debug_step, debug_internal, tcf_serial_tap, tcf_breakpoints, tcf_target_identification

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

parameters
Pseudo attribute; read-only access; type: s
Parameter for the TCF agent.
properties
Pseudo attribute; read-only access; type: D|n
Properties for the TCF peer.
stepping_option
Pseudo attribute; read/write access; type: i
Option on how stepping over and stepping out is handled:
  • 0 - Breakpoint on function exit address. Longjmp or C++ exceptions might not work correctly. Fastest and default.
  • 1 - Breakpoint on return instructions, handles longjmp and C++ exceptions. Only works on x86-based architectures. Slower.
  • 2 - No breakpoints, handles longjmp and C++ exceptions, but can be really slow for long steps.

Provided By

tcf-agent

tcf-context-proxy

Description

TCF Context Proxy

Interfaces Implemented

conf_object, log_object, symdebug, run_control

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface symdebug

Attributes

agent
Required attribute; read/write access; type: o
The TCF agent owning the TCF context this object is a proxy for
cid
Required attribute; read/write access; type: s
The TCF context ID for the context this object is a proxy for
desc
Required attribute; read/write access; type: [so]|[soi]
Description of what this object is a proxy for. Either ["simobj", object] or ["sw-node", software object, node ID].

Provided By

tcf-agent

tcf-serial-tee

Description

This class forwards data written to the 'serial_device' interface to the 'tcf_tap_iface' interface if TCF exists, and to the 'serial_device' interface of the 'out' attribute if this set to an object.

Interfaces Implemented

conf_object, log_object, serial_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

in
Required attribute; read/write access; type: o
The serial device this object forwards from.
out
Required attribute; read/write access; type: o|n
The serial device this object forwards to.

Provided By

tcf-agent

tcp-server

Description

External connection server for TCP/IP sockets

Interfaces Implemented

conf_object, log_object, external_connection_ctl, tcp_connection_info

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

client
Required attribute; read/write access; type: o
Client object, which must implement the external_connection_events interface.
new_port_if_busy
Optional attribute; read/write access; type: b
Determines if a new TCP port may be used when the given port is already busy. The default value is TRUE. It may be set to FALSE for setups that rely on the same port being used all the time.
port
Optional attribute; read/write access; type: i|n
Return the TCP listening port used by the server, or NIL if no port is open. The port must not be privileged, i.e. the allowed range is [1024, 65535]. Specifying a value of 0 means that a random free port will be used and specifying NIL results in the server closing down.

Provided By

external-connection

tcp_server

Description

An example of a TCP server.

Interfaces Implemented

conf_object, log_object, recorded

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

port
Optional attribute; read/write access; type: i
TCP port number to listen on. If 0 or omitted, an available port is chosen when the object is created.
recipient
Required attribute; read/write access; type: o
Object receiving the data. It must implement the tcp_served interface.
recorder
Required attribute; read/write access; type: o
Recorder object.

Provided By

notifier-example

telemetry_manager

Description

Manager for telemetry collected by Simics.

Interfaces Implemented

conf_object, log_object, telemetry_manager

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

simics-telemetry

telnet_frontend

Description

Class implementing telnet access to the Simics command line. The telnet_frontend should only be used in a secure environment since the port is open for telnet access from any user.

Interfaces Implemented

conf_object, log_object, terminal_client, external_connection_events

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

tcp
tcp-server – telnet-frontend TCP server
unix_socket
unix-socket-server – telnet-frontend Unix domain socket server

Commands for this class

Attributes

max_connections
Optional attribute; read/write access; type: i
The maximum number of allowed telnet connections. Once this number of connections have been created, no further ones are accepted until the num_connections attribute is reset. If the value is zero, no limit is set.
interactive
Optional attribute; read/write access; type: b
Set to TRUE, default, if future telnet connections will be interactive and FALSE if not. Non-interactive connections are useful for scripted control of the command line since no formatting and color codes are used and the prompt is always synchronous.
plain_text
Optional attribute; read/write access; type: b
Set to TRUE if future telnet connections only should use plain text without any formatting and color codes in the output. Default is FALSE.
num_connections
Pseudo attribute; read/write access; type: i
The number of connections done so far since the object was created or the count was reset by a write to this attribute.

Provided By

telnet-frontend

terminal_frontend

Description

(Internal) The terminal_frontend class provides access to a Simics command line using a generic VT100/ANSI interface. Input and output to the user is handled by a separate object, specified by the frontend attribute, that must implement the terminal_client interface and communicate with the terminal_frontend object using the terminal_server interface.

Interfaces Implemented

conf_object, log_object, terminal_server, cmd_line_frontend

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

frontend
Required attribute; read/write access; type: o|n
Object responsible for presenting terminal output to the user and reading input. This object must implement the terminal_client interface.
session_id
Required attribute; read/write access; type: i
The identifier of the session in the object specified by the frontend attribute. Needed since such objects may have multiple concurrent sessions active.
interactive
Optional attribute; read/write access; type: b
Set to TRUE (default) if the command line is interactive.
primary
Optional attribute; read/write access; type: b
Set to TRUE (default) if the command line is a primary one. In a primary command line the quit command will terminate the Simics process, something not allowed in secondary command-lines such as the telnet-frontend.
colorize
Optional attribute; read/write access; type: b
Set to TRUE if the output should contain color and other formatting escape sequences. The colorize_default attribute is used as the initial value.

Class Attributes

colorize_default
Pseudo attribute; read/write access; type: b
Default value for the colorize attribute when new objects are created.

Provided By

Simics Core

test_cdrom_media_wrapper

Description

Test device for ISO9660 image CD-ROM support

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

test-cdrom-media-wrapper

test_generic_message_device

Description

obsolete generic-message-link sample device

Interfaces Implemented

conf_object, log_object, generic_message_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

address
Required attribute; read/write access; type: i
Address of the device itself on the link.
dest_address
Optional attribute; read/write access; type: [ii]
Destination address for the messages (default is [0,0]).
value
Optional attribute; read/write access; type: [ii]
Value to send in messages (default is [0,0]).
length
Optional attribute; read/write access; type: [ii]
Length of the message to send (default is [1,100] bytes).
delay
Optional attribute; read/write access; type: [ii]
Delay between each message in cycles (default is [1,100]).
frame_delay
Optional attribute; read/write access; type: [ii]
Delay to send messages in ns (default is [0,0] ns).
save_logs
Pseudo attribute; read/write access; type: i
Activate/Deactivate log saving for send/received frames
Optional attribute; read/write access; type: o|n
Link to connect to.

Provided By

test-generic-message-device

test_usb_device

Description

A test device that can be used for USB tablet testing.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

tablet_hid_data
Pseudo attribute; read-only access; type: [iiiiii]
The USB HID report data
transfer_dbuffer
Pseudo attribute; read-only access; type: d
The content of the dbuffer.
transfer_size
Pseudo attribute; read-only access; type: i
The size of the USB transfer.
transfer_status
Pseudo attribute; read-only access; type: i
The status of the USB transfer.
usb_transfer
Pseudo attribute; write-only access; type: [iii[i{5}]ii[d*]i]
USB transfer data.

Provided By

test-usb-device

text-frontend-winsome

Description

The text-frontend-winsome class.

Interfaces Implemented

conf_object, log_object, text_console_frontend, gui_console_backend

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Provided By

textcon

textcon

Description

The textcon class provides a text user interface to a simulated machine. The console is typically connected to a simulated serial device.

Interfaces Implemented

conf_object, log_object, serial_device, serial_console_frontend, recorded, con_input, text_console_backend, telnet_connection_v2, external_connection_events, host_serial, break_strings, break_strings_v2

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
textcon-close
Notifier that is triggered when a text console is closed.
textcon-open
Notifier that is triggered when a text console is opened.

Port Objects

tcp
tcp-server – Telnet TCP server
unix_socket
unix-socket-server – Telnet Unix domain socket server

Commands for this class

Commands for interface break_strings_v2

Attributes

device
Optional attribute; read/write access; type: o|n
The serial device that the console is attached to, must implement the 'serial_device' interface.
serial_frontends
Optional attribute; read/write access; type: [o*]
Serial frontends connected to the console. These must implement the serial_console_frontend interface and will receive all output to the console.
pending_input
Optional attribute; read/write access; type: d
Queued input waiting to be sent to the attached device.
output_file
Pseudo attribute; read/write access; type: s
If set to a non-empty string, output will be directed to and appended to this file. Set to an empty string to stop file output.
cmd_line_output
Optional attribute; read/write access; type: b
If set to TRUE, the Simics command line will receive console output, which will also be logged at level 3. Command line and log output will also happen automatically when the console is started in invisible mode, until it is explicitly displayed, or until this flag is set to FALSE.
output_line
Optional attribute; read/write access; type: d
The current output line of printable characters from the attached device.
log_line
Optional attribute; read/write access; type: d
The current pending log output line.
convert_crlf
Optional attribute; read/write access; type: b
If TRUE, LF characters received from the attached device are converted to CRLF.
filter_esc
Optional attribute; read/write access; type: [bbbb]
Determines if ANSI escape sequences sent from the attached device will be filtered out in different circumstances: [for breakpoint matching, for command line, for log output, elsewhere]. The default is [TRUE, TRUE, FALSE, FALSE].
esc_state
Optional attribute; read/write access; type: [[bbs][bbs][bbs][bbs]]
ANSI escape sequence parser state.
recorder
Required attribute; read/write access; type: o
Associated recorder object. Used for recording console input.
output_recording
Pseudo attribute; read/write access; type: b
When enabled, all characters written to the console will be recorded. The record can be read from the attribute recorded_output.
recorded_output
Pseudo attribute; read/write access; type: s
The characters that have been recorded when the attribute output_recording is TRUE. Note that the recorded string will NOT be cleared when output_recording is reset.
window_title
Optional attribute; read/write access; type: s
Console GUI window title.
screen_size
Optional attribute; read/write access; type: [ii]
Console visible screen size (columns, rows).
max_scrollback_size
Optional attribute; read/write access; type: i
Maximum number of scrollback lines. Set to 0 for no maximum. Default is 10000.
screen_data
Optional attribute; read/write access; type: [[i*][[iii]*][[ib]*]]
Console screen contents (characters, attributes, line_info). Characters and attributes lists have length width * height. Attributes list contains (attribute, fg colour, bg colour) for every screen character. line_info is a list with meta data for every line: (line length, line wrap).
scrollback_data
Optional attribute; read/write access; type: [ddd[[ib]*]]
Console scrollback contents (characters, attributes, colours, line_info). line_info has the same format as for the screen_data attribute. The character data also has the same format but is given as binary for faster checkpointing. The attribute data is a list of text_console_attrib_t.attrib values for each scrollback character, and the colour data is a list of text_console_colour_t values, alternating foreground and background colours (hence the colour data is 4 times long as the character data).
default_colours
Optional attribute; read/write access; type: [ii]
Default text colours (foreground, background) in 0xRRGGBB format.
visible
Optional attribute; read/write access; type: b|n
Show/hide console GUI window. Setting to NIL only has effect before instantiation, in which case it leads to the default visibility behaviour of showing the console window if it is the unique console in the configuration.
cursor_data
Optional attribute; read/write access; type: [iibb]
Current cursor data (column, row, pending wrap, relative coordinates).
saved_cursor_data
Optional attribute; read/write access; type: [iibb]
Saved cursor data (column, row, pending wrap, relative coordinates).
DECAWM
Optional attribute; read/write access; type: b
Auto-wrap mode.
scrolling_region
Optional attribute; read/write access; type: [ii]
Scrolling region line numbers (top, bottom), 0-based.
text_attributes
Optional attribute; read/write access; type: [iiib]
Current text attributes (attribute, fg col, bg col, reverse).
modes
Optional attribute; read/write access; type: [bbb]
Current terminal modes (cursor, keypad, insert).
tab_stops
Optional attribute; read/write access; type: [i*]
Current tab stop positions (1-based).
parser_state
Optional attribute; read/write access; type: [ib[i*]]
VT parser state
backspace_sends_del
Optional attribute; read/write access; type: b
If TRUE, the backspace key sends DEL (127), otherwise BS (8). Default is TRUE.
input_mode
Optional attribute; read/write access; type: s
What terminal type to emulate for keyboard inputs. Possible values are "standard" (VT220/XTerm), which is the default, and "microsoft" (Microsoft's "VT100+").
buffer_until_telnet_connection
Optional attribute; read/write access; type: b
If TRUE, the console will buffer any output until a client connects. If FALSE, such output will be discarded. This cannot be set if telnet_send_data_on_connect is set.
telnet_output_buffer
Optional attribute; read/write access; type: [i*]
Characters transmitted by the simulated serial port, but not yet written out by the console.
telnet_raw
Optional attribute; read/write access; type: b
If TRUE, will not interpret telnet control codes or otherwise change the bytes transmitted in either direction.
telnet_send_data_on_connect
Optional attribute; read/write access; type: b
If TRUE, the currently visible console screen will be sent to the telnet client upon connection. This cannot be set if the buffer_until_telnet_connection attribute is set. The data sent includes formatting control characters
pty
Pseudo attribute; read-only access; type: s|n
Name of the allocated host serial device, or NIL.
break_strings
Pseudo attribute; read-only access; type: [[sbbiib]*]
List of console break strings (string, active, oneshot, hap ID, unused, regexp)

Provided By

textcon

time-server

Description

The time-server class provides virtual time services to programs running outside of Simics. It provides those services through a text protocol on a user defined TCP port.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

port
Required attribute; read/write access; type: i|n
TCP port for server. Use 0 for any port (the actual port can be read back from this attribute). Set to Nil to disable the server.
poll_interval
Optional attribute; read/write access; type: f
Time server resolution in simulated seconds. Only valid in poll mode.
virtual_time_delta
Optional attribute; read/write access; type: f
The value in this attribute is added to the queue time to get the time that is returned in virtualtime queries. Only used in poll mode.
poll_mode_enabled
Optional attribute; read/write access; type: b
When set, the time-server will operate in poll mode, meaning it will periodically poll the time and return the polled value in queries. If not set, the time server will always return the current time in queries. Polled mode offers better performance when the time server is queried at a high frequency, but does not support events

Provided By

time-server-c

trace-sync

Description

Provides a workaround for a hardware bug present in Intel® Core™2 processors and later.

Interfaces Implemented

conf_object, log_object, temporal_state, recorded

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

recorder
Required attribute; read/write access; type: o
Recorder object used to store time synchronizations.
cpu
Required attribute; read/write access; type: o
CPU being synchronized.
enabled
Optional attribute; read/write access; type: b
Enable collection of trace information.
trace_length
Optional attribute; read/write access; type: i
Length of traces being collected.
trace_period
Optional attribute; read/write access; type: i
Trace sampling period.
mismatches
Pseudo attribute; read/write access; type: i
Number of traces that did not match.
matches
Pseudo attribute; read/write access; type: i
Number of traces that did match.
recent_mismatches
Pseudo attribute; read/write access; type: i
Number of recent traces that did not match.
corrections
Pseudo attribute; read/write access; type: i
Amount of corrections performed.

Provided By

trace-sync

tracer_tool

Description

The tracer tool prints every executed instruction, all data accesses, and also all the exceptions that occurs in the connected processors. The data that is printed can be controlled by various arguments to the new-tracer-tool. The output can also be written to a file.

Interfaces Implemented

conf_object, log_object, instrumentation_tool

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

file
Optional attribute; read/write access; type: s|n
Output file
logging
Pseudo attribute; read/write access; type: [[oiii]*]
logging
trace_history_size
Optional attribute; read/write access; type: i
Maximum size of the trace history buffer, when filled, oldest trace-elements will be discarded.
trace_buffer_to_file
Pseudo attribute; write-only access; type: s
Write trace buffer to file
trace_buffer
Pseudo attribute; read-only access; type: [s*]
Get the trace buffer as a list of strings

Provided By

instrumentation-tracer-tool

tracer_tool_connection

Description

Instrumentation connection.

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

trace_data
Optional attribute; read/write access; type: b
Enables tracing of data. Default off.
trace_instructions
Optional attribute; read/write access; type: b
Enables tracing of instructions. Default off.
trace_exceptions
Optional attribute; read/write access; type: b
Enables tracing of exceptions. Default off.
print_register_changes
Optional attribute; read/write access; type: b
Enables printing of changed registers. Default off.
print_old_value
Optional attribute; read/write access; type: b
Enables printing of previous register value. Default off.
remove_duplicates
Optional attribute; read/write access; type: b
Enables removal of duplicated lines. Default off.
print_virtual_address
Optional attribute; read/write access; type: b
Enables printing of virtual addresses. Default off.
print_physical_address
Optional attribute; read/write access; type: b
Enables printing of physical addresses. Default off.
print_linear_address
Optional attribute; read/write access; type: b
Enables printing of linear addresses. Default off.
print_opcode
Optional attribute; read/write access; type: b
Enables printing of opcode. Default off.
print_access_type
Optional attribute; read/write access; type: b
Enables printing of access types. Default off.
print_memory_type
Optional attribute; read/write access; type: b
Enables printing of memory types. Default off.
print_execution_mode
Optional attribute; read/write access; type: b
Enables printing of processor execution mode. Default off.
use_cpu_number
Optional attribute; read/write access; type: b
Enables use of cpu number instead of name. Default off.
short_name
Pseudo attribute; read/write access; type: s
Use this short name for the processor.

Provided By

instrumentation-tracer-tool

trans-sorter

Description

A trans-sorter object divides the transactions in 4 transaction flows according to two criteria: are they cacheable or not? Are they generated by the cpu or by a device? They are forwarded to the four timing models attributes corresponding to the four possibilities. This can be useful to ignore some types of transactions when tracing or connecting a memory hierarchy.

Interfaces Implemented

conf_object, log_object, timing_model

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cache
Required attribute; read/write access; type: o|n
Cache to which the sorter is connected.
cacheable_mem_timing_model
Optional attribute; read/write access; type: o|n
Timing model which will receive cacheable memory transactions.
cacheable_dev_timing_model
Optional attribute; read/write access; type: o|n
Timing model which will receive cacheable device transactions.
uncacheable_mem_timing_model
Optional attribute; read/write access; type: o|n
Timing model which will receive uncacheable memory transactions.
uncacheable_dev_timing_model
Optional attribute; read/write access; type: o|n
Timing model which will receive uncacheable device transactions.
cacheable_mem_transactions
Optional attribute; read/write access; type: i
Number of cacheable memory transactions.
cacheable_dev_transactions
Optional attribute; read/write access; type: i
Number of cacheable device transactions.
uncacheable_mem_transactions
Optional attribute; read/write access; type: i
Number of uncacheable memory transactions.
uncacheable_dev_transactions
Optional attribute; read/write access; type: i
Number of uncacheable device transactions.

Provided By

g-cache

trans-splitter

Description

A trans-splitter object should be inserted between two caches if the higher-level cache has a larger cache line size than the lower-level cache, or between the processor and the id-splitter object if you have a processor that can do unaligned accesses or accesses larger than one cache line. It splits cacheable transactions that span more than one naturally aligned next-cache-line-size bytes big lines into multiple transactions that each fit within one line.

Interfaces Implemented

conf_object, log_object, timing_model

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

cache
Required attribute; read/write access; type: o|n
Cache to which the splitter is connected.
next_cache_line_size
Required attribute; read/write access; type: i
Cache line size used for splitting transactions.
transactions
Optional attribute; read/write access; type: i
Total number of transactions processed.
split_transactions
Optional attribute; read/write access; type: i
Number of split transactions.
timing_model
Required attribute; read/write access; type: o|n
Object listening on transactions coming from the splitter.

Provided By

g-cache

trans-staller

Description

This class implements a simple transaction staller. If a transactions is stallable, it will return a fixed stall time. It can be used for a simple memory simulation at the end of a cache hierarchy.

Interfaces Implemented

conf_object, log_object, timing_model

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

stall_time
Optional attribute; read/write access; type: i
Stall time returned when accessed

Provided By

trans-staller

transaction-ckpt

Description

Transaction checkpoint class.

Interfaces Implemented

conf_object, log_object, transaction_subscribe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
transaction-wait-all-completed
Notifier that is triggered when all calls to the SIM_transaction_wait function have completed. The notifier can be useful in cases where there are issues with saving a checkpoint because the SIM_transaction_wait function is used for simulation. Simics cannot save a checkpoint when there are transactions whose completion is waited for with SIM_transaction_wait. In such cases, one can advance simulation to the point where no calls to SIM_transaction_wait are in progress and then save a checkpoint. The following command advances simulation to such a point:
bp.notifier.run-until name = transaction-wait-all-completed

In Simics scripts one can use the following code snippet to ensure that a checkpoint is saved when no calls to SIM_transaction_wait are in progress:

if (list-transactions -show-only-waited) {
    bp.notifier.run-until name = transaction-wait-all-completed
}
write-configuration my_checkpoint.ckpt

Attributes

transactions
Optional attribute; read/write access; type: [[[o|n,is]*]*]
List with deferred transaction chains, where each element is of the form [owner, id, state], where state is one of '', 'monitored', 'chained', or 'deferred'

Provided By

Simics Core

transaction_splitter

Description

A simple transaction splitter that splits transactions into partial transactions depending on its split_size attribute. Transactions smaller than the split size are not changed in any way. The split boundary is always aligned to the split size. A transfer with an address that is not aligned to the split size will be split into a first part that carries only the first few bytes such that the addresses of all subsequent parts are then aligned to the split size.

Interfaces Implemented

conf_object, log_object, translator

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Commands for this class

Commands for interface translator

Attributes

split_size
Optional attribute; read/write access; type: i
Size that transactions shall be split into.
target
Optional attribute; read/write access; type: o|[os]|n
target device

Provided By

transaction-splitter

uart-device-connector

Description

UART device hotplug connector.

Interfaces Implemented

conf_object, log_object, connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

remote
Optional attribute; read/write access; type: o|n
Remote connector.
connector_name
Optional attribute; read/write access; type: s|n
uart
Required attribute; read/write access; type: o

Provided By

std-bp

uart-remote-connector

Description

UART remote/console hotplug connector.

Interfaces Implemented

conf_object, log_object, connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

remote
Optional attribute; read/write access; type: o|n
Remote connector.
connector_name
Optional attribute; read/write access; type: s|n
device
Required attribute; read/write access; type: o
UART remote/console object.
aname
Required attribute; read/write access; type: s
Name of UART remote attribute which holds the uart device object.

Provided By

std-bp

uefi_fw_mapper

Description

Mapper used to present data for UEFI tracker.

Interfaces Implemented

conf_object, log_object, osa_mapper_control, osa_mapper_query, osa_mapper_admin, osa_target_info

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

parent
Required attribute; read/write access; type: o
The parent object. Must implement the osa_node_tree_admin, osa_tracker_state_query, and osa_tracker_state_notification interfaces
tracker
Required attribute; read/write access; type: o
Tracker associated with mapper
enabled
Pseudo attribute; read-only access; type: b
Mapper enabled - read only

Provided By

uefi-fw-tracker

uefi_fw_tracker

Description

Skeleton for creating a tracker.

Interfaces Implemented

conf_object, log_object, osa_micro_checkpoint, osa_tracker_control, osa_target_info

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
uefi-module-added
Triggered when the UEFI FW tracker added a new map

Commands for this class

Attributes

parent
Required attribute; read/write access; type: o
The parent object. Must implement the osa_tracker_state_admin, osa_machine_query, and osa_machine_notification interfaces
enabled
Pseudo attribute; read-only access; type: b
Tracker enabled - read only

Provided By

uefi-fw-tracker

uefi_fw_tracker_comp

Description

Composition of UEFI tracker and mapper

Interfaces Implemented

conf_object, log_object, osa_parameters, osa_tracker_component

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface osa_parameters

Provided By

uefi-fw-tracker

unix-socket-server

Description

External connection server for UNIX domain sockets

Interfaces Implemented

conf_object, log_object, external_connection_ctl

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

client
Required attribute; read/write access; type: o
Client object, which must implement the external_connection_events interface.
socket_name
Optional attribute; read/write access; type: s|n
Path to the UNIX domain socket, or NIL if no socket should be opened

Provided By

external-connection

usb-device-connector

Description

USB device hotplug connector.

Interfaces Implemented

conf_object, log_object, connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

remote
Optional attribute; read/write access; type: o|n
Remote connector.
connector_name
Optional attribute; read/write access; type: s|n
device
Required attribute; read/write access; type: o
USB device object.
aname
Required attribute; read/write access; type: s
Name of USB device attribute which holds the usb host object.

Provided By

std-bp

usb-host-connector

Description

USB host hotplug connector.

Interfaces Implemented

conf_object, log_object, connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

remote
Optional attribute; read/write access; type: o|n
Remote connector.
connector_name
Optional attribute; read/write access; type: s|n
usb
Required attribute; read/write access; type: o

Provided By

std-bp

usb3-device-connector

Description

USB device hotplug connector.

Interfaces Implemented

conf_object, log_object, connector

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

remote
Optional attribute; read/write access; type: o|n
Remote connector.
connector_name
Optional attribute; read/write access; type: s|n
device
Required attribute; read/write access; type: o
USB device object.
aname
Required attribute; read/write access; type: s
Name of USB device attribute which holds the usb host object.

Provided By

std-bp

usb_disk

Description

A standard USB SCSI disk.

Interfaces Implemented

conf_object, log_object, simple_scsi_controller, usb_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

bytes_transfered
Optional attribute; read/write access; type: i
Number of bytes sent in data stage.
command_status
Optional attribute; read/write access; type: i
The execution status of the command block.
current_cbw
Optional attribute; read/write access; type: d|n
The current handled CBW.
descriptor_data
Optional attribute; read/write access; type: d|n
The descriptors in data format.
device_address
Optional attribute; read/write access; type: i
USB device/function address.
device_qualifier_descriptor_data
Optional attribute; read/write access; type: d|n
The device qualifier in data format.
device_state
Optional attribute; read/write access; type: i
USB device state.
hid_report_descriptor_data
Optional attribute; read/write access; type: d|n
The descriptors in data format.
ms_os_descriptor
Optional attribute; read/write access; type: d|n
The Microsoft OS Descriptor.
scsi_data
Optional attribute; read/write access; type: d|n
Buffered SCSI data.
scsi_disk
Required attribute; read/write access; type: o|[os]
The SCSI disk holding the data.

Required interfaces: simple_scsi_target.

string_descriptor_array
Optional attribute; read/write access; type: [d*]
String descriptors.
transport_state
Optional attribute; read/write access; type: i
State for mass storage command/data/status protocol.
usb_host
Optional attribute; read/write access; type: o|[os]|n
The USB host controller.

Required interfaces: usb.

Provided By

usb-disk

usb_hs_keyboard

Description

A High-Speed USB keyboard device.

Interfaces Implemented

conf_object, log_object, keyboard, usb_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

descriptor_data
Optional attribute; read/write access; type: d|n
The descriptors in data format.
device_address
Optional attribute; read/write access; type: i
USB device/function address.
device_qualifier_descriptor_data
Optional attribute; read/write access; type: d|n
The device qualifier in data format.
device_state
Optional attribute; read/write access; type: i
USB device state.
hid_data
Optional attribute; read/write access; type: [iiiiiiii]
The USB HID report data
hid_report_descriptor_data
Optional attribute; read/write access; type: d|n
The descriptors in data format.
key_queue
Optional attribute; read/write access; type: [i*]
contains key events which can not be reported yet without losing previous key events
ms_os_descriptor
Optional attribute; read/write access; type: d|n
The Microsoft OS Descriptor.
string_descriptor_array
Optional attribute; read/write access; type: [d*]
String descriptors.
tr_table
Optional attribute; read/write access; type: [i*]
Keyboard translation table
usb_host
Optional attribute; read/write access; type: o|[os]|n
The USB host controller.

Required interfaces: usb.

Provided By

usb-input-devices

usb_keyboard

Description

A USB keyboard device.

Interfaces Implemented

conf_object, log_object, keyboard, usb_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

descriptor_data
Optional attribute; read/write access; type: d|n
The descriptors in data format.
device_address
Optional attribute; read/write access; type: i
USB device/function address.
device_qualifier_descriptor_data
Optional attribute; read/write access; type: d|n
The device qualifier in data format.
device_state
Optional attribute; read/write access; type: i
USB device state.
hid_data
Optional attribute; read/write access; type: [iiiiiiii]
The USB HID report data
hid_report_descriptor_data
Optional attribute; read/write access; type: d|n
The descriptors in data format.
key_queue
Optional attribute; read/write access; type: [i*]
contains key events which can not be reported yet without losing previous key events
ms_os_descriptor
Optional attribute; read/write access; type: d|n
The Microsoft OS Descriptor.
string_descriptor_array
Optional attribute; read/write access; type: [d*]
String descriptors.
tr_table
Optional attribute; read/write access; type: [i*]
Keyboard translation table
usb_host
Optional attribute; read/write access; type: o|[os]|n
The USB host controller.

Required interfaces: usb.

Provided By

usb-input-devices

usb_mouse

Description

A USB mouse device.
Note: There are two interfaces ("abs_pointer" and "mouse") implemented in the usb_mouse. But use of the "abs_pointer" interface imposes a number of limitations on the functionality of the usb_mouse, please use the "mouse" interface.

Interfaces Implemented

conf_object, log_object, abs_pointer, mouse, usb_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

curr_x
Optional attribute; read/write access; type: i
The current position: x of the cursor.
curr_y
Optional attribute; read/write access; type: i
The current position: y of the cursor.
descriptor_data
Optional attribute; read/write access; type: d|n
The descriptors in data format.
device_address
Optional attribute; read/write access; type: i
USB device/function address.
device_qualifier_descriptor_data
Optional attribute; read/write access; type: d|n
The device qualifier in data format.
device_state
Optional attribute; read/write access; type: i
USB device state.
hid_data
Optional attribute; read/write access; type: [iiii]
The USB HID report data
hid_report_descriptor_data
Optional attribute; read/write access; type: d|n
The descriptors in data format.
ms_os_descriptor
Optional attribute; read/write access; type: d|n
The Microsoft OS Descriptor.
ratio
Optional attribute; read/write access; type: f
The ratio of the movement.
string_descriptor_array
Optional attribute; read/write access; type: [d*]
String descriptors.
usb_host
Optional attribute; read/write access; type: o|[os]|n
The USB host controller.

Required interfaces: usb.

Provided By

usb-input-devices

usb_tablet

Description

A USB tablet device.

Interfaces Implemented

conf_object, log_object, abs_pointer, usb_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

descriptor_data
Optional attribute; read/write access; type: d|n
The descriptors in data format.
device_address
Optional attribute; read/write access; type: i
USB device/function address.
device_qualifier_descriptor_data
Optional attribute; read/write access; type: d|n
The device qualifier in data format.
device_state
Optional attribute; read/write access; type: i
USB device state.
hid_report_descriptor_data
Optional attribute; read/write access; type: d|n
The descriptors in data format.
ms_os_descriptor
Optional attribute; read/write access; type: d|n
The Microsoft OS Descriptor.
string_descriptor_array
Optional attribute; read/write access; type: [d*]
String descriptors.
tablet_hid_data
Optional attribute; read/write access; type: [iiiiii]
The USB HID report data
usb_host
Optional attribute; read/write access; type: o|[os]|n
The USB host controller.

Required interfaces: usb.

Provided By

usb-tablet

vga

Description

The VGA device implements a standard VGA graphics adapter. Most graphics modes are supported, but non-standard graphics settings may not work as on a real adapter. Modes known to work fairly well are: 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13 and modeX. Limitations: Not all possible video modes are tested. Read Mode 1 is not yet implemented. Panning is not supported. Split Screen is not supported. Blinking text is not supported. Blinking color in video mode 0xf is not supported. Underlining in MDA compatibility mode is not supported. Extend ninth bit in text mode is not implemented.

Interfaces Implemented

conf_object, log_object, video, io_memory, accel_vga_v2, vga_text, vga_update, vga_text_info

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

accel_vga_v2
Optional attribute; read/write access; type: o|n
Reference to accel_vga_v2 object
memory_space
Required attribute; read/write access; type: o
Memory space to which the device is mapped. Needed for dynamic remapping.
console
Optional attribute; read/write access; type: o|n
Console object that must implement either gfx_con or both the serial_device and extended_serial interfaces.
crtc_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-24) is a list of CRTC registers.
crtc_next
Optional attribute; read/write access; type: i
Integer register representing the next CRTC address.
attrib_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-20) is a list of attribute registers.
attrib_next_index
Optional attribute; read/write access; type: i
Decides whether the next access to an attribute controller register (through port 0x3C0) will contain an address or data.
attrib_next_reg
Optional attribute; read/write access; type: i
The address of the attribute controller register designated for the next access.
attrib_video_enable
Optional attribute; read/write access; type: i
Decides whether video is enabled or not.
seq_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-4) is a list of sequence registers found in the VGA adapter.
seq_next
Optional attribute; read/write access; type: i
Represents the address of the sequence register designated for the next read/write access.
gfx_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-8) is a list of the nine graphics controller registers found in an VGA adapter.
gfx_next
Optional attribute; read/write access; type: i
Represents the address of the graphics controller register designated for the next read/write access.
gfx_latch
Optional attribute; read/write access; type: [iiii]
(Latch-0 ... Latch-4) List of four graphics data controller latches.
pel_mask
Optional attribute; read/write access; type: i
PEL mask register.
ramdac_rw_state
Optional attribute; read/write access; type: i
RAMDAC read/write state.
pel_addr
Optional attribute; read/write access; type: i
PEL address register.
pel_next_color
Optional attribute; read/write access; type: i
Next color in access to PEL data register (read, green, or blue).
pel_pal
Optional attribute; read/write access; type: [[iii]{256}]
((red, green, blue) ... (red, green, blue)) List of 256 colors, each a tuple of red, green, and blue.
misc_reg
Optional attribute; read/write access; type: i
Miscellaneous output register.
h_cnt
Optional attribute; read/write access; type: i
Horizontal counter (used for generating retrace signals).
v_cnt
Optional attribute; read/write access; type: i
Vertical counter (used for generating retrace signals).
refresh_rate
Optional attribute; read/write access; type: i
Refresh rate (in hertz). Set to 0 to disable screen refresh
text_refresh_rate
Optional attribute; read/write access; type: i
Rate (in hertz) of virtual time that VGA text data is sent to the console. Set to 0 to disable text refresh
refresh_based_on_virtual_time
Optional attribute; read/write access; type: b
If TRUE, then the refresh rate will refresh the screen based on virtual time, otherwise the refresh will be based on real time. Real time is the default.
image
Required attribute; read/write access; type: o
Image object containing the VRAM.
redraw
Pseudo attribute; write-only access; type: a
Forces a complete update when set.
text_page
Pseudo attribute; read-only access; type: n|[s*]
A list representation (one line per element) of the text mode contents.
view_size_x
Pseudo attribute; read-only access; type: i
With of the internal cache.
view_size_y
Pseudo attribute; read-only access; type: i
Height of the internal cache.
dump_charset
Pseudo attribute; read/write access; type: i
Write-only pseudo attribute. A write operation will print the current character map to the console if the vga device is in alpha-numeric mode.
vga_memory
Pseudo attribute; write-only access; type: d
Contains the VGA memory (256 KB of data).

Provided By

vga

vga_pci

Description

The VGA-PCI device is identical to the VGA device except it connects to a PCII bus instead of the ISA bus. This functionality of this device can also be inherited by more advanced graphic devices such as the accel-vga device. Limitations: Not all possible video modes are tested. The CGA Compatibility modes are not yet supported. Different character maps are not yet supported. Read Mode 1 is not yet implemented. Panning is not supported. Split Screen is not supported. Blinking text is not supported. Blinking color in video mode 0xf is not supported. Underlining in MDA compatibility mode is not supported. Extend ninth bit in text mode is not implemented.

Interfaces Implemented

conf_object, log_object, video, pci_device, io_memory, vga_text, vga_update, vga_text_info

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

pci_bus
Optional attribute; read/write access; type: o|n
The PCI bus this device is connected to, implementing the pci-bus interface.
interrupt_pin
Optional attribute; read/write access; type: [iiii]
State of the interrupt pin.
config_registers
Optional attribute; read/write access; type: [i{64}]
The 64 PCI configuration registers, each 32 bits in size.
write_masks
Optional attribute; read/write access; type: [[ii]*]
Write masks for all registered configuration registers. The format for each entry is (offset, mask).
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]*]
List of all current PCI IO and memory mappings.
expansion_rom
Optional attribute; read/write access; type: n|[oii]
ROM object, map size, and map function number for the Expansion ROM.
config_register_info
Pseudo attribute; read-only access; type: [[isii]*]
Register info for all registered configuration registers. The format for each entry is (offset, name, size, write-mask).
memory_space
Optional attribute; read/write access; type: o|n
Memory space to which the device is mapped. Needed for dynamic remapping.
console
Optional attribute; read/write access; type: o|n
Console object that must implement either gfx_con or both the serial_device and extended_serial interfaces.
crtc_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-24) is a list of CRTC registers.
crtc_next
Optional attribute; read/write access; type: i
Integer register representing the next CRTC address.
attrib_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-20) is a list of attribute registers.
attrib_next_index
Optional attribute; read/write access; type: i
Decides whether the next access to an attribute controller register (through port 0x3C0) will contain an address or data.
attrib_next_reg
Optional attribute; read/write access; type: i
The address of the attribute controller register designated for the next access.
attrib_video_enable
Optional attribute; read/write access; type: i
Decides whether video is enabled or not.
seq_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-4) is a list of sequence registers found in the VGA adapter.
seq_next
Optional attribute; read/write access; type: i
Represents the address of the sequence register designated for the next read/write access.
gfx_regs
Optional attribute; read/write access; type: [i*]
(Register-0 ... Register-8) is a list of the nine graphics controller registers found in an VGA adapter.
gfx_next
Optional attribute; read/write access; type: i
Represents the address of the graphics controller register designated for the next read/write access.
gfx_latch
Optional attribute; read/write access; type: [iiii]
(Latch-0 ... Latch-4) List of four graphics data controller latches.
pel_mask
Optional attribute; read/write access; type: i
PEL mask register.
ramdac_rw_state
Optional attribute; read/write access; type: i
RAMDAC read/write state.
pel_addr
Optional attribute; read/write access; type: i
PEL address register.
pel_next_color
Optional attribute; read/write access; type: i
Next color in access to PEL data register (read, green, or blue).
pel_pal
Optional attribute; read/write access; type: [[iii]{256}]
((red, green, blue) ... (red, green, blue)) List of 256 colors, each a tuple of red, green, and blue.
misc_reg
Optional attribute; read/write access; type: i
Miscellaneous output register.
h_cnt
Optional attribute; read/write access; type: i
Horizontal counter (used for generating retrace signals).
v_cnt
Optional attribute; read/write access; type: i
Vertical counter (used for generating retrace signals).
refresh_rate
Optional attribute; read/write access; type: i
Refresh rate (in hertz). Set to 0 to disable screen refresh
text_refresh_rate
Optional attribute; read/write access; type: i
Rate (in hertz) of virtual time that VGA text data is sent to the console. Set to 0 to disable text refresh
refresh_based_on_virtual_time
Optional attribute; read/write access; type: b
If TRUE, then the refresh rate will refresh the screen based on virtual time, otherwise the refresh will be based on real time. Real time is the default.
image
Required attribute; read/write access; type: o
Image object containing the VRAM.
redraw
Pseudo attribute; write-only access; type: a
Forces a complete update when set.
text_page
Pseudo attribute; read-only access; type: n|[s*]
A list representation (one line per element) of the text mode contents.
view_size_x
Pseudo attribute; read-only access; type: i
With of the internal cache.
view_size_y
Pseudo attribute; read-only access; type: i
Height of the internal cache.
dump_charset
Pseudo attribute; read/write access; type: i
Write-only pseudo attribute. A write operation will print the current character map to the console if the vga device is in alpha-numeric mode.
vga_memory
Pseudo attribute; write-only access; type: d
Contains the VGA memory (256 KB of data).

Provided By

vga-pci

virtio-mmio-entropy

Description

virtio MMIO entropy source

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.features
virtio-mmio-entropy.features
bank.mmio
virtio-mmio-entropy.mmio
port.SRESET
virtio-mmio-entropy.SRESET

Commands for this class

Attributes

irq
Required attribute; read/write access; type: o|[os]
interrupt signal target

Required interfaces: signal.

phys_mem
Required attribute; read/write access; type: o|[os]
physical memory space

Required interfaces: memory_space.

seed
Required attribute; read/write access; type: i
Seed for entropy generator
total_entropy_bytes
Optional attribute; read/write access; type: i
Total number of entropy bytes generated

Provided By

virtio

virtio-mmio-entropy.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio-mmio-entropy.features

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio-mmio-entropy.mmio

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio-pcie-sriov-blk

Description

Virtio PCIE block device based on the Virtio 1.1 specification. Implements the base functionality along with SR-IOV support. Does not implement:This device uses MSI-X for interrupts, and does currently not support legacy interrupts. CONFIG_PCI_MSI=y must thus be set in the kernel config.

Interfaces Implemented

conf_object, log_object, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

PF
virtio-pcie-sriov-blk.PF
VF[0..4]
virtio-pcie-sriov-blk.VF
port.HRESET
virtio-pcie-sriov-blk.HRESET
port.SRESET
virtio-pcie-sriov-blk.SRESET
port.phy
virtio-pcie-sriov-blk.phy

Commands for this class

Attributes

image
Required attribute; read/write access; type: [o|[os]{6}]
disk image

Required interfaces: image.

Provided By

virtio

virtio-pcie-sriov-blk.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio-pcie-sriov-blk.PF

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.features
virtio-pcie-sriov-blk.PF.features
bank.msix_data
virtio-pcie-sriov-blk.PF.msix_data
bank.pcie_config
virtio-pcie-sriov-blk.PF.pcie_config
bank.virtio_config
virtio-pcie-sriov-blk.PF.virtio_config

virtio-pcie-sriov-blk.PF.features

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio-pcie-sriov-blk.PF.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio-pcie-sriov-blk.PF.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

virtio-pcie-sriov-blk.PF.virtio_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio-pcie-sriov-blk.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio-pcie-sriov-blk.VF

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.features
virtio-pcie-sriov-blk.VF.features
bank.msix_data
virtio-pcie-sriov-blk.VF.msix_data
bank.pcie_config
virtio-pcie-sriov-blk.VF.pcie_config
bank.virtio_config
virtio-pcie-sriov-blk.VF.virtio_config

virtio-pcie-sriov-blk.VF.features

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio-pcie-sriov-blk.VF.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio-pcie-sriov-blk.VF.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

virtio-pcie-sriov-blk.VF.virtio_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio-pcie-sriov-blk.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

virtio_mmio_blk

Description

virtio MMIO block device

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.features
virtio_mmio_blk.features
bank.mmio
virtio_mmio_blk.mmio
port.SRESET
virtio_mmio_blk.SRESET

Commands for this class

Attributes

image
Required attribute; read/write access; type: o|[os]
disk image

Required interfaces: image.

irq
Required attribute; read/write access; type: o|[os]
interrupt signal target

Required interfaces: signal.

phys_mem
Required attribute; read/write access; type: o|[os]
physical memory space

Required interfaces: memory_space.

Provided By

virtio

virtio_mmio_blk.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio_mmio_blk.features

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_mmio_blk.mmio

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_mmio_fs

Description

Virtio MMIO File System device based on the Virtio 1.2 specification. The legacy MMIO interface is however used. Implements the base functionality. Does not implement:

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.features
virtio_mmio_fs.features
bank.mmio
virtio_mmio_fs.mmio
port.SRESET
virtio_mmio_fs.SRESET

Commands for this class

Attributes

chan
Optional attribute; read/write access; type: o|[os]|n
fuse channel

Required interfaces: virtiofs_fuse.

irq
Required attribute; read/write access; type: o|[os]
interrupt signal target

Required interfaces: signal.

phys_mem
Required attribute; read/write access; type: o|[os]
physical memory space

Required interfaces: memory_space.

tag_name
Optional attribute; read/write access; type: s
The tag name to be used when mounting the device on the guest

Provided By

virtio

virtio_mmio_fs.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio_mmio_fs.features

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_mmio_fs.mmio

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_mmio_net

Description

virtio MMIO network device

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.features
virtio_mmio_net.features
bank.mmio
virtio_mmio_net.mmio
port.SRESET
virtio_mmio_net.SRESET
port.eth
virtio_mmio_net.eth

Commands for this class

Attributes

irq
Required attribute; read/write access; type: o|[os]
interrupt signal target

Required interfaces: signal.

mac_address
Optional attribute; read/write access; type: s
The MAC Address
phys_mem
Required attribute; read/write access; type: o|[os]
physical memory space

Required interfaces: memory_space.

Provided By

virtio

virtio_mmio_net.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio_mmio_net.eth

Interfaces Implemented

conf_object, log_object, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

Optional attribute; read/write access; type: o|[os]|n
outgoing ethernet link to target

Required interfaces: ethernet_common.

virtio_mmio_net.features

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_mmio_net.mmio

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_pcie_blk

Description

Virtio PCIE block device based on the Virtio 1.1 specification. Implements the base functionality. Does not implement:This device uses MSI-X for interrupts, and does currently not support legacy interrupts. CONFIG_PCI_MSI=y must thus be set in the kernel config.

Interfaces Implemented

conf_object, log_object, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.features
virtio_pcie_blk.features
bank.msix_data
virtio_pcie_blk.msix_data
bank.pcie_config
virtio_pcie_blk.pcie_config
bank.virtio_config
virtio_pcie_blk.virtio_config
port.HRESET
virtio_pcie_blk.HRESET
port.SRESET
virtio_pcie_blk.SRESET
port.phy
virtio_pcie_blk.phy

Commands for this class

Attributes

image
Required attribute; read/write access; type: o|[os]
disk image

Required interfaces: image.

Provided By

virtio

virtio_pcie_blk.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio_pcie_blk.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio_pcie_blk.features

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_pcie_blk.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_pcie_blk.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

virtio_pcie_blk.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

virtio_pcie_blk.virtio_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_pcie_fs

Description

Virtio PCIE File System device based on the Virtio 1.2 specification. Implements the base functionality. Does not implement:This device uses MSI-X for interrupts, and does currently not support legacy interrupts. CONFIG_PCI_MSI=y must thus be set in the kernel config.

Interfaces Implemented

conf_object, log_object, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.features
virtio_pcie_fs.features
bank.msix_data
virtio_pcie_fs.msix_data
bank.pcie_config
virtio_pcie_fs.pcie_config
bank.virtio_config
virtio_pcie_fs.virtio_config
port.HRESET
virtio_pcie_fs.HRESET
port.SRESET
virtio_pcie_fs.SRESET
port.phy
virtio_pcie_fs.phy

Commands for this class

Attributes

chan
Optional attribute; read/write access; type: o|[os]|n
fuse channel

Required interfaces: virtiofs_fuse.

tag_name
Optional attribute; read/write access; type: s
The tag name to be used when mounting the device on the guest

Provided By

virtio

virtio_pcie_fs.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio_pcie_fs.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio_pcie_fs.features

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_pcie_fs.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_pcie_fs.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

virtio_pcie_fs.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

virtio_pcie_fs.virtio_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_pcie_net

Description

Virtio PCIE network device based on the Virtio 1.1 specification. Implements the base functionality. Does not implement:This device uses MSI-X for interrupts, and does currently not support legacy interrupts. CONFIG_PCI_MSI=y must thus be set in the kernel config.

Interfaces Implemented

conf_object, log_object, pcie_device

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.
state-change
Notifier on potential DML state change

Port Objects

bank.features
virtio_pcie_net.features
bank.msix_data
virtio_pcie_net.msix_data
bank.pcie_config
virtio_pcie_net.pcie_config
bank.virtio_config
virtio_pcie_net.virtio_config
port.HRESET
virtio_pcie_net.HRESET
port.SRESET
virtio_pcie_net.SRESET
port.eth
virtio_pcie_net.eth
port.phy
virtio_pcie_net.phy

Commands for this class

Attributes

mac_address
Optional attribute; read/write access; type: s
The MAC Address

Provided By

virtio

virtio_pcie_net.HRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio_pcie_net.SRESET

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

virtio_pcie_net.eth

Interfaces Implemented

conf_object, log_object, ethernet_common

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

Optional attribute; read/write access; type: o|[os]|n
outgoing ethernet link to target

Required interfaces: ethernet_common.

virtio_pcie_net.features

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_pcie_net.msix_data

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtio_pcie_net.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

virtio_pcie_net.phy

Interfaces Implemented

conf_object, log_object, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface transaction

virtio_pcie_net.virtio_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

virtiofs_fuse

Description

A device that expects FUSE requests and will reply with FUSE responses.

Interfaces Implemented

conf_object, log_object, virtiofs_fuse

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

daemon_log_file
Pseudo attribute; read/write access; type: s|n
Enable logs for the FUSE daemon and specify the output file for the logs
share
Required attribute; read/write access; type: s|n
Directory on the host to share with the simulated target or unix domain socket file created by virtiofs daemon
connection_established
Pseudo attribute; read-only access; type: b
True if connection has been established to FUSE daemon
daemon_pid
Pseudo attribute; read-only access; type: i
True if connection has been established to FUSE daemon

Provided By

virtiofs-fuse

vmcom

Description

Implements the VMware tools protocol. Currently only supports the mouse protocol.

Interfaces Implemented

conf_object, log_object, abs_pointer, io_memory, recorded

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank._vmcom
vmcom._vmcom

Commands for this class

Attributes

current_mouse_state
Optional attribute; read/write access; type: [iiii]
Current mouse state.
last_mouse_state
Optional attribute; read/write access; type: [iiii]
Last mouse state that was enqueued for delivery to software.
mouse
Required attribute; read/write access; type: o|[os]
Object that implements the abs-pointer-activate interface.

Required interfaces: abs_pointer_activate.

mouse_data_queue
Optional attribute; read/write access; type: [i*]
Mouse data enqueued for delivery to software.
mouse_enabled
Optional attribute; read/write access; type: b
Keeps track of whether the mouse protocol is enabled.
recorder
Required attribute; read/write access; type: o|[os]
Recorder device for playback of input.

Required interfaces: recorder_v2.

Provided By

vmcom

vmcom._vmcom

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, int_register, io_memory, register_view, register_view_catalog

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

vtime

Description

A vtime port object is created when the clock-extension extension class is used to extend CPU and clock classes with event posting functionality: the clock-extension class creates an instance of the vtime class in the 'vtime' port of the parent object. See the documentation for the clock-extension class and SIM_extend_class for related information.

An instance of the vtime class is responsible for a connection between a CPU or clock object - usually, it is the parent object of the vtime instance - from one side and, from another side, the objects of the cycle-counter class that are connected to the vtime instance. There can be multiple cycle-counter objects that are connected to a single vtime object.

Communication between CPU and clock objects with the vtime objects is done in the following way. CPU and clock objects are responsible for calling the event_handler interface of the vtime objects. The vtime objects use the frequency interface provided by CPU and clock objects as well as the event_delta interface provided by CPU objects.

Communication between a vtime object and cycle-counter objects connected to it is done via non-public interfaces.

Interfaces Implemented

conf_object, log_object, event_handler, temporal_state, frequency

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
frequency-change
Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Attributes

frequency
Optional attribute; read/write access; type: i|f|o|[of]
frequency
advancer
Optional attribute; read/write access; type: o|n
Object implementing the event_delta interface or NIL.
connected_cycle_counters
Pseudo attribute; read-only access; type: [o*]
Cycle-counter objects driven by this object.

Provided By

Simics Core

vtime-extension

Description

The vtime-extension extension class is used internally by Simics Core to augment objects with event posting functionality. This extension class should only be used by Simics Core.

Interfaces Implemented

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

vtime
vtime – event handler
vtime.cycles
cycle-counter – cycle queue
vtime.ps
ps-clock – event queue (ps)

Provided By

Simics Core

vtune_measurement

Description

Extension which runs VTune™ from Simics which connects to the current Simics session.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

vtune_path
Pseudo attribute; read/write access; type: s|n
path to vtune binaries, saved in prefs

Provided By

vtune-measurement

x2apic_v2

Description

None yet

Interfaces Implemented

conf_object, log_object, apic_bus_to_apic, apic_cpu, apic_inter_core_smi_handling, apic_timer, broadcast_filter, int_register, interrupt_cpu, x86_rar_interrupt

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

bank.apic_regs
x2apic_v2.ApicBankPort – register bank
port.freq_listener
x2apic_v2.frequency_listener_port – A port class that implements frequency_listener_interface_t

Commands for this class

Attributes

arbitration_id
Optional attribute; read/write access; type: i
Arbitration ID
apic_type
Optional attribute; read/write access; type: s
APIC type (P4, P6, or X2)
cpu
Required attribute; read/write access; type: o
Target processor implementing the X86 and PROCESSOR_INFO_V2 interfaces. The APIC will assume ownership of the APICBASE MSR if the processor implements the X86_MSR interface. If the processor does not implement the X86_MSR interface, then the APIC needs to be mapped and potentially moved by some other logic.
physical_broadcast_address
Optional attribute; read/write access; type: i
Current broadcast address for interprocessor interrupts and interrupts from the I/O-APIC. Default value is FFh (0Fh for Pentium® (classic) family or P6 family processors); FFFFFFFFh in x2APIC mode
priority
Optional attribute; read/write access; type: [[[ii]{2}]{16}]
(((state, vector){2}){16}). Interrupt slots.
interrupt_posted
Optional attribute; read/write access; type: b
Interrupt signal raised
count_in_progress
Optional attribute; read/write access; type: b
Count is in progress
p4_x2apic
Optional attribute; read/write access; type: b
When set to TRUE it allows write to ia32_apic_base[10] bit without GP with apic_type != X2, but value of this bit won't be changed by write operation of the WRMSR instruction.
cpu_bus_divisor
Optional attribute; read/write access; type: f
Divisor between CPU frequency and bus frequency used by the APIC timer. Ignored if invariant TSC is available
ext_int_obj
Optional attribute; read/write access; type: o|n
Object pending with delivery mode ExtINT
frequency
Optional attribute; read/write access; type: i
System Bus Frequency in Hz. Ignored if invariant TSC is available
apic_bus
Optional attribute; read/write access; type: o|n
Bus implementing the apic-bus interface.
apic_id
Optional attribute; read/write access; type: i
Full 32 bit APIC ID
apicbase_msr_write
Pseudo attribute; write-only access; type: [ii]
Force a value change in IA32_APICBASE_MSR with side effects. The first integer is the value, the second the access type. 0 means attribute access, 1 means instruction access.
post_smi_delay
Optional attribute; read/write access; type: i
How many cycles will CPU run after SMI before stalling itself till the end of time quantum
x2apic_mode_only
Optional attribute; read/write access; type: b
True if the APIC only supports x2APIC mode and can not be disabled.
interrupt_subscriber
Optional attribute; read/write access; type: o|n
Set an object that will subscribe to the interrupts that the APIC generates. The object must implement the interrupt_subscriber_interface_t interface.
has_lvt_2e
Optional attribute; read/write access; type: b
True if the APIC supports LVT index 0x2e.
blocked_broadcast_events
Optional attribute; read/write access; type: i
Mask of broadcast events that are not supposed to be delivered via this APIC

Provided By

x2apic-c++

x2apic_v2.ApicBankPort

Description

register bank

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, transaction

Notifiers

bank-register-value-change
Notifier that is triggered when bank register value changes.
cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

x2apic_v2.frequency_listener_port

Description

A port class that implements frequency_listener_interface_t

Interfaces Implemented

conf_object, log_object, frequency_listener

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

x86-reset-bus

Description

The x86-reset-bus device forwards resets to connected x86 processors.

Interfaces Implemented

conf_object, log_object, x86_reset_bus, cpu_group

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Port Objects

port.reset_all
x86-reset-bus.reset_all – Resets all connected processors

Commands for this class

Attributes

reset_targets
Optional attribute; read/write access; type: [o*]
A list of objects implementing the x86 and a20 interfaces.
cpu_list
Pseudo attribute; read-only access; type: [o*]
List of all connected processors. This attribute is available in all classes implementing the "cpu_group" interface.

Provided By

x86-reset-bus

x86-reset-bus.reset_all

Description

Resets all connected processors

Interfaces Implemented

conf_object, log_object, signal

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

x86-tlb

Description

Default X86 TLB class.

Interfaces Implemented

conf_object, log_object, x86_tlb, x86_tlb_v2, x86_tlb_v3

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

cpu
Required attribute; read/write access; type: o
CPU object to which TLB object is bound.
tlb
Optional attribute; read/write access; type: [[iiiiissi]*]
((la, pa, supervisor_access, user_access, g, pat_type, mtrr_type, page_size_k)*). TLB.

Provided By

x86_tlb

x86_branch_prof_connection

Description

Instrumentation connection.

Interfaces Implemented

conf_object, log_object, instrumentation_connection

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Provided By

x86-branch-profiler

x86_branch_profiler

Description

The x86 branch profiler collects branch statistics for every branch executed on the processor. For every conditional branch all taken and non-taken counts are displayed. For non-conditional branches and calls only the counts are displayed. Control flow through exceptions and interrupts are not collected.

Interfaces Implemented

conf_object, log_object, instrumentation_tool, table

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Commands for interface table

Attributes

stats
Pseudo attribute; read-only access; type: [[sii]*]
Taken/non taken statistics

Provided By

x86-branch-profiler

x86_broadcast

Description

CPU broadcast device.

Interfaces Implemented

conf_object, log_object

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

cpus
Required attribute; read/write access; type: [o*]
List of all CPUs.
images
Optional attribute; read/write access; type: [o*]
List of images.

Provided By

x86_broadcast

x86_mode_filter

Description

Objects of this class are used to filter an instrumentation tool's data collection according to x86 execution modes.

Interfaces Implemented

conf_object, log_object, instrumentation_filter_master

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

modes
Pseudo attribute; read/write access; type: [s*]
Get modes
status
Pseudo attribute; read-only access; type: [[s[[ss]]]]
A pseudo attribute

Provided By

x86-mode-filter

x86_mode_histogram

Description

This tool collects different execution modes in the IA processors connected to the tool and displays a histogram of how many instructions was executed in each mode.

Interfaces Implemented

conf_object, log_object, instrumentation_tool

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

connections
Pseudo attribute; read-only access; type: [o*]
Example attribute, returns the connections

Provided By

x86-mode-histogram

x86_mode_histogram_connection

Description

Instrumentation connection

Interfaces Implemented

conf_object, log_object, instrumentation_connection, table, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface table

Attributes

cpu
Pseudo attribute; read/write access; type: o
The connected cpu
tool
Pseudo attribute; read/write access; type: o
The tool owning this connection
histogram
Pseudo attribute; read/write access; type: [[[bii]i]*]
The execution mode histogram. Set to any value will clear the data.

Provided By

x86-mode-histogram

x86_normalized_histogram_connection

Description

sub class for instruction-histogram

Interfaces Implemented

conf_object, log_object, instrumentation_connection, table, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface table

Attributes

histogram
Pseudo attribute; read-only access; type: [[s|ii]*]
((instruction, counter)*)* instruction histogram
cpu
Pseudo attribute; read/write access; type: o
the processor being monitored
clear
Pseudo attribute; write-only access; type: b
When this attribute is set, the current histogram statistics is removed.
parent
Pseudo attribute; read/write access; type: o
Parent object for this connection.

Provided By

instruction-histogram

x87_exception

Description

This device implements the external hardware needed for MS-DOS compatible handling of x87 exceptions. The circuit is normally part of the south bridge (for example the PIIX4). We have one input pin from the CPU, FERR#, which is asserted by the cpu when CR0.NE is clear + IGNNE# is low + a floating point exception condition is asserted. We have one output pin to the CPU, #IGNNE, which is raised by this device when FERR# is active and the port (normally F0h) is written. IGNNE is cleared when FERR is lowered. The output interrupt pin is raised when FERR, and is cleared by a write to the port. We provide the x87_ferr interface for the cpu to use, and the io-memory interface for the port. This device uses the x87_ignne interface to communicate the IGNNE status, and the simple-interrupt interface to connect to an interrupt controller.

Interfaces Implemented

conf_object, log_object, signal, io_memory

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

irq_dev
Required attribute; read/write access; type: o
Target interrupt device (typically a PIC).
irq_level
Required attribute; read/write access; type: i
Interrupt level (typically 13).
ignne_target
Required attribute; read/write access; type: o
Object to which the IGNNE line is connected (typically cpu0).
irq_status
Optional attribute; read/write access; type: i
The status of the output interrupt line.
ignne_status
Optional attribute; read/write access; type: i
The status of the output ignne line.
ferr_status
Optional attribute; read/write access; type: i
The status of the input ferr line.

Provided By

x87_exception

xed_iform_histogram_connection

Description

sub class for instruction-histogram

Interfaces Implemented

conf_object, log_object, instrumentation_connection, table, probe

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for interface table

Attributes

histogram
Pseudo attribute; read-only access; type: [[s|ii]*]
((instruction, counter)*)* instruction histogram
cpu
Pseudo attribute; read/write access; type: o
the processor being monitored
clear
Pseudo attribute; write-only access; type: b
When this attribute is set, the current histogram statistics is removed.
parent
Pseudo attribute; read/write access; type: o
Parent object for this connection.

Provided By

instruction-histogram

6 Notifiers

Global Notifier after-snapshot-restore

Description

Notifier triggered after a snapshot is loaded.

Global Notifier before-snapshot-restore

Description

Notifier triggered before a snapshot is loaded.

Global Notifier global-message

Description

Notifier used by SIM_trigger_global_message

Global Notifier global-object-delete

Description

Notifier triggered while objects are being deleted.

Global Notifier global-objects-finalized

Description

Notifier triggered when new objects have been finalized.

bank-register-value-change

Description

Notifier that is triggered when bank register value changes.

Classes

sample_device_cxx_after_bank.SampleAfterBank, sample_device_cxx_bank_by_code.SampleBank, sample_device_cxx_bank_by_data.b, sample_dma_device_cpp.regs, x2apic_v2.ApicBankPort

cell-change

Description

Notifier that is triggered after the object's cell was changed.

Classes

Triggered by instances of all classes.

cell-thread-change

Classes

sim

freerunning-mode-change

Description

Notifier that is triggered when freerunning mode is enabled or disabled. The new enabled/disabled state is available through the freerun interface.

Classes

freerun-extension

frequency-change

Description

Notifier that is triggered when frequency changes. New frequency can be read via the frequency interface of the object.

Classes

async-bridge, clock, co-engine, co-execute, cycle-counter, legacy-clock-extension, ps-clock, sample-risc, sample_notifier_dml, vtime

graphcon-close

Classes

graphcon

graphcon-open

Classes

graphcon

map-change

Description

Notifier that is triggered after map was changed.

Classes

memory-space

object-delete

Description

Notifier that is triggered just before Simics object is deleted.

Classes

Triggered by instances of all classes.

osa_processors

Classes

os_awareness

pref-change

Classes

preferences

queue-change

Description

Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Classes

Triggered by instances of all classes.

sample-notifier-reset

Classes

sample_notifier_cc

state-change

Description

Notifier that is triggered when DML device state changes.

Classes

AM79C960, DEC21140A-dml, DS12887, accel_vga_v2, dm9161, empty_device_dml, generic_eth_phy, generic_spi_flash, generic_spi_flash, goldfish-rtc, i210, i210_v2, i2c_wire, i3c_bus, i82571EB_v2, legacy-upstream-pcie-adapter, pcie-downstream-port, pcie-downstream-port-legacy, pcie-endpoint-shim-frontend, pcie-port-shim-frontend, sample-i3c-target, sample-pcie-ats-endpoint, sample-pcie-ats-prs-dma, sample-pcie-device, sample-pcie-root-complex-ats, sample_device_dml, sample_device_pkg_prio, sample_dma_device, sample_i2c_device, sample_notifier_dml, sample_pci_device, sample_pcie_sriov_device, sample_timer_device, simics-uefi, simics_nvme_controller, standard-pcie-switch, transaction_splitter, virtio-mmio-entropy, virtio-pcie-sriov-blk, virtio_mmio_blk, virtio_mmio_fs, virtio_mmio_net, virtio_pcie_blk, virtio_pcie_fs, virtio_pcie_net

textcon-close

Classes

textcon

textcon-open

Classes

textcon

transaction-wait-all-completed

Classes

transaction-ckpt

uefi-module-added

Classes

uefi_fw_tracker

7 Haps

Arinc429_Word

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

This hap is triggered on every word sent on a arinc429_bus object. In the hap handler, the last_word attribute can be read or modified. Setting it to -1 will drop the packet.

CLI_Command_Added

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          char *command_name);

Description

Triggered when a CLI command is defined.

Component_Change

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Internal: Similar to Component_Hierarchy_Change but also triggered for components that are not part of any complete hierarchy including non-instantiated components.

Component_Hierarchy_Change

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          conf_object_t *top_level_component);

Description

Internal: Triggered when an instantiated component hierarchy is modified. The hap is associated with the top-level component of the modified hierarchy.

Console_Break_String

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          char *break_string);

Index

break_id

Description

Triggered when the output matches a string set to break on. The break_id is the number associated with the string breakpoint.

Core_Address_Not_Mapped

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  physical_address,
          int64  access_type,
          int64  size);

Description

Triggered when an access to a memory-space has no target and the access does not match any entry in the outside_memory_whitelist CPU attribute. The default handler for this hap will signal an error and stop the simulation.

Core_Asynchronous_Trap

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  trap_number);

Index

trap_number

Description

SPARC: Triggered when an asynchronous trap occurs. This is either an external interrupt trap number == 0x60 or interrupt level n trap number 0x41 - 0x4F, or an asynchronous trap initiated by the user calling trap_cpu in the sparc-interrupt interface. The Core_External_Interrupt can also be used to catch interrupts, the difference is that Core_Asynchronous_Trap is only triggered if interrupts are enabled.

Core_At_Exit

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered, typically by SIM_quit, when Simics exits. The Simics API is not allowed to be used in the hap callbacks (see the Core_Clean_At_Exit hap description if access to the Simics API is needed).

Core_Breakpoint_Change

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered on an object when breakpoints attached to that object are inserted, deleted or changed in any way.

Core_Breakpoint_Memop

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  breakpoint_number,
          generic_transaction_t *memop);

Index

breakpoint_number

Description

Triggered when a breakpoint is triggered. breakpoint_number is the breakpoint number (as returned by SIM_breakpoint). If there are multiple breakpoints on an instruction then all installed haps will be run before control is transferred to the frontend (when applicable). The supplied memop can be used to figure out details about the transaction.

Core_Clean_At_Exit

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered, typically by SIM_quit, if Simics exits cleanly, i.e. in Global Context. The Simics API is available. Cleanup code should typically run in the Core_At_Exit hap callbacks instead if possible.

Core_Conf_Class_Register

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          char *class_name);

Description

Triggered when a new configuration class has been registered. Called in Global Context.

Core_Conf_Class_Unregister

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          char *class_name);

Description

Triggered when a configuration class has been unregistered. Called in Global Context.

Core_Conf_Clock_Change_Cell

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          conf_object_t *old_cell,
          conf_object_t *new_cell);

Description

Triggered when a clock object changes cell

Core_Conf_Object_Change_Clock

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          conf_object_t *old_clock,
          conf_object_t *new_clock);

Description

Triggered when an object's reference clock is changed

Core_Conf_Object_Create

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered when a new configuration object's init_object method returns successfully, but before the object's attributes are set and before the object's finalize_instance method is called. Since the object is not fully created hap callbacks must not access any of the object's attributes or call any methods on the object's interfaces. Callbacks are called in Global Context.

Core_Conf_Object_Created

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered when a configuration object has been created and finalized. This hap will always be followed by a Core_Conf_Objects_Created hap, but this hap can be triggered for more than one object before the Core_Conf_Objects_Created hap.

Core_Conf_Object_Delete

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          char *object_name);

Description

Triggered after a configuration object has been deleted. Called in Global Context.

Core_Conf_Object_Pre_Delete

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered just before a configuration object is deleted. Called in Global Context.

Core_Conf_Object_Rename

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          char *old_name);

Description

Triggered after an object's name has changed. Called in Global Context.

Core_Conf_Objects_Created

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered if and only if at least one Core_Conf_Object_Created hap has been triggered.

Core_Conf_Objects_Deleted

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered when one or more objects have been deleted from the configuration after the Core_Conf_Object_Delete hap has been triggered for all of the objects. Called in Global Context.

Core_Configuration_Loaded

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered when a configuration has been loaded. This hap can be triggered several times during a session since it is possible to append a new configuration to the existing one. In most cases it is better to use the finalize_instance function in the class_data_t instead. That function is called when the object creation is finished. Callbacks are called in Global Context.

Core_Context_Activate

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          conf_object_t *other_ctx,
          conf_object_t *cpu);

Description

Triggered when this context replaces another context as the current context of a processor.

Core_Context_Change

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          conf_object_t *cpu);

Description

Triggered when the context is set to the current context for a processor.

Core_Context_Deactivate

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          conf_object_t *other_ctx,
          conf_object_t *cpu);

Description

Triggered when another context replaces this context as the current context of a processor.

Core_Context_Updated

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered when the context is updated in some way.

Core_Continuation

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered at the (re)start of the simulation. The Core_Simulation_Stopped hap is called when the simulation is stopped. Callbacks are called in Global Context.

Core_Control_Register_Read

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  register_number);

Index

register_number

Description

Triggered when a control register is read. The hap is called before the read is performed; thus no registers have been modified.

Note that if the callback routine breaks to the frontend by raising an exception, the instruction will be replayed possibly causing repeated memory operations.

For x86 processors, this hap is triggered when a control register is read using a mov or smsw instruction (i.e. only explicit reads). Also the hap is triggered when MSRs are read with rdmsr, rdtsc or rdtscp instructions.

For PowerPC processors, this hap is triggered by the mfspr, mfmsr mfsr and mfsrin instructions (i.e. only explicit reads).

Core_Control_Register_Write

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  register_number,
          int64  value);

Index

register_number

Description

Triggered when a control register is written. Note that value is not (necessarily) the final contents in the register. When the callback is called, the processor register has not yet been updated with the new value.

If the callback routine breaks to the frontend by raising an exception, the instruction will be replayed possibly causing repeated memory operations.

For x86 processors, this hap is triggered by clts, lmsw, and mov. Also the hap is triggered when MSRs are written with wrmsr instruction. Page fault updates of CR2 should be caught with the Core_Exception hap.

For PowerPC processors, this hap is triggered by the mtspr, mtmsr, mtsr and mtsrin instructions (i.e. only explicit writes).

Core_DSTC_Flush_Counter

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  type,
          int64  virtual_address,
          int64  physical_address,
          int64  counter);

Description

Triggered when the DSTC flushes a line's hit counter. It reports how many hits the STC recorded since the line was inserted.

Core_Device_Access_Memop

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          generic_transaction_t *memop);

Description

Triggered when a device access is performed.

Core_Exception

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  exception_number);

Index

exception_number

Description

Triggered when an exception/trap is taken by a processor. The hap occurs before side-effects, control transfers included, have taken place.

Interrupting the simulation by calling SIM_break_simulation inside the hap will cause the simulation to stop right before the exception (and the trapping instruction, if any). The simulation state will then be as it was prior to the execution of the instruction or exception. Continuing the simulation will then re-run the exception, this time without calling hap functions.

Depending on the processor model, some state may actually have changed in an idempotent way when the hap occurs, but this should not be relied upon.

The exact meaning of the exception number depends on the simulated processor architecture. The exception interface can be used to translate the number to an exception name.

Core_Exception_Return

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  exception_number);

Index

exception_number

Description

Triggered when an exception/trap handler finishes execution. The hap is triggered before any processor state has changed.

The following instructions trigger this hap (by processor class):

MIPS: eret and deret

PowerPC (32): rfi and rfci

PowerPC (64): rfi, rfid and hrfid

SH: rte

SPARC: done and retry

x86/x86-64: The iret family.

The exception_number parameter is only valid for SPARC processors.

Core_External_Interrupt

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  source_mid);

Index

source_mid

Description

(SPARC only) Triggered when a processor receives an external interrupt. The trigger object is the receiving cpu, and source_mid is the mid of the sending cpu/device. The hap will be triggered even if interrupts are disabled, but not if the interrupt logic is busy.

Core_Frequency_Changed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  old_freq,
          int64  new_freq);

Description

Triggered when the frequency of a cycle queue has changed. Parameters are the old and new frequencies in Hz.

Core_Hap_Callback_Installed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  hap_number,
          int64  range_low,
          int64  range_high);

Index

hap_number

Description

Triggered before a callback is installed. The callback called by this hap is not allowed to install any hap callbacks.

Core_Hap_Callback_Removed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  hap_number,
          int64  range_low,
          int64  range_high);

Index

hap_number

Description

Triggered after a callback has been unregistered. The callback called by this hap is not allowed to remove any hap callbacks.

Core_Hap_Type_Added

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          char *hap_name);

Description

Triggered when a new hap type is added to the simulator. The hap is not triggered for the initial set of core haps. Callbacks called in Global Context.

Core_Image_Activity

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  type,
          int  onoff);

Description

Triggered on I/O activity in an image object.

Core_Log_Groups_Change

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  log_group_mask);

Description

Triggered when the active log groups of an object changes

Core_Log_Level_Change

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  new_log_level);

Description

Triggered when the log level of an object changes

Core_Log_Message

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  type,
          char *message);

Index

log type

Description

Triggered when a log message is registered that is supposed to be logged, i.e. with matching type and group(s) and level.

Core_Log_Message_Always

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  type,
          char *message,
          int  level,
          int64  group);

Description

Triggered always when a log message is registered regardless of the current log level

Core_Log_Message_Extended

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  type,
          char *message,
          int  level,
          int64  group);

Description

Triggered when a log message is registered that is supposed to be logged according to the log level.

Core_Log_Message_Filtered

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  type,
          char *message,
          int  level,
          int64  group);

Description

Triggered when a log message is registered that is supposed to be logged, i.e. with matching type and group(s) and level.

Core_Magic_Instruction

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  parameter);

Index

parameter

Description

Triggered when Simics executes a magic instruction. The parameter is taken from the instruction and is architecture-dependent.

Core_Memory_Space_Map_Changed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Experimental

Core_Mode_Change

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  old_mode,
          int64  new_mode);

Description

Triggered when a processor changes privilege mode for whatever reason; usually an exception or return from an exception. The hap occurs after the processor has changed mode but before any instructions have been executed in the new mode.

For x86 processors, the modes are Sim_CPU_Mode_User for CPL 3, and Sim_CPU_Mode_Supervisor for CPL 0-2.

For other processors, the modes are Sim_CPU_Mode_User or Sim_CPU_Mode_Supervisor. Some processors also has the Sim_CPU_Mode_Hypervisor mode.

Core_Module_Loaded

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          char *module_name);

Description

Triggered when a module is loaded into Simics. Called in Global Context.

Core_Multicore_Acceleration_Changed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  on/off);

Description

Triggered when the multicore-accelerator feature is enabled or disabled.

Core_Multithreading_Changed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  on/off);

Description

Triggered when multithreaded simulation is enabled or disabled.

Core_Not_Implemented

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  line,
          char *file,
          char *rcsid,
          char *message,
          int64  data);

Description

Triggered when the simulator encounters unimplemented functionality.

Core_Preferences_Changed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered when an attribute in the prefs object is written. Called in Global Context.

Core_Processor_Schedule_Changed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered when the scheduling order of the processors has changed. Called in Global Context.

Core_Project_Changed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered when a new Simics project directory is selected. Called in Global Context.

Core_Simulation_Mode_Change

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  simulation_mode);

Index

simulation_mode

Description

Triggered when the simulation mode for the processor has changed.

Core_Simulation_Stopped

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  exception,
          char *error_string);

Index

exception

Description

Triggered when the simulation stops. The exception argument will always be SimExc_No_Exception, and error_string will always be NULL. After this hap, simulation will not advance (triggering Core_Continuation) until SIM_continue is called again. Callbacks are called in Global Context.

Core_Sync_Instruction

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  type);

Index

type

Description

Triggered when an synchronizing instruction is executed. The type parameter describe what kind of instruction is executing. Its encoding is specific to each architecture.

For SH, this hap is triggered when a synco instruction is executed. The type contains 0.

For SPARC-V9, this hap is triggered when a membar or stbar instruction is executed. For membar, the type contains the 7-bit field cmask|mmask specified in the instruction. For stbar, the type is 8 (equivalent to membar #StoreStore).

For x86, this hap is triggered when a fence instruction is executed. The type is set from the list provided by the x86_sync_instruction_type_t enum.

Core_Timing_Model_Change

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered on an object when a timing model or snoop device is inserted, deleted, or changed.

Core_User_Comments_Changed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered when the list of user comments for a session has changed

Eth_Injector_Pcap_Eof

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          char *pcap_file,
          int  num_injected,
          int  pcap_num_pkgs,
          int  auto_restart);

Description

Triggered by the eth_injector object when all contents of the pcap file has been sent. The callback function will have the pcap file name, next packet index, total number of packets in the pcap file, and auto-restart as arguments.

Firewire_Reset

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered when the bus is reset. It is invoked after calculating the default topology. During the hap the self_ids attribute can be used to change the self id packets sent to the devices on the bus. The connected_devices attribute can also be changed to modify the mapping from physical id to device.

Firewire_Transfer

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered when an packet travels through a firewire bus. During the hap handler the current_transfer attribute of the bus can be used to inspect and/or change the current transfer. If you set it to NULL the transfer is aborted and Firewire_V2_Ack_No_Ack is returned to the initiator of the transfer.

Gfx_Break

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  gfx_break);

Index

break_id

Description

Triggered when a graphical breakpoint matches the screen. break_id is the number returned when a breakpoint is set.

Internal_Break_IO

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  break-id);

Description

Simics internal. Triggered on a break-io access.

Internal_Device_Reg_Access

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          generic_transaction_t *memop,
          char *port,
          int  idx,
          int  func,
          int64  offset);

Description

Simics internal. Triggered on an access to a device register traced with trace-io command.

Internal_SB_Wait

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Index

id

Description

Simics internal

Internal_Time_Quantum_Changed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Simics internal. Triggered when the time quantum has changed. The hap is supported in Simics 5 even though it is marked as internal.

RTC_Nvram_Update

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  index,
          int64  old_value,
          int64  new_value);

Index

index

Description

This hap is triggered when the DS12887-c NVRAM memory is changed.

Realtime_Enabled

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  enabled);

Description

Internal: Notifies change of realtime enabled status

SCSI_Disk_Command

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  command_number,
          int64  start,
          int64  len);

Index

command_number

Description

Triggered when a SCSI command is received by a SCSI device. The parameters start and len are only used for read and write commands.

SN_NAPT_Enabled

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int  enabled);

Index

Description

Triggered when NAPT is enabled or disabled in a service-node.The argument is 0 when disabled and 1 when enabled.

TLB_Fill_Data

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  linear,
          int64  physical,
          int64  page_size);

Index

page_size

Description

Triggered when a TLB entry is filled after a table walk. Page size encoding: 0==4k, 1==2M, 2==4M, 3==1G.

TLB_Fill_Instruction

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  linear,
          int64  physical,
          int64  page_size);

Index

page_size

Description

Triggered when a TLB entry is filled after a table walk. Page size encoding: 0==4k, 1==2M, 2==4M, 3==1G.

TLB_Invalidate_Data

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  linear,
          int64  physical,
          int64  page_size);

Index

page_size

Description

Triggered when a TLB entry is invalidated. The invalidation can be caused by an INVLPG instruction, a write to CR3, or by changes to paging bits in CR0 and CR4. Page size encoding: 0==4k, 1==2M, 2==4M, 3==1G.

TLB_Invalidate_Instruction

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  linear,
          int64  physical,
          int64  page_size);

Index

page_size

Description

Triggered when a TLB entry is invalidated. The invalidation can be caused by an INVLPG instruction, a write to CR3, or by changes to paging bits in CR0 and CR4. Page size encoding: 0==4k, 1==2M, 2==4M, 3==1G.

TLB_Miss_Data

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  linear_address);

Index

linear_address

Description

Triggered when a DTLB miss occurs.

TLB_Miss_Instruction

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  linear_address);

Index

linear_address

Description

Triggered when an ITLB miss occurs.

TLB_Replace_Data

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  linear,
          int64  physical,
          int64  page_size);

Index

page_size

Description

This hap is triggered when a TLB entry is replaced by another. The parameters relate to the old entry, and the insertion of the new entry will trigger a fill hap. Page size encoding: 0==4k, 1==2M, 2==4M, 3==1G.

TLB_Replace_Instruction

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          int64  linear,
          int64  physical,
          int64  page_size);

Index

page_size

Description

This hap is triggered when a TLB entry is replaced by another. The parameters relate to the old entry, and the insertion of the new entry will trigger a fill hap. Page size encoding: 0==4k, 1==2M, 2==4M, 3==1G.

UI_Run_State_Changed

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj,
          char *state);

Description

Triggered when the run state changes; not triggered in batch mode. The argument is one of:
"Stopped"
simulation stopped and may not run
"Stopped_Fwd"
stopped and may run forward
"Forwarding"
simulation is running forward

Vga_Refresh_Triggered

Callback Type

void (*) (lang_void *callback_data,
          conf_object_t *trigger_obj);

Description

Triggered before picture on screen is updated

8 Modules

Simics Core

Classes

i8042

Commands

Simics Core

Classes

floppy-drive, i82077

Commands

Simics Core

Classes

i8237x2

Commands

Simics Core

Classes

i8254

Commands

Simics Core

Classes

i8259x2

Commands

Simics Core

Classes

AM79C960

Commands

Simics Core

Classes

AM79C973

Commands

Simics Core

Classes

AT24C04, AT24Cxx

Commands

Simics Core

Classes

AT24Cxxx

Commands

Simics Core

Classes

BCM5703C

Commands

Simics Core

Classes

BCM5704C

Commands

Simics Core

Classes

CL-PD6729

Commands

Simics Core

Classes

DEC21041

Commands

Simics Core

Classes

DEC21140A

Commands

Simics Core

Classes

DEC21140A-dml

Commands

Simics Core

Classes

DEC21143

Commands

Simics Core

Classes

DS12887

Commands

Simics Core

Classes

DS12887-c

Commands

Simics Core

Classes

DS3231, DS323x

Commands

Simics Core

Classes

NS16450, NS16550

Commands

Simics Core

Classes

PCF8582C

Commands

Simics Core

Classes

TSB12LV26

Commands

Simics Core

Classes

accel-vga

Commands

Simics Core

Classes

accel_vga_v2

Commands

Simics Core

Classes

apic, apic-bus

Commands

Simics Core

Classes

arinc429_bus

Commands

Simics Core

Classes

async-bridge

Commands

Simics Core

Classes

attr-meter

Commands

new-attr-meter

Simics Core

Classes

bank_coverage_tool, bank_coverage_tool_connection

Commands

new-bank-coverage-tool

Simics Core

Classes

bank_patch_tool, bank_patch_tool_connection

Commands

new-bank-patch-tool

Simics Core

Classes

bitmask-translator

Commands

Simics Core

Classes

blueprint-namespace, subsystem-namespace

Commands

list-blueprint-params, list-blueprint-state, list-blueprints, print-blueprint-state

Simics Core

This module is always loaded.

Classes

bp-manager

Commands

<bank_instrumentation_subscribe>.bp-break-bank, <bank_instrumentation_subscribe>.bp-run-until-bank, <bank_instrumentation_subscribe>.bp-trace-bank, <bank_instrumentation_subscribe>.bp-wait-for-bank, <bp-manager.bank>.break, <bp-manager.bank>.run-until, <bp-manager.bank>.trace, <bp-manager.bank>.wait-for, <bp-manager.con-gfx>.break, <bp-manager.con-gfx>.run-until, <bp-manager.con-gfx>.trace, <bp-manager.con-gfx>.wait-for, <bp-manager.con-string>.break, <bp-manager.con-string>.run-until, <bp-manager.con-string>.trace, <bp-manager.con-string>.wait-for, <bp-manager.con-string>.wait-then-write, <bp-manager.cr>.break, <bp-manager.cr>.run-until, <bp-manager.cr>.trace, <bp-manager.cr>.wait-for, <bp-manager.cycle>.break, <bp-manager.cycle>.run-until, <bp-manager.cycle>.trace, <bp-manager.cycle>.wait-for, <bp-manager.cycle_event>.break, <bp-manager.cycle_event>.run-until, <bp-manager.cycle_event>.trace, <bp-manager.cycle_event>.wait-for, <bp-manager.eth_link>.break, <bp-manager.eth_link>.run-until, <bp-manager.eth_link>.trace, <bp-manager.eth_link>.wait-for, <bp-manager.exc>.break, <bp-manager.exc>.run-until, <bp-manager.exc>.trace, <bp-manager.exc>.wait-for, <bp-manager.hap>.break, <bp-manager.hap>.run-until, <bp-manager.hap>.trace, <bp-manager.hap>.wait-for, <bp-manager.log>.break, <bp-manager.log>.run-until, <bp-manager.log>.trace, <bp-manager.log>.wait-for, <bp-manager.magic>.break, <bp-manager.magic>.run-until, <bp-manager.magic>.trace, <bp-manager.magic>.wait-for, <bp-manager.memory>.break, <bp-manager.memory>.run-until, <bp-manager.memory>.trace, <bp-manager.memory>.unbreak, <bp-manager.memory>.wait-for, <bp-manager.msr>.break, <bp-manager.msr>.run-until, <bp-manager.msr>.trace, <bp-manager.msr>.wait-for, <bp-manager.notify>.break, <bp-manager.notify>.run-until, <bp-manager.notify>.trace, <bp-manager.notify>.wait-for, <bp-manager.os_awareness>.break, <bp-manager.os_awareness>.run-until, <bp-manager.os_awareness>.trace, <bp-manager.os_awareness>.wait-for, <bp-manager.src-line>.break, <bp-manager.src-line>.run-until, <bp-manager.src-line>.trace, <bp-manager.src-line>.wait-for, <bp-manager.src-location>.break, <bp-manager.src-location>.run-until, <bp-manager.src-location>.trace, <bp-manager.src-location>.wait-for, <bp-manager.step>.break, <bp-manager.step>.run-until, <bp-manager.step>.trace, <bp-manager.step>.wait-for, <bp-manager.step_event>.break, <bp-manager.step_event>.run-until, <bp-manager.step_event>.trace, <bp-manager.step_event>.wait-for, <bp-manager.time>.break, <bp-manager.time>.run-until, <bp-manager.time>.trace, <bp-manager.time>.wait-for, <bp_manager>.delete, <bp_manager>.disable, <bp_manager>.enable, <bp_manager>.enabled, <bp_manager>.ignore-count, <bp_manager>.list, <bp_manager>.list-types, <bp_manager>.show, <bp_manager>.test-trigger, <bp_manager>.wait-for-breakpoint, <break_strings_v2>.bp-break-console-string, <break_strings_v2>.bp-run-until-console-string, <break_strings_v2>.bp-trace-console-string, <break_strings_v2>.bp-wait-for-console-string, <breakpoint>.bp-break-memory, <breakpoint>.bp-run-until-memory, <breakpoint>.bp-trace-memory, <breakpoint>.bp-wait-for-memory, <cycle>.bp-break-cycle, <cycle>.bp-break-time, <cycle>.bp-run-until-cycle, <cycle>.bp-run-until-time, <cycle>.bp-trace-cycle, <cycle>.bp-trace-time, <cycle>.bp-wait-for-cycle, <cycle>.bp-wait-for-time, <cycle_event_instrumentation>.bp-break-cycle-event, <cycle_event_instrumentation>.bp-run-until-cycle-event, <cycle_event_instrumentation>.bp-trace-cycle-event, <cycle_event_instrumentation>.bp-wait-for-cycle-event, <exception>.bp-break-exception, <exception>.bp-run-until-exception, <exception>.bp-trace-exception, <exception>.bp-wait-for-exception, <gfx_break>.bp-break-gfx, <gfx_break>.bp-run-until-gfx, <gfx_break>.bp-trace-gfx, <gfx_break>.bp-wait-for-gfx, <network_breakpoint>.bp-break-network, <network_breakpoint>.bp-run-until-network, <network_breakpoint>.bp-trace-network, <network_breakpoint>.bp-wait-for-network, <osa_component>.bp-break, <osa_component>.bp-run-until, <osa_component>.bp-trace, <osa_component>.bp-wait-for, <processor_internal>.bp-break-control-register, <processor_internal>.bp-break-magic, <processor_internal>.bp-run-until-control-register, <processor_internal>.bp-run-until-magic, <processor_internal>.bp-trace-control-register, <processor_internal>.bp-trace-magic, <processor_internal>.bp-wait-for-control-register, <processor_internal>.bp-wait-for-magic, <step>.bp-break-step, <step>.bp-run-until-step, <step>.bp-trace-step, <step>.bp-wait-for-step, <step_event_instrumentation>.bp-break-step-event, <step_event_instrumentation>.bp-run-until-step-event, <step_event_instrumentation>.bp-trace-step-event, <step_event_instrumentation>.bp-wait-for-step-event, <symdebug>.bp-break-source-line, <symdebug>.bp-break-source-location, <symdebug>.bp-run-until-source-line, <symdebug>.bp-run-until-source-location, <symdebug>.bp-trace-source-line, <symdebug>.bp-trace-source-location, <symdebug>.bp-wait-for-source-line, <symdebug>.bp-wait-for-source-location, <x86_msr>.bp-break-msr, <x86_msr>.bp-run-until-msr, <x86_msr>.bp-trace-msr, <x86_msr>.bp-wait-for-msr

Simics Core

Classes

Commands

Simics Core

Classes

can_endpoint, can_link, can_link_impl

Commands

create-can-link, new-can-link

Simics Core

Classes

cdrom_image

Commands

new-cdrom-image

Simics Core

Classes

clipboard-gateway

Commands

Simics Core

Classes

cell_and_clocks_comp, clock

Commands

create-cell-and-clocks-comp, new-cell-and-clocks-comp

Simics Core

Classes

co-engine

Commands

Simics Core

Classes

co-execute

Commands

Simics Core

Classes

code_coverage, code_coverage_helper

Commands

collect-coverage, load-coverage

Simics Core

Classes

gfx_console_comp, txt_console_comp

Commands

create-gfx-console-comp, create-txt-console-comp, new-gfx-console-comp, new-txt-console-comp

Simics Core

Classes

cp3_quad100tx

Commands

create-cp3-quad100tx, new-cp3-quad100tx

Simics Core

Classes

cpci_adapter

Commands

create-cpci-adapter, new-cpci-adapter

Simics Core

Classes

cpu-group

Commands

Simics Core

Classes

cpu_mode_filter

Commands

new-cpu-mode-filter

Simics Core

Classes

cpumode_software_mapper, cpumode_software_tracker, cpumode_software_tracker_comp

Commands

Simics Core

Classes

cycle_staller

Commands

new-cycle-staller

Simics Core

Classes

datagram_link, datagram_link_endpoint, datagram_link_impl

Commands

create-datagram-link, new-datagram-link

Simics Core

Classes

disassemble_x86

Commands

Simics Core

Classes

dm9161

Commands

Simics Core

Classes

Commands

Simics Core

Classes

Commands

Simics Core

Classes

Commands

Simics Core

Classes

empty_components

Commands

create-empty-components, new-empty-components

Simics Core

Classes

empty_device_c

Commands

Simics Core

Classes

empty_device_cc

Commands

Simics Core

Classes

empty_device_confclass

Commands

Simics Core

Classes

empty_device_dml

Commands

Simics Core

Classes

empty_device_pyobj

Commands

Simics Core

Classes

empty_device_python

Commands

Simics Core

Classes

Commands

Simics Core

Classes

empty_software_mapper, empty_software_tracker, empty_software_tracker_comp

Commands

Simics Core

Classes

Commands

Simics Core

Classes

etg

Commands

Simics Core

Classes

eth_injector

Commands

Simics Core

Classes

eth_injector_comp

Commands

create-eth-injector-comp, new-eth-injector-comp

Simics Core

Classes

eth-cable-link, eth-cable-link-endpoint, eth-hub-link, eth-hub-link-endpoint, eth-link-snoop-endpoint, eth-switch-link, eth-switch-link-endpoint, eth-switch-link-snoop-endpoint, ethernet_cable, ethernet_hub, ethernet_switch, ethernet_vlan_switch

Commands

create-ethernet-cable, create-ethernet-hub, create-ethernet-switch, create-ethernet-vlan-switch, new-ethernet-cable, new-ethernet-hub, new-ethernet-switch, new-ethernet-vlan-switch, pcap-dump, pcap-dump-stop, tcpdump, tcpdump-stop, wireshark, wireshark-stop

Simics Core

Classes

eth-probe, eth-probe-port

Commands

create-unconnected-ethernet-probe, insert-ethernet-probe

Simics Core

Classes

eth-transceiver

Commands

Simics Core

Classes

event_histogram, event_histogram_connection

Commands

new-event-histogram

Simics Core

Classes

Commands

Simics Core

Classes

brody, deckard, elliot, emmett, ethan, frankie_carbone, gertie, godzilla, hal, hunt, korben, leeloo, maria_singer, marvin, mcfly, nemo, nikita, rachel, ripley, roy_batty, sebastian, tyler_durden, tyrell, wall_e, zorg

Commands

create-brody, create-deckard, create-elliot, create-emmett, create-ethan, create-frankie-carbone, create-gertie, create-godzilla, create-hal, create-hunt, create-korben, create-leeloo, create-maria-singer, create-marvin, create-mcfly, create-nemo, create-nikita, create-rachel, create-ripley, create-roy-batty, create-sebastian, create-tyler-durden, create-tyrell, create-wall-e, create-zorg, new-brody, new-deckard, new-elliot, new-emmett, new-ethan, new-frankie-carbone, new-gertie, new-godzilla, new-hal, new-hunt, new-korben, new-leeloo, new-maria-singer, new-marvin, new-mcfly, new-nemo, new-nikita, new-rachel, new-ripley, new-roy-batty, new-sebastian, new-tyler-durden, new-tyrell, new-wall-e, new-zorg

Simics Core

Classes

exception_histogram, exception_histogram_connection

Commands

new-exception-histogram

Simics Core

Classes

tcp-server, unix-socket-server

Commands

Simics Core

Classes

firewire_bus, firewire_device_test_wrapper

Commands

Simics Core

Classes

framebuffer

Commands

Simics Core

Classes

frequency_bus

Commands

Simics Core

Classes

ftp-alg

Commands

Simics Core

Classes

ftp-control, ftp-data, ftp-service

Commands

Simics Core

Classes

g-cache, trans-sorter, trans-splitter

Commands

Simics Core

Classes

gdb-remote

Commands

new-gdb-remote

Simics Core

Classes

generic_eth_phy

Commands

Simics Core

Classes

generic-flash-memory, new-flash-memory

Commands

Simics Core

Classes

Commands

Simics Core

Classes

generic-mmc-card

Commands

Simics Core

Classes

generic_pcie_switch

Commands

create-generic-pcie-switch, new-generic-pcie-switch

Simics Core

Classes

generic_pcie_switch_port

Commands

Simics Core

Classes

mmc_card, sd_card

Commands

Simics Core

Classes

M25Pxx, generic_spi_flash

Commands

Simics Core

Classes

Commands

Simics Core

Classes

gml_link, gml_link_endpoint, gml_link_impl

Commands

create-gml-link, new-gml-link

Simics Core

Classes

goldfish-rtc

Commands

Simics Core

Classes

gfx-frontend-winsome, graphcon

Commands

Simics Core

Classes

hap-meter

Commands

new-hap-meter

Simics Core

Classes

hostfs

Commands

Simics Core

Classes

hypersim-pattern-matcher

Commands

disable-hypersim, enable-hypersim, hypersim-status, list-hypersim-patterns

Simics Core

Classes

i210

Commands

Simics Core

Classes

i210_comp

Commands

create-i210-comp, new-i210-comp

Simics Core

Classes

i210_v2

Commands

Simics Core

Classes

i210_v2_comp

Commands

create-i210-v2-comp, new-i210-v2-comp

Simics Core

Classes

i21150

Commands

Simics Core

Classes

i21152

Commands

Simics Core

Classes

i21154

Commands

Simics Core

Classes

i21554-prim, i21554-scnd

Commands

Simics Core

Classes

i21555-prim, i21555-scnd

Commands

Simics Core

Classes

i2c-bus, i2c_slave_v2_to_bus_adapter

Commands

Simics Core

Classes

i2c_to_i3c_adapter, i3c_bus, i3c_cable, i3c_cable_endpoint, i3c_cable_impl, i3c_link, i3c_link_endpoint, i3c_link_impl, i3c_wire

Commands

create-i3c-cable, create-i3c-link, new-i3c-cable, new-i3c-link

Simics Core

Classes

i82543

Commands

Simics Core

Classes

i82546

Commands

Simics Core

Classes

i82559

Commands

Simics Core

Classes

i82571EB_v2

Commands

Simics Core

Classes

i82571EB_v2_comp

Commands

create-i82571EB-v2-comp

Simics Core

Classes

i82574_v2

Commands

Simics Core

Classes

i82574_v2_comp

Commands

create-i82574-v2-comp

Simics Core

Classes

i82576EB_v2

Commands

Simics Core

Classes

i82576EB_v2_comp

Commands

create-i82576EB-v2-comp

Simics Core

Classes

i82583V_v2

Commands

Simics Core

Classes

i82583V_v2_comp

Commands

create-i82583V-v2-comp

Simics Core

Classes

id-splitter

Commands

Simics Core

Classes

ide, ide-cdrom, ide-disk

Commands

Simics Core

Classes

Commands

Simics Core

Classes

ieee_802_15_4_link, ieee_802_15_4_link_endpoint, ieee_802_15_4_link_impl

Commands

create-ieee-802-15-4-link, new-ieee-802-15-4-link

Simics Core

Classes

ieee_802_15_4_probe

Commands

insert-ieee-802-15-4-probe

Simics Core

Classes

instruction_count, instruction_count_connection

Commands

new-instruction-count

Simics Core

Classes

instruction_histogram, mnemonic_histogram_connection, size_histogram_connection, x86_normalized_histogram_connection, xed_iform_histogram_connection

Commands

new-instruction-histogram

Simics Core

Classes

instrumentation_filter_aggregator

Commands

Simics Core

Classes

tracer_tool, tracer_tool_connection

Commands

new-tracer-tool

Simics Core

Classes

e1000_spi

Commands

Simics Core

Classes

interface_histogram_tool, interface_histogram_tool_connection

Commands

Simics Core

Classes

interface_log_tool, interface_log_tool_connection

Commands

Simics Core

Classes

interrupt_to_signal

Commands

Simics Core

Classes

io-apic

Commands

Simics Core

Classes

ISA

Commands

Simics Core

Classes

legacy-upstream-pcie-adapter

Commands

Simics Core

Classes

legacy_upstream_pcie_adapter_comp

Commands

create-legacy-upstream-pcie-adapter-comp, new-legacy-upstream-pcie-adapter-comp

Simics Core

Classes

linux_analyzer, linux_mapper, linux_tracker, linux_tracker_comp

Commands

Simics Core

Classes

mac_splitter

Commands

Simics Core

Classes

magic_pipe

Commands

start-magic-pipe

Simics Core

Classes

Commands

Simics Core

Classes

agent_handle, agent_manager

Commands

start-agent-manager

Simics Core

Classes

mem-traffic-meter

Commands

new-mem-traffic-meter

Simics Core

Classes

ddr2_memory_module_comp, ddr3_memory_module_comp, ddr_memory_module_comp, sdram_memory_module_comp, simple_memory_module

Commands

create-and-connect-ddr-memory-comp, create-ddr-memory-module-comp, create-ddr2-memory-module-comp, create-ddr3-memory-module-comp, create-sdram-memory-module-comp, create-simple-memory-module, new-ddr-memory-module-comp, new-ddr2-memory-module-comp, new-ddr3-memory-module-comp, new-sdram-memory-module-comp, new-simple-memory-module

Simics Core

Classes

memory_profiler, memory_profiler_connection

Commands

new-memory-profiler

Simics Core

Classes

microwire-eeprom

Commands

Simics Core

Classes

mii-management-bus

Commands

Simics Core

Classes

mii-transceiver

Commands

Simics Core

This module is always loaded.

Classes

Commands

win-about

Simics Core

Classes

micron_mtfc128gap_emmc_card, micron_mtfc16gap_emmc_card, micron_mtfc2ggqdi_emmc_card, micron_mtfc32gap_emmc_card, micron_mtfc4gacaeam_emmc_card, micron_mtfc4gacaeam_emmc_card_with_boot_part, micron_mtfc4ggqdi_emmc_card, micron_mtfc4ggqdi_sdhc_card, micron_mtfc64gap_emmc_card, micron_mtfc64ggqdi_sdhc_card, micron_mtfc8gacaeam_emmc_card, micron_mtfc8gam_emmc_card

Commands

create-micron-mtfc128gap-emmc-card, create-micron-mtfc16gap-emmc-card, create-micron-mtfc2ggqdi-emmc-card, create-micron-mtfc32gap-emmc-card, create-micron-mtfc4gacaeam-emmc-card, create-micron-mtfc4gacaeam-emmc-card-with-boot-part, create-micron-mtfc4ggqdi-emmc-card, create-micron-mtfc4ggqdi-sdhc-card, create-micron-mtfc64gap-emmc-card, create-micron-mtfc64ggqdi-sdhc-card, create-micron-mtfc8gacaeam-emmc-card, create-micron-mtfc8gam-emmc-card, new-micron-mtfc128gap-emmc-card, new-micron-mtfc16gap-emmc-card, new-micron-mtfc2ggqdi-emmc-card, new-micron-mtfc32gap-emmc-card, new-micron-mtfc4gacaeam-emmc-card, new-micron-mtfc4gacaeam-emmc-card-with-boot-part, new-micron-mtfc4ggqdi-emmc-card, new-micron-mtfc4ggqdi-sdhc-card, new-micron-mtfc64gap-emmc-card, new-micron-mtfc64ggqdi-sdhc-card, new-micron-mtfc8gacaeam-emmc-card, new-micron-mtfc8gam-emmc-card

Simics Core

Classes

mtprof

Commands

disable-mtprof, enable-mtprof

Simics Core

Classes

connected_device, tcp_server

Commands

Simics Core

Classes

onfi_flash

Commands

Simics Core

Classes

os_awareness

Commands

<osa_parameters>.load-parameters, <osa_parameters>.save-parameters, <osa_parameters>.supports-parameters, create-os-awareness, new-os-awareness

Simics Core

Classes

Commands

Simics Core

Classes

partition_mapper, partition_tracker, partition_tracker_comp

Commands

Simics Core

Classes

pc-config

Commands

Simics Core

Classes

pc-shadow

Commands

Simics Core

Classes

pci-bus

Commands

Simics Core

Classes

pci_accel_vga_comp, pci_accel_vga_v2_comp, pci_am79c973_comp, pci_bcm5703c_comp, pci_bcm5704c_comp, pci_dec21041_comp, pci_dec21140, pci_dec21140_panel, pci_dec21140a_comp, pci_dec21143_comp, pci_i21152_comp, pci_i82543gc_comp, pci_i82546bg_comp, pci_i82559_comp, pci_pd6729_comp, pci_vga_comp

Commands

create-pci-accel-vga-comp, create-pci-accel-vga-v2-comp, create-pci-am79c973-comp, create-pci-bcm5703c-comp, create-pci-bcm5704c-comp, create-pci-dec21041-comp, create-pci-dec21140, create-pci-dec21140-panel, create-pci-dec21140a-comp, create-pci-dec21143-comp, create-pci-i21152-comp, create-pci-i82543gc-comp, create-pci-i82546bg-comp, create-pci-i82559-comp, create-pci-pd6729-comp, create-pci-vga-comp, new-pci-accel-vga-comp, new-pci-accel-vga-v2-comp, new-pci-am79c973-comp, new-pci-bcm5703c-comp, new-pci-bcm5704c-comp, new-pci-dec21041-comp, new-pci-dec21140, new-pci-dec21140-panel, new-pci-dec21140a-comp, new-pci-dec21143-comp, new-pci-i21152-comp, new-pci-i82543gc-comp, new-pci-i82546bg-comp, new-pci-i82559-comp, new-pci-pd6729-comp, new-pci-vga-comp

Simics Core

Classes

pci_proxy, pci_proxy_mf

Commands

Simics Core

Classes

pcie-bus, pcie-switch

Commands

Simics Core

Classes

pcie-downstream-port, pcie-downstream-port-legacy

Commands

<pcie-downstream-port-legacy.cfg>.map, <pcie-downstream-port-legacy.io>.map, <pcie-downstream-port-legacy.mem>.map, <pcie-downstream-port-legacy.msg>.map, <pcie-downstream-port.cfg>.map, <pcie-downstream-port.io>.map, <pcie-downstream-port.mem>.map, <pcie-downstream-port.msg>.map

Simics Core

Classes

Commands

Simics Core

Classes

phy_comp

Commands

create-phy-comp, new-phy-comp

Simics Core

Classes

pipe_manager

Commands

start-pipe-manager

Simics Core

Classes

probe_monitor, probe_streamer, probe_system_perfmeter

Commands

new-probe-monitor, new-probe-streamer, new-system-perfmeter

Simics Core

Classes

process_filter

Commands

new-process-filter

Simics Core

Classes

process_histogram, process_histogram_connection

Commands

new-process-histogram

Simics Core

Classes

ram_tracer, ram_tracer_connection

Commands

new-ram-tracer

Simics Core

Classes

real_network_bridge_comp, real_network_host_comp, rn-eth-bridge-tap

Commands

connect-real-network-bridge, connect-real-network-host, create-real-network-bridge-comp, create-real-network-host-comp, disconnect-real-network, new-real-network-bridge-comp, new-real-network-host-comp

Simics Core

Classes

realtime

Commands

disable-real-time-mode, enable-real-time-mode, real-time-mode

Simics Core

Classes

recorder

Commands

Simics Core

Classes

sample_802_15_4_transceiver

Commands

Simics Core

Classes

sample_802_15_4_panel, sample_802_15_4_transceiver_comp

Commands

create-sample-802-15-4-panel, create-sample-802-15-4-transceiver-comp, new-sample-802-15-4-panel, new-sample-802-15-4-transceiver-comp

Simics Core

Classes

sample_pci_card

Commands

create-sample-pci-card, new-sample-pci-card

Simics Core

Classes

cpci_backplane

Commands

create-cpci-backplane, new-cpci-backplane

Simics Core

Classes

sample-device-c

Commands

Simics Core

Classes

sample_device_cxx_after, sample_device_cxx_after_bank, sample_device_cxx_attribute_class_attribute, sample_device_cxx_attribute_class_member_method, sample_device_cxx_attribute_class_member_variable, sample_device_cxx_attribute_custom_method, sample_device_cxx_attribute_global_method, sample_device_cxx_attribute_nested_stl_container, sample_device_cxx_attribute_pseudo, sample_device_cxx_attribute_specialized_converter, sample_device_cxx_bank_by_code, sample_device_cxx_bank_by_data, sample_device_cxx_class_with_init_class, sample_device_cxx_class_without_init_class, sample_device_cxx_class_without_init_local, sample_device_cxx_connect, sample_device_cxx_connect_map_target, sample_device_cxx_connect_to_descendant, sample_device_cxx_event, sample_device_cxx_interface, sample_device_cxx_interface_c, sample_device_cxx_interface_with_custom_info, sample_device_cxx_logging, sample_device_cxx_port_use_confobject, sample_device_cxx_port_use_port, sample_device_cxx_user_interface

Commands

<sample_device_cxx_port_use_confobject.sample>.info, <sample_device_cxx_port_use_confobject.sample>.status, <sample_device_cxx_port_use_port.sample>.info, <sample_device_cxx_port_use_port.sample>.status

Simics Core

Classes

sample_device_dml

Commands

Simics Core

Classes

sample_device_mixed

Commands

Simics Core

Classes

sample_device_pkg_prio

Commands

Simics Core

Classes

sample_device_python

Commands

Simics Core

Classes

sample_device_python_confclass

Commands

Simics Core

Classes

sample_dma_device

Commands

Simics Core

Classes

sample_dma_device_cpp

Commands

Simics Core

Classes

sample_dma_device_python

Commands

Simics Core

Classes

sample_dynamic_connectors

Commands

create-sample-dynamic-connectors, new-sample-dynamic-connectors

Simics Core

Classes

sample_event_device

Commands

Simics Core

Classes

sample_firewire_device

Commands

Simics Core

Classes

sample_generic_message_device

Commands

Simics Core

Classes

sample_i2c_device

Commands

Simics Core

Classes

sample-i3c-target, sample_i3c_master

Commands

Simics Core

Classes

sample_i3c_target_comp

Commands

create-sample-i3c-target-comp, new-sample-i3c-target-comp

Simics Core

Classes

Commands

Simics Core

Classes

sample_interrupt_device

Commands

Simics Core

Classes

sample_linux_mapper, sample_linux_tracker, sample_linux_tracker_comp

Commands

Simics Core

Classes

sample-memhier

Commands

Simics Core

Classes

sample_notifier_cc

Commands

Simics Core

Classes

sample_notifier_dml

Commands

Simics Core

Classes

sample_pci_device

Commands

Simics Core

Classes

sample-pcie-ats-endpoint, sample-pcie-ats-prs-dma, sample-pcie-root-complex-ats

Commands

Simics Core

Classes

sample-pcie-device

Commands

Simics Core

Classes

sample_pcie_device_comp

Commands

create-sample-pcie-device-comp, new-sample-pcie-device-comp

Simics Core

Classes

sample_pcie_device_old

Commands

Simics Core

Classes

pcie-endpoint-shim-frontend, pcie-port-shim-frontend, pcie-shim-stub, sample-pcie-external-connection, sample_pcie_endpoint_shim_comp, sample_pcie_switch_shim_comp

Commands

create-sample-pcie-endpoint-shim-comp, create-sample-pcie-switch-shim-comp, new-sample-pcie-endpoint-shim-comp, new-sample-pcie-switch-shim-comp

Simics Core

Classes

sample_pcie_sriov_device

Commands

Simics Core

Classes

sample-risc, sample-risc-core

Commands

Simics Core

Classes

sample_serial_device

Commands

Simics Core

Classes

sample_signal_device, sample_signal_device_impl

Commands

create-sample-signal-device, new-sample-signal-device

Simics Core

Classes

sample_timer_device

Commands

Simics Core

Classes

Commands

Simics Core

Classes

sample-user-decoder

Commands

Simics Core

Classes

sample-x86-isa-extension

Commands

new-sample-x86-isa-extension

Simics Core

Classes

sata

Commands

Simics Core

Classes

selfprof

Commands

Simics Core

Classes

ser-link-endpoint, ser-link-impl, ser_link

Commands

create-ser-link, new-ser-link

Simics Core

Classes

port-forward-incoming-server, port-forward-outgoing-server, service-node, service-node-device, service_node_comp

Commands

connect-real-network, connect-real-network-napt, connect-real-network-port-in, connect-real-network-port-out, create-service-node-comp, default-port-forward-target, disconnect-real-network-port-in, disconnect-real-network-port-out, get-auto-mac-address, list-port-forwarding-setup, new-service-node-comp

Simics Core

Classes

set-memory

Commands

Simics Core

Classes

signal-bus

Commands

Simics Core

Classes

signal_link, signal_link_endpoint, signal_link_impl

Commands

create-signal-link, new-signal-link

Simics Core

Classes

signal_to_interrupt

Commands

Simics Core

Classes

sr_histogram, sr_histogram_connection, sr_ticks, sr_ticks_connection

Commands

new-sr-histogram, new-sr-ticks

Simics Core

Classes

simics_nvme_comp

Commands

create-simics-nvme-comp, new-simics-nvme-comp

Simics Core

Classes

simics_nvme_controller

Commands

Simics Core

This module is always loaded.

Classes

telemetry_manager

Commands

Simics Core

Classes

simics-uefi

Commands

Simics Core

Classes

simicsfs_server

Commands

start-simicsfs-server

Simics Core

Classes

simple-byte-dump

Commands

Simics Core

Classes

simple_cache, simple_cache_connection, simple_cache_tool, simple_directory

Commands

new-simple-cache-tool

Simics Core

Classes

simple_i2c_device

Commands

Simics Core

Classes

simple_pcie_device

Commands

Simics Core

Classes

simple-scsi-disk

Commands

Simics Core

Classes

Commands

Simics Core

Classes

simple-tty

Commands

Simics Core

Classes

sja1000_can

Commands

Simics Core

Classes

Commands

Simics Core

Classes

sparse-memory

Commands

Simics Core

Classes

spi_checker

Commands

Simics Core

Classes

standard-pcie-switch

Commands

Simics Core

Classes

standard_pcie_switch_comp

Commands

create-standard-pcie-switch-comp, new-standard-pcie-switch-comp

Simics Core

Classes

state-assertion

Commands

state-assertion-connect, state-assertion-create-file, state-assertion-open-file, state-assertion-receive, state-assertion-simple-assert, state-assertion-simple-record

Simics Core

Classes

eth-connector, eth-link-connector, pci-controller-connector, pci-device-connector, sata-controller-connector, sata-device-connector, script-engine, uart-device-connector, uart-remote-connector, usb-device-connector, usb-host-connector, usb3-device-connector

Commands

Simics Core

Classes

dummy_comp, etg_comp, etg_panel_comp, ide_cdrom_comp, ide_disk_comp, mmc_card_comp, pcmcia_flash_disk_comp, sata_cdrom_comp, sata_disk_comp

Commands

create-dummy-comp, create-etg-comp, create-etg-panel-comp, create-ide-cdrom-comp, create-ide-disk-comp, create-mmc-card-comp, create-pcmcia-flash-disk-comp, create-sata-cdrom-comp, create-sata-disk-comp, new-dummy-comp, new-etg-comp, new-etg-panel-comp, new-ide-cdrom-comp, new-ide-disk-comp, new-mmc-card-comp, new-pcmcia-flash-disk-comp, new-sata-cdrom-comp, new-sata-disk-comp

Simics Core

Classes

system_panel_bool, system_panel_number, system_panel_state_manager

Commands

connect-panel-to-frontend

Simics Core

Classes

Commands

Simics Core

Classes

Commands

system-perfmeter, system-perfmeter-summary

Simics Core

Classes

tcf-agent, tcf-context-proxy, tcf-serial-tee

Commands

<memory_space>.debug, <processor_info>.debug, <symdebug>.down, <symdebug>.frame, <symdebug>.list, <symdebug>.stack-trace, <symdebug>.step-into, <symdebug>.step-into-instruction, <symdebug>.step-out, <symdebug>.step-over, <symdebug>.step-over-instruction, <symdebug>.sym-address, <symdebug>.sym-file, <symdebug>.sym-function, <symdebug>.sym-line, <symdebug>.sym-list, <symdebug>.sym-source, <symdebug>.sym-string, <symdebug>.sym-type, <symdebug>.sym-value, <symdebug>.sym-write, <symdebug>.up, add-pathmap-entry, add-symbol-file, clear-memorymap, clear-pathmap, context-query-for-object, context-query-for-object-list, debug-context, disable-debugger, down, enable-debugger, frame, list, list-debug-contexts, list-sections, list-segments, new-tcf-agent, remove-symbol-file, show-memorymap, show-pathmap, stack-trace, start-eclipse-backend, step-into, step-out, step-over, step-over-instruction, sym-address, sym-file, sym-function, sym-line, sym-list, sym-source, sym-string, sym-type, sym-value, sym-write, up

Simics Core

Classes

Commands

Simics Core

Classes

telnet_frontend

Commands

telnet-frontend

Simics Core

Classes

test_cdrom_media_wrapper

Commands

Simics Core

Classes

test_generic_message_device

Commands

Simics Core

Classes

c_test_probe, py_array_test_probe, py_test_probe

Commands

Simics Core

Classes

test_usb_device

Commands

Simics Core

Classes

text-frontend-winsome, textcon

Commands

Simics Core

Classes

time-server

Commands

new-time-server

Simics Core

Classes

trace-sync

Commands

Simics Core

Classes

trans-staller

Commands

Simics Core

Classes

transaction_splitter

Commands

Simics Core

Classes

Commands

Simics Core

Classes

uefi_fw_mapper, uefi_fw_tracker, uefi_fw_tracker_comp

Commands

Simics Core

Classes

usb_disk_comp, usb_tablet_component

Commands

create-usb-disk-comp, create-usb-tablet-component, new-usb-disk-comp, new-usb-tablet-component

Simics Core

Classes

usb_disk

Commands

Simics Core

Classes

usb_hs_keyboard_comp, usb_keyboard_comp, usb_mouse_comp

Commands

create-usb-hs-keyboard-comp, create-usb-keyboard-comp, create-usb-mouse-comp, new-usb-hs-keyboard-comp, new-usb-keyboard-comp, new-usb-mouse-comp

Simics Core

Classes

usb_hs_keyboard, usb_keyboard, usb_mouse

Commands

Simics Core

Classes

usb_tablet

Commands

Simics Core

Classes

Commands

Simics Core

Classes

vga

Commands

Simics Core

Classes

vga_pci

Commands

Simics Core

Classes

virtio-mmio-entropy, virtio-pcie-sriov-blk, virtio_mmio_blk, virtio_mmio_fs, virtio_mmio_net, virtio_pcie_blk, virtio_pcie_fs, virtio_pcie_net

Commands

Simics Core

Classes

virtio_mmio_blk_comp, virtio_pcie_blk_comp, virtio_pcie_fs_comp, virtio_pcie_net_comp

Commands

create-virtio-mmio-blk-comp, create-virtio-pcie-blk-comp, create-virtio-pcie-fs-comp, create-virtio-pcie-net-comp, new-virtio-mmio-blk-comp, new-virtio-pcie-blk-comp, new-virtio-pcie-fs-comp, new-virtio-pcie-net-comp

Simics Core

Classes

virtiofs_fuse

Commands

Simics Core

Classes

vmcom

Commands

Simics Core

Classes

vtune_measurement

Commands

Simics Core

Classes

apic_bus_v2, x2apic_v2

Commands

Simics Core

Classes

x86_branch_prof_connection, x86_branch_profiler

Commands

new-x86-branch-profiler

Simics Core

Classes

x86_broadcast

Commands

Simics Core

Classes

motherboard_x86_simple, motherboard_x86_simple_no_apic, x86_chassis

Commands

create-motherboard-x86-simple, create-motherboard-x86-simple-no-apic, create-x86-chassis, new-motherboard-x86-simple, new-motherboard-x86-simple-no-apic, new-x86-chassis

Simics Core

Classes

x86_mode_filter

Commands

new-x86-mode-filter

Simics Core

Classes

x86_mode_histogram, x86_mode_histogram_connection

Commands

new-x86-mode-histogram

Simics Core

Classes

Commands

Simics Core

Classes

x86-reset-bus

Commands

Simics Core

Classes

Commands

Simics Core

Classes

x86-tlb

Commands

Simics Core

Classes

Commands

Simics Core

Classes

Commands

Simics Core

Classes

x87_exception

Commands

Simics Core

This is Simics Core. It is delivered as part of Simics itself. It is not a separate module.

Classes

branch_recorder, cell, cli, clock-extension, connector, context, cycle-counter, data-profiler, dynamic_link_connector, fake-space, fixed-clock, freerun-extension, global-time-extension, gui, host_core, host_processor, host_system, image, index-map, leader, legacy-clock-extension, memory-space, namespace, namespace_root, perfanalyze-client, persistent-ram, port-space, preferences, probe_aggregator, probe_alias_probe, probe_attribute, probe_cell_io_access, probe_cpu_disabled_reason, probe_cycle_histogram, probe_cycle_triggered, probe_cycles, probe_esteps, probe_event_provider, probe_execute_load, probe_fraction_probe, probe_host_core_temps, probe_host_cpu_load, probe_host_freq, probe_host_freq_percent, probe_host_idle_time, probe_host_loadavg, probe_host_memory, probe_host_seconds, probe_host_swap, probe_host_work_time, probe_hypersim_steps, probe_image_mem, probe_interpreter_steps, probe_io_probes, probe_load_percent, probe_mm_malloc, probe_module_profile, probe_picoseconds, probe_process_memory, probe_sim_virtual_time, probe_sim_virtual_time_ps, probe_simulation_time, probe_steps, probe_telemetry, probe_thread_group_histogram, probe_thread_histogram, probe_turbo_stat, probe_virtual_time, probe_vmp_probe_group, probe_vmp_probe_group_histogram, probe_vmp_probe_group_total, probe_wallclock_time, probes, ps-clock, pseudo_namespace, ram, remote_sync_domain, remote_sync_node, remote_sync_server, rom, script-params, sim, static_link_connector, step-counter-extension, sync_domain, terminal_frontend, transaction-ckpt, vtime, vtime-extension

Commands

!, !=, #, $, %, &, *, +, +=, -, -=, ->, /, :, <, <<, <=, =, ==, >, >=, >>, @, [, ^, `, |, ~, <address_profiler>.address-profile-data, <address_profiler>.address-profile-info, <address_profiler>.address-profile-toplist, <branch_recorder_handler>.attach-branch-recorder, <branch_recorder_handler>.detach-branch-recorder, <branch_recorder_handler>.start-instruction-profiling, <callback_info>.list-instrumentation-callbacks, <component>.connect-to, <component>.delete, <component>.get-available-connector, <component>.get-component-object, <component>.get-connection, <component>.get-connector-list, <component>.get-processor-list, <conf_object>.log-group, <conf_object>.log-level, <context_handler>.set-context, <cycle>.print-time, <data_profiler>.clear, <exception>.list-exceptions, <image>.get, <image>.load-file, <image>.load-intel-hex, <image>.load-intel-obj, <image>.load-vmem, <image>.print-image-memory-stats, <image>.save, <image>.save-diff-file, <image>.save-file, <image>.save-intel-32-obj, <image>.save-intel-hex, <image>.save-intel-obj, <image>.save-vmem, <image>.set, <image>.x, <instruction_fetch>.instruction-fetch-mode, <instrumentation_order>.instrumentation-move, <instrumentation_order>.instrumentation-order, <memory_profiler>.add-memory-profiler, <memory_profiler>.list-memory-profilers, <memory_profiler>.remove-memory-profiler, <memory_space>.get, <memory_space>.get-string, <memory_space>.load-binary, <memory_space>.load-file, <memory_space>.load-intel-hex, <memory_space>.load-intel-obj, <memory_space>.load-vmem, <memory_space>.read, <memory_space>.read-string, <memory_space>.save-file, <memory_space>.save-intel-32-obj, <memory_space>.save-intel-hex, <memory_space>.save-intel-obj, <memory_space>.save-vmem, <memory_space>.set, <memory_space>.set-string, <memory_space>.write, <memory_space>.write-string, <memory_space>.x, <pcie_function_info>.pcie-dma-read, <pcie_function_info>.pcie-dma-write, <port_space>.get, <port_space>.get-string, <port_space>.read, <port_space>.read-string, <port_space>.set, <port_space>.set-string, <port_space>.write, <port_space>.write-string, <processor_info>.disable, <processor_info>.disassemble, <processor_info>.enable, <processor_info>.enabled, <processor_info>.load-binary, <processor_info>.logical-to-physical, <processor_info>.print-processor-registers, <processor_info>.read-reg, <processor_info>.set-pc, <processor_info>.write-reg, <processor_info>.x, <register_breakpoint>.break-register, <register_breakpoint>.break-register-list, <register_breakpoint>.unbreak-register, <step>.force-step-instruction, <step_cycle_ratio>.set-step-rate, <table>.export-table-csv, <table>.print-table, <transaction>.wait-for-get, <transaction>.wait-for-read, <transaction>.wait-for-set, <transaction>.wait-for-write, <transaction_translator>.memory-map, <translator>.memory-map, <x86>.disable-vmp, <x86>.enable-vmp, <x86>.setup-x86-timing, <x86>.vmp, add-data-to-script-pipe, add-directory, add-instrumentation-filter, add-instrumentation-group, add-module-directory, add-session-comment, alias, and, api-help, api-search, atoi, bin, bits, break-io, break-loop, break-script-branch, cd, change-namespace, check-cell-partitioning, clear-directories, clear-io-stats, clear-object-lock-stats, command-file-history, command-file-stack, command-history, connect, continue-loop, copy-connector, copyright, create-script-barrier, create-script-pipe, current-namespace, current-processor, date, dec, decl, defined, delete-connector, delete-snapshot, devs, digit-grouping, dirs, disable-cell-threading, disable-instrumentation, disable-jit, disable-multicore-accelerator, disable-multithreading, disable-object-lock-stats, disable-page-sharing, disable-subsystem-threading, disable-tech-preview, disable-unsupported-feature, disable-vmp, disable-vmp-feature, disassemble, disassemble-settings, disconnect, display, dstc-disable, dstc-enable, echo, else, enable-cell-threading, enable-instrumentation, enable-jit, enable-multicore-accelerator, enable-multithreading, enable-object-lock-stats, enable-page-sharing, enable-probes, enable-subsystem-threading, enable-tech-preview, enable-unsupported-feature, enable-vmp, enable-vmp-feature, enable-writable-persistent-state, env, except, exec, expect, file-exists, force-step-instruction, foreach, get, get-command-args, get-device-offset, get-device-reg, get-error-command, get-error-file, get-error-line, get-error-message, help, help-search, hex, if, in-list, in-string, instantiate-components, instruction-fetch-mode, instrumentation-move, instrumentation-order, int-to-double-float, int-to-extended-double-float, int-to-quad-float, int-to-single-float, interrupt-script, interrupt-script-branch, iostc-disable, iostc-enable, istc-disable, istc-enable, l, license, list-attributes, list-checkpoints, list-classes, list-commands, list-components, list-device-regs, list-directories, list-failed-modules, list-hap-callbacks, list-haps, list-instrumentation, list-instrumentation-callbacks, list-instrumentation-groups, list-instrumentation-tools, list-interfaces, list-length, list-modules, list-notifier-subscribers, list-notifiers, list-object-references, list-objects, list-packages, list-pcie-hierarchies, list-persistent-images, list-preferences, list-presets, list-prioritized-packages, list-processors, list-processors-summary, list-script-branches, list-session-comments, list-simics-search-paths, list-snapshots, list-target-info, list-targets, list-telemetry-classes, list-thread-domains, list-transactions, list-variables, ll, load-binary, load-file, load-intel-hex, load-intel-obj, load-module, load-persistent-state, load-target, local, log, log-filter, log-group, log-level, log-setup, log-size, log-type, logical-to-physical, lookup-file, ls, match-string, max, memory-map, min, module-list-refresh, move-object, multicore-accelerator-status, multimachine-accelerator-status, native-path, new-branch-recorder, new-context, not, object-exists, oct, or, output-radix, pcie-config-probe, pcie-config-read, pcie-config-write, pdisable, penable, pid, pipe, popd, pow, print, print-device-access-stats, print-device-reg-info, print-device-regs, print-event-queue, print-image-memory-stats, print-object-lock-stats, print-processor-registers, print-realtime-queue, print-sync-info, print-target-info, print-time, probe-address, processor-status, pselect, pushd, pwd, python, python-mode, quit, range, read-configuration, read-device-offset, read-device-reg, read-reg, read-variable, record-session, release-notes, remove-instrumentation, remove-instrumentation-filter, remove-instrumentation-group, reset-sys-path, restart-simics, restore-snapshot, run, run-command-file, run-cycles, run-python-file, run-script, run-seconds, save-component-template, save-file, save-image-contents, save-image-diff, save-intel-32-obj, save-intel-hex, save-intel-obj, save-persistent-state, save-preferences, script-barrier-limit, script-branch, script-pipe-has-data, set, set-context, set-device-offset, set-device-reg, set-image-memory-limit, set-max-time-span, set-min-latency, set-pc, set-prioritized-package, set-table-border-style, set-thread-limit, set-threading-mode, set-time-quantum, setup-x86-timing, shell, signed, signed16, signed32, signed64, signed8, simulation-running, split-string, start-command-line-capture, start-playback, start-recording, stc-status, step-cycle, step-instruction, stop, stop-command-line-capture, stop-playback, stop-recording, string-length, system-info, take-snapshot, trace-io, try, unbreak-io, undisplay, unset, unsigned, unsigned16, unsigned32, unsigned64, unsigned8, untrace-io, version, vmp-feature-status, vmp-version, wait-for-get, wait-for-global-sync, wait-for-global-time, wait-for-io-break, wait-for-read, wait-for-script-barrier, wait-for-script-pipe, wait-for-set, wait-for-shell, wait-for-simulation-started, wait-for-simulation-stopped, wait-for-write, while, write-configuration, write-device-offset, write-device-reg, write-reg, x

9 Test Framework

The test framework allows you to define test suites containing tests. This section is a reference for how to do this.

9.1 Test suite

A test suite is a directory containing tests. It is identified by the presence of a file named SUITEINFO.

9.1.1 SUITEINFO

Apart from defining its parent directory as a test suite, the contents of a SUITEINFO file can also define some properties of the test suite. Each line which does not start with a # character defines a parameter. The parameter definition is provided as the name of the parameter, a ':'-character, and finally the value for the parameter. Whitespace at the start and the end of the line is ignored, as well as whitespace characters around the ':'.

Currently the following parameters are accepted:

Using any other parameter name is currently considered a syntax error.

Example SUITEINFO file:

# give up after 5 minutes
timeout: 300
# do not run on Windows host
disabled_on_hosts: win64
# suite belongs to two groups
tags: pci nightly

9.2 Defining Test Suites

The test framework supports two ways to discover tests in a suite:

9.2.1 Automatic Detection of Tests

In general, the test framework will search the files inside the suite directory and add a Simics test for each file matching the pattern "s-*.py", the test name will be named after the script file, with the extension stripped.

9.2.2 Explicit Registration of Tests

If the suite directory contains a tests.py file, the framework imports this file as a Python module and runs the tests function defined within in order to add tests to the suite. The signature of this function is: def tests(suite).

The suite parameter supports the following methods:

9.3 Test Framework Libraries Available Outside Simics

vptest_utils

Python API for virtual platform test.

add_checkpoint_tests

SYNOPSIS

add_checkpoint_tests(suite, target, script, start, duration, variation = '', assert_objs = ['cpu0'], extra_args = [], assert_time = 10, check_cycles_and_steps_in_sync = True)

DESCRIPTION

Add tests to check that reading and writing checkpoints does not change the behavior of a target system.

The test does this by running Simics several times:

  1. first load the target, run to time start, and then collect the state-assertion file while running for duration cycles,
  2. then save a checkpoint at time start and run for duration cycles, comparing against the state-assertion file,
  3. then load the checkpoint from the previous step, write a new checkpoint and run for duration cycles, comparing against the state-assertion file,
  4. then load the new checkpoint and run for duration cycles comparing against the state-assertion file,
  5. finally a test is run which runs up to time start and then writes several checkpoints with duration cycles between them.

Arguments:

  • suite the test suite to add the tests to
  • target the name of the target directory in [project]/targets
  • script the script in that directory which creates and sets up the target
  • start the time the checks performed by the tests should be started ad, in steps
  • duration the number of steps past the start time the tests should check the state of the system
  • variation a name for this variation of testing the target, defaults to the empty string
  • assert_objs a list of objects to use in the state assertion, defaults to ["cpu0"]
  • extra_args extra arguments passed to each Simics process started by the test, defaults to []
  • assert_time the interval in steps between state-assertion saves, defaults to 10
  • check_cycles_and_steps_in_sync if True the tests check that the cycle and step counts remain in sync, defaults to True

add_random_command_tests

SYNOPSIS

add_random_command_tests(suite, target, script, name = None, project_only = False, disabled_commands = [], disabled_classes = [], disabled_interfaces = [])

DESCRIPTION

Add tests to check all the commands provided by the virtual platform can be run properly.

Arguments:

  • suite the test suite to add the tests to
  • target the name of the target directory in [project]/targets
  • script the script in that directory which creates and sets up the target
  • name the test name, defaults to None
  • project_only if True the tests will test the commands of local modules, defaults to False
  • disabled_commands the commands which will be ignored by the test, defaults to []
  • disabled_classes the classes which will be ignored by the test, defaults to []
  • disabled_interfaces the interfaces which will be ignored by the test, defaults to []

testparams

Information about the test environment and some test utilities.

fail

SYNOPSIS

fail(reason = '')

DESCRIPTION

Raise a TestFailure exception.

Argument:

  • reason a string containing the reason for the failure, passed to the TestFailure constructor

timeout

simics_base_path

project_path

SYNOPSIS

project_path()

DESCRIPTION

Returns the absolute path to the project under test. Tests added with suite.add_simics_test() and suite.add_simics_tests() run Simics in this project.

test_root

TestFailure

SUPERCLASSES

builtins.Exception

DESCRIPTION

Exception which test functions should raise to indicate test failure.

TestTimeout

9.4 Test Framework Libraries Available in Simics Tests

info_status

Library for checking if classes has info and status commands.

report_info_status_errors

SYNOPSIS

report_info_status_errors(missing_info, missing_status, unexpected_info, unexpected_status)

DESCRIPTION

Prints its input lists and quits Simics with an error.

First each provided list is printed in a human readable manner and then the function quits Simics with the result 1, which will be detected by the test system as a test failure.

Arguments:

  • missing_info a list of classes which do not have info commands
  • missing_status a list of classes which do not have status commands
  • unexpected_info a list of classes which have info commands, but which were on the info command passlist
  • unexpected_status a list of classes which have status commands, but which were on the status command passlist

check_for_info_status

SYNOPSIS

check_for_info_status(modules, info_passlist = [], status_passlist = [], report_errors = \<function report_info_status_errors\>)

DESCRIPTION

Check that the classes in a list of modules have info and status commands.

Classes are Simics configuration classes, not python classes. The function checks all the classes in the named modules to see if they have info and status commands. If any such command is missing it will be detected as an error, but you can provide passlists. If a class is passlisted and still has the command it will be detected as an error. If any errors are detected the function calls a function to report this. By default the report_info_status_error is called, but you can override this with the report_errors argument.

The modules named in modules will be loaded into Simics as a side effect of running this test.

Arguments: