VIRTUTECH CONFIDENTIAL    Previous - Up - Next

ultrasparc-iii-i

Provided by
sparc-u3, sparc-u3-ma, sparc-u3-turbo
Class Hierarchy
conf-objectlog-objectultrasparc-iii-i
Interfaces Implemented
log_object, sparc_u3, sparc_v9, sparc_interrupt, exception, int_register, processor, event_poster
Description
The ultrasparc-iii-i class implements an UltraSPARC IIIi processor.

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
address_width
Pseudo class attribute; read-only access; type: unknown type.

(phys-bits, virt-bits) Number of bits in physical and virtual addresses.

afar_priority
Optional attribute; read/write access; type: [ii].

(priority, bit) The number of the owning AFSR bit of the AFAR register, and its priority level.

afsr_e_synd_priority
Optional attribute; read/write access; type: [ii].

(priority, bit) The number of the owning AFSR bit of the AFSR.E_SYND register, and its priority level.

afsr_m_synd_priority
Optional attribute; read/write access; type: [ii].

(priority, bit) The number of the owning AFSR bit of the AFSR.M_SYND register field, and its priority level.

aprof_views
Session attribute; read/write access; type: [[o,i]*].

((address profiler, view)*) Address profiler views selected for this processor. Affects only the display of profiling information, and has nothing to do with collecting it.

This attribute should contain a list of lists: one list for each address profiler view you want to select (in the order they are to appear), each containing first the address profiler object, then the index of the desired view.

architecture
Pseudo class attribute; read-only access; type: unknown type.

Implemented architecture (sparc-v9)

asi_names
Pseudo attribute; read-only access; type: [s*]; integer indexed; indexed type: i|[ii].

List of all ASI names

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

If set to TRUE, Simics will speculate on the value of the CWP register by inspecting save, restore, and return instructions in MAI mode.

big_endian
Pseudo attribute; read-only access; type: b.

This attribute is TRUE if the processor uses big-endian byte order and FALSE if it uses little-endian.

branch_prof_support
Pseudo attribute; read-only access; type: b.

True if this processor supports branch profiling in -stall mode, false otherwise.

branch_recorders
Session attribute; read/write access; type: [o*].

Branch recorders attached to this processor.

break_on_error_state
Session class attribute; read/write access; type: b.

Break the simulation if a processor enters error_state

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

Number of committed instructions for an out of order target.Same as step count for an in-order Simics.

control_registers
Optional attribute; read/write access; type: [[si]*]; integer or string indexed; indexed type: Integer.

List of all control registers. The attribute supports both integer and string indexed.

cpu_group
Required attribute; read/write access; type: Object.

The group that this processor belongs to. A cpu group is a collection if cpus that may share memory and/or send interrupts between them. The group must implement the "cpu_group"interface and the sparc-irq-businterface.

current_context
Session attribute; read/write access; type: Object.

Current context object.

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

Number of the current set of global registers.

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

Modeling parameter related to processor scheduling.

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

Time measured in cycles from machine start.

dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.

Force compile of block.

do_allocate_target_registers
Session class attribute; read/write access; type: unknown type.

Target register allocation enable.

do_reissue
Session attribute; write-only access; type: Integer.

Obsolete attribute that was used to keep information about the current memory transaction if is_stalling is set.

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

TRUE if the processor is enabled. If FALSE, it will see time (cycles) pass but not execute steps.

event_desc
Pseudo attribute; read-only access; ; integer indexed; indexed type: [[o|n,s,i]*].

((object, description, time)*). All events in queue with a human-readable description. The attribute is indexed by queue (Sim_Queue_Step/Time).

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

The value if this attribute is used as a second interrupt enable flag for the processor. For interrupts to be enabled, the pstate.ie must be 1 and extra_irq_enable must be set to .TRUE. The default value is TRUE.

fp_registers
Optional attribute; read/write access; type: [i{32}].

List of all floating point registers.

freq_mhz
Required attribute; read/write access; type: i|f.

Processor clock frequency in MHz.

global_registers
Optional attribute; read/write access; type: [[i{8}]{4}].

List of all global registers.

global_set_names
Pseudo attribute; read-only access; type: [ssss].

Names of the four sets with global registers.

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

If TRUE, the upper 32 bits of PC will not be cleared (even if pstate.am is 1) on register writes caused by 'call' 'jmpl', 'rdpc' and traps.

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

Instruction fetch line size for this processor.

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

Instruction fetch mode

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

TRUE if the processor is currently stalling by request of a timing-model.

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

Lock granularity of atomic instructions

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

When non-zero, the internal load/store queue is enabled. Only applicable if ooo-mode is "micro-architecture"

mai_debug
Optional attribute; read/write access; type: String.

(internal) Set debug file for MAI

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

The number of trap levels.

memory_profilers
Session attribute; read/write access; type: [o|n*]; integer indexed; indexed type: Object or Nil.

Memory read/write profilers.

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

Base 2 logarithm of memory profiling granularity.

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

The minimum size (in bytes) of a cache line that can be represented by Simics (when connecting a cache memhier).

mmu
Required attribute; read/write access; type: Object.

The associated MMU object, implementing the 'mmu' interface.

