signal_to_interrupt simics-uefi
Simics Reference Manual  /  5 Classes  / 

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
Optional attribute; read/write 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. This attribute is deprecated, use the outside_memory_whitelist attribute of the cpu instances instead.
always_reissue_after_stall
Optional attribute; read/write access; type: b
When TRUE, Simics will always re-run an instruction that has been stalled. Usually Simics will only restart the instruction in a few special cases. This option is useful for debugging, but will affect performance. The re-run of instructions at stall is transparent to users.
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.
cpu_mode
Pseudo attribute; read/write access; type: s
The current CPU mode used when loading processor modules. As of simics 6 only normal is allowed. See also the prefs->cpu_mode attribute.
gui_mode
Pseudo attribute; read/write access; type: s
The current GUI mode. One of "gui", "mixed" and "no-gui". See also the prefs->gui_mode attribute. This attribute may differ from the preference value if one of the -gui, -gui-only and -no-win flags was specified at startup.
license_file
Pseudo attribute; read-only access; type: s|n
The currently used FlexNET license-file. See also the prefs->license_file attribute. This attribute may differ from the preference value if an alternative license file was specified at startup.
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
If TRUE, Simics will immediately terminate with a nonzero exit code in the following cases: log messages of 'error' type, deprecation warnings when sim->deprecation_level=2, and certain internal errors and warnings. The default is FALSE. This flag is set by using the -werror command-line option.
stop_on_error
Pseudo attribute; read/write access; type: b
If TRUE, Simics will immediately terminate with a nonzero exit code in the following cases: log messages of 'error' type, deprecation warnings when sim->deprecation_level=2, and certain internal errors and warnings. The default is FALSE. This flag is set by using the -werror 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.
workspace
Pseudo attribute; read/write access; type: s|n
This attribute is deprecated. Alias for the project attribute.
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 deprecated feature is used.
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 option.
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
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.
max_error_messages
Pseudo attribute; read/write access; type: i
If the number of error messages printed on the console exceeds this value, Simics will exit automatically. This is useful to stop runaway scripts and it is set to 100000 automatically when running in batch-mode. Default is 2^64-1.
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.
timing_model_inquiries
Pseudo attribute; read/write access; type: b
If set to TRUE, then timing models will receive inquiries in addition to real memory operations. Default is FALSE.
disregard_align
Optional attribute; read/write access; type: b
If set to TRUE, ignore alignment settings for simple memory space maps (maps that do not cause byte-swapping) that target another memory space. This attribute may be removed in future releases. Default is 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.
env
Pseudo attribute; read/write access; type: Unknown
get/set CLI variable in the current scope
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
signal_to_interrupt simics-uefi