VIRTUTECH CONFIDENTIAL    Previous - Up - Next

sim

Provided by
Simics Core
Class Hierarchy
conf-objectlog-objectsim
Interfaces Implemented
log_object
Description
The sim class represent Simics's global simulator state, such as state not tied to a specific processor, device etc.

Attributes

Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attributes inherited from class log-object
access_count, log_buffer, log_buffer_last, log_buffer_size, log_group_mask, log_groups, log_level, log_type_mask
Attribute List
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. Note that the re-run of instructions at stall is(supposed to be) transparent to users.

batch_mode
Session 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.

breakpoints
Session attribute; read/write access; type: [[iiiiiiisssso]*]; integer indexed; indexed type: [iiiiiiisssso].

((id, type, access, hits, activate_at, active, flags, prefix, substr, strpattern, strmask, object)*) 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 enum breakpoint_flag). 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. NOTE: the interval for a breakpoint is set in the breakpoints attribute of a memory space object.

checkpoint_path
Optional attribute; read/write access; type: [s*]; persistent attribute.

File search path for previous checkpoints, used by the files attribute in the image class.

cmd_history
Pseudo attribute; read-only access; type: [s*].

Interactive command line history

compile_switches
Pseudo attribute; read-only access; type: [[s,s]*].

Internal, do not use

continue_disabled
Pseudo attribute; read/write access; type: b.

Flag indicating if the simulation may be advanced.

cpu_switch_time
Optional attribute; read/write access; type: Integer.

Modeling parameter. Number of cycles each CPU is scheduled until switching to next CPU.

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.

cpus_may_share_memory
Optional attribute; read/write access; type: b.

Modeling parameter. Specifies if any of the processors in the system shares memory with other processors. Default is TRUE, processors may share memory. Setting this attribute to FALSE can improve execution performance when multiple CPUs are simulated within on Simics

current_processor
Optional attribute; read/write access; type: Object.

The processor currently being scheduled.

data_stc_enabled
Session 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.

default_log_level
Optional attribute; read/write access; type: Integer.

The log level used for newly created objects.

directio
Session attribute; read/write access; type: b.

Modeling parameter. Set if I/O without side effects may be optimized (could affect I/O tracing).

download_path
Pseudo attribute; read-only access; type: s|n.

Download path for commercial license users.

dstc
Session attribute; read/write access; type: String.

This attribute is deprecated. Use the attribute data-stc-enabled instead.

echo
Session 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.

env
Pseudo attribute; read/write access; ; string indexed; indexed type: a.

get/set simics environment variable

event_queue_max
Optional attribute; read/write access; type: Integer.

Maximum number of events allowed in one event queue.

frontend_current_processor
Optional attribute; read/write access; type: Object.

Current frontend processor

gui_mode
Pseudo attribute; read/write access; type: String.

Internal. Do not use.

gui_ready
Pseudo attribute; write-only access; type: Integer.

Internal. Do not use.

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.

hap_callbacks
Pseudo attribute; read-only access; ; string indexed; indexed type: [[iiiioss]*].

((id, range-low, range-high, flags, object, handler desc, param desc)*) List of all callbacks that are installed for a hap.

hap_list
Pseudo attribute; read-only access; type: [s,s,[s+]|n,s|n,s|n,i].

((name, params, param_desc, index, description, handlers), ...). Get list of all haps. handlers is the number of installed callbacks.

history_file
Pseudo attribute; read-only access; type: String.

The name of the command history file.

host_arch
Pseudo attribute; read-only access; type: String.

Host architecture. Possible types are sparc_v8, sparc_v9, alpha, hppa, x86, ppc, ia64, and amd64.

host_num_cpus
Pseudo attribute; read-only access; type: Integer.

The number of processors on the host.

host_os
Pseudo attribute; read-only access; type: String.

Host operating system. Possible types are solaris, linux, freebsd, unix, win32, and win64.

host_phys_mem
Pseudo attribute; read-only access; type: Integer.

The amount of physical memory of the host in bytes.

icode_dump_freq
Session attribute; read/write access; type: Integer.

(internal) Regulates the frequency in cycles with which all internal Simics structures are cleaned up completely. If set to zero, the default value is used. Simics maintains a variety of cached data structures, such as intermediate code to cache the target code effects, and I-STC structures for optimizing the speed with which branches are executed. Some of these structures have a tendency to accumulate "debris", so Simics flushes them regularly. This variable is exported to the user interface to facilitate diagnosing difficult bugs. You should probably only change this variable from its default setting (300 million) if you're asked to by Virtutech technical support. If the variable is changed, the change will take effect after the next scheduled cleanup (i.e., it will not take effect immediately).

instruction_profile_line_size
Session attribute; read/write access; type: Integer.

Deprecated attribute. Modeling parameter. Must be a power of 2. A memory hierarchy will be called once for each new line from which instructions are fetched. Default value is the compiled-in STC line size.

instruction_profile_mode
Session attribute; read/write access; type: String.

Deprecated attribute. Modeling parameter. (no-instruction-profile | instruction-branch-profile | instruction-cache-access-trace | instruction-fetch-trace) Specifies mode for instruction profiling and instruction cache details supplied to a memory hierarchy. See the command instruction-profile-mode details on each mode.

instruction_stc_enabled
Session 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.

iostc
Session attribute; read/write access; type: b.

Modeling parameter. Set if the internal I/O translation cache is enabled.

istc
Session attribute; read/write access; type: String.

This attribute is deprecated. Use the attribute instruction-stc-enabled instead.

log_types
Pseudo attribute; read-only access; type: [s*].

List containing the log type names.

max_error_messages
Session attribute; read/write access; type: Integer.

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.

module_cache_enable
Session attribute; read/write access; type: b.

TRUE if Simics is caching information about modules.

module_searchpath
Pseudo attribute; read-only access; type: [s*].

The list of directories that are scanned for Simics modules

new_switch_time
Optional attribute; read/write access; type: Integer.

Only set during transition from one cpu switch time to another. The new switch time will be set after the next machine synchronizing event.

no_problem
Pseudo attribute; read/write access; type: b.

If TRUE, Simics will not interrupt a script when an error occurs; if FALSE (default), Simics will interrupt the script and return to prompt on error.

open_windows
Pseudo attribute; read/write access; type: b|s.

Deprecated. Use prefs->hide_console_windows instead.

package_info
Pseudo attribute; read-only access; type: [s]*.

List with information about installed packages.

prompt
Pseudo attribute; read/write access; type: String.

The current command-line prompt.

real_time_enable
Session attribute; read/write access; type: Integer.

If 1, real time mode in Simics is enabled; if 0, it is disabled. Default is 0.

real_time_max_speed
Session attribute; read/write access; type: Integer.

How fast (maximum) Simics may simulate a machine compared to real time (target compared to host) Specified in percent. Default is 100%

real_time_ms_interval
Session attribute; read/write access; type: Integer.

How frequently Simics should compare the simulator execution compared to real time. Specified in milliseconds (simulator time). Default is 1000 milliseconds.

recent_files
Optional attribute; read/write access; type: [s*].

Recently opened files. Not fully supported yet.

script_dir
Pseudo attribute; read-only access; type: String.

File system directory of the currently active simics sript.

simerrmax
Session attribute; read/write access; type: Integer.

This attribute is deprecated, use sim.max_error_messages instead.

simics_base
Pseudo attribute; read-only access; type: String.

Full path to the Simics base installation directory.

simics_home
Pseudo attribute; read-only access; type: String.

Full path to the Simics host directory.

simics_path
Optional attribute; read/write access; type: s|[s*].

The value of the Simics search path. See commands add-directory, resolve-path.

swap_dir
Session attribute; read/write access; type: String.

Deprecated. Use prefs->swap_dir instead.

time_model
Pseudo attribute; read/write access; type: String.

Not used; preserved for backward compatibility.

timing_model_cache_operations
Session attribute; read/write access; type: b.

Modeling parameter for PowerPC processors. 1 causes cache operations to reach the timing model. 0 turns the feature off.

timing_model_inquiries
Session 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.

tracker_list
Pseudo attribute; read-only access; type: [s*].

List of registered trackers.

version
Optional attribute; read/write access; type: Integer.

Version (build-id) of Simics that a configuration file was created with.

version_compat
Pseudo attribute; read-only access; type: Integer.

The build-id of the oldest Simics that this version can load binary modules from.

workspace
Pseudo attribute; read/write access; type: String.

Full path to the current workspace directory. Returns NIL if no workspace is used. This attribute should not be written.

Command List

Commands defined by interface log_object
log, log-group, log-level, log-size, log-type

VIRTUTECH CONFIDENTIAL    Previous - Up - Next