mode_counters
Pseudo attribute; read-only access; type: [[sii]*].

((name, user-value, supervisor-value), ...) List of per-mode counters.

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

If set, unprivileged instruction fetches are not allowed from nucleus ASI.

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

Number of register windows.

ooo_mode
Optional attribute; read/write access; type: String.

"in-order" or "micro-architecture".

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

The exception number of any pending exception.

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

Set to 0x60 (Interrupt_Vector) if an external interrupt is pending. 1 - 15 for soft interrupts.

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

The exception number of any pending asynchronous trap.

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

I/O space. Must implement both the memory-space and the breakpoint interface.

physical_memory
Required attribute; read/write access; type: Object.

Physical memory space. Must implement both the memory-space and the breakpoint interface.

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

Simics internal processor number for this CPU. Each processor must have a unique processor number. This attribute can only be set as part of an initial configuration.

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

Register pstate bit mask.

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

The number of instruction currently in the reorder buffer. Only applicable if the target supports out of order execution.

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

The size of the reorder buffer. Only applicable if the target supports out of order execution.

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

The RED_state trap vector base address

simicsfs
Optional attribute; read/write access; type: Object or Nil.

Simicsfs object used to access the host file-system. If set to non NIL, ASR 31 is used by the simicsfs driver to access the simicsfs device.

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

The number of cycles the processor will stall

stalling_info
Optional attribute; read/write access; type: [iii].

If is_stalling is set, this contains information about the current memory operation.

step_per_cycle_mode
Optional attribute; read/write access; type: String.

"constant" indicates a constant finite step/cycle factor; "infinite" means that steps are run without advancing time.

step_queue
Optional attribute; read/write access; type: [[o|n,a,s,i]*].

((object, value, slot, step)*). Pending step queue events. object must implement the event_poster interface.

step_rate
Optional attribute; read/write access; type: [iii].

(q, p, r) where q/p is the step per cycle rate, p is a power of 2 and r indicates how much of a cycle that the current step has consumed.

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

Number steps executed since machine start.

system_tick_frequency
Optional attribute; read/write access; type: Float.

The frequency of the system tick counter in MHz, default is 12.5

time_queue
Optional attribute; read/write access; type: [[o|n,a,s,i]*].

((object, value, slot, cycle)*). Pending time queue events. object must implement the event_poster interface.

trap_times
Pseudo attribute; read-only access; type: [i*].

List of the time in cycles when a trap has occurred for each trap-level.

turbo_alloc_memory
Session class attribute; read/write access; type: unknown type.

Force allocation of memory.

turbo_block_info
Pseudo class attribute; read/write access; type: unknown type.

Block stats.

turbo_blocks
Pseudo class attribute; read-only access; type: [[iiiii]*].

Compiled blocks.

turbo_code_area
Session class attribute; read-only access; type: unknown type.

Code areas.

turbo_debug_level
Session class attribute; read/write access; type: unknown type.

Turbo engine debug level.

turbo_execution_mode
Session class attribute; read/write access; type: unknown type.

Turbo enable.

turbo_exhaust_current_block
Pseudo class attribute; write-only access; type: unknown type.

Allocate all code space in the current block.

turbo_global_vars
Pseudo class attribute; read-only access; type: unknown type.

Global symbols.

turbo_heap_start
Session class attribute; read-only access; type: unknown type.

Start of heap.

turbo_link_targets
Pseudo class attribute; read-only access; type: unknown type.

Link targets.

turbo_max_compiled_blocks
Session class attribute; read/write access; type: unknown type.

Max number of blocks.

turbo_max_trace_size
Session class attribute; read/write access; type: unknown type.

Max translation unit size.

turbo_processor_offsets
Pseudo class attribute; read-only access; type: unknown type.

Processor offsets.

turbo_register_offsets
Pseudo class attribute; read-only access; type: unknown type.

Register offsets.

turbo_stat
Pseudo class attribute; read/write access; type: unknown type; string indexed; indexed type: unknown type.

Stats.

turbo_stats
Pseudo class attribute; write-only access; type: unknown type.

When set to one, print stats.

turbo_threshold
Session class attribute; read/write access; type: unknown type.

Translation threshold.

turbo_use_direct_sp
Session class attribute; read/write access; type: unknown type.

Direct stack pointer enable.

turbo_use_dstc_direct_lookup
Session class attribute; read/write access; type: unknown type.

Direct DSTC lookup enable.

turbo_use_off_page_chaining
Session class attribute; read/write access; type: unknown type.

Off page chaining enable.

windowed_registers
Optional attribute; read/write access; type: [[i{16}]*].

List of all window registers.

Command List

Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface sparc_v9
list-asis, pregs-fpu
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cycle-break-absolute, detach-branch-recorder, disable, disassemble, down, enable, frame, info, instruction-fetch-mode, io-read, io-write, list, list-memory-profilers, load-binary, logical-to-physical, pos, pregs, pregs-hyper, print-statistics, print-time, psym, read, read-reg, register-number, remove-memory-profiler, set-context, set-pc, stack-trace, start-instruction-profiling, step-break, step-break-absolute, sum, symval, trace-cr, unbreak-cr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

VIRTUTECH CONFIDENTIAL    Previous - Up - Next