VIRTUTECH CONFIDENTIAL    Previous - Up - Next

x86-hammer

Provided by
x86-hammer, x86-hammer-ma, x86-hammer-turbo
Class Hierarchy
conf-objectlog-objectx86-hammer
Interfaces Implemented
log_object, x86, a20, interrupt_ack, translate, exception, int_register, processor, event_poster
Description
The x86-hammer class implements an x86 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
a20mask
Optional attribute; read/write access; type: unknown type.

The a20mask.

access_type_name
Pseudo attribute; read-only access; ; integer indexed; indexed type: String.

Get string describing the specified access type (x86_access_type_t).

activity_state
Optional attribute; read/write access; type: unknown type.

Processor activity state.

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

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

ah
Pseudo attribute; read/write access; type: unknown type.

Register ah (bits 8-15 from rax).

al
Pseudo attribute; read/write access; type: unknown type.

Register al (lower 8 bits of rax).

apic
Required attribute; read/write access; type: unknown type.

Local APIC this cpu is connected to.

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 (x86-64)

ax
Pseudo attribute; read/write access; type: unknown type.

Register ax (lower 16 bits of rax).

bh
Pseudo attribute; read/write access; type: unknown type.

Register bh (bits 8-15 from rbx).

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.

bl
Pseudo attribute; read/write access; type: unknown type.

Register bl (lower 8 bits of rbx).

block_init
Optional attribute; read/write access; type: unknown type.

INIT will be blocked if this flag is set.

block_nmi
Optional attribute; read/write access; type: unknown type.

NMI will be blocked if this flag is set.

block_smi
Optional attribute; read/write access; type: unknown type.

SMI will be blocked if this flag is set.

bp
Pseudo attribute; read/write access; type: unknown type.

Register bp (lower 16 bits of rbp).

bpl
Pseudo attribute; read/write access; type: unknown type.

Register bpl (lower 8 bits of rbp).

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.

bsp
Required attribute; read/write access; type: Integer.

Set to one for a bootstrap processor. Clear for application processors. There should be exactly one bootstrap processor in each simulated PC machine.

bx
Pseudo attribute; read/write access; type: unknown type.

Register bx (lower 16 bits of rbx).

ch
Pseudo attribute; read/write access; type: unknown type.

Register ch (bits 8-15 from rcx).

cl
Pseudo attribute; read/write access; type: unknown type.

Register cl (lower 8 bits of rcx).

committed_instructions
Session attribute; read/write access; type: unknown type.

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

cpl
Optional attribute; read/write access; type: unknown type.

Current privilige level.

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

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.

cpuid_2_eax
Optional attribute; read/write access; type: unknown type.

Value returned in EAX for CPUID when input EAX == 2.

cpuid_2_ebx
Optional attribute; read/write access; type: unknown type.

Value returned in EBX for CPUID when input EAX == 2.

cpuid_2_ecx
Optional attribute; read/write access; type: unknown type.

Value returned in ECX for CPUID when input EAX == 2.

cpuid_2_edx
Optional attribute; read/write access; type: unknown type.

Value returned in EDX for CPUID when input EAX == 2.

cpuid_brand_id
Optional attribute; read/write access; type: unknown type.

Brand ID for CPUID.

cpuid_clflush_size
Optional attribute; read/write access; type: unknown type.

Size of CLFLUSH as reported by CPUID.

cpuid_extended_family
Optional attribute; read/write access; type: unknown type.

Extended family for CPUID.

cpuid_extended_model
Optional attribute; read/write access; type: unknown type.

Extended model for CPUID.

cpuid_family
Optional attribute; read/write access; type: unknown type.

Family for CPUID.

cpuid_l2_cache_assoc
Optional attribute; read/write access; type: unknown type.

Level 2 cache information returned by CPUID function 8000.0006.

cpuid_l2_cache_line_size
Optional attribute; read/write access; type: unknown type.

Level 2 cache information returned by CPUID function 8000.0006.

cpuid_l2_cache_lines_per_tag
Optional attribute; read/write access; type: unknown type.

Level 2 cache information returned by CPUID function 8000.0006.

cpuid_l2_cache_size_kb
Optional attribute; read/write access; type: unknown type.

Level 2 cache information returned by CPUID function 8000.0006.

cpuid_logical_processor_count
Optional attribute; read/write access; type: unknown type.

Count of logical processors for CPUID. Setting this to non-zero will enable the HTT feature bit (bit 28).

cpuid_model
Optional attribute; read/write access; type: unknown type.

Model for CPUID.

cpuid_physical_apic_id
Optional attribute; read/write access; type: unknown type.

Physical local APIC ID for CPUID.

cpuid_processor_name
Optional attribute; read/write access; type: unknown type.

Processor name for CPUID.

cpuid_sse3
Optional attribute; read/write access; type: unknown type.

Prescott new instructions enabled.

cpuid_stepping
Optional attribute; read/write access; type: unknown type.

Stepping for CPUID.

cpuid_vendor_id
Optional attribute; read/write access; type: unknown type.

Vendor ID string for CPUID.

cr0
Optional attribute; read/write access; type: unknown type.

Control register 0.

cr2
Optional attribute; read/write access; type: unknown type.

Control register 2.

cr3
Optional attribute; read/write access; type: unknown type.

Control register 3.

cr4
Optional attribute; read/write access; type: unknown type.

Control register 4.

cs
Optional attribute; read/write access; type: unknown type.

X86 segment register. All fields are stored in a list of integers as follows: (selector, d, dpl, g, p, s, type, base, limit, valid, l) The limit field always specifies the limit in bytes.

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

TODO: No description

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

Current context object.

cx
Pseudo attribute; read/write access; type: unknown type.

Register cx (lower 16 bits of rcx).

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.

dh
Pseudo attribute; read/write access; type: unknown type.

Register dh (bits 8-15 from rdx).

di
Pseudo attribute; read/write access; type: unknown type.

Register di (lower 16 bits of rdi).

dil
Pseudo attribute; read/write access; type: unknown type.

Register dil (lower 8 bits of rdi).

disable_block_merge
Optional attribute; read/write access; type: unknown type.

Internal.

disabled_breakpoints_update_dr6
Optional attribute; read/write access; type: unknown type.

Set to non-zero if you want debug breakpoints that are not enabled either through DR7.L nor DR7.G to still set the B bits in DR6.

dl
Pseudo attribute; read/write access; type: unknown type.

Register dl (lower 8 bits of rdx).

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.

dr0
Optional attribute; read/write access; type: unknown type.

Debug register 0.

dr1
Optional attribute; read/write access; type: unknown type.

Debug register 1.

dr2
Optional attribute; read/write access; type: unknown type.

Debug register 2.

dr3
Optional attribute; read/write access; type: unknown type.

Debug register 3.

dr6
Optional attribute; read/write access; type: unknown type.

Debug register 6.

dr7
Optional attribute; read/write access; type: unknown type.

Debug register 7.

ds
Optional attribute; read/write access; type: unknown type.

X86 segment register. All fields are stored in a list of integers as follows: (selector, d, dpl, g, p, s, type, base, limit, valid, l) The limit field always specifies the limit in bytes.

dx
Pseudo attribute; read/write access; type: unknown type.

Register dx (lower 16 bits of rdx).

eax
Pseudo attribute; read/write access; type: unknown type.

Register eax (lower 32 bits of rax).

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

TODO: No description

ebp
Pseudo attribute; read/write access; type: unknown type.

Register ebp (lower 32 bits of rbp).

ebx
Pseudo attribute; read/write access; type: unknown type.

Register ebx (lower 32 bits of rbx).

ecx
Pseudo attribute; read/write access; type: unknown type.

Register ecx (lower 32 bits of rcx).

edi
Pseudo attribute; read/write access; type: unknown type.

Register edi (lower 32 bits of rdi).

edx
Pseudo attribute; read/write access; type: unknown type.

Register edx (lower 32 bits of rdx).

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

TODO: No description

eflags
Optional attribute; read/write access; type: unknown type.

Flag register.

eip
Pseudo attribute; read/write access; type: unknown type.

Register eip (lower 32 bits of rip).

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.

es
Optional attribute; read/write access; type: unknown type.

X86 segment register. All fields are stored in a list of integers as follows: (selector, d, dpl, g, p, s, type, base, limit, valid, l) The limit field always specifies the limit in bytes.

esi
Pseudo attribute; read/write access; type: unknown type.

Register esi (lower 32 bits of rsi).

esp
Pseudo attribute; read/write access; type: unknown type.

Register esp (lower 32 bits of rsp).

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).

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

Description of current exception. Only valid when read from the Core_Exception hap. The value can be Nil in which case the exception number, source, and optional error code can be used to gain an understanding of why the exception triggered.

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

Error code for the current exception. Only valid when read from the Core_Exception hap. This attribute is undefined for exceptions that do not have an error code.

ext
Optional attribute; read/write access; type: unknown type.

A bit indicating if the current exception is external.

ferr_status
Optional attribute; read/write access; type: unknown type.

Status for the ferr output pin.

ferr_target
Optional attribute; read/write access; type: unknown type.

Object to which the FERR pin (used for external x87 exception emulation) is connected.

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

TODO: No description

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

TODO: No description

fpu_commit_last_instr
Optional attribute; read/write access; type: unknown type.

If this attribute is non-zero, the next FPU instruction will shift the FPU instruction, operand, and opcode values.

fpu_control
Optional attribute; read/write access; type: unknown type.

X86 register.

fpu_last_instr_pointer0
Optional attribute; read/write access; type: unknown type.

FPU instruction pointer offset.

fpu_last_instr_pointer1
Optional attribute; read/write access; type: unknown type.

Next FPU instruction pointer offset.

fpu_last_instr_selector0
Optional attribute; read/write access; type: unknown type.

FPU instruction pointer selector.

fpu_last_instr_selector1
Optional attribute; read/write access; type: unknown type.

Next FPU instruction pointer selector.

fpu_last_opcode0
Optional attribute; read/write access; type: unknown type.

FPU instruction opcode.

fpu_last_opcode1
Optional attribute; read/write access; type: unknown type.

Next FPU instruction opcode.

fpu_last_operand_pointer0
Optional attribute; read/write access; type: unknown type.

FPU operand pointer offset.

fpu_last_operand_pointer1
Optional attribute; read/write access; type: unknown type.

Next FPU operand pointer offset.

fpu_last_operand_selector0
Optional attribute; read/write access; type: unknown type.

FPU operand pointer selector.

fpu_last_operand_selector1
Optional attribute; read/write access; type: unknown type.

Next FPU operand pointer selector.

fpu_regs
Optional attribute; read/write access; type: unknown type.

((empty, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9){8}). X86 floating point registers. The 8 80-bits registers is stored as a list of 11 bytes. The first byte tells if the register is empty (1) or not (0). The other bytes contain the register value with the lowest (least significant) bits in b0 and the highest (most significant bits in b9.

fpu_status
Optional attribute; read/write access; type: unknown type.

X86 register.

fpu_tag
Optional attribute; read/write access; type: unknown type.

X86 register.

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

Processor clock frequency in MHz.

fs
Optional attribute; read/write access; type: unknown type.

X86 segment register. All fields are stored in a list of integers as follows: (selector, d, dpl, g, p, s, type, base, limit, valid, l) The limit field always specifies the limit in bytes.

fs_base
Pseudo attribute; read/write access; type: Integer.

TODO: No description

gdtr_base
Optional attribute; read/write access; type: unknown type.

Global descriptor table base.

gdtr_limit
Optional attribute; read/write access; type: unknown type.

Global descriptor table limit.

gs
Optional attribute; read/write access; type: unknown type.

X86 segment register. All fields are stored in a list of integers as follows: (selector, d, dpl, g, p, s, type, base, limit, valid, l) The limit field always specifies the limit in bytes.

gs_base
Pseudo attribute; read/write access; type: Integer.

TODO: No description

halt_steps
Optional attribute; read/write access; type: unknown type.

Number of steps waiting in HLT instructions.

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

idtr_base
Optional attribute; read/write access; type: unknown type.

Interrupt descriptor table base.

idtr_limit
Optional attribute; read/write access; type: unknown type.

Interrupt descriptor table limit.

ignne_status
Optional attribute; read/write access; type: unknown type.

Status for the ignne input pin.

in_smm
Optional attribute; read/write access; type: unknown type.

Set iff the processor is in system management mode.

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

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

ip
Pseudo attribute; read/write access; type: unknown type.

Register ip (lower 16 bits of rip).

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

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

k8_bugs
Optional attribute; read/write access; type: unknown type.

Internal.

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

latch_init
Optional attribute; read/write access; type: unknown type.

INIT is currently latched.

latch_nmi
Optional attribute; read/write access; type: unknown type.

NMI is currently latched.

latch_smi
Optional attribute; read/write access; type: unknown type.

SMI is currently latched.

ldtr
Optional attribute; read/write access; type: unknown type.

X86 segment register. All fields are stored in a list of integers as follows: (selector, d, dpl, g, p, s, type, base, limit, valid, l) The limit field always specifies the limit in bytes.

load_test_file
Pseudo attribute; write-only access; type: String.

Internal. Load test file into memory.

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"

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

TODO: No description

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

(internal) Set debug file for MAI

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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_stalling
Optional attribute; read/write access; type: Integer.

0: mmu stalling off when using MAI, 1: mmu stalling on when using MAI.

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

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

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

msr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]*].

List of defined SPRs.

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

mxcsr
Optional attribute; read/write access; type: unknown type.

XMM control register.

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

TODO: No description

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

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

panic_string
Pseudo class attribute; read-only access; type: String.

Description of the last internal simulator panic.

pending_debug_exception
Optional attribute; read/write access; type: unknown type.

A debug exception is pending. Additional information about the exception is stored in pending_debug_exception_dr6.

pending_debug_exception_dr6
Optional attribute; read/write access; type: unknown type.

Valid if pending_debug_exception is non-zero. Attribute has the same format as the DR6 register.

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

If this attribute is non-zero, then we have a pending exception that will be handled before the next instruction. This will only happen for exceptions that are handled after instruction completion (traps).

pending_exception_error_code
Optional attribute; read/write access; type: unknown type.

Error code to be delivered on the next pending exception.

pending_exception_instruction_length
Optional attribute; read/write access; type: unknown type.

Length of pending trap instruction.

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

This attribute is non-zero when an interrupt should be taken before the next instruction.

pending_vector
Optional attribute; read/write access; type: unknown type.

Pending interrupt vector. Only valid between interrupt ack and the actual handling of the interrupt (when pending_vector_valid is set).

pending_vector_valid
Optional attribute; read/write access; type: unknown type.

Valid flag for pending_vector.

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

physical_bits
Pseudo class attribute; read-only access; type: Integer.

Number of physical address bits.

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

DRAM space. Must implement the lookup interface.

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.

platform_id
Pseudo attribute; read/write access; type: Integer.

For compatibility only. Use ia32_platform_id instead.

port_space
Required attribute; read/write access; type: unknown type.

I/O space of the cpu targeted by the IN, INS, OUT, and OUTS instructions. Must implement either the port interface (typically an instance of the port-space class), or the lookup interface (typically an instance of the memory-space class).

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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

TODO: No description

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.

r10
Optional attribute; read/write access; type: unknown type.

General purpose register.

r10b
Pseudo attribute; read/write access; type: unknown type.

Register r10b (lower 8 bits of r10).

r10d
Pseudo attribute; read/write access; type: unknown type.

Register r10d (lower 32 bits of r10).

r10w
Pseudo attribute; read/write access; type: unknown type.

Register r10w (lower 16 bits of r10).

r11
Optional attribute; read/write access; type: unknown type.

General purpose register.

r11b
Pseudo attribute; read/write access; type: unknown type.

Register r11b (lower 8 bits of r11).

r11d
Pseudo attribute; read/write access; type: unknown type.

Register r11d (lower 32 bits of r11).

r11w
Pseudo attribute; read/write access; type: unknown type.

Register r11w (lower 16 bits of r11).

r12
Optional attribute; read/write access; type: unknown type.

General purpose register.

r12b
Pseudo attribute; read/write access; type: unknown type.

Register r12b (lower 8 bits of r12).

r12d
Pseudo attribute; read/write access; type: unknown type.

Register r12d (lower 32 bits of r12).

r12w
Pseudo attribute; read/write access; type: unknown type.

Register r12w (lower 16 bits of r12).

r13
Optional attribute; read/write access; type: unknown type.

General purpose register.

r13b
Pseudo attribute; read/write access; type: unknown type.

Register r13b (lower 8 bits of r13).

r13d
Pseudo attribute; read/write access; type: unknown type.

Register r13d (lower 32 bits of r13).

r13w
Pseudo attribute; read/write access; type: unknown type.

Register r13w (lower 16 bits of r13).

r14
Optional attribute; read/write access; type: unknown type.

General purpose register.

r14b
Pseudo attribute; read/write access; type: unknown type.

Register r14b (lower 8 bits of r14).

r14d
Pseudo attribute; read/write access; type: unknown type.

Register r14d (lower 32 bits of r14).

r14w
Pseudo attribute; read/write access; type: unknown type.

Register r14w (lower 16 bits of r14).

r15
Optional attribute; read/write access; type: unknown type.

General purpose register.

r15b
Pseudo attribute; read/write access; type: unknown type.

Register r15b (lower 8 bits of r15).

r15d
Pseudo attribute; read/write access; type: unknown type.

Register r15d (lower 32 bits of r15).

r15w
Pseudo attribute; read/write access; type: unknown type.

Register r15w (lower 16 bits of r15).

r8
Optional attribute; read/write access; type: unknown type.

General purpose register.

r8b
Pseudo attribute; read/write access; type: unknown type.

Register r8b (lower 8 bits of r8).

r8d
Pseudo attribute; read/write access; type: unknown type.

Register r8d (lower 32 bits of r8).

r8w
Pseudo attribute; read/write access; type: unknown type.

Register r8w (lower 16 bits of r8).

r9
Optional attribute; read/write access; type: unknown type.

General purpose register.

r9b
Pseudo attribute; read/write access; type: unknown type.

Register r9b (lower 8 bits of r9).

r9d
Pseudo attribute; read/write access; type: unknown type.

Register r9d (lower 32 bits of r9).

r9w
Pseudo attribute; read/write access; type: unknown type.

Register r9w (lower 16 bits of r9).

rax
Optional attribute; read/write access; type: unknown type.

General purpose register.

rbp
Optional attribute; read/write access; type: unknown type.

General purpose register.

rbx
Optional attribute; read/write access; type: unknown type.

General purpose register.

rcx
Optional attribute; read/write access; type: unknown type.

General purpose register.

rdi
Optional attribute; read/write access; type: unknown type.

General purpose register.

rdx
Optional attribute; read/write access; type: unknown type.

General purpose register.

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

Size of the reorder buffer (for x86 MAI).

rip
Optional attribute; read/write access; type: unknown type.

Instruction pointer.

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

TODO: No description

rsi
Optional attribute; read/write access; type: unknown type.

General purpose register.

rsp
Optional attribute; read/write access; type: unknown type.

General purpose pointer.

si
Pseudo attribute; read/write access; type: unknown type.

Register si (lower 16 bits of rsi).

sil
Pseudo attribute; read/write access; type: unknown type.

Register sil (lower 8 bits of rsi).

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

Set if a SMI signal is pending because the processor can not service it at once.

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

TODO: No description

smm_base
Pseudo attribute; read/write access; type: Integer.

TODO: No description

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

TODO: No description

sp
Pseudo attribute; read/write access; type: unknown type.

Register sp (lower 16 bits of rsp).

spl
Pseudo attribute; read/write access; type: unknown type.

Register spl (lower 8 bits of rsp).

ss
Optional attribute; read/write access; type: unknown type.

Segment register. All fields are stored in a list of integers as follows: (selector, b, dpl, g, p, s, type, base, limit, valid, l) The limit field always specifies the limit in bytes.

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.

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

TODO: No description

stc_segreg_enabled
Pseudo attribute; read/write access; type: unknown type.

Internal.

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.

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

TODO: No description

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

TODO: No description

temporary_interrupt_mask
Optional attribute; read/write access; type: unknown type.

If non-zero, interrupts are temporarily disabled even though EFLAGS.IF may be set.

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.

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

Object handling the TLBs for this CPU.

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

TODO: No description

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

TODO: No description

tr
Optional attribute; read/write access; type: unknown type.

X86 segment register. All fields are stored in a list of integers as follows: (selector, d, dpl, g, p, s, type, base, limit, valid, l) The limit field always specifies the limit in bytes.

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

TODO: No description

tsc
Pseudo attribute; read/write access; type: Integer.

For compatibility only. Use ia32_time_stamp_counter instead.

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_segbase_optimization_delay
Session class attribute; read/write access; type: unknown type.

Segment base optimization delay.

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.

waiting_device
Optional attribute; read/write access; type: unknown type.

The device that requested the waiting interrupt. Only valid when waiting_interrupt is non-zero.

waiting_interrupt
Optional attribute; read/write access; type: unknown type.

If an interrupt is requested, but it cannot be immediately handled because interrupts are masked.

xmm
Optional attribute; read/write access; type: unknown type.

((xmm0_low, xmm0_high), ..., (xmm15_low, xmm15_high)). Each list represents one xmm register. The high quad word (bits 64-127) is in xmmi_high and the low quad word (bits 0-63) is in xmmi_low.

Command List

Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface x86
memory-configuration, msrs, pregs-fpu, pregs-sse, print-gdt, print-idt
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