You are on page 1of 2766

Simics Reference

Manual
PAL

Simics Version

3.0

Revision
Date

1406
2008-02-19

VIRTUTECH CONFIDENTIAL

19982006 Virtutech AB
Drottningholmsv. 14, SE-112 42 STOCKHOLM, Sweden
Trademarks
Virtutech, the Virtutech logo, Simics, and Hindsight are trademarks or registered trademarks
of Virtutech AB or Virtutech, Inc. in the United States and/or other countries.
The contents herein are Documentation which are a subset of Licensed Software pursuant
to the terms of the Virtutech Simics Software License Agreement (the Agreement), and
are being distributed under the Agreement, and use of this Documentation is subject to the
terms the Agreement.
This Publication is provided as is without warranty of any kind, either express or implied,
including, but not limited to, the implied warranties of merchantability, fitness for a particular
purpose, or non-infringement.
This Publication could include technical inaccuracies or typographical errors. Changes are
periodically added to the information herein; these changes will be incorporated in new editions of the Publication. Virtutech may make improvements and/or changes in the product(s)
and/or the program(s) described in this Publication at any time.
The proprietary information contained within this Publication must not be disclosed to others
without the written consent of Virtutech.

VIRTUTECH CONFIDENTIAL

Contents
1

About Simics Documentation


1.1
Conventions . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Simics Guides and Manuals . . . . . . . . . . . . . . .
Simics Installation Guide for Unix and for Windows
Simics User Guide for Unix and for Windows . . . .
Simics Eclipse User Guide . . . . . . . . . . . . . . . .
Simics Target Guides . . . . . . . . . . . . . . . . . . .
Simics Programming Guide . . . . . . . . . . . . . . .
DML Tutorial . . . . . . . . . . . . . . . . . . . . . . .
DML Reference Manual . . . . . . . . . . . . . . . . .
Simics Reference Manual . . . . . . . . . . . . . . . .
Simics Micro-Architectural Interface . . . . . . . . . .
RELEASENOTES and LIMITATIONS files . . . . . .
Simics Technical FAQ . . . . . . . . . . . . . . . . . .
Simics Support Forum . . . . . . . . . . . . . . . . . .
Other Interesting Documents . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

58
58
58
58
59
59
59
59
59
59
59
59
60
60
60
60

Invoking Simics (Startup Flags)


2.1
Startup Flags . . . . . . . . . . .
-E, -expire <time> (advanced)
-L . . . . . . . . . . . . . . . . .
-batch-mode (advanced) . . . .
-c <file> . . . . . . . . . . . . .
-central <address[:port]> . . .
-central :<file> . . . . . . . . .
-central-time-out <time> . . .
-dstc (advanced) . . . . . . . .
-e <command> . . . . . . . . .
-echo . . . . . . . . . . . . . . .
-fast . . . . . . . . . . . . . . . .
-h . . . . . . . . . . . . . . . . .
-istc (advanced) . . . . . . . . .
-license . . . . . . . . . . . . . .
-license-file <file> (advanced)
-log-file <file> . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

61
62
62
62
62
62
62
63
63
63
63
63
63
63
63
63
63
64

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

VIRTUTECH CONFIDENTIAL

CONTENTS

-ma . . . . . . . . . . . . . . . . . . . . .
-n . . . . . . . . . . . . . . . . . . . . . .
-no-copyright (advanced) . . . . . . . .
-no-dstc (advanced) . . . . . . . . . . .
-no-istc (advanced) . . . . . . . . . . . .
-no-log . . . . . . . . . . . . . . . . . . .
-no-stc (advanced) . . . . . . . . . . . .
-no-use-cygpath (advanced) . . . . . . .
-no-win . . . . . . . . . . . . . . . . . .
-obscure . . . . . . . . . . . . . . . . . .
-p <file> . . . . . . . . . . . . . . . . .
-product <productname> (advanced) .
-q or -quiet . . . . . . . . . . . . . . . . .
-readme . . . . . . . . . . . . . . . . . .
-stall . . . . . . . . . . . . . . . . . . . .
-stc (advanced) . . . . . . . . . . . . . .
-use-cygpath (advanced) . . . . . . . . .
-v, -version, --version, -v-short . . . . .
-verbose . . . . . . . . . . . . . . . . . .
-werror (advanced) . . . . . . . . . . . .
-workspace <workspace> . . . . . . .
-x <file> . . . . . . . . . . . . . . . . . .
3

API
3.1
3.2

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
66
66
66
66
66
66

Frontend Exceptions . . . . . . . . . . . . . . . . . . . . .
Simics API Data Types . . . . . . . . . . . . . . . . . . .
3.2.1 Generic Data Types . . . . . . . . . . . . . . . . .
addr_prof_iter_t . . . . . . . . . . . . . . . . . .
attr_value_t, attr_kind_t, attr_list_t, attr_data_t
class_data_t, class_kind_t . . . . . . . . . . . . .
conf_object_t . . . . . . . . . . . . . . . . . . . .
data_or_instr_t . . . . . . . . . . . . . . . . . . .
dbuffer_t . . . . . . . . . . . . . . . . . . . . . .
endianness_t . . . . . . . . . . . . . . . . . . . .
event_handler_t . . . . . . . . . . . . . . . . . .
exception_type_t . . . . . . . . . . . . . . . . . .
firewire_async_transfer_t . . . . . . . . . . . . .
firewire_iso_transfer_t . . . . . . . . . . . . . . .
generic_transaction_t . . . . . . . . . . . . . . .
hap_flags_t . . . . . . . . . . . . . . . . . . . . .
hap_type_t . . . . . . . . . . . . . . . . . . . . .
instr_type_t . . . . . . . . . . . . . . . . . . . . .
instruction_error_t . . . . . . . . . . . . . . . . .
instruction_phase_t . . . . . . . . . . . . . . . .
instruction_status_t . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

67
67
68
69
69
70
72
73
74
75
76
77
78
79
81
82
86
87
88
89
90
91

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

VIRTUTECH CONFIDENTIAL

3.2.2

3.2.3

CONTENTS

int8, int16, int32, int64, uint8, uint16, uint32, uint64, intptr_t, uintptr_
t, integer_t, uinteger_t . . . . . . . . . . . . . . . . . . . . . . 92
lang_void . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
log_object_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
log_type_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
logical_address_t, physical_address_t, generic_address_t, linear_address_t 96
map_info_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
map_list_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
mem_op_type_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
pci_memory_transaction_t . . . . . . . . . . . . . . . . . . . . . . . . 100
processor_mode_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
processor_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
pseudo_exceptions_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
read_or_write_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
register_type_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
set_error_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
simtime_t, cycles_t, pc_step_t, nano_secs_t . . . . . . . . . . . . . . . 109
socket_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Architecture Specific Data Types . . . . . . . . . . . . . . . . . . . . . 111
alpha_cpu_mode_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
alpha_memory_transaction_t . . . . . . . . . . . . . . . . . . . . . . . 112
arm_memory_transaction_t . . . . . . . . . . . . . . . . . . . . . . . 113
ia64_fp_register_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
ia64_interruption_type_t . . . . . . . . . . . . . . . . . . . . . . . . . 115
ia64_interruption_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
ia64_iva_offset_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
ia64_memory_transaction_t . . . . . . . . . . . . . . . . . . . . . . . 119
mips_memory_transaction_t . . . . . . . . . . . . . . . . . . . . . . . 120
palcode_memop_flags_t . . . . . . . . . . . . . . . . . . . . . . . . . 121
ppc_mem_instr_origin_t . . . . . . . . . . . . . . . . . . . . . . . . . 122
ppc_memory_transaction_t . . . . . . . . . . . . . . . . . . . . . . . . 124
register_id_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
v9_exception_type_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
v9_memory_transaction_t . . . . . . . . . . . . . . . . . . . . . . . . 131
x86_memory_transaction_t . . . . . . . . . . . . . . . . . . . . . . . . 132
x86_sync_instruction_type_t . . . . . . . . . . . . . . . . . . . . . . . 134
Internal Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

VIRTUTECH CONFIDENTIAL

3.3

CONTENTS

addr_type_t, assoc_table_t, attr_initiator_t, attr_set_t, binary_heap_


compare_func_t, binary_heap_t, byte_string_t, struct dmacache,
event_queue_type_t, for_all_assoc_table_func_t, ht_entry_
t, ht_for_each_entry_func_t, ht_iter_t, ht_sorted_entries_func_
t, ht_table_t, icode_mode_group_t, icode_mode_t, icode_
page_t, image_spage_t, instruction_trace_callback_t, interface_
list_t, intervals_func_t, interval_set_t, interval_set_iter_t, io_
trace_t, mmu_error_info_t, os_time_t, struct os_tm, page_
info_t, prof_data_t, prof_data_address_t, prof_data_counter_
t, prof_data_func_t, prof_data_iter_t, radix_bottom_t, radix_
middle_t, radix_top_t, rand_state_t, range_node_t, set_error_
t, sim_ic_type_t, simics_internal_counters_t, simics_symbol_
lookup_t, source_python_func_t, source_python_module_
func_t, st_do_all_func_t, st_for_all_func_t, enum st_lookup_
approx_result, stall_id_num_t, stall_id_t, state_save_kind_
t, strbuf_t, string_tree_t, struct simcontext, struct symtable,
table_t, table_func_t, turbo_exit_case_t, struct ucontext, vtmem_
inform_opcode_t, . . . . . . . . . . . . . . . . . . . . . . . . 135
3.2.4 Simics Types in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Simics API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
3.3.1 Complete List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
3.3.2 Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Attribute Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
SIM_alloc_attr_dict() . . . . . . . . . . . . . . . . . . . . . . 148
SIM_alloc_attr_list() . . . . . . . . . . . . . . . . . . . . . . 149
SIM_ascanf() . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
SIM_make_attr_boolean() . . . . . . . . . . . . . . . . . . . 151
SIM_make_attr_data() . . . . . . . . . . . . . . . . . . . . . 152
SIM_make_attr_floating() . . . . . . . . . . . . . . . . . . . 153
SIM_make_attr_integer() . . . . . . . . . . . . . . . . . . . . 154
SIM_make_attr_invalid() . . . . . . . . . . . . . . . . . . . . 155
SIM_make_attr_list() . . . . . . . . . . . . . . . . . . . . . . 156
SIM_make_attr_nil() . . . . . . . . . . . . . . . . . . . . . . 157
SIM_make_attr_object() . . . . . . . . . . . . . . . . . . . . 158
SIM_make_attr_string() . . . . . . . . . . . . . . . . . . . . 159
Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
SIM_break_cycle() . . . . . . . . . . . . . . . . . . . . . . . 160
SIM_break_step() . . . . . . . . . . . . . . . . . . . . . . . . 161
SIM_breakpoint() . . . . . . . . . . . . . . . . . . . . . . . . 162
SIM_breakpoint_remove() . . . . . . . . . . . . . . . . . . . 164
SIM_delete_breakpoint() . . . . . . . . . . . . . . . . . . . . 165
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
SIM_add_configuration() . . . . . . . . . . . . . . . . . . . 166
SIM_alloc_conf_object() . . . . . . . . . . . . . . . . . . . . 167
SIM_attribute_error() . . . . . . . . . . . . . . . . . . . . . . 168

VIRTUTECH CONFIDENTIAL

CONTENTS

SIM_change_attribute_attribute() . .
SIM_class_has_attribute() . . . . . .
SIM_create_object() . . . . . . . . . .
SIM_delete_object() . . . . . . . . . .
SIM_ensure_partial_attr_order() . .
SIM_free_attribute() . . . . . . . . .
SIM_get_all_classes() . . . . . . . . .
SIM_get_all_objects() . . . . . . . . .
SIM_get_attribute() . . . . . . . . . .
SIM_get_attribute_attributes() . . . .
SIM_get_class() . . . . . . . . . . . .
SIM_get_class_name() . . . . . . . .
SIM_get_configuration_file_prefix()
SIM_get_interface() . . . . . . . . . .
SIM_get_object() . . . . . . . . . . .
SIM_initial_configuration_ok() . . .
SIM_new_object() . . . . . . . . . . .
SIM_object_constructor() . . . . . . .
SIM_object_is_processor() . . . . . .
SIM_read_configuration() . . . . . .
SIM_register_attribute() . . . . . . .
SIM_register_class() . . . . . . . . . .
SIM_register_class_alias() . . . . . .
SIM_register_interface() . . . . . . .
SIM_register_typed_attribute() . . .
SIM_set_attribute() . . . . . . . . . .
SIM_set_configuration() . . . . . . .
SIM_write_configuration_to_file() .
Documentation . . . . . . . . . . . . . . . . . .
SIM_register_copyright() . . . . . . .
SIM_version() . . . . . . . . . . . . .
Errors and Exceptions . . . . . . . . . . . . . .
SIM_clear_exception() . . . . . . . .
SIM_command_has_problem() . . .
SIM_frontend_exception() . . . . . .
SIM_get_pending_exception() . . . .
SIM_last_error() . . . . . . . . . . . .
Haps . . . . . . . . . . . . . . . . . . . . . . . .
SIM_c_hap_occurred() . . . . . . . .
SIM_get_all_hap_types() . . . . . . .
SIM_hap_add_callback() . . . . . . .
SIM_hap_add_type() . . . . . . . . .
SIM_hap_callback_exists() . . . . . .
SIM_hap_delete_callback() . . . . .
SIM_hap_get_name() . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

169
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
193
194
195
198
199
201
202
202
203
204
204
205
206
207
208
209
209
210
211
213
215
216
217

VIRTUTECH CONFIDENTIAL

CONTENTS

SIM_hap_get_number() . . . . . . . . . . .
SIM_hap_is_active() . . . . . . . . . . . . .
SIM_hap_occurred() . . . . . . . . . . . . .
SIM_hap_remove_type() . . . . . . . . . . .
Logging . . . . . . . . . . . . . . . . . . . . . . . . . . .
SIM_get_quiet() . . . . . . . . . . . . . . . .
SIM_get_verbose() . . . . . . . . . . . . . .
SIM_log_constructor() . . . . . . . . . . . .
SIM_log_info() . . . . . . . . . . . . . . . . .
SIM_log_message() . . . . . . . . . . . . . .
SIM_log_register_groups() . . . . . . . . . .
SIM_set_quiet() . . . . . . . . . . . . . . . .
SIM_set_verbose() . . . . . . . . . . . . . . .
Memory . . . . . . . . . . . . . . . . . . . . . . . . . .
SIM_for_all_memory_pages() . . . . . . . .
SIM_load_binary() . . . . . . . . . . . . . .
SIM_load_file() . . . . . . . . . . . . . . . .
SIM_logical_to_physical() . . . . . . . . . .
SIM_read_byte() . . . . . . . . . . . . . . . .
SIM_read_phys_memory() . . . . . . . . . .
SIM_read_phys_memory_tags() . . . . . .
SIM_write_phys_memory() . . . . . . . . .
Memory Transactions . . . . . . . . . . . . . . . . . . .
SIM_alpha_mem_trans_from_generic() . .
SIM_c_get_mem_op_value_buf() . . . . . .
SIM_c_set_mem_op_value_buf() . . . . . .
SIM_get_mem_op_type() . . . . . . . . . .
SIM_get_mem_op_type_name() . . . . . . .
SIM_get_unique_memory_transaction_id()
SIM_mem_op_is_control() . . . . . . . . . .
SIM_mem_op_is_data() . . . . . . . . . . .
SIM_mem_op_is_from_cache() . . . . . . .
SIM_mem_op_is_from_cpu() . . . . . . . .
SIM_mem_op_is_from_cpu_arch() . . . . .
SIM_mem_op_is_from_device() . . . . . . .
SIM_mem_op_is_prefetch() . . . . . . . . .
SIM_mem_op_is_read() . . . . . . . . . . .
SIM_set_mem_op_type() . . . . . . . . . . .
Modules . . . . . . . . . . . . . . . . . . . . . . . . . .
SIM_get_all_failed_modules() . . . . . . . .
SIM_get_all_modules() . . . . . . . . . . . .
SIM_load_module() . . . . . . . . . . . . . .
SIM_module_list_refresh() . . . . . . . . . .
Output . . . . . . . . . . . . . . . . . . . . . . . . . . .
SIM_add_output_handler() . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

218
219
220
221
222
222
223
224
225
226
227
228
229
230
230
231
232
233
234
235
236
237
238
238
240
242
243
244
245
246
247
248
249
250
251
252
253
254
255
255
256
257
258
259
259

VIRTUTECH CONFIDENTIAL

CONTENTS

SIM_remove_output_handler() .
SIM_write() . . . . . . . . . . . .
Path . . . . . . . . . . . . . . . . . . . . . . .
SIM_add_directory() . . . . . . .
SIM_clear_directories() . . . . . .
SIM_get_directories() . . . . . . .
SIM_lookup_file() . . . . . . . . .
SIM_native_path() . . . . . . . .
Processor . . . . . . . . . . . . . . . . . . . .
SIM_current_processor() . . . . .
SIM_disassemble() . . . . . . . .
SIM_enable_processor() . . . . .
SIM_get_all_processors() . . . . .
SIM_get_all_registers() . . . . . .
SIM_get_exception_name() . . .
SIM_get_processor() . . . . . . .
SIM_get_processor_number() . .
SIM_get_program_counter() . . .
SIM_get_register_number() . . .
SIM_number_processors() . . . .
SIM_processor_enabled() . . . .
SIM_processor_privilege_level()
SIM_read_register() . . . . . . . .
SIM_register_arch_decoder() . .
SIM_register_decoder() . . . . . .
SIM_reset_processor() . . . . . .
SIM_write_register() . . . . . . .
Profiling . . . . . . . . . . . . . . . . . . . .
SIM_iter_next() . . . . . . . . . .
Simulation Control . . . . . . . . . . . . . .
SIM_break_message() . . . . . .
SIM_break_simulation() . . . . .
SIM_continue() . . . . . . . . . .
SIM_postponing_continue() . . .
SIM_simics_is_running() . . . . .
Simulation Independent Services . . . . . .
SIM_cancel_realtime_event() . .
SIM_notify_on_socket() . . . . .
SIM_realtime_event() . . . . . . .
SIM_thread_safe_callback() . . .
Simulator Translation Caches . . . . . . . .
SIM_STC_flush_cache() . . . . .
SIM_flush_all_caches() . . . . . .
Stalling . . . . . . . . . . . . . . . . . . . . .
SIM_release_stall() . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

260
261
263
263
264
265
266
267
268
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
286
289
290
291
291
292
292
293
294
295
296
297
297
298
300
301
302
302
304
305
305

VIRTUTECH CONFIDENTIAL

3.3.3

CONTENTS

SIM_stall_count() . . . . . . . . . . . . . .
SIM_stall_cycle() . . . . . . . . . . . . . .
SIM_stalled_until() . . . . . . . . . . . . .
Step and Time Events . . . . . . . . . . . . . . . . . .
SIM_cycle_count() . . . . . . . . . . . . .
SIM_next_queue() . . . . . . . . . . . . . .
SIM_stacked_post() . . . . . . . . . . . . .
SIM_step_clean() . . . . . . . . . . . . . .
SIM_step_count() . . . . . . . . . . . . . .
SIM_step_next_occurrence() . . . . . . . .
SIM_step_post() . . . . . . . . . . . . . . .
SIM_time_clean() . . . . . . . . . . . . . .
SIM_time_next_occurrence() . . . . . . . .
SIM_time_post() . . . . . . . . . . . . . . .
User Interface . . . . . . . . . . . . . . . . . . . . . .
SIM_get_batch_mode() . . . . . . . . . . .
SIM_is_interactive() . . . . . . . . . . . . .
SIM_post_command() . . . . . . . . . . .
SIM_quit() . . . . . . . . . . . . . . . . . .
SIM_run_command_file() . . . . . . . . .
SIM_set_prompt() . . . . . . . . . . . . . .
SIM_source_python() . . . . . . . . . . . .
PCI . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Function List . . . . . . . . . . . . . . . . . . . . . . .
PCIE_send_message() . . . . . . . . . . .
PCI_add_config_register() . . . . . . . . .
PCI_bridge_default_access_not_taken() .
PCI_bridge_default_interrupt_lowered()
PCI_bridge_default_interrupt_raised() . .
PCI_bridge_default_system_error() . . . .
PCI_bridge_init() . . . . . . . . . . . . . .
PCI_bridge_map_setup() . . . . . . . . . .
PCI_config_register_name() . . . . . . . .
PCI_config_register_size() . . . . . . . . .
PCI_configuration_access() . . . . . . . .
PCI_data_from_memory() . . . . . . . . .
PCI_default_configuration_read_access()
PCI_default_configuration_write_access()
PCI_default_device_reset() . . . . . . . .
PCI_device_init() . . . . . . . . . . . . . .
PCI_get_bus_address() . . . . . . . . . . .
PCI_get_config_register_mask() . . . . . .
PCI_handle_mapping32() . . . . . . . . .
PCI_raise_interrupt() . . . . . . . . . . . .
PCI_read_sized_config_register() . . . . .

10

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

306
307
308
309
309
310
311
312
313
314
315
316
317
318
320
320
321
322
323
324
325
326
327
328
328
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349

VIRTUTECH CONFIDENTIAL

3.4

CONTENTS

PCI_register_bridge_attributes() . . . .
PCI_register_device_attributes() . . . .
PCI_set_config_register_mask() . . . . .
PCI_set_map_base() . . . . . . . . . . .
PCI_set_may_stall() . . . . . . . . . . . .
PCI_system_error() . . . . . . . . . . . .
PCI_value_from_memory() . . . . . . .
PCI_write_sized_config_register() . . .
3.3.4 Micro-Architecture Interface . . . . . . . . . . . . .
Function List . . . . . . . . . . . . . . . . . . . . . .
SIM_instruction_begin() . . . . . . . . .
3.3.5 DBuffer Interface . . . . . . . . . . . . . . . . . . .
Function List . . . . . . . . . . . . . . . . . . . . . .
dbuffer_append() . . . . . . . . . . . . .
dbuffer_append_external_data() . . . .
dbuffer_append_value() . . . . . . . . .
dbuffer_clone() . . . . . . . . . . . . . .
dbuffer_copy_append() . . . . . . . . .
dbuffer_free() . . . . . . . . . . . . . . .
dbuffer_len() . . . . . . . . . . . . . . . .
dbuffer_read() . . . . . . . . . . . . . . .
dbuffer_remove() . . . . . . . . . . . . .
dbuffer_replace() . . . . . . . . . . . . .
dbuffer_split() . . . . . . . . . . . . . . .
dbuffer_update() . . . . . . . . . . . . .
new_dbuffer() . . . . . . . . . . . . . . .
3.3.6 VTMEM . . . . . . . . . . . . . . . . . . . . . . . .
VTmem Overview . . . . . . . . . . . . . . . . . . .
Creating and Deleting Objects . . . . . . . . . . . .
Exported Interface . . . . . . . . . . . . . . . . . . .
VTMEM Macros . . . . . . . . . . . . . .
3.3.7 Python-specific Functions . . . . . . . . . . . . . .
Function List . . . . . . . . . . . . . . . . . . . . . .
cli.arg() . . . . . . . . . . . . . . . . . . .
cli.eval_cli_line() . . . . . . . . . . . . .
cli.get_available_object_name() . . . . .
cli.new_command() . . . . . . . . . . . .
cli.number_str() . . . . . . . . . . . . . .
cli.object_expander() . . . . . . . . . . .
cli.quiet_run_command() . . . . . . . .
cli.run_command() . . . . . . . . . . . .
sim_commands.new_info_command() .
sim_commands.new_status_command()
Backwards Compatibility . . . . . . . . . . . . . . . . . . .
3.4.1 SIM_BC_NO_STDOUT_REDEFINE . . . . . . . .

11

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

350
351
352
353
355
356
357
358
359
360
360
365
366
366
367
368
369
370
371
372
373
374
375
376
377
378
379
379
379
379
380
385
386
386
387
388
389
390
391
392
393
394
395
396
396

VIRTUTECH CONFIDENTIAL
3.4.2

3.4.3

CONTENTS

Obsolete API Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398


event_poster_interface_describe_event_t, event_poster_interface_get_
event_info_t, event_poster_interface_set_event_info_t . . . 398
Obsolete API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
SIM_add_mode_counter() . . . . . . . . . . . . . . . . . . . . . . . . 399
SIM_all_classes() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
SIM_all_objects() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
SIM_breakpoint_action() . . . . . . . . . . . . . . . . . . . . . . . . . 402
SIM_c_frontend_exception() . . . . . . . . . . . . . . . . . . . . . . . 403
SIM_check_exception() . . . . . . . . . . . . . . . . . . . . . . . . . . 404
SIM_clear_atomic_reservation_bit() . . . . . . . . . . . . . . . . . . . 405
SIM_cpu_by_mid() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
SIM_cpu_enabled() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
SIM_cpu_issue_cycles() . . . . . . . . . . . . . . . . . . . . . . . . . . 408
SIM_cpu_privilege_level() . . . . . . . . . . . . . . . . . . . . . . . . 409
SIM_device_log() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
SIM_disassemble_physical() . . . . . . . . . . . . . . . . . . . . . . . 411
SIM_dump_caches() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
SIM_exception_has_occurred() . . . . . . . . . . . . . . . . . . . . . . 413
SIM_for_all_hap_types() . . . . . . . . . . . . . . . . . . . . . . . . . 414
SIM_for_all_modules() . . . . . . . . . . . . . . . . . . . . . . . . . . 415
SIM_for_all_modules_failed() . . . . . . . . . . . . . . . . . . . . . . 416
SIM_for_all_processors() . . . . . . . . . . . . . . . . . . . . . . . . . 417
SIM_get_No_Exception() . . . . . . . . . . . . . . . . . . . . . . . . . 418
SIM_get_base_pointer() . . . . . . . . . . . . . . . . . . . . . . . . . . 419
SIM_get_control_register_name() . . . . . . . . . . . . . . . . . . . . 420
SIM_get_control_register_number() . . . . . . . . . . . . . . . . . . . 421
SIM_get_current_proc_no() . . . . . . . . . . . . . . . . . . . . . . . . 422
SIM_get_file_size() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
SIM_get_history_match() . . . . . . . . . . . . . . . . . . . . . . . . . 424
SIM_get_mmu_data() . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
SIM_get_mode_counter() . . . . . . . . . . . . . . . . . . . . . . . . . 426
SIM_get_proc_no() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
SIM_get_simics_home() . . . . . . . . . . . . . . . . . . . . . . . . . . 428
SIM_get_stack_pointer() . . . . . . . . . . . . . . . . . . . . . . . . . 429
SIM_get_trap_time() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
SIM_hap_install_callback() . . . . . . . . . . . . . . . . . . . . . . . . 431
SIM_hap_install_callback_idx() . . . . . . . . . . . . . . . . . . . . . 432
SIM_hap_install_callback_range() . . . . . . . . . . . . . . . . . . . . 433
SIM_hap_new_type() . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
SIM_hap_register_callback() . . . . . . . . . . . . . . . . . . . . . . . 435
SIM_hap_register_callback_idx() . . . . . . . . . . . . . . . . . . . . . 436
SIM_hap_register_callback_range() . . . . . . . . . . . . . . . . . . . 437
SIM_hap_remove_callback() . . . . . . . . . . . . . . . . . . . . . . . 438
SIM_hap_unregister_callback() . . . . . . . . . . . . . . . . . . . . . . 439

12

VIRTUTECH CONFIDENTIAL

CONTENTS

SIM_inc_cur_mode_counter() . . .
SIM_inc_mode_counter() . . . . . .
SIM_install_default_ASI_handler()
SIM_install_user_ASI_handler() . .
SIM_instruction_info() . . . . . . .
SIM_no_windows() . . . . . . . . .
SIM_num_control_registers() . . . .
SIM_object_by_id() . . . . . . . . .
SIM_proc_no_2_ptr() . . . . . . . .
SIM_processor_break() . . . . . . .
SIM_raise_general_exception() . . .
SIM_read_control_register() . . . .
SIM_read_fp_register() . . . . . . .
SIM_read_fp_register_d() . . . . . .
SIM_read_fp_register_i() . . . . . .
SIM_read_fp_register_s() . . . . . .
SIM_read_fp_register_x() . . . . . .
SIM_read_global_register() . . . . .
SIM_read_window_register() . . . .
SIM_set_mode_counter() . . . . . .
SIM_sparc_ASI_info() . . . . . . . .
SIM_void_to_processor_t() . . . . .
SIM_write_control_register() . . . .
SIM_write_fp_register() . . . . . . .
SIM_write_fp_register_d() . . . . .
SIM_write_fp_register_i() . . . . . .
SIM_write_fp_register_s() . . . . . .
SIM_write_fp_register_x() . . . . .
SIM_write_global_register() . . . .
SIM_write_window_register() . . .
4

Commands
4.1
Complete List . . . . . . .
4.2
By Categories . . . . . . . .
Breakpoints . . . . . . . .
CD-ROM . . . . . . . . .
Changing Simulated State
Command-Line Interface
Components . . . . . . . .
Configuration . . . . . . .
Debugging . . . . . . . .
Disk . . . . . . . . . . . .
Distributed Simulation . .
Ethernet . . . . . . . . . .
Execution . . . . . . . . .
Files and Directories . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

13

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

470
470
514
514
515
515
515
517
522
523
524
524
524
525
526

VIRTUTECH CONFIDENTIAL

4.3

CONTENTS

Haps . . . . . . . . . . . . . . .
Help . . . . . . . . . . . . . . .
Inspecting Simulated State . .
Logging . . . . . . . . . . . . .
Memory . . . . . . . . . . . . .
Modules . . . . . . . . . . . . .
Networking . . . . . . . . . . .
Output . . . . . . . . . . . . . .
Profiling . . . . . . . . . . . . .
Python . . . . . . . . . . . . . .
Real Network . . . . . . . . . .
Registers . . . . . . . . . . . . .
Reverse Execution . . . . . . .
Serial . . . . . . . . . . . . . . .
Simics Search Path . . . . . . .
Speed . . . . . . . . . . . . . . .
Symbolic Debugging . . . . . .
Test . . . . . . . . . . . . . . . .
Tracing . . . . . . . . . . . . . .
Global Command Descriptions

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

526
526
527
527
528
528
528
530
530
531
531
532
532
532
532
533
533
534
534
534

Modules

700

Classes
ADM1031 . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
agp-voodoo3 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
alpha-ev5 . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
alpha-lx164-system . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
AM29F016 . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
AM79C960 . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
AM79C960-dml . . . . . . . .

781
782
782
783
784
784
784
784
786
786
793
794
794
795
795
796
796
796
797
797
801
801
803

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

14

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
AM79C973 . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
apic . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
apic-bus . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
apm . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
arm-sa1110-system . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
armv5te . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
artesyn-pm-ppc . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
AT24C164 . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
AT24CS256 . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
base-trace-mem-hier . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
BCM5703C . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
BCM5704C . . . . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

15

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

803
807
808
809
809
816
816
818
818
821
821
822
822
822
823
824
824
824
825
826
826
826
827
828
828
835
836
836
837
838
838
839
839
840
840
841
842
842
844
844
846
846
863
864
865

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
bitmask-translator . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
branch_recorder . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cassini . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cassini_sub . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
central-client . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
central-server . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cheerio-e2bus . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cheerio-hme . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cheetah-mmu . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cheetah-plus-mmu . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
CL-PD6729 . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

16

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

865
883
883
885
885
885
885
887
887
888
888
889
889
906
907
908
908
909
910
910
911
911
913
913
914
914
915
915
916
916
917
917
925
925
927
927
932
932
935
935
940
940
943
943
945

VIRTUTECH CONFIDENTIAL
Command Descriptions
clock . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
component . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
conf-object . . . . . . . . . . .
Attributes . . . . . . . .
consistency-controller . . . . .
Attributes . . . . . . . .
Command List . . . . .
context . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
context-switcher . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cpc700-gpt . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cpc700-iic . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cpc700-mc . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cpc700-pci . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cpc700-pi . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cpc700-uic . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

17

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

945
946
946
947
948
948
949
949
951
951
953
953
954
955
955
955
957
966
966
967
967
969
969
970
970
971
971
973
973
974
974
976
977
978
978
980
980
981
981
981
981
983
983
984
984

VIRTUTECH CONFIDENTIAL
cpu-group . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
cpu-mode-tracker . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
CS8900A . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
CY82C693_0 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
CY82C693_1 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
CY82C693_2 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
data-profiler . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ddr-memory-module . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ddr2-memory-module . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
DEC21041 . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
DEC21140A . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
DEC21140A-dml . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
DEC21143 . . . . . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

18

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

985
985
985
985
986
986
986
987
988
988
991
991
993
993
993
994
994
994
995
995
995
996
996
997
997
998
998
999
999
1001
1001
1002
1002
1004
1004
1008
1008
1010
1010
1014
1014
1016
1016
1021
1022

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
DS12887 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
DS12887-dml . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
DS1621 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
DS1743P . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
DS17485 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
dummy-component . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ebony-board . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ebony-fpga . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
empty-device . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
enchilada-system . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
etg . . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

19

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1022
1026
1026
1028
1028
1030
1030
1033
1033
1035
1036
1039
1039
1039
1040
1040
1041
1041
1042
1042
1044
1044
1047
1047
1047
1047
1049
1049
1050
1050
1051
1051
1051
1052
1052
1052
1052
1054
1054
1055
1055
1058
1058
1061
1061

VIRTUTECH CONFIDENTIAL
eth-transceiver . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ethernet-link . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
FAS366U . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
fc-disk . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
fiesta-system . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
fiesta-tomatillo . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
file-cdrom . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
flash-memory . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
floppy-drive . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
fourport . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
frontend-server . . . . . . . . .
Attributes . . . . . . . .
ftp-alg . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
g-cache . . . . . . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

20

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1063
1063
1064
1065
1066
1066
1068
1068
1072
1072
1077
1077
1078
1078
1081
1081
1084
1084
1084
1085
1086
1086
1088
1089
1091
1091
1091
1092
1093
1093
1095
1096
1096
1097
1097
1099
1099
1100
1100
1101
1101
1102
1102
1102
1103

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
g-cache-ooo . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
gdb-remote . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
generic-flash-memory . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
gfx-console . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
GT64120 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
GT64120-pci . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
host-cdrom . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
hostfs . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i21150 . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i21152 . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i21554-prim . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
i21554-scnd . . . . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

21

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1103
1107
1107
1110
1110
1114
1114
1116
1116
1118
1118
1120
1120
1124
1124
1125
1125
1128
1129
1133
1133
1161
1162
1162
1163
1164
1164
1164
1165
1166
1166
1167
1168
1169
1169
1170
1170
1172
1172
1173
1173
1175
1175
1176
1177

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
i21555-prim . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
i21555-scnd . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
i2c-bus . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i386-cpu . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i486dx2-cpu . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i486sx-cpu . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i8042 . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i82077 . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i8237x2 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i82443bx . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i82443bx_agp . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i82461GX . . . . . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

22

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1177
1178
1179
1179
1180
1181
1181
1182
1183
1183
1184
1184
1185
1185
1185
1186
1187
1187
1187
1188
1189
1189
1189
1190
1191
1191
1197
1198
1201
1201
1204
1204
1206
1206
1208
1208
1209
1209
1210
1210
1211
1211
1212
1212
1213

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i82468GX_0 . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
i8254 . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
i8259x2 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ia64-460gx-system . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ia64-itanium . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ia64-itanium2 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ICS951601 . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
id-splitter . . . . . . . . . . . .
Attributes . . . . . . . .
ide . . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ide-cdrom . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ide-disk . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
image . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

23

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1213
1213
1214
1215
1215
1215
1216
1216
1219
1219
1220
1220
1222
1222
1223
1223
1224
1224
1225
1225
1231
1232
1232
1238
1239
1239
1240
1241
1241
1242
1242
1243
1243
1245
1245
1249
1250
1251
1251
1255
1256
1261
1261
1263
1263

VIRTUTECH CONFIDENTIAL
io-apic . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ISA . . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
isa-lance . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
isa-vga . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ISP1040 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ISP2200 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
itanium-cpu . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
jaguar-mmu . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
jalapeno-mmu . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
legacy-pc-devices . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
leon2 . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
leon2-simple . . . . . . . . . .
Attributes . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

24

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1265
1265
1266
1266
1267
1267
1268
1268
1269
1269
1269
1270
1271
1271
1271
1272
1273
1273
1277
1277
1278
1278
1281
1282
1283
1283
1283
1284
1285
1285
1290
1290
1293
1293
1297
1298
1300
1300
1300
1300
1302
1302
1310
1311
1311

VIRTUTECH CONFIDENTIAL
Command List . . . . .
Command Descriptions
leon2_cfg . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
leon2_ioport . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
leon2_irq . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
leon2_timer . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
leon2_uart . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
linux-process-tracker . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
local-space-mapper . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
log-object . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
logical-memory-translator . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
LX164-IRQ-PLD . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
LX164-NVRAM . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
M5823 . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
malta . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

25

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1312
1312
1313
1313
1314
1315
1315
1315
1316
1316
1317
1318
1318
1319
1320
1320
1321
1322
1322
1323
1323
1325
1325
1325
1326
1327
1327
1328
1329
1329
1330
1330
1332
1332
1333
1334
1334
1335
1336
1336
1338
1338
1341
1341
1341

VIRTUTECH CONFIDENTIAL
malta-system . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
MD1535D-acpi . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
MD1535D-cfg . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
MD1535D-ide . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
MD1535D-isa . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
MD1535D-power . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
MD1535D-smb . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
MD1535D-unknown . . . . . .
Attributes . . . . . . . .
Command List . . . . .
memory-space . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
microwire-eeprom . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
mii-management-bus . . . . .
Attributes . . . . . . . .
Command List . . . . .
mii-transceiver . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
mips-4kc . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
mips-5kc . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

26

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1342
1342
1343
1343
1344
1344
1344
1345
1345
1346
1347
1347
1349
1350
1350
1351
1352
1352
1353
1354
1354
1354
1355
1355
1355
1356
1356
1357
1358
1362
1362
1363
1364
1364
1365
1366
1366
1369
1369
1371
1371
1380
1381
1381
1390

VIRTUTECH CONFIDENTIAL
MK48T08 . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
msp430 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
niagara-core-mmu . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
niagara-dram-ctl . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
niagara-iob . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
niagara-l2c . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
niagara-simple-system . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
niagara-strand-mmu . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
north-bridge-443bx . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
north-bridge-443bx-agp . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
north-bridge-875p . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
north-bridge-e7520 . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
north-bridge-k8 . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

27

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1391
1391
1392
1392
1394
1394
1398
1399
1400
1400
1401
1402
1402
1402
1403
1403
1403
1404
1404
1404
1405
1405
1406
1406
1408
1408
1412
1413
1415
1415
1415
1415
1417
1417
1417
1417
1419
1419
1419
1419
1421
1421
1421
1421
1423

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
NS16450 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
NS16550 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
nvci . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ooo_micro_arch . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
open-pic . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
opencores_eth . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
opteron-cpu . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
panther-mmu . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pc-config . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
pc-dual-serial-ports . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pc-floppy-controller . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pc-quad-serial-ports . . . . . .
Attributes . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

28

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1423
1423
1423
1425
1425
1428
1428
1429
1429
1432
1432
1433
1433
1436
1436
1438
1438
1438
1439
1439
1440
1441
1441
1443
1444
1444
1445
1445
1446
1446
1451
1451
1454
1454
1454
1455
1455
1455
1455
1457
1457
1457
1457
1459
1459

VIRTUTECH CONFIDENTIAL
Command List . . . . .
Command Descriptions
pc-shadow . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pc-single-parallel-port . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
PCF8582C . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
PCF8584 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
PCF8587 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
pci-am79c973 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-backplane . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-bcm5703c . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-bcm5704c . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-bus . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-dec21041 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-dec21140a . . . . . . . . . .
Attributes . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

29

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1459
1459
1461
1461
1461
1462
1463
1463
1463
1463
1465
1465
1466
1467
1467
1468
1469
1469
1469
1470
1470
1470
1471
1472
1472
1472
1472
1474
1474
1474
1475
1476
1476
1476
1477
1478
1478
1479
1479
1480
1480
1480
1481
1482
1482

VIRTUTECH CONFIDENTIAL
Command List . . . . .
Command Descriptions
pci-dec21140a-dml . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-dec21143 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-i21152 . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-i82543gc . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-i82546bg . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-isp1040 . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-isp2200 . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-pd6729 . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-pmc1553-bc . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-rage-pm-mobility-pci . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-ragexl . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

30

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1482
1483
1484
1484
1484
1485
1486
1486
1486
1487
1488
1488
1488
1488
1490
1490
1490
1491
1492
1492
1492
1493
1494
1494
1494
1495
1496
1496
1496
1497
1498
1498
1498
1498
1500
1500
1500
1500
1502
1502
1502
1502
1504
1504
1504

VIRTUTECH CONFIDENTIAL
Command Descriptions
pci-sil680a . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-sym53c810 . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-sym53c875 . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-sym53c876 . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-vga . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pci-voodoo3 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
PCI0646 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
pcie-pex8524 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pcie-switch . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pentium-4-cpu . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pentium-4e-2ht-cpu . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pentium-4e-4ht-cpu . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

31

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1504
1506
1506
1506
1506
1508
1508
1508
1509
1510
1510
1510
1511
1512
1512
1512
1512
1514
1514
1514
1515
1516
1516
1516
1516
1518
1518
1518
1519
1519
1519
1520
1521
1521
1522
1522
1523
1523
1524
1524
1525
1525
1526
1526
1527

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pentium-4e-cpu . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pentium-cpu . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pentium-ii-cpu . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pentium-iii-cpu . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pentium-m-cpu . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pentium-mmx-cpu . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pentium-pro-cpu . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
perfanalyze . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
perfanalyze-client . . . . . . .
Attributes . . . . . . . .
persistent-ram . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
phy-mii-transceiver . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
piix4_ide . . . . . . . . . . . .
Attributes . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

32

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1527
1528
1528
1529
1529
1530
1530
1531
1531
1532
1532
1533
1533
1534
1534
1535
1535
1536
1536
1537
1537
1538
1538
1539
1539
1540
1540
1541
1541
1542
1542
1543
1543
1544
1545
1545
1546
1546
1546
1547
1547
1547
1548
1549
1549

VIRTUTECH CONFIDENTIAL
Command List . . . . .
Command Descriptions
piix4_isa . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
piix4_power . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
piix4_usb . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
piix4_usb_dummy . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
pmppc-board . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
port-forward-incoming-server
Attributes . . . . . . . .
Command List . . . . .
port-forward-outgoing-server
Attributes . . . . . . . .
Command List . . . . .
port-space . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc-broadcast-bus . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc-of . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc-simple . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc32-linux-process-tracker .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

33

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1550
1551
1552
1552
1553
1553
1554
1554
1556
1556
1557
1557
1561
1562
1563
1563
1564
1564
1565
1565
1566
1566
1567
1567
1568
1569
1569
1570
1571
1571
1572
1572
1574
1574
1574
1575
1576
1576
1577
1577
1578
1578
1579
1579
1580

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc405gp . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc405gp-cpc . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc405gp-ebc . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc405gp-emac . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc405gp-gpio . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc405gp-iic . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc405gp-mal . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc405gp-mc . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc405gp-pci . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc405gp-uic . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc440gp . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gp-cpc . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gp-dma . . . . . . . . .
Attributes . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

34

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1580
1581
1581
1582
1582
1595
1595
1596
1596
1597
1598
1598
1600
1601
1601
1606
1606
1608
1608
1608
1609
1609
1611
1612
1612
1615
1616
1616
1617
1618
1618
1620
1621
1621
1623
1624
1624
1640
1641
1642
1642
1644
1644
1645
1645

VIRTUTECH CONFIDENTIAL
Command List . . . . .
Command Descriptions
ppc440gp-ebc . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gp-emac . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gp-gpio . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gp-iic . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gp-mal . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gp-mc . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gp-pci . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gp-plb . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc440gp-sram . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc440gp-uic . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gp-zmii . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gx . . . . . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

35

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1649
1649
1650
1650
1654
1655
1656
1656
1661
1661
1663
1663
1663
1664
1665
1665
1667
1668
1669
1669
1672
1672
1673
1673
1675
1676
1677
1677
1684
1685
1686
1686
1687
1688
1688
1689
1690
1690
1692
1692
1693
1693
1694
1694
1695

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gx-cpc . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gx-cpr . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc440gx-dma . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gx-ebc . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gx-emac . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gx-gpio . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gx-iic . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gx-l2c . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc440gx-mal . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gx-opb . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc440gx-pci . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gx-plb . . . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

36

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1695
1711
1712
1714
1714
1716
1716
1717
1717
1718
1719
1719
1723
1723
1724
1724
1728
1729
1730
1730
1735
1735
1737
1737
1737
1738
1739
1739
1741
1742
1743
1743
1744
1745
1745
1748
1749
1750
1750
1751
1752
1752
1759
1760
1761

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
ppc440gx-rgmii . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc440gx-sdr . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc440gx-sdram . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc440gx-sram . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ppc440gx-uic . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc440gx-zmii . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc603e . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc64-linux-process-tracker .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc7400 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc7447 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc7450 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc7457 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

37

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1761
1762
1763
1763
1763
1764
1764
1767
1768
1768
1770
1771
1771
1772
1773
1773
1775
1775
1776
1776
1777
1777
1778
1778
1791
1791
1793
1793
1793
1794
1795
1795
1809
1809
1811
1811
1827
1827
1829
1829
1843
1844
1845
1845
1862

VIRTUTECH CONFIDENTIAL
Command Descriptions
ppc750 . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc750fx . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc750gx . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc970-simple . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ppc970fx . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
preferences . . . . . . . . . . .
Attributes . . . . . . . .
ps2-keyboard-mouse . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
python . . . . . . . . . . . . . .
Attributes . . . . . . . .
pyxis . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ragexl . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
ram . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
recorder . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

38

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1862
1863
1863
1876
1877
1878
1878
1893
1893
1894
1894
1909
1909
1910
1910
1911
1911
1912
1912
1925
1925
1927
1927
1929
1929
1929
1929
1931
1931
1932
1932
1933
1933
1934
1934
1938
1939
1941
1941
1942
1942
1943
1943
1944
1944

VIRTUTECH CONFIDENTIAL
rev-execution . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
rn-eth-bridge-raw . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
rn-eth-bridge-tap . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
rn-eth-proxy-raw . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
rn-eth-proxy-tap . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
rn-ip-router-raw . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
rn-ip-tunnel-tun . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
rom . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
rom-device . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
SA1110-device . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sample-device . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sample-device-python . . . . .
Attributes . . . . . . . .
Command List . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

39

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1946
1946
1947
1948
1948
1949
1950
1951
1951
1953
1953
1955
1955
1957
1957
1958
1958
1960
1961
1962
1962
1964
1964
1965
1965
1967
1967
1969
1969
1970
1970
1971
1971
1971
1972
1972
1973
1973
1974
1974
1974
1975
1976
1976
1976

VIRTUTECH CONFIDENTIAL
Command Descriptions
sample-gcache . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sample-i2c-device . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
sample-ma-model . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sample-memhier . . . . . . . .
Attributes . . . . . . . .
sample-ooo-model . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sample-pci-device . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
sample-x86-ma-model . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sample_micro_arch . . . . . .
Attributes . . . . . . . .
Command List . . . . .
sample_micro_arch_x86 . . . .
Attributes . . . . . . . .
Command List . . . . .
sapic-bus . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
sb16 . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
sbbc-pci . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sbus-hme . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

40

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1976
1978
1978
1978
1978
1980
1980
1981
1982
1982
1982
1982
1984
1984
1985
1985
1985
1985
1987
1987
1988
1989
1989
1989
1989
1991
1991
1992
1993
1993
1994
1995
1995
1995
1996
1996
1997
1998
1998
2000
2000
2002
2002
2009
2010

VIRTUTECH CONFIDENTIAL
scsi-bus . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
scsi-cdrom . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
scsi-disk . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sdram-memory-module . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
serengeti-3800-chassis . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
serengeti-4800-chassis . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
serengeti-4810-chassis . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
serengeti-6800-chassis . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
serengeti-cluster-chassis . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
serengeti-console . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
serengeti-console-old . . . . .
Attributes . . . . . . . .
Command List . . . . .
serengeti-cpci4-board . . . . .
Attributes . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

41

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2011
2011
2012
2012
2014
2014
2018
2019
2020
2020
2024
2025
2029
2029
2030
2030
2032
2032
2033
2033
2036
2036
2037
2037
2040
2040
2041
2041
2044
2044
2045
2045
2048
2048
2049
2049
2052
2052
2055
2055
2056
2056
2059
2060
2060

VIRTUTECH CONFIDENTIAL
Command List . . . . . .
Command Descriptions .
serengeti-pci8-board . . . . . . .
Attributes . . . . . . . . .
Command List . . . . . .
Command Descriptions .
serengeti-schizo . . . . . . . . .
Attributes . . . . . . . . .
Command List . . . . . .
Command Descriptions .
serengeti-sp-cpci6-board . . . .
Attributes . . . . . . . . .
Command List . . . . . .
Command Descriptions .
serengeti-system . . . . . . . . .
Attributes . . . . . . . . .
Command List . . . . . .
Command Descriptions .
serengeti-us-iii-cpu-board . . . .
Attributes . . . . . . . . .
Command List . . . . . .
Command Descriptions .
serengeti-us-iii-plus-cpu-board .
Attributes . . . . . . . . .
Command List . . . . . .
Command Descriptions .
serengeti-us-iv-cpu-board . . . .
Attributes . . . . . . . . .
Command List . . . . . .
Command Descriptions .
serengeti-us-iv-plus-cpu-board .
Attributes . . . . . . . . .
Command List . . . . . .
Command Descriptions .
serial-link . . . . . . . . . . . . .
Attributes . . . . . . . . .
Command List . . . . . .
Command Descriptions .
server-console . . . . . . . . . .
Attributes . . . . . . . . .
Command List . . . . . .
Command Descriptions .
service-node . . . . . . . . . . .
Attributes . . . . . . . . .
Command List . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

42

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2060
2060
2062
2062
2062
2062
2064
2064
2067
2067
2069
2069
2069
2069
2071
2071
2072
2072
2073
2073
2073
2074
2075
2075
2075
2076
2077
2077
2077
2078
2079
2079
2079
2080
2081
2081
2082
2082
2084
2084
2086
2086
2091
2091
2094

VIRTUTECH CONFIDENTIAL
Command Descriptions
service-node-device . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
set-memory . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
signal-bus . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sim . . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
simple-byte-dump . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
simple-fc-disk . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sio-lpc47m172 . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sio-w83627hf . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
SIO82378ZB . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
south-bridge-6300esb . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
south-bridge-amd8111 . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
south-bridge-md1535d . . . .
Attributes . . . . . . . .
Command List . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

43

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2094
2098
2098
2099
2099
2100
2100
2100
2101
2101
2102
2102
2103
2103
2110
2111
2111
2111
2111
2113
2113
2114
2114
2115
2115
2115
2116
2117
2117
2117
2117
2119
2119
2119
2120
2120
2120
2121
2122
2122
2122
2122
2124
2124
2124

VIRTUTECH CONFIDENTIAL
Command Descriptions
south-bridge-piix4 . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
south-bridge-saturn . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
south-bridge-sun-md1535d . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sparc-irq-bus . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
spitfire-mmu . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
state-assertion . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-etg . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-ethernet-link . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-graphics-console . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-host-serial-console . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-ide-cdrom . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

44

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2124
2126
2126
2126
2126
2128
2128
2128
2128
2130
2130
2130
2130
2132
2132
2132
2133
2134
2134
2137
2137
2140
2140
2142
2142
2144
2144
2145
2145
2146
2146
2146
2147
2148
2148
2148
2149
2150
2150
2150
2150
2152
2152
2152
2152

VIRTUTECH CONFIDENTIAL
std-ide-disk . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-ms1553-link . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-pcmcia-flash-disk . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-scsi-bus . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-scsi-cdrom . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-scsi-disk . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-serial-link . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-server-console . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-service-node . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-super-io . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-text-console . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
std-text-graphics-console . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

45

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2154
2154
2154
2155
2156
2156
2156
2156
2158
2158
2158
2159
2160
2160
2160
2160
2162
2162
2162
2163
2164
2164
2164
2165
2166
2166
2166
2166
2168
2168
2168
2169
2170
2170
2170
2171
2172
2172
2172
2173
2174
2174
2175
2175
2176

VIRTUTECH CONFIDENTIAL
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
store_queue . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
strata-flash . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
sun-cpci-hme-isp . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-cpci-isp-isp . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-cpci-qlc-qlc . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-keyboard . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-mouse . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-pci-ce . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-pci-hme . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-pci-hme-isp . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-pci-pgx64 . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

46

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2176
2176
2176
2178
2178
2178
2179
2179
2180
2181
2181
2181
2182
2183
2183
2183
2184
2185
2185
2185
2186
2187
2187
2188
2188
2189
2189
2190
2190
2193
2193
2193
2194
2195
2195
2195
2196
2197
2197
2197
2198
2199
2199
2199
2199

VIRTUTECH CONFIDENTIAL
sun-pci-qlc . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-pci-qlc-qlc . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-sbus-fas-hme . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-type5-keyboard . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun-type5-mouse . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun4u-ac . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
sun4u-clockregs . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun4u-counter . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun4u-fasdma . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
sun4u-fhc . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun4u-sbus-speed . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
sun4u-simm-status . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

47

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2201
2201
2201
2202
2203
2203
2203
2204
2205
2205
2205
2206
2207
2207
2207
2207
2209
2209
2209
2209
2211
2211
2212
2213
2213
2213
2214
2215
2215
2216
2217
2218
2218
2219
2220
2220
2222
2222
2223
2223
2223
2224
2224
2224
2224

VIRTUTECH CONFIDENTIAL
sun4u-systemregs . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun4u-temperature . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sun4u-trans2 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
sun4v-rtc . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sunfire-3500-backplane . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sunfire-4500-backplane . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sunfire-6500-backplane . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sunfire-cpu-board . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sunfire-pci-board . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sunfire-psycho . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sunfire-sbus-board . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
sunfire-sysio . . . . . . . . . .
Attributes . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

48

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2226
2226
2227
2227
2229
2229
2229
2229
2231
2231
2233
2234
2234
2234
2234
2236
2236
2237
2237
2240
2240
2241
2241
2244
2244
2245
2245
2248
2248
2248
2249
2250
2250
2250
2251
2252
2252
2255
2256
2257
2257
2257
2258
2259
2259

VIRTUTECH CONFIDENTIAL
Command List . . . . .
Command Descriptions
sunfire-system . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
SYM53C810 . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
SYM53C875 . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
symtable . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
taco-system . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
telos-basic-clock . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
telos-button . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
telos-environment . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
telos-io-ports . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
telos-mote . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
telos-sfr . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
telos-timer . . . . . . . . . . .
Attributes . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

49

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2262
2262
2264
2264
2265
2265
2267
2267
2269
2269
2270
2270
2272
2272
2273
2273
2276
2276
2280
2280
2281
2281
2284
2284
2284
2285
2285
2285
2286
2286
2287
2287
2288
2288
2291
2291
2292
2292
2293
2293
2294
2294
2295
2296
2296

VIRTUTECH CONFIDENTIAL
Command List . . . . .
telos-usart . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
text-console . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
top-component . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
trace-mem-hier . . . . . . . . .
Attributes . . . . . . . .
trans-sorter . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
trans-splitter . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
trans-splitter-ooo . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
trans-staller . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ultrasparc-ii . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ultrasparc-iii . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ultrasparc-iii-i . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ultrasparc-iii-plus . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ultrasparc-iv . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
ultrasparc-iv-plus . . . . . . .
Attributes . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

50

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2298
2299
2299
2301
2302
2302
2307
2308
2315
2315
2315
2316
2317
2317
2318
2318
2319
2319
2320
2320
2321
2322
2322
2323
2323
2324
2324
2324
2325
2325
2333
2334
2334
2342
2344
2344
2352
2354
2354
2362
2364
2364
2372
2374
2374

VIRTUTECH CONFIDENTIAL
Command List . . . . .
ultrasparc-t1 . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
unresolved_object_class . . . .
Attributes . . . . . . . .
uPD66566S1016 . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
v9-sol9-idle-opt . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
vga . . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
vga_pci . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
voodoo3 . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
voodoo3-agp . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
wire . . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
x86-486sx . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
x86-apic-bus-system . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
x86-apic-system . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
x86-e7520-system . . . . . . .
Attributes . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

51

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2382
2384
2384
2393
2394
2394
2395
2395
2396
2397
2397
2398
2398
2400
2400
2403
2403
2405
2405
2409
2409
2411
2411
2416
2417
2420
2420
2425
2426
2428
2428
2428
2429
2429
2446
2447
2447
2448
2448
2451
2451
2452
2452
2455
2455

VIRTUTECH CONFIDENTIAL
Command List . . . . .
Command Descriptions
x86-hammer . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
x86-hammer-cpu . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
x86-linux-process-tracker . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
x86-p2 . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
x86-p4 . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
x86-reset-bus . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
x86-separate-mem-io-system .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
x86-system . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
x86-tlb . . . . . . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
x87_exception . . . . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
xeon-prestonia-cpu . . . . . .
Attributes . . . . . . . .
Command List . . . . .
Command Descriptions
Z8530 . . . . . . . . . . . . . .
Attributes . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

52

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2456
2456
2459
2459
2491
2492
2492
2493
2493
2494
2494
2494
2495
2496
2496
2520
2522
2522
2558
2559
2559
2559
2560
2561
2561
2562
2562
2565
2565
2566
2566
2569
2569
2570
2570
2571
2571
2572
2572
2573
2573
2574
2574
2575
2575

VIRTUTECH CONFIDENTIAL

CONTENTS

Command List . . . . .
Command Descriptions
Z8530-port . . . . . . . . . . .
Attributes . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

2576
2576
2577
2577

Interfaces
a20 . . . . . . . . . . . . . . . .
address_profiler . . . . . . . .
Command Descriptions
apic_cpu . . . . . . . . . . . . .
arm . . . . . . . . . . . . . . .
Command Descriptions
branch_arc . . . . . . . . . . .
breakpoint . . . . . . . . . . .
Command Descriptions
bridge . . . . . . . . . . . . . .
cache_miss . . . . . . . . . . .
component . . . . . . . . . . .
ethernet_device . . . . . . . .
ethernet_link . . . . . . . . . .
event_poster . . . . . . . . . .
exception . . . . . . . . . . . .
extended_serial . . . . . . . . .
ieee_802_3_mac . . . . . . . .
ieee_802_3_phy . . . . . . . . .
image . . . . . . . . . . . . . .
int_register . . . . . . . . . . .
interrupt_ack . . . . . . . . . .
interrupt_cpu . . . . . . . . . .
io_memory . . . . . . . . . . .
keyboard . . . . . . . . . . . .
log_object . . . . . . . . . . . .
Command Descriptions
map_demap . . . . . . . . . .
memory_space . . . . . . . . .
microwire . . . . . . . . . . . .
mips . . . . . . . . . . . . . . .
Command Descriptions
mmu . . . . . . . . . . . . . . .
mouse . . . . . . . . . . . . . .
pci_bridge . . . . . . . . . . . .
pci_bus . . . . . . . . . . . . .
pci_device . . . . . . . . . . . .
pci_express . . . . . . . . . . .
pci_interrupt . . . . . . . . . .
pin . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2578
2579
2580
2581
2583
2584
2584
2585
2587
2588
2591
2592
2593
2594
2595
2597
2599
2600
2601
2602
2603
2604
2606
2607
2608
2610
2611
2613
2615
2616
2618
2619
2619
2621
2622
2623
2624
2625
2626
2628
2629

53

VIRTUTECH CONFIDENTIAL
port_space . . . . . . . . . . .
ppc . . . . . . . . . . . . . . . .
processor . . . . . . . . . . . .
Command Descriptions
ram . . . . . . . . . . . . . . .
rom . . . . . . . . . . . . . . .
rs232_device . . . . . . . . . .
serial_device . . . . . . . . . .
serial_link . . . . . . . . . . . .
signal . . . . . . . . . . . . . .
simple_interrupt . . . . . . . .
snoop_memory . . . . . . . . .
sparc_interrupt . . . . . . . . .
sparc_irq_bus . . . . . . . . . .
sparc_u3 . . . . . . . . . . . . .
sparc_v9 . . . . . . . . . . . . .
Command Descriptions
symtable . . . . . . . . . . . .
timing_model . . . . . . . . . .
tracker . . . . . . . . . . . . . .
Command Descriptions
tracker_settings . . . . . . . .
tracker_unix . . . . . . . . . .
translate . . . . . . . . . . . . .
x86 . . . . . . . . . . . . . . . .
Command Descriptions
x86_tlb . . . . . . . . . . . . . .
8

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2630
2631
2633
2636
2652
2653
2654
2655
2656
2657
2658
2659
2660
2662
2663
2665
2667
2669
2670
2671
2672
2674
2675
2676
2677
2677
2680

Haps
CLI_Variable_Write . . . . . . .
Core_Address_Not_Mapped . .
Core_Asynchronous_Trap . . .
Core_At_Exit . . . . . . . . . . .
Core_Back_To_Front . . . . . . .
Core_Breakpoint . . . . . . . . .
Core_Breakpoint_Memop . . . .
Core_Conf_Class_Register . . .
Core_Conf_Class_Unregister . .
Core_Conf_Object_Create . . . .
Core_Conf_Object_Delete . . . .
Core_Conf_Object_Pre_Delete .
Core_Configuration_Loaded . .
Core_Connect_Central . . . . .
Core_Console_Owner_Changed
Core_Context_Activate . . . . .
Core_Context_Change . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2682
2682
2682
2682
2683
2683
2683
2684
2684
2685
2685
2685
2685
2686
2686
2686
2687
2687

54

VIRTUTECH CONFIDENTIAL
Core_Context_Deactivate . . . . . .
Core_Continuation . . . . . . . . . .
Core_Control_Register_Read . . . .
Core_Control_Register_Write . . .
Core_Cpu_Switch_Time_Changed
Core_Cycle_Count . . . . . . . . . .
Core_Device_Access_Memop . . .
Core_Device_Access_Read . . . . .
Core_Device_Access_Write . . . . .
Core_Disable_Breakpoints . . . . .
Core_Discard_Future . . . . . . . .
Core_Disconnect_Central . . . . . .
Core_DSTC_Flush_Counter . . . .
Core_Exception . . . . . . . . . . .
Core_Exception_Return . . . . . . .
Core_External_Interrupt . . . . . .
Core_Fence . . . . . . . . . . . . . .
Core_Frontend_Line_Done . . . . .
Core_Hap_Callback_Installed . . .
Core_Hap_Callback_Removed . . .
Core_Hap_Type_Added . . . . . .
Core_Initial_Configuration . . . . .
Core_Instruction_Squashed . . . . .
Core_Interrupt_Status . . . . . . . .
Core_Log_Message . . . . . . . . .
Core_Magic_Instruction . . . . . . .
Core_MC_Loaded . . . . . . . . . .
Core_Memory_Barrier . . . . . . . .
Core_Misplaced_Rex . . . . . . . .
Core_Mode_Change . . . . . . . . .
Core_Mode_Switch . . . . . . . . .
Core_Module_Loaded . . . . . . . .
Core_Not_Implemented . . . . . .
Core_Periodic_Event . . . . . . . .
Core_Pre_Central_Configuration .
Core_Preferences_Changed . . . . .
Core_Processor_Schedule_Changed
Core_Profiling_Mode_Change . . .
Core_Prompt_Changed . . . . . . .
Core_Pseudo_Exception . . . . . .
Core_Recent_Files_Changed . . . .
Core_Rexec_Active . . . . . . . . .
Core_Screen_Resized . . . . . . . .
Core_Simulation_Stopped . . . . .
Core_Source_Step . . . . . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

55

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2687
2687
2688
2688
2689
2689
2689
2690
2690
2690
2691
2691
2691
2692
2692
2693
2693
2693
2694
2694
2694
2695
2695
2695
2696
2696
2697
2697
2697
2697
2698
2698
2699
2699
2699
2699
2700
2700
2700
2701
2701
2701
2701
2702
2702

VIRTUTECH CONFIDENTIAL
Core_Step_Count . . . . . . . . . .
Core_Sync_Instruction . . . . . . .
Core_TD_Changed . . . . . . . . .
Core_Time_Transition . . . . . . . .
Core_Trackee_Active . . . . . . . .
Core_Trackee_Exec . . . . . . . . .
Core_Workspace_Changed . . . . .
Core_Write_Configuration . . . . .
ETG_New_Arp_Entry . . . . . . . .
Ethernet_Frame . . . . . . . . . . .
Ethernet_Link . . . . . . . . . . . .
Ethernet_Receive . . . . . . . . . . .
Ethernet_Transmit . . . . . . . . . .
FC_SCSI_Command . . . . . . . . .
GDB_Stopped . . . . . . . . . . . .
Gfx_Break_String . . . . . . . . . .
MIPS_Processor_Reset . . . . . . .
MMU_Context_Register_Write . . .
MMU_Data_TLB_Demap . . . . . .
MMU_Data_TLB_Map . . . . . . .
MMU_Data_TLB_Overwrite . . . .
MMU_Data_TLB_Replace . . . . .
MMU_Instruction_TLB_Demap . .
MMU_Instruction_TLB_Map . . . .
MMU_Instruction_TLB_Overwrite
MMU_Instruction_TLB_Replace . .
MMU_Register_Write . . . . . . . .
ppc64_sfmode_change . . . . . . .
PPC_Attention . . . . . . . . . . . .
PPC_Processor_Reset . . . . . . . .
PPC_TLB_Invalidate_Entry . . . . .
Python_Tab_Completion . . . . . .
Rexec_Limit_Exceeded . . . . . . .
RTC_Nvram_Update . . . . . . . .
SCSI_CDROM_Command . . . . .
SCSI_Disk_Command . . . . . . . .
TLB_Fill_Data . . . . . . . . . . . .
TLB_Fill_Instruction . . . . . . . . .
TLB_Invalidate_Data . . . . . . . .
TLB_Invalidate_Instruction . . . . .
TLB_Miss_Data . . . . . . . . . . .
TLB_Miss_Instruction . . . . . . . .
TLB_Replace_Data . . . . . . . . . .
TLB_Replace_Instruction . . . . . .
Turbo_New_Code_Block . . . . . .

CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

56

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2702
2703
2703
2703
2704
2704
2704
2705
2705
2705
2705
2706
2706
2706
2707
2707
2707
2708
2708
2708
2709
2709
2709
2710
2710
2711
2711
2711
2712
2712
2712
2713
2713
2713
2714
2714
2714
2715
2715
2716
2716
2716
2717
2717
2717

VIRTUTECH CONFIDENTIAL
X86_Descriptor_Change
X86_Enter_SMM . . . . .
X86_Leave_SMM . . . . .
X86_Processor_Reset . .
Xterm_Break_String . . .
9

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

2718
2718
2718
2719
2719

Craff
2720
9.1
Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2720

Index

2723

57

VIRTUTECH CONFIDENTIAL

Chapter 1

About Simics Documentation


1.1

Conventions

Let us take a quick look at the conventions used throughout the Simics documentation.
Scripts, screen dumps and code fragments are presented in a monospace font. In screen
dumps, user input is always presented in bold font, as in:
Welcome to the Simics prompt
simics> this is something that you should type
Sometimes, artificial line breaks may be introduced to prevent the text from being too
wide. When such a break occurs, it is indicated by a small arrow pointing down, showing
that the interrupted text continues on the next line:
This is an artificial
line break that shouldnt be there.
The directory where Simics is installed is referred to as [simics], for example when
mentioning the [simics]/README file. In the same way, the shortcut [workspace] is
used to point at the users workspace directory.

1.2

Simics Guides and Manuals

Simics comes with several guides and manuals, which will be briefly described here. All
documentation can be found in [simics]/doc as Windows Help files (on Windows),
HTML files (on Unix) and PDF files (on both platforms). The new Eclipse-based interface
also includes Simics documentation in its own help system.

Simics Installation Guide for Unix and for Windows


These guides describe how to install Simics and provide a short description of an installed
Simics package. They also cover the additional steps needed for certain features of Simics
to work (connection to real network, building new Simics modules, . . . ).
58

VIRTUTECH CONFIDENTIAL

1.2. Simics Guides and Manuals

Simics User Guide for Unix and for Windows


These guides focus on getting a new user up to speed with Simics, providing information on
Simics features such as debugging, profiling, networks, machine configuration and scripting.

Simics Eclipse User Guide


This is an alternative User Guide describing Simics and its new Eclipse-based graphical user
interface.

Simics Target Guides


These guides provide more specific information on the different architectures simulated by
Simics and the example machines that are provided. They explain how the machine configurations are built and how they can be changed, as well as how to install new operating
systems. They also list potential limitations of the models.

Simics Programming Guide


This guide explains how to extend Simics by creating new devices and new commands. It
gives a broad overview of how to work with modules and how to develop new classes and
objects that fit in the Simics environment. It is only available when the DML add-on package
has been installed.

DML Tutorial
This tutorial will give you a gentle and practical introduction to the Device Modeling Language (DML), guiding you through the creation of a simple device. It is only available when
the DML add-on package has been installed.

DML Reference Manual


This manual provides a complete reference of DML used for developing new devices with
Simics. It is only available when the DML add-on package has been installed.

Simics Reference Manual


This manual provides complete information on all commands, modules, classes and haps
implemented by Simics as well as the functions and data types defined in the Simics API.

Simics Micro-Architectural Interface


This guide describes the cycle-accurate extensions of Simics (Micro-Architecture Interface
or MAI) and provides information on how to write your own processor timing models. It is
only available when the DML add-on package has been installed.

59

VIRTUTECH CONFIDENTIAL

1.2. Simics Guides and Manuals

RELEASENOTES and LIMITATIONS files


These files are located in Simicss main directory (i.e., [simics]). They list limitations,
changes and improvements on a per-version basis. They are the best source of information
on new functionalities and specific bug fixes.

Simics Technical FAQ


This document is available on the Virtutech website at http://www.simics.net/support.
It answers many questions that come up regularly on the support forums.

Simics Support Forum


The Simics Support Forum is the main support tool for Simics. You can access it at http://
www.simics.net.

Other Interesting Documents


Simics uses Python as its main script language. A Python tutorial is available at http://
www.python.org/doc/2.4/tut/tut.html. The complete Python documentation is located at http://www.python.org/doc/2.4/.

60

VIRTUTECH CONFIDENTIAL

Chapter 2

Invoking Simics (Startup Flags)


Simics is started using the simics script in the workspace directory. The simics script
takes the following arguments:
./simics [simics options]
Simics can be started with a variety of command line flag arguments, called simics options
above. A summary of these can be found in the Simics User Guide. The rest of this chapters
describes each of these, in alphabetical order.
If you want to run another host version of Simics than the default, set the SIMICS_HOST
environment variable. The following shows how you can do that in different shells.
# Bourne shell
SIMICS_HOST=x86-linux ./simics
# C shell
setenv SIMICS_HOST x86-linux
./simics
By default, Simics executes the startup-commands files in the [simics]/config/
directory and in the current directory as Simics scripts after having interpreted all the commandline arguments. This allow you to specify commands that are run whenever Simics start,
where the file in [simics]/config/ is run for all users sharing the same Simics installation. To prevent this behavior, use the -n simics option.

61

VIRTUTECH CONFIDENTIAL

2.1

2.1. Startup Flags

Startup Flags

-E, -expire <time> (advanced)


Check out licenses with an expire time, for off-line use. Valid formats are:
dd-mmm-yyyy[:hh:mm] where:
dd
day number in month
mmm
abbreviated name of month
yyyy
year including century
hh
hour in 24-hour format
mm
minutes.
+<num>h setting the license to expire <num> hours from now.
+<num>d setting the license to expire <num> days from now.

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

-batch-mode (advanced)
Run in batch mode. This means that Simics will exit when all commands and scripts given
on the command line have executed, or as soon as an error occurs.
When an error has occurred, Simics will immediately exit with a non-zero status. If all
commands run to completion, Simics exits with status 0, indicating success.
Simics will not use the command history file in batch mode.

-c <file>
Load a configuration file. This is equivalent to issuing a read-configuration command after
Simics has started.
If this flag is the last on the command line, -c may be omitted.

-central <address[:port]>
Connect to Simics Central. Simics Central may be running on another host, and this argument to this flag is an IP address and an optional port number where Simics Central is
listening. The port number defaults to 1909 if omitted.
If the local hosts address is supplied, and the port number is left out, Simics will try to
connect to the default Unix file socket (/tmp/simics-central).
Also see the -central :<file> flag.
62

VIRTUTECH CONFIDENTIAL

2.1. Startup Flags

-central :<file>
Connect to Simics Central using a Unix file socket. This variant of the -central flag lets
you specify a socket file.

-central-time-out <time>
Simics will wait time seconds trying to connect to a central server every second before giving
up and starting without the central connection.

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

-e <command>
Execute a CLI command. Equivalent of typing in the command at the command line prompt.

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

-fast
For backwards compatibility only. Fast mode is the default mode of execution.

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

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

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

-license-file <file> (advanced)


Specify the FLEXlm license file to use. This will make Simics ignore the VTECH_LICENSE_
FILE and LM_LICENSE_FILE environment variables. On Unix systems the $HOME/.flexlmlc
file is ignored, as well as the Registry on Windows hosts. The $HOME/.flexlmrc, and the
Registry are not updated when Simics is started with this flag.

63

VIRTUTECH CONFIDENTIAL

2.1. Startup Flags

-log-file <file>
Use a different log file than the default .simics-log.

-ma
Start micro-architect version of Simics if available. For more information about the microarchitect version, see the Simics User Guide. If you use this option, you typically want to run
a micro-architect specific configuration and/or script as well.

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

-no-copyright (advanced)
Do not print out copyright notices when starting Simics. See also the -verbose and -quiet
flags.

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

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

-no-log
Turns off logging to .simics-log (or any other file specified by -log-file).

-no-stc (advanced)
Disable the Simics internal caches for memory operations and instruction fetches (STC:s)
that Simics uses to speed up the simulation.
Disabling the STC:s (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 STC:s using the -no-dstc
and -no-istc flags, respectively. The STC:s are typically enabled by default, although in
some versions of Simics they may be disabled. See also the -stc flag.

-no-use-cygpath (advanced)
Disable Cygwin path translation. with this option set, Simics will not be able to load files
specified with Cygwin syntax, or to follow symlinks created by Cygwin. Windows host
only.

64

VIRTUTECH CONFIDENTIAL

2.1. Startup Flags

-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
isnt needed, since it doesnt require access to a graphical environment, and running with
windows disabled is usually somewhat faster.

-obscure
Prints out a summary of advanced command-line flags and exit.

-p <file>
Run code from a Python file.

-product <productname> (advanced)


Specify the licensed product to use. The chosen product specifies which models and capabilities you can use with Simics.

-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 doesnt do all that much.

-readme
Print the Simics README information and exit.

-stall
Start the stall version of Simics if available. For more information about this version and its
limitations, see the Simics User Guide.

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

65

VIRTUTECH CONFIDENTIAL

2.1. Startup Flags

-use-cygpath (advanced)
Enable Cygwin path translation. This is the default, and enables Simics to understand Cygwin paths (/cygdrive/c/, for example), and translate them into native Windows form
(C:\).
The translation is done internally, and behaves similar to the Cygwin cygpath utility.
See the documentation for the SIM_native_path() API call for further details.

-v, -version, --version, -v-short


Print the Simics version number and exit. Other information printed include the compilers
used and the compile-time options applied to this specific build. -v-short only prints out
Simics version.

-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 to figure out problems that you may be having
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 isnt usually
needed.

-werror (advanced)
Treat many warnings in Simics as errors and exit.

-workspace <workspace>
Specify the workspace directory to run Simics in.

-x <file>
Run commands from a script file. The script file is usually named with a .simics suffix.
If this flag is the last on the command line, -x may be omitted.

66

VIRTUTECH CONFIDENTIAL

Chapter 3

API
The Simics API is a set of functions that provide access to Simics functionality from script
languages in the frontend and from extensions, usually written in C/C++. The Simics API
is the same in all languages but the syntax of the types and functions declarations will of
course differ.

3.1

Frontend Exceptions

Whenever an error occurs in a Simics API function, that function will raise an exception. An
exception consists of an exception type and an error message.
The following exception types are defined in the Simics API:
typedef enum sim_exception {
SimExc_No_Exception,
SimExc_General,
SimExc_Arithmetic,
SimExc_Lookup,
SimExc_Attribute,
SimExc_IOError,
SimExc_Index,
SimExc_Memory,
SimExc_Inquiry,
SimExc_InquiryOutsideMemory,
SimExc_InquiryUnhandled,
SimExc_Overflow,
SimExc_Syntax,
SimExc_Type,
SimExc_ZeroDivision,
SimExc_RuntimeError,
SimExc_Break,
SimExc_PythonTranslation,
SimExc_IllegalValue,
SimExc_ObjectNotFound,
SimExc_InterfacedNotFound,

67

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

SimExc_AttrNotFound,
SimExc_AttrNotReadable,
SimExc_AttrNotWritable,
SimExc_NeedInteger,
SimExc_NeedFloating,
SimExc_NeedBoolean,
SimExc_NeedString,
SimExc_NeedList,
SimExc_NeedDict,
SimExc_NeedData,
SimExc_NeedObject,
SimExc_InternalRevexecBreak,
} sim_exception_t;

Note that API users writing in C must use SIM_clear_exception() and SIM_last_error()
since C does not support exceptions. In Python, the Simics API exceptions will trigger actual
Python exceptions, which you can capture using try ... except.
To raise exceptions from C, use SIM_frontend_exception(). From Python, use the normal
raise statement.

3.2

Simics API Data Types

68

VIRTUTECH CONFIDENTIAL

3.2.1

3.2. Simics API Data Types

Generic Data Types

addr_prof_iter_t
NAME
addr_prof_iter_t
DESCRIPTION
An address profile iterator will iterate over a specified portion of the address space in
some unspecified order, and return every nonzero counter value exactly once. When
done, it will return 0.

69

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

attr_value_t, attr_kind_t, attr_list_t, attr_data_t


NAME
attr_value_t, attr_kind_t, attr_list_t, attr_data_t
SYNOPSIS
struct attr_value {
attr_kind_t
kind;
union {
const char
*string;
integer_t
integer;
integer_t
boolean;
double
floating;
attr_list_t
list;
attr_dict_t
dict;
attr_data_t
data;
conf_object_t *object;
} u;
};

/*
/*
/*
/*
/*
/*
/*
/*

Sim_Val_String
Sim_Val_Integer
Sim_Val_Boolean
Sim_Val_Floating
Sim_Val_List
Sim_Val_Dict
Sim_Val_Data
Sim_Val_Object

typedef struct attr_value attr_value_t;


typedef enum {
Sim_Val_Invalid
Sim_Val_String
Sim_Val_Integer
Sim_Val_Floating
Sim_Val_List
Sim_Val_Data
Sim_Val_Nil
Sim_Val_Object
Sim_Val_Dict
Sim_Val_Boolean
} attr_kind_t;

=
=
=
=
=
=
=
=
=
=

0,
1,
2,
3,
4,
5,
6,
7,
8,
9

typedef struct attr_list attr_list_t;


struct attr_list {
integer_t
struct attr_value
};

size;
*vector; /* [size] */

typedef struct {
integer_t
size;
struct attr_dict_pair *vector; /* [size] */
} attr_dict_t;

70

*/
*/
*/
*/
*/
*/
*/
*/

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

typedef struct attr_dict_pair attr_dict_pair_t;


struct attr_dict_pair {
struct attr_value
struct attr_value
};

key;
value;

typedef struct attr_data attr_data_t;


struct attr_data {
integer_t
uint8
};

size;
*data; /* [size] */

DESCRIPTION
The attr_value_t is the type used for all values in the configuration system. All but the
Sim_Val_Data kind are stored as text when taking checkpoints.
The following table shows how the different types of values are to be interpreted in C
and Python, respectively:

Kind
Sim_Val_Invalid
Sim_Val_String
Sim_Val_Integer
Sim_Val_Boolean
Sim_Val_Floating
Sim_Val_List
Sim_Val_Dict
Sim_Val_Data
Sim_Val_Nil

C
n/a
const char
integer_t
integer_t
double
attr_list_t
attr_dict_t
attr_data_t
n/a

Python
raises exception
String
Integer
Bool
Float
List
Dictionary
Tuple
None

Use the SIM_make_attr_XXX functions to create these data types.


SEE ALSO
SIM_make_attr_integer, SIM_make_attr_boolean, SIM_make_attr_string, SIM_make_
attr_floating, SIM_make_attr_object, SIM_make_attr_invalid, SIM_make_attr_nil, SIM_
make_attr_list, SIM_alloc_attr_list, SIM_alloc_attr_dict

71

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

class_data_t, class_kind_t
NAME
class_data_t, class_kind_t
SYNOPSIS
typedef enum {
Sim_Class_Kind_Vanilla, /*
Sim_Class_Kind_Session, /*
*
Sim_Class_Kind_Pseudo
/*
} class_kind_t;

object is saved at checkpoints */


object is saved as part of a
session only */
object is never saved */

typedef struct class_data {


conf_object_t *(*new_instance)(parse_object_t *parse_obj);
int (*delete_instance)(conf_object_t *obj);
void (*finalize_instance)(conf_object_t *obj);
attr_value_t (*default_get_attr)(const char *name,
conf_object_t *obj,
attr_value_t *idx);
set_error_t (*default_set_attr)(const char *name,
conf_object_t *obj,
attr_value_t *val,
attr_value_t *idx);
conf_class_t
*parent;
const char
*description;
class_kind_t
kind;
} class_data_t;

DESCRIPTION
The class_data_t type is used when a new class is registered. The only mandatory
field is new_instance. Make sure that uninitialized fields are set to zero before the
structure is passed to SIM_register_class(). The optional finalize_instance function is
called when all attributes have been initialized in an object, and in all other objects
that are created at the same time.

72

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

conf_object_t
NAME
conf_object_t
SYNOPSIS
struct conf_object {
conf_class_t *class_data;
const char *name;
struct conf_object *queue;
lang_void *object_data;
int object_id;
int configured;
};

/*
/*
/*
/*
/*
/*

class data */
instance name */
queue */
internal to class implementation */
deprecated, do not use */
set when configuration ready */

typedef struct conf_object conf_object_t;

DESCRIPTION
All classes must inherit the conf_object_t type by including it first in the subclass
structure. Always initialize the conf_object_t part of an object structure using the
SIM_object_constructor() function.

73

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

data_or_instr_t
NAME
data_or_instr_t
SYNOPSIS
typedef enum {
Sim_DI_Instruction
Sim_DI_Data
} data_or_instr_t;

= 0,
= 1

DESCRIPTION
This type is used in several API functions and structures to indicate if data or instructions is used.

74

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

dbuffer_t
NAME
dbuffer_t
SYNOPSIS
typedef struct dbuffer dbuffer_t;

DESCRIPTION
This type is used to store blocks of binary data. It is optimized for fast adding and
removing of data, and does fast copying between buffers using copy-on-write semantics.

75

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

endianness_t
NAME
endianness_t
SYNOPSIS
typedef enum {
Sim_Endian_Target,
Sim_Endian_Host_From_BE,
Sim_Endian_Host_From_LE,
Sim_Endian_Host
/* Obsolete. Do not use */
} endianness_t;

DESCRIPTION
Specifies the endianness to use for certain memory operations. When Sim_Endian_
Target is used, the data from memory is copied without any endian conversion.
Sim_Endian_Host_From_BE and Sim_Endian_Host_From_LE copies data between
a big-endian, or little-endian, memory and a host buffer. Sim_Endian_Host is obsolete and should not be used.

76

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

event_handler_t
NAME
event_handler_t
SYNOPSIS
typedef void (*event_handler_t)(conf_object_t *obj,
lang_void *parameter);
typedef event_handler_t event_function_t;

DESCRIPTION
The event_handler_t data type is used for event handler functions. event_function_t
is a deprecated data type used for the same purpose.
SEE ALSO
SIM_step_clean, SIM_step_post, SIM_time_clean, SIM_time_clean

77

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

exception_type_t
NAME
exception_type_t
SYNOPSIS
typedef int exception_type_t;

DESCRIPTION
Accommodate all kinds of exceptions and pseudo-exceptions in a single type.

78

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

firewire_async_transfer_t
NAME
firewire_async_transfer_t
SYNOPSIS
typedef uint16 firewire_id_t;
typedef uint64 firewire_address_t;

typedef enum {
Firewire_Async_Write_Quadlet
Firewire_Async_Write_Block
Firewire_Async_Read_Quadlet
Firewire_Async_Read_Block
Firewire_Async_Lock
Firewire_Iso_Streaming
} firewire_transaction_type_t;
typedef enum {
Firewire_Lock_Maskswap
Firewire_Lock_Compareswap
Firewire_Lock_Fetchadd
Firewire_Lock_Littleadd
Firewire_Lock_Boundedadd
Firewire_Lock_Wrapadd
Firewire_Lock_Vendor
} firewire_async_lock_type_t;

=
=
=
=
=
=
=

=
=
=
=
=
=

0x0,
0x1,
0x4,
0x5,
0x9,
0xa

1,
2,
3,
4,
5,
6,
7

typedef struct {
firewire_id_t destination_id;
firewire_id_t source_id;
firewire_address_t destination_offset;
firewire_transaction_type_t transaction_type;
firewire_async_lock_type_t lock_type;
union {
uint32 *quadlet;
dbuffer_t *buf;
struct {
uint64 argument;
uint64 data;
uint64 *old_value;
} lock;
} data;
} firewire_async_transfer_t;

79

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

DESCRIPTION
firewire_async_transfer_t is the basic means of communication between firewire
devices. A device that whishes to communicate with another device prepares the request by filling in the necessary data and then sends it to the firewire bus which then
routes it to the destination. The destination device fills in any return data (e.g. return
value for read requests) and returns a response code.
destination_id is the 16-bit ID of the destination device; it is made up of a 10-bit bus
number and a 6-bit node ID (i.e. top 10 bits represent the bus number and the low 6
bits represent the node ID).
source_id is the ID of the device starting the transfer.
destination_offset is the register address to access within the destination node.
The transaction_type parameter specifies the type of request. The validity of the remaining elements of the firewire_async_transfer_t struct depends on what it
is set to.
If transaction_type is set to Firewire_Async_Read_Quadlet or Firewire_Async_
Write_Quadlet, then the data.quadlet must be a valid pointer.
If, on the other hand, transaction_type is set to Firewire_Async_Read_Block or
Firewire_Async_Write_Block, then data.buf must be set instead.
Finally, if transaction_type is set to Firewire_Async_Lock, then both lock_type and
the data.lock structure must be filled in. data.lock.argument contains the second argument for two argument lock functions. data.lock.data contains the first argument (and
the only one, in case of single argument lock functions). Lastly, data.lock.old_value is
set by the destination device, and will contain the old register value before updated
by the lock function.
Note: Firewire_Iso_Streaming is an invalid value for transaction_type in an asynchronous transfer.
SEE ALSO

80

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

firewire_iso_transfer_t
NAME
firewire_iso_transfer_t
SYNOPSIS
typedef enum {
Firewire_Async_Write_Quadlet
Firewire_Async_Write_Block
Firewire_Async_Read_Quadlet
Firewire_Async_Read_Block
Firewire_Async_Lock
Firewire_Iso_Streaming
} firewire_transaction_type_t;

=
=
=
=
=
=

0x0,
0x1,
0x4,
0x5,
0x9,
0xa

typedef enum {
Firewire_Tag_Unformatted = 0
/* All others currently reserved */
} firewire_iso_tag_t;
typedef struct {
firewire_transaction_type_t transaction_type;
firewire_iso_tag_t tag;
uint32 channel;
uint32 sync_code;
dbuffer_t *buf;
} firewire_iso_transfer_t;

DESCRIPTION
The firewire_iso_transfer_t transfer type is used for isochronous transfers.
They are simpler than asynchronous transfers and only work in one direction; they
do not return anything at all.
transaction_type must be set to Firewire_Iso_Streaming.
tag should be set to Firewire_Tag_Unformatted as there are currently no other
tags available.
channel should be set to the channel number this transfer is targetting. All devices listening to that channel number will receive this transfer. Allocation of channel number
should be done as specified in the firewire specification.
sync_code is an application specific field.
buf must be set to a buffer containg the data to transfer.

81

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

generic_transaction_t
NAME
generic_transaction_t
SYNOPSIS
struct generic_transaction {
logical_address_t
logical_address;
physical_address_t physical_address;
unsigned int
size;
/* size in bytes */
mem_op_type_t
type;
/* opaque */
unsigned int
atomic:1;
/* trans is part of an atomic
sequence of mem ops */
unsigned int

inquiry:1;

unsigned int

speculative:1;

unsigned int

ignore:1;

unsigned int
unsigned int

unsigned int

unsigned int

unsigned int

/* set to 1 to indicate inquiry


access */
/* access is speculative,
may not be committed */

/* set to 1 to signal no-op


(dont do access) */
may_stall:1;
/* when set to 0, any stall time
returned is ignored */
ma_no_reissue:1; /* if the transactions
instruction is rolled back
during a stall the memory
hierarchy should not be called
again */
reissue:1;
/* If this is 1, the transaction
will be reissued if a stall
greater than 0 is returned */
block_STC:1;
/* set to 1 iff anybody (MMU,
memory hierarchy, etc) wants
to see future accesses of this
type */
use_page_cache:1; /* internal - do not change */

unsigned int

inverse_endian:1; /* data transfer is


byte-reversed */

unsigned int

page_cross:2;

/* page crossing
0 - no crossing
1 - first access
2 - second access */

unsigned int
unsigned int

use_iostc:1;
iostc_blocked:1;

/* may be added to iostc */


/* was blocked from iostc */

ini_type_t
conf_object_t

ini_type;
*ini_ptr;

int

id;

exception_type_t

exception;

82

/* cpu, device, or other */


/* will be different for
simultaneously outstanding
transactions */
/* set if memhier throws

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types


exception, otherwise
Sim_PE_No_Exception */
/* user pointer that Simics never
touches */

void

*user_ptr;

char

*real_address;

/* data pointer for the


initiator */

int

space_count;

/* internal, # of memory space


transitions */

page_t *page;
page_t *tag_page;
unsigned tag_page_ofs;
physical_address_t
arc_type_t
int

stall_id_t

/* internal: page if RAM access */


/* internal: tag page if any */
/* internal: start of page in tag page */

source_physical_address; /* if arc_type
== Arc_Taken_Branch */
arc_type;
/* filled for fetches from
branch targets */
allocation_size; /* The size of the transaction
(including local part) only
valid if > 0 */
stall_id;

};
typedef struct generic_transaction generic_transaction_t;
typedef enum {
/* Arc caused by a regular branch instruction. */
Arc_None,
Arc_Taken_Branch,
Arc_Init,
Arc_Cache_Line_Start,
Arc_User,
Arc_Compensate,
Arc_Interrupt,
Arc_Page_Start,
/* Arm */
/* Arc caused by a software interrupt instruction. */
Arc_Exception_Counted,
/* Arc caused by some other exception than software interrupt. This
kind of branch arc is special in that it is not subtracted from the
number of times the instruction has been executed. */
Arc_Exception_Not_Counted,
/* Arc caused by an ALU instruction with pc as rd and the s bit set,
i.e, probably a return from an exception. */
Arc_Return_From_Exception,
/* Arc caused by the execution entering or leaving the interpreter. */
Arc_To_From_Interpreter,
/* Arc caused by a fall through from one storage page to the next. */
Arc_End_Of_Page,
/* Just to avoid comma problems with the ifdefs... */
Arc_Dummy
} arc_type_t;

83

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

typedef struct page page_t;

DESCRIPTION
Used to communicate information about memory operations. Not all info is complete/correct in all uses. For an example of how a memory hierarchy can use a memory transaction, see example memory hierarchy.
The transaction parameters are divided into a generic part shown below and an architecture specific part. The generic struct is included as the first component of the
memory_transaction_t struct, where the architecture-specific parameters are declared.
Normally the logical address and most control flags are set before the mmu is called.
The host_address is a host pointer to the start of the simulated memory the transaction
loads from or stores to.
real_address points to the destination for a load or source of a store operation.
The ini_ptr points to the object initiating the operation, this is either a processor or a
device depending on the ini_type field.
typedef enum {
Sim_Initiator_Illegal
Sim_Initiator_CPU
Sim_Initiator_CPU_V9
Sim_Initiator_CPU_UII
Sim_Initiator_CPU_UIII
Sim_Initiator_CPU_UIV
Sim_Initiator_CPU_UT1
Sim_Initiator_CPU_X86
Sim_Initiator_CPU_PPC
Sim_Initiator_CPU_Alpha
Sim_Initiator_CPU_IA64
Sim_Initiator_CPU_MIPS
Sim_Initiator_CPU_MIPS_RM7000
Sim_Initiator_CPU_MIPS_E9000
Sim_Initiator_CPU_ARM
Sim_Initiator_Device
Sim_Initiator_PCI_Device
Sim_Initiator_Cache

Sim_Initiator_Other
} ini_type_t;

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

0x0,
/* catch uninitialized */
0x1000,
0x1100,
0x1101,
0x1102,
0x1103,
0x1104, /* 1105, 1106 internal */
0x1200,
0x1300,
0x1400,
0x1500,
0x1600,
0x1601,
0x1602,
0x1700,
0x2000,
0x2010,
0x3000, /* The transaction is a cache
transaction as defined by
g-cache */
= 0x4000 /* initiator == NULL */

The mmu sets the physical_address and possibly set some more control flags. The memory hierarchy only reads the memory transaction to decide what stall time to return.
The block_STC bit functions as a veto flag for various modules. Any code can set
this to 1, but it should not be set to zero. When set to one, the next access to the same
STC line will be passed to the memory hierarchy.
The may_stall bit is set to zero for a few types of references where the simulator kernel
cannot deal with stalling. A memory hierarchy must return stall time zero when the
flag is clear. A memory hierarchy that wants to stall anyway should accumulate stall
time, and trigger the total stall time when a stall-capable access comes along (which is
84

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

not guaranteed to happen but most probably will). For atomic read/write instructions
(swap) any access may stall. If an instruction is stalled the entire instruction will be
executed after the stalltime is up. The may_stall bit may be cleared by the mmu.
The ignore flag can be set to 1 by the MMU. When set no memory operation will be
performed. This is useful for instructions coded as a memory operation but which
really only modify mmu internal state.
The inverse_endian flag may be changed by the MMU. If set, the data involved in the
access will be transferred in the opposite order. If not set, the bytes will be transferred
in the same order they occur in the memory space. A memory object should not set this
bit to a hard value, only toggle it. It may have been set by Simics for implementation
reasons.
The page_cross field is used to indicate when Simics has split a memory transaction in
two. It is normally 0, but when a transaction crosses an MMU page boundary, it will be
converted into two separate transactions, one for each accessed page. The addresses
and sizes are adjusted to confine them to their respective pages. The first of these
transaction will have page_cross set to 1, and the second will have it set to 2.
The atomic is read only. It may be read by any module. The atomic flag is set for any
data memory transaction caused by an atomic instruction; i.e., an instruction whose
memory references must be performed without any intervening memory references
(from other processors). The atomic sequence is a read followed by a write.
The use_page_cache is used internally. Do not change its value.
The user_ptr may be used to pass information between user defined modules that use
memory transactions. Simics does not use this field.
The type field should not be used directly; use the SIM_mem_op_is_xxx() predicate
functions, where xxx can be instruction, data, read, or write. SIM_set_mem_
op_type() function is used to set the type of a memory operation (see the mem_op_
type_t enum definition), and SIM_get_mem_op_type() is used to read it.
id is a unique number for all currently outstanding memory transactions. In an inorder version of Simics, this field is zero. See the SIM_get_unique_memory_transaction_
id() function.
When activated, instruction fetches set arc_type to indicate if the fetch is the result of
sequential execution or a branch. In case of a branch, the source_physical_address is set
to the address where the branch was made from.
SEE ALSO
mem_op_type_t

85

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

hap_flags_t
NAME
hap_flags_t
SYNOPSIS
typedef enum {
Sim_Hap_Simulation
Sim_Hap_Old_Format
Sim_Hap_Added
Sim_Hap_Deleted
Sim_Hap_Attr
} hap_flags_t;

=
=
=
=
=

1,
2,
4,
8,
16

/*
/*
/*
/*

internal
internal
internal
internal

use
use
use
use

*/
*/
*/
*/

DESCRIPTION
The hap_flags_t is used to specify additional information about a hap. Sim_Hap_
Simulation signals that the hap is used to model simulated behavior. All other
values are currently for Simics internal use only.
SEE ALSO
SIM_hap_add_callback

86

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

hap_type_t
NAME
hap_type_t
SYNOPSIS
typedef int hap_type_t;

DESCRIPTION
This data type is used to represent hap (occurrence) types. This is a runtime number
that may change between different Simics invocations. Haps are normally identified
by strings, but by calling SIM_hap_get_number(), a lookup from such a name to a
hap_type_t can be made.
SEE ALSO
SIM_hap_get_number, SIM_hap_add_type, SIM_for_all_hap_types

87

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

instr_type_t
NAME
instr_type_t
SYNOPSIS
typedef uint64 instr_type_t;
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define

It_Other
It_Alu
It_Relbranch
It_Load
It_Store
It_Sethi
It_Popc
It_Fp_Triop
It_Fp_Diop
It_Fp_Unop
It_Fp_Cmp
It_Swap
It_Vis
It_Flush
It_Call
It_Return
It_Trap
It_Trap_Ret
It_Idle
It_User_Decoder_Defined
It_Varbranch
It_Absbranch
It_Fstsw
It_Fp
It_Membar
It_Prefetch
It_Convert
It_Cmov
It_String
It_Mov
It_SSE
It_MMX
It_Cond

UINT64_C(0x1)
UINT64_C(0x2)
UINT64_C(0x4)
UINT64_C(0x8)
UINT64_C(0x10)
UINT64_C(0x20)
UINT64_C(0x40)
UINT64_C(0x80)
UINT64_C(0x100)
UINT64_C(0x200)
UINT64_C(0x400)
UINT64_C(0x800)
UINT64_C(0x1000)
UINT64_C(0x2000)
UINT64_C(0x4000)
UINT64_C(0x8000)
UINT64_C(0x10000)
UINT64_C(0x20000)
UINT64_C(0x40000)
UINT64_C(0x80000)
UINT64_C(0x100000) /*
UINT64_C(0x200000) /*
UINT64_C(0x400000) /*
UINT64_C(0x800000) /*
UINT64_C(0x1000000)
UINT64_C(0x2000000)
UINT64_C(0x4000000)
UINT64_C(0x8000000)
UINT64_C(0x10000000)
UINT64_C(0x20000000)
UINT64_C(0x40000000)
UINT64_C(0x80000000)
UINT64_C(0x100000000)

Branchtarget is dynamic
branch to an immidiate a
fstsw */
floating point instructi

/* Conditional, i.e it m
the sequentially next

DESCRIPTION
This encodes the type of an instruction, which is composed of ORing together the It_
constants.

88

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

instruction_error_t
NAME
instruction_error_t
SYNOPSIS
typedef enum instruction_error {
Sim_IE_OK = 0,
Sim_IE_Unresolved_Dependencies,
Sim_IE_Speculative,
Sim_IE_Stalling,
Sim_IE_Not_Inserted,
/* trying to execute or squash an
instruction that is inserted. */
Sim_IE_Exception,
/* (SPARC-V9 only) */
Sim_IE_Fault = Sim_IE_Exception,
Sim_IE_Trap,
/* (X86 only) Returned if a trap is
encountered */
Sim_IE_Interrupt,
/* (X86 only) Returned if an interrupt is
waiting and interrupts are enabled */
Sim_IE_Sync_Instruction,

/* Returned if sync instruction is


not allowd to execute */
Sim_IE_No_Exception,
/* Returned by SIM_instruction_
handle_exception */
Sim_IE_Illegal_Interrupt_Point,
Sim_IE_Illegal_Exception_Point,
Sim_IE_Illegal_Address,
Sim_IE_Illegal_Phase,
Sim_IE_Interrupts_Disabled,
Sim_IE_Illegal_Id,
Sim_IE_Instruction_Tree_Full,
Sim_IE_Null_Pointer,
Sim_IE_Illegal_Reg,
Sim_IE_Invalid,
Sim_IE_Out_of_Order_Commit,
Sim_IE_Retired_Instruction, /* try to squash a retiring instruction */
Sim_IE_Not_Committed,
/* Returned by SIM_instruction_end */
Sim_IE_Code_Breakpoint,
Sim_IE_Mem_Breakpoint,
Sim_IE_Step_Breakpoint,
Sim_IE_Hap_Breakpoint
} instruction_error_t;

DESCRIPTION
This type is used by the Micro Architecture Interface and documented in the Simics
Out Of Order Guide.

89

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

instruction_phase_t
NAME
instruction_phase_t
SYNOPSIS
typedef enum instruction_phase {
Sim_Phase_Initiated,
Sim_Phase_Fetched,
Sim_Phase_Decoded,
Sim_Phase_Executed,
Sim_Phase_Retired,
Sim_Phase_Committed,
Sim_Phases
} instruction_phase_t;

DESCRIPTION
This type is used by the Micro Architecture Interface and documented in the Simics
Out Of Order Guide.

90

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

instruction_status_t
NAME
instruction_status_t
SYNOPSIS
typedef enum {
Sim_IS_Waiting = 0x1,
Sim_IS_Ready
= 0x2,
Sim_IS_Stalling = 0x4,
Sim_IS_Executed = 0x8,
Sim_IS_Faulting = 0x10,
Sim_IS_Branch_Taken = 0x20,
Sim_IS_Trap

= 0x40,

Sim_IS_Interrupt = 0x80,

Sim_IS_Retired = 0x100
} instruction_status_t;

/* Not all inputs are ready */


/* All inputs are ready */
/* Waiting for memory to
finish the operation */
/* Done */
/* Has raised an exception a fault in x86 case */
/* The branch is taken for
branch instructions */
/* (x86) this instruction
generated a trap */
/* (x86) this instruction can not
be executed because the interrupt
must be taken first */
/* All stores are retired */

DESCRIPTION
This type is used by the Micro Architecture Interface and documented in the Simics
Out Of Order Guide.

91

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

int8, int16, int32, int64, uint8, uint16, uint32, uint64, intptr_t, uintptr_t, integer_t, uinteger_t
NAME
int8, int16, int32, int64, uint8, uint16, uint32, uint64, intptr_t, uintptr_t, integer_t,
uinteger_t
SYNOPSIS
These data types have host-dependent definitions. Use the api-help Simics command
line command to get their exact definition.
DESCRIPTION
These are basic integer data types defined by the Simics headers (unless defined by
system header files).
The intn types are defined to be signed integers of exactly n bits. The uintn types
are their unsigned counterparts.
intptr_t and uintptr_t are signed and unsigned integer types of a size that lets
any pointer to void be cast to it and then cast back to a pointer to void, and the result
will compare equal to the original pointer. This typically means that the two types are
32 bits wide on 32-bit machines and 64 bits on 64-bit machines.
integer_t and uinteger_t are the largest integers (signed and unsigned, respectively) used by the Simics API. They are currently defined to be 64 bits.

92

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

lang_void
NAME
lang_void
SYNOPSIS
typedef void lang_void;
typedef void typed_lang_void;

DESCRIPTION
In some places in the Simics API, arguments of type lang_void * are used. This data
type is used to allow transparent passing of any data type in the current programming
language as argument. In C, this works exactly like a void * and in Python, it is any
Python object. The type typed_lang_void is equivalent to lang_void in the Simics
API.
Typically, this is used by iterator functions in the API which take callback functions
as arguments. The callback function is later called with the lang_void data and the
object being iterated over.
SEE ALSO
SIM_for_all_processors, SIM_register_typed_attribute, SIM_hap_add_callback

93

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

log_object_t
NAME
log_object_t
SYNOPSIS
struct log_object {
conf_object_t
uint32
int

obj;
access_cnt;

/*
*
access_active; /*
*

io_trace_log_t *active_trace;
io_trace_t
int
int
int
int
int
int

number of IO transactions
performed */
set while an access is in
progress */

/* temporary log list during


* the access */

*trace_buffer;
trace_next;
trace_wrap;
trace_size;
log_level;
group_mask;
type_mask;

};
typedef struct log_object log_object_t;

DESCRIPTION
The log_object_t structure directly inherits conf_object_t, and it extends that
class with logging functionality. Use SIM_log_constructor() to initialize new instances.
The constructor automatically adds attributes to save and restore the members in the
log_object_t structure.
Since the internal representation of this structure may change between releases, classes
using the structure should not inspect the members directly (except for obj), but rather
use the attributes. New entries should be added with the SIM_log_message() function.
From C/C++ the SIM_log_. . . helper functions are recommended.
SEE ALSO
SIM_log_constructor, SIM_log_message

94

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

log_type_t
NAME
log_type_t
SYNOPSIS
typedef enum {
Sim_Log_Info,
Sim_Log_Error,
Sim_Log_Undefined,
Sim_Log_Spec_Violation,
Sim_Log_Target_Error,
Sim_Log_Unimplemented,
Sim_Log_Num_Types
} log_type_t;

//
//
//
//
//
//
//

Normal informational message


Simics error
use of undefined target behavior
target program violates the specification
error state in target (not in Simics)
not implemented in Simics
Do not use

DESCRIPTION
This type defines different log types that are used by the logging facility to categorise
messages.

95

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

logical_address_t, physical_address_t, generic_address_t, linear_address_t


NAME
logical_address_t, physical_address_t, generic_address_t, linear_address_t,
SYNOPSIS
These data types are target architecture independent, and always large enough to hold
64-bit addresses.
DESCRIPTION
These are integer data types defined to reflect the nature of the simulated architecture.
logical_address_t is an unsigned integer sufficiently large to contain logical (virtual) addresses on the target machine. define.
physical_address_t is an unsigned integer sufficiently large to contain physical
addresses on the target machine.
generic_address_t is defined to be the largest of the logical_address_t and
physical_address_t types.
linear_address_t is used for linear addresses used on x86 machines after segmentation but before paging.

96

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

map_info_t
NAME
map_info_t
SYNOPSIS
typedef struct map_info {
physical_address_t
physical_address_t
physical_address_t
int
uint8
int
swap_mode_t
} map_info_t;

base;
start;
length;
function;
priority;
align_size;
reverse_endian;

typedef enum swap_mode {


Sim_Swap_None
Sim_Swap_Bus
Sim_Swap_Bus_Trans
Sim_Swap_Trans
} swap_mode_t;

=
=
=
=

0,
1,
2,
3

DESCRIPTION
The map_info_t structure members have the following meaning:
base: The base address of the device mapping in the memory space.
start: The address inside the device memory space where the mapping starts.
length: The length of the mapped memory, in bytes.
function: Used to mapped the same object several times with different functionality. Corresponds to the function argument used when mapping devices
into a memory space.
If the map target does not support large accesses, then align-size can be set to
the maximum allowed size. Accesses spanning align boundaries will be split info
several smaller transactions. By default, the align size is set to 4 for port space
devices, 8 for other devices and 8192 for memory.
Mappings with an align size of 2, 4 and 8 may set the reverse_endian field to
a non zero value. This can be used to model bridges that perform byte swapping
on a specific bus width.

97

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

map_list_t
NAME
map_list_t
SYNOPSIS
typedef enum {
Sim_Map_Ram,
Sim_Map_Rom,
Sim_Map_IO,
Sim_Map_Port,
Sim_Map_Translate = 0x100, /* pseudo - do not use */
Sim_Map_Translate_To_Space,
Sim_Map_Translate_To_Ram,
Sim_Map_Translate_To_Rom
} map_type_t;
struct map_list {
map_type_t
conf_object_t
void
void
void
void
conf_object_t
conf_object_t
map_info_t

map_type;
*object;
*interface_ptr;
*target_interface;
*breakpoint_interface;
*bridge_interface;
*target_object;
*bridge;
map_info;

physical_address_t map_size; /* not constant, use with caution */


int

deleted;

/* internal flag - should always be 0 ! */

};
typedef struct map_list map_list_t;

DESCRIPTION
This data structure is used to pass information about the set of mappings a particular
address in an address space contains.

98

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

mem_op_type_t
NAME
mem_op_type_t
SYNOPSIS
typedef enum {
Sim_Trans_Load
Sim_Trans_Store
Sim_Trans_Instr_Fetch
Sim_Trans_Prefetch
Sim_Trans_Cache
} mem_op_type_t;

=
=
=
=
=

0,
Sim_Trn_Write,
Sim_Trn_Instr,
Sim_Trn_Prefetch | Sim_Trn_Control,
Sim_Trn_Control

DESCRIPTION
This enum is used to identify the type of a memory operation. The function SIM_
get_mem_op_type() returns the type of a generic_transaction_t, and SIM_set_
mem_op_type() is used to set it.
SEE ALSO
SIM_get_mem_op_type, SIM_set_mem_op_type, generic_transaction_t, SIM_get_mem_
op_type_name

99

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

pci_memory_transaction_t
NAME
pci_memory_transaction_t
SYNOPSIS
typedef struct pci_memory_transaction {
generic_transaction_t s;
/* The original_size field will probably be moved to the
generic_transaction_t structure in the future */
uint32 original_size;
int bus_address;
} pci_memory_transaction_t;

DESCRIPTION
The pci_memory_transaction_t is used for memory accesses initiated by PCI devices. It is based on a generic memory transaction struct, followed by two PCI specific
fields. The first, original_size, should not be accessed if possible since it may be changed
in future Simics versions. It specifies the size of the original memory access before possible split up. The bus_address field is the address of the initiating PCI device in a PCI
Type 1 address format, i.e. bus << 16 | device << 11 | function << 8.
A generic_transaction_t can be converted to a pci_memory_transaction_t
if the ini_type field has the value Sim_Initiator_PCI_Device.
SEE ALSO
generic_transaction_t, PCI_data_from_memory

100

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

processor_mode_t
NAME
processor_mode_t
SYNOPSIS
typedef enum {
Sim_CPU_Mode_User
= 0,
Sim_CPU_Mode_Supervisor = 1,
Sim_CPU_Mode_Hypervisor
} processor_mode_t;

DESCRIPTION
The processor_mode_t data type is used to specify if a CPU is running in user mode
or in a privileged mode (often called supervisor mode). For processor architectures
with several privilege levels, the non-user levels are all identified as Sim_CPU_Mode_
Supervisor.

101

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

processor_t
NAME
processor_t
SYNOPSIS
typedef struct conf_object processor_t;

DESCRIPTION
Equivalent to a conf_object_t, but usually used when the expected object is a processor.

102

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

pseudo_exceptions_t
NAME
pseudo_exceptions_t
SYNOPSIS
typedef enum {
Sim_PE_No_Exception = 1025,
Sim_PE_Code_Break,
Sim_PE_Silent_Break,
Sim_PE_Inquiry_Outside_Memory,
Sim_PE_Inquiry_Unhandled,
Sim_PE_IO_Not_Taken,
Sim_PE_IO_Error,
Sim_PE_Interrupt_Break,
Sim_PE_Interrupt_Break_Take_Now,
Sim_PE_Exception_Break,
Sim_PE_Hap_Exception_Break,
Sim_PE_Stall_Cpu,
Sim_PE_Locked_Memory,
Sim_PE_Return_Break,
Sim_PE_Instruction_Finished,
Sim_PE_Default_Semantics,
Sim_PE_Ignore_Semantics,
Sim_PE_Speculation_Failed,
Sim_PE_Invalid_Address,
Sim_PE_MAI_Return,
Sim_PE_Last
} pseudo_exceptions_t;

DESCRIPTION
Used to signal simulator exceptions for memory accesses. Memory access functions
in Simics use exception_type_t to return errors. Errors usually corresponds to
hardware exceptions, but in some cases additional return values are needed, and then
pseudo exceptions are used. The most common is Sim_PE_No_Exception, indicating that no error has occurred. Most pseudo exceptions are Simics internals, but some
are used by devices and memory spaces.
Sim_PE_No_Exception
No exception.
Sim_PE_IO_Not_Taken
Access to unmapped memory. In the PCI memory spaces interpreted as master
abort.
Sim_PE_IO_Error
Accessed device returned error. In the PCI memory spaces interpreted as target
abort.
103

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

Sim_PE_Inquiry_Outside_Memory
Same as Sim_PE_IO_Not_Taken, but for inquiry accesses.
Sim_PE_Inquiry_Unhandled
The accessed device does not support inquiry operations.
Sim_PE_Stall_Cpu
Timing model requested stall
Sim_PE_Default_Semantics
Used by ASI handlers on SPARC, and for user decoders to signal that the default
semantics should be run.
Sim_PE_Ignore_Semantics
Used by ASI handlers on SPARC to signal no update of destination registers.
Internal:
Sim_PE_Silent_Break, Sim_PE_Return_Break, Sim_PE_Interrupt_Break, Sim_PE_
Interrupt_Break_Take_Now, Sim_PE_Exception_Break, Sim_PE_Hap_Exception_
Break, Sim_PE_Instruction_Finished, Sim_PE_Invalid_Address, Sim_PE_Speculation_
Failed, Sim_PE_MAI_Return, Sim_PE_Last.

104

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

read_or_write_t
NAME
read_or_write_t
SYNOPSIS
typedef enum {
Sim_RW_Read = 0,
Sim_RW_Write = 1
} read_or_write_t;

DESCRIPTION
Whether a memory access is a read (from memory) or a write (to memory).

105

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

register_type_t
NAME
register_type_t
SYNOPSIS
typedef enum {
Sim_Reg_Type_Invalid,
Sim_Reg_Type_Integer,
Sim_Reg_Type_Floating,
Sim_Reg_Type_Control
} register_type_t;

DESCRIPTION
Defines several type of register banks.

106

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

set_error_t
NAME
set_error_t
SYNOPSIS
typedef enum {
Sim_Set_Ok,
Sim_Set_Need_Integer,
Sim_Set_Need_Floating,
Sim_Set_Need_String,
Sim_Set_Need_List,
Sim_Set_Need_Dict,
Sim_Set_Need_Boolean,
Sim_Set_Need_Data,
Sim_Set_Need_Object,
Sim_Set_Object_Not_Found,
Sim_Set_Interface_Not_Found,
Sim_Set_Illegal_Value,
Sim_Set_Illegal_Type,
Sim_Set_Illegal_Index,
Sim_Set_Attribute_Not_Found,
Sim_Set_Not_Writable,
Sim_Set_Ignored
} set_error_t;

DESCRIPTION
The SIM_set_attribute() family of functions and the set functions registered with the
SIM_register_typed_attribute() family of functions return a set_error_t value to
report success or failure.
Sim_Set_Ok
The attribute was successfully set.
Sim_Set_Need_Integer
Sim_Set_Need_Floating
Sim_Set_Need_String
Sim_Set_Need_List
Sim_Set_Need_Dict
Sim_Set_Need_Boolean
Sim_Set_Need_Data
Sim_Set_Need_Object
The value is of an illegal type for the attribute. Deprecated, use Sim_Set_Illegal_
Type instead.
Sim_Set_Object_Not_Found
The string value does not match any object name.?Deprecated, use attributes of object
type instead of string attributes referring to object names.
Sim_Set_Interface_Not_Found
The object value does not implement an interface required by the attribute.

107

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

Sim_Set_Illegal_Value
The value is of a legal type for the attribute, but outside the legal range.
Sim_Set_Illegal_Type
The value is of an illegal type for the attribute.
Sim_Set_Attribute_Not_Found
The object has no attribute with the specified name. Should only be returned by SIM_
set_attribute() family of functions, not by attribute set functions.
Sim_Set_Not_Writable
The attribute is read-only.
Sim_Set_Ignored
The value was accepted for backwards compatibility reasons, but was ignored. Should
only be returned by set_event_info() functions registered with the event-poster
interface.

108

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

simtime_t, cycles_t, pc_step_t, nano_secs_t


NAME
simtime_t, cycles_t, pc_step_t, nano_secs_t
SYNOPSIS
typedef integer_t simtime_t;
typedef simtime_t cycles_t;
typedef simtime_t pc_step_t;
typedef simtime_t nano_secs_t;

DESCRIPTION
These are the types used for keeping track of time in Simics.
cycles_t is used when the time is specified in cycles, pc_step_t is used when
the time is specified in steps, and simtime_t is used in places where it is unknown
whether the time is in steps or cycles. See the chapter The Simics Simulator in the
Simics User Guide for a discussion about the difference between steps and cycles.
nano_secs_t is used to express a number of nanoseconds (109 seconds).

109

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

socket_t
NAME
socket_t
SYNOPSIS
#ifdef _WIN32
typedef SOCKET socket_t;
#else
typedef int socket_t;
#endif /* !_WIN32 */

DESCRIPTION
This data type is used to identify a communication socket (typically TCP/IP). It is
defined to be an int on UNIX systems and SOCKET under Windows.

110

VIRTUTECH CONFIDENTIAL

3.2.2

3.2. Simics API Data Types

Architecture Specific Data Types

alpha_cpu_mode_t
NAME
alpha_cpu_mode_t
SYNOPSIS
typedef enum {
Sim_Alpha_Mode_Kernel
Sim_Alpha_Mode_Executive
Sim_Alpha_Mode_Supervisor
Sim_Alpha_Mode_User
} alpha_cpu_mode_t;

=
=
=
=

0,
1,
2,
3

DESCRIPTION
The alpha_cpu_mode_t corresponds to the current mode (CM) field of the processor
status register.

111

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

alpha_memory_transaction_t
NAME
alpha_memory_transaction_t
SYNOPSIS
typedef struct alpha_memory_transaction {
/* generic transaction */
generic_transaction_t s;
/* mode of the current alpha cpu */
int mode;
/* flags used by hw_ld / hw_st instructions */
palcode_memop_flags_t palcode_flags;
/* The pte is needed the Icache module, since it needs the ASM bit. */
uint64 pte;
/* if non-zero, the id needed to calculate the program counter */
intptr_t turbo_miss_id;
} alpha_memory_transaction_t;

DESCRIPTION
The s field contains generic information about memory operations (see generic_
transaction_t). The mode is the current mode of the alpha cpu. The values of
palcode_flags, used by hw_ld and hw_st instructions, see palcode_memop_flags_t
datatype.

112

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

arm_memory_transaction_t
NAME
arm_memory_transaction_t
SYNOPSIS
typedef struct arm_memory_transaction {
/* generic transaction */
generic_transaction_t s;
/* processor mode */
processor_mode_t mode;
int rotate;
/* if non-zero, the id needed to calculate the program counter */
intptr_t turbo_miss_id;
} arm_memory_transaction_t;

DESCRIPTION
This is the ARM specific memory transaction data structure. The generic data is stored
in the s field.
The mode field specifies the processor mode the MMU should assume when processing
the transaction. This is the same as the current mode of the processor, except that it is
always Sim_CPU_Mode_User for ldrbt, ldrt, strbt and strt instructions.

113

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

ia64_fp_register_t
NAME
ia64_fp_register_t
SYNOPSIS
typedef struct ia64_fp_register {
uint64
significand;
uint32
exponent;
unsigned sign:1;
unsigned nat:1;
} ia64_fp_register_t;

DESCRIPTION
Representation of an IA64 floating-point register.

114

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

ia64_interruption_type_t
NAME
ia64_interruption_type_t
SYNOPSIS
typedef enum {
IT_abort,
IT_interrupt,
IT_fault,
IT_trap
} ia64_interruption_type_t;

DESCRIPTION
Defines the different type of interruptions in the IA-64 architecture.

115

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

ia64_interruption_t
NAME
ia64_interruption_t
SYNOPSIS
typedef enum {
IA64_Abort_RESET = 1,
IA64_Abort_MCA,
IA64_Int_INIT,
IA64_Int_PMI,
IA64_Int_INT,
IA64_Fault_IR_unimplmented_data_address,
IA64_Fault_IR_data_nested_tlb,
IA64_Fault_IR_alternate_data_tlb,
IA64_Fault_IR_vhpt_data,
IA64_Fault_IR_data_tlb,
IA64_Fault_IR_data_page_not_present,
IA64_Fault_IR_data_nat_page_consumption,
IA64_Fault_IR_data_key_miss,
IA64_Fault_IR_data_key_permission,
IA64_Fault_IR_data_access_rights,
IA64_Fault_IR_data_access_bit,
IA64_Fault_IR_data_debug,
IA64_Fault_IA32_instruction_breakpoint,
IA64_Fault_IA32_code_fetch,
IA64_Fault_alternate_instruction_tlb,
IA64_Fault_vhpt_instruction,
IA64_Fault_instruction_tlb,
IA64_Fault_instruction_page_not_present,
IA64_Fault_instruction_nat_page_consumption,
IA64_Fault_instruction_key_miss,
IA64_Fault_instruction_key_permission,
IA64_Fault_instruction_access_rights,
IA64_Fault_instruction_access_bit,
IA64_Fault_instruction_debug,
IA64_Fault_IA32_instruction_length,
IA64_Fault_IA32_invalid_opcode,
IA64_Fault_IA32_instruction_intercept,
IA64_Fault_illegal_operation,
IA64_Fault_illegal_dependency,
IA64_Fault_break_instruction,
IA64_Fault_privileged_operation,
IA64_Fault_disabled_floating_point_register,
IA64_Fault_diabled_instruction_set_transition,
IA64_Fault_IA32_device_not_available,
IA64_Fault_IA32_fp_error,
IA64_Fault_register_nat_consumption,
IA64_Fault_reserved_register_field,
IA64_Fault_unimplemented_data_address,
IA64_Fault_privileged_register,
IA64_Fault_speculative_operation,
IA64_Fault_IA32_stack_exception,
IA64_Fault_IA32_general_protection,
IA64_Fault_data_nested_tlb,

116

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

IA64_Fault_alternate_data_tlb,
IA64_Fault_vhpt_data,
IA64_Fault_data_tlb,
IA64_Fault_data_page_not_present,
IA64_Fault_data_nat_page_consumption,
IA64_Fault_data_key_miss,
IA64_Fault_data_key_permission,
IA64_Fault_data_access_rights,
IA64_Fault_data_dirty_bit,
IA64_Fault_data_access_bit,
IA64_Fault_data_debug,
IA64_Fault_unaligned_data_reference,
IA64_Fault_IA32_alignment_check,
IA64_Fault_IA32_locked_data_reference,
IA64_Fault_IA32_segment_not_present,
IA64_Fault_IA32_divide_by_zero,
IA64_Fault_IA32_bound,
IA64_Fault_IA32_sse_numeric_error,
IA64_Fault_unsupported_data_reference,
IA64_Fault_floating_point,
IA64_Trap_unimplemented_instruction_address,
IA64_Trap_floating_point,
IA64_Trap_lower_privilege_transfer,
IA64_Trap_taken_branch,
IA64_Trap_single_step,
IA64_Trap_IA32_system_flag_intercept,
IA64_Trap_IA32_gate_intercept,
IA64_Trap_IA32_into,
IA64_Trap_IA32_breakpoint,
IA64_Trap_IA32_software_interrupt,
IA64_Trap_IA32_data_breakpoint,
IA64_Trap_IA32_taken_branch,
IA64_Trap_IA32_single_step
} ia64_interruption_t;

DESCRIPTION
These are the interruptions that can occur in an ia64 processor. The numbers correspond to the numbers given by the Intel architecture manuals. They are, among other
things, used by the Core_Exception hap.

117

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

ia64_iva_offset_t
NAME
ia64_iva_offset_t
SYNOPSIS
typedef enum {
IVA_vhpt_trans
IVA_instr_tlb
IVA_data_tlb
IVA_alt_instr_tlb
IVA_alt_data_tlb
IVA_data_nested
IVA_instr_key_miss
IVA_data_key_miss
IVA_dirty_bit
IVA_instr_acc_bit
IVA_data_acc_bit
IVA_break
IVA_ext_int
IVA_page_not_pres
IVA_key_perm
IVA_instr_acc_right
IVA_data_acc_right
IVA_gen_exc
IVA_dis_fp
IVA_nat_cons
IVA_spec
IVA_debug
IVA_unal_ref
IVA_unsup_data_ref
IVA_fp
IVA_fp_trap
IVA_lp_trans_trap
IVA_tak_br_trap
IVA_ss_trap
IVA_ia32_exc
IVA_ia32_intercept
IVA_ia32_interrupt
} ia64_iva_offset_t;

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

0x0000,
0x0400,
0x0800,
0x0c00,
0x1000,
0x1400,
0x1800,
0x1c00,
0x2000,
0x2400,
0x2800,
0x2c00,
0x3000,
0x5000,
0x5100,
0x5200,
0x5300,
0x5400,
0x5500,
0x5600,
0x5700,
0x5900,
0x5a00,
0x5b00,
0x5c00,
0x5d00,
0x5e00,
0x5f00,
0x6000,
0x6900,
0x6a00,
0x9b00

DESCRIPTION
The location of the Interruption Vector Table (IVT) is stored in the cr.iva control
register. These constants describe the offsets of the different vectors in the table.

118

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

ia64_memory_transaction_t
NAME
ia64_memory_transaction_t
SYNOPSIS
typedef struct ia64_memory_transaction {
/* generic transaction */
generic_transaction_t s;
int privilege_level;
int speculative;
int advanced;
int non_access;
uint16 isr_code;
int rse;
int rse_ir;
/* "Output" */
int deferred_fault;
} ia64_memory_transaction_t;

DESCRIPTION
The s field contains generic information about memory operations (see generic_
transaction_t).
The privilege_level is the current privilege level (0-3) of the cpu.
The speculative flag indicates that the memory operation is caused by control speculation.
The advanced flag indicates an advanced load, i.e. that the memory operation is caused
by data speculation.
The isr_code is used to help the MMU fill in the correct values in the cr.isr register on a
fault.
The rse flag indicates that the memory operation is caused by a mandatory RSE operation, and the rse_ir whether the current frame is incomplete. This is used to raise the
appropriate faults on failure.
The deferred_fault is set by the MMU when a speculative memory operation fails.

119

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

mips_memory_transaction_t
NAME
mips_memory_transaction_t
SYNOPSIS
typedef struct mips_memory_transaction {
/* generic transaction */
generic_transaction_t s;
/* Cache coherency, values as the C field in EntryLo0 and EntryLo1. */
unsigned int cache_coherency:3;
/* if non-zero, the id needed to calculate the program counter */
intptr_t turbo_miss_id;
} mips_memory_transaction_t;

DESCRIPTION
This is the MIPS specific memory transaction data structure. The generic data is stored
in the s field.
The cache_coherency field specifies the cache coherency attribute of the memory transaction, as defined by the C field of the EntryLo0 and EntryLo1 coprocessor 0 registers.

120

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

palcode_memop_flags_t
NAME
palcode_memop_flags_t
SYNOPSIS
typedef enum palcode_memop_flags {
/* nothing special */
Pal_memop_normal
= 0x0000,
/* cleared: the effective address is virtual
set:
the effective address is physical */
Pal_memop_physical = 0x0001,
/* cleared: use current mode for access checks
set:
use alt mode for access checks */
Pal_memop_altmode = 0x0002,
/* cleared: check fault-on-read (FOR) and read access violations
set:
check FOR, fault-on-write and read/write violations */
Pal_memop_wrtck
= 0x0004,
/* cleared: length is longword
set:
length is quadword */
Pal_memop_quadword = 0x0008,
/* cleared: normal fetch
set:
flags a virtual pte fetch */
Pal_memop_vpte
= 0x0010,
/* cleared: normal operation
set:
load-locked version of hw_ld */
Pal_memop_lock
= 0x0020,
/* cleared: normal operation
set:
store-conditional version of hw_st */
Pal_memop_cond
= 0x0040
} palcode_memop_flags_t;

DESCRIPTION
PALcode uses hw_ld and hw_st instructions to access memory outside of the realm of
normal Alpha memory management. These flags are used in such operations.

121

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

ppc_mem_instr_origin_t
NAME
ppc_mem_instr_origin_t
SYNOPSIS
typedef enum {
/* Normal load or store instructions */
Normal_Load_Store = 0,
/* No data touched by the load/store will be placed in cache */
Caching_Inhibited,
Instr_Multiple,
Instr_String,

/* load/store multiple */
/* load/store string */

Instr_Altivec_Element,

/* Altivec load/store element */

/* Data cache manipulations */


Instr_dcbt,
/* data cache block touch */
Instr_dcbst,
/* data cache block store */
Instr_dcbtst,
/* data cache block touch for store */
Instr_dcbi,
/* data cache block invalidate */
Instr_dcbf,
/* data cache block flush */
Instr_dcbfl,
/* data cache block flush local */
Instr_dcba,
/* data cache block allocate */
Instr_dcbz,
/* data cache block to zero */
/* Instruction cache manipulations */
Instr_icbi,
/* instruction cache block invalidate */
/* Data stream (Altivec) manipulations */
Instr_dst,
/* data stream touch
Instr_dstt,
/* data stream touch
Instr_dstst,
/* data stream touch
Instr_dststt,
/* data stream touch

*/
transient */
for store */
for store transient */

/* e500 cache lock apu instructions */


Instr_dcblc_l1,
/* data cache block lock clear (L1) */
Instr_dcblc_l2,
/* data cache block lock clear (L2) */
Instr_dcbtls_l1,
/* data cache block touch and lock set (L1)*/
Instr_dcbtls_l2,
/* data cache block touch and lock set (L1)*/
Instr_dcbtstls_l1,
/* data cache block touch for store and lock
set (L1)*/
Instr_dcbtstls_l2,
/* data cache block touch for store and lock
set (L1)*/
Instr_icblc_l1,
/* instruction cache block clear (L1) */
Instr_icblc_l2,
/* instruction cache block clear (L2) */
Instr_icbtls_l1,
/* instruction cache block touch and lock
set (L1) */
Instr_icbtls_l2,
/* instruction cache block touch and lock
set (L1) */
/* Other loads/stores or cache affecting instructions */
Instr_lwarx,

122

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

Instr_stwcx,
Instr_ldarx,
Instr_stdcx,
Instr_lq,
Instr_stq,
/* Other cache affecting instructions */
Instr_sync,
Instr_eieio,
Instr_ecowx,
Instr_eciwx,
Instr_tlbie,
Instr_tlbsync,
Instr_isync,
Instr_lfdp,
Instr_stfdp
} ppc_mem_instr_origin_t;

/* Load Floating point Double Pair */


/* Store Floating point Double Pair */

DESCRIPTION
List of special memory operations that can be send by a PPC processor.

123

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

ppc_memory_transaction_t
NAME
ppc_memory_transaction_t
SYNOPSIS
typedef struct ppc_memory_transaction {
/* generic transaction */
generic_transaction_t s;
processor_mode_t mode;
ppc_mem_instr_origin_t instr_origin;
logical_address_t ea_origin;
uint8 wimg;
uint8 alignment;
/* cache operations may flag this to cause prefetches to be no-ops */
uint8 inhibit_exception;
intptr_t turbo_miss_id;
} ppc_memory_transaction_t;

DESCRIPTION
This is the PPC specific memory transaction data structure. The generic data is stored
in the s field.
The current processor mode when generating this transaction is stored in the mode
field.
The type of instruction generating the memory transactions is provided by the instr_
origin field. Note that it is mainly provided for special memory accesses like cache
block operations..
The wimg field is filled in by the MMU with the corresponding WIMG bits during the
translation.
The alignment field contains the size on which the transaction is required to be aligned.
The inhibit_exception field is set for operations that should be ignored if triggering an
exception.

124

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

register_id_t
NAME
register_id_t
SYNOPSIS
typedef uint32 register_id_t;
typedef enum {
V9_Reg_Id_R0
= 0,
/* R1 - R31 */
V9_Reg_Id_F0
= 32,
/* F1 - F63 */
V9_Reg_Id_FCC0 = 96,
V9_Reg_Id_FCC1 = 97,
V9_Reg_Id_FCC2 = 98,
V9_Reg_Id_FCC3 = 99,
V9_Reg_Id_CC
= 100,
V9_Reg_Id_PC
= 101,
V9_Reg_Id_NPC = 102,
V9_Reg_Id_AEXC = 103, /* part
V9_Reg_Id_CEXC = 104, /* part
V9_Reg_Id_FTT = 105, /* part
V9_Reg_Id_DUDL = 106, /* part
V9_Reg_Id_FEF = 107, /* part
V9_Reg_Id_Y
= 108,
V9_Reg_Id_GSR = 109,
V9_Reg_Id_CANSAVE = 110,
V9_Reg_Id_CANRESTORE = 111,
V9_Reg_Id_OTHERWIN = 112,
V9_Reg_Id_CLEANWIN = 113,
V9_Reg_Id_CWP = 114,
V9_Reg_Id_ASI = 115,
V9_Reg_Id_Not_Used = 124,
V9_Reg_Id_Sync = 125
} v9_register_id_t;
typedef enum {
X86_Reg_Id_Rax
X86_Reg_Id_Rcx
X86_Reg_Id_Rdx
X86_Reg_Id_Rbx
X86_Reg_Id_Rsp
X86_Reg_Id_Rbp
X86_Reg_Id_Rsi
X86_Reg_Id_Rdi

=
=
=
=
=
=
=
=

0,
1,
2,
3,
4,
5,
6,
7,

X86_Reg_Id_R8
X86_Reg_Id_R9
X86_Reg_Id_R10
X86_Reg_Id_R11
X86_Reg_Id_R12
X86_Reg_Id_R13
X86_Reg_Id_R14

=
=
=
=
=
=
=

8,
9,
10,
11,
12,
13,
14,

125

of
of
of
of
of

fsr */
fsr */
fsr */
fprs */
fprs */

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

X86_Reg_Id_R15 = 15,
X86_Reg_Id_Xmm0
X86_Reg_Id_Xmm1
X86_Reg_Id_Xmm2
X86_Reg_Id_Xmm3
X86_Reg_Id_Xmm4
X86_Reg_Id_Xmm5
X86_Reg_Id_Xmm6
X86_Reg_Id_Xmm7

=
=
=
=
=
=
=
=

16,
17,
18,
19,
20,
21,
22,
23,

X86_Reg_Id_Xmm8
X86_Reg_Id_Xmm9
X86_Reg_Id_Xmm10
X86_Reg_Id_Xmm11
X86_Reg_Id_Xmm12
X86_Reg_Id_Xmm13
X86_Reg_Id_Xmm14
X86_Reg_Id_Xmm15

=
=
=
=
=
=
=
=

24,
25,
26,
27,
28,
29,
30,
31,

X86_Reg_Id_Mm0
X86_Reg_Id_Mm1
X86_Reg_Id_Mm2
X86_Reg_Id_Mm3
X86_Reg_Id_Mm4
X86_Reg_Id_Mm5
X86_Reg_Id_Mm6
X86_Reg_Id_Mm7

=
=
=
=
=
=
=
=

32,
33,
34,
35,
36,
37,
38,
39,

X86_Reg_Id_PC

= 40,

/* this is RIP */

X86_Reg_Id_CF
X86_Reg_Id_DST
X86_Reg_Id_AF
X86_Reg_Id_ZF
X86_Reg_Id_SF
X86_Reg_Id_OF
X86_Reg_Id_DF

=
=
=
=
=
=
=

/* integer condition code flags */


/* DST field used to cache PF flag */

41,
42,
43,
44,
45,
46,
47,

X86_Reg_Id_EFLAGS = 48, /* the whole 32 bits eflags */


X86_Reg_Id_C0 = 49,
X86_Reg_Id_C1 = 50,
X86_Reg_Id_C2 = 51,
X86_Reg_Id_C3 = 52,
X86_Reg_Id_Top = 53,
X86_Reg_Id_Not_Used,
X86_Reg_Id_Local_Max
} x86_register_id_t;

/* floating point cc flags */

/* floating point stack top */


/* dummy number that can be used */
/* keep this one last */

DESCRIPTION

126

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

For SPARC the enum v9_register_id_t can be used to refer to the different registers. The following macros also exists to generate the register id for integer and
floating point registers:
#define V9_REG_ID_RN(n)
(V9_Reg_Id_R0+(n))
#define V9_REG_ID_FN(n)
(V9_Reg_Id_F0+(n))
#define V9_REG_ID_FCCN(n) (V9_Reg_Id_FCC0+(n))

For x86 the x86_register_id_t can be used to refer to the different registers.

127

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

v9_exception_type_t
NAME
v9_exception_type_t
SYNOPSIS
typedef enum v9_exception_type {
Power_On_Reset = 0x001,
Watchdog_Reset = 0x002,
Externally_Initiated_Reset = 0x003,
Software_Initiated_Reset = 0x004,
Red_State_Exception = 0x005,
Instruction_Access_Exception = 0x008,
Instruction_Access_MMU_Miss = 0x009,
Instruction_Access_Error = 0x00a,
Illegal_Instruction = 0x010,
Privileged_Opcode = 0x011,
Unimplemented_Ldd = 0x012,
Unimplemented_Std = 0x013,
Fp_Disabled = 0x020,
Fp_Exception_Ieee_754 = 0x021,
Fp_Exception_Other = 0x022,
Tag_Overflow = 0x023,
Clean_Window = 0x024,
Division_By_Zero = 0x028,
Internal_Processor_Error = 0x029,
Data_Access_Exception = 0x030,
Data_Access_MMU_Miss = 0x031,
Data_Access_Error = 0x032,
Data_Access_Protection = 0x033,
Mem_Address_Not_Aligned = 0x034,
Lddf_Mem_Address_Not_Aligned = 0x035,
Stdf_Mem_Address_Not_Aligned = 0x036,
Privileged_Action = 0x037,
Ldqf_Mem_Address_Not_Aligned = 0x038,
Stqf_Mem_Address_Not_Aligned = 0x039,

Async_Data_Error = 0x040,
Interrupt_Level_1 = 0x41,
Interrupt_Level_2 = 0x42,
Interrupt_Level_3 = 0x43,
Interrupt_Level_4 = 0x44,
Interrupt_Level_5 = 0x45,
Interrupt_Level_6 = 0x46,

128

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

Interrupt_Level_7 = 0x47,
Interrupt_Level_8 = 0x48,
Interrupt_Level_9 = 0x49,
Interrupt_Level_10 = 0x4a,
Interrupt_Level_11 = 0x4b,
Interrupt_Level_12 = 0x4c,
Interrupt_Level_13 = 0x4d,
Interrupt_Level_14 = 0x4e,
Interrupt_Level_15 = 0x4f,

Interrupt_Vector = 0x60,
PA_Watchpoint = 0x61,
VA_Watchpoint = 0x62,
Corrected_ECC_Error = 0x63,
Fast_Instruction_Access_MMU_Miss = 0x64,
Fast_Data_Access_MMU_Miss = 0x68,
Fast_Data_Access_Protection = 0x6c,
Fast_ECC_Error = 0x70,

Spill_0_Normal = 0x080,
Spill_1_Normal = 0x084,
Spill_2_Normal = 0x088,
Spill_3_Normal = 0x08c,
Spill_4_Normal = 0x090,
Spill_5_Normal = 0x094,
Spill_6_Normal = 0x098,
Spill_7_Normal = 0x09c,
Spill_0_Other = 0x0a0,
Spill_1_Other = 0x0a4,
Spill_2_Other = 0x0a8,
Spill_3_Other = 0x0ac,
Spill_4_Other = 0x0b0,
Spill_5_Other = 0x0b4,
Spill_6_Other = 0x0b8,
Spill_7_Other = 0x0bc,
Fill_0_Normal = 0x0c0,
Fill_1_Normal = 0x0c4,
Fill_2_Normal = 0x0c8,
Fill_3_Normal = 0x0cc,
Fill_4_Normal = 0x0d0,

129

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

Fill_5_Normal = 0x0d4,
Fill_6_Normal = 0x0d8,
Fill_7_Normal = 0x0dc,
Fill_0_Other = 0x0e0,
Fill_1_Other = 0x0e4,
Fill_2_Other = 0x0e8,
Fill_3_Other = 0x0ec,
Fill_4_Other = 0x0f0,
Fill_5_Other = 0x0f4,
Fill_6_Other = 0x0f8,
Fill_7_Other = 0x0fc,
Trap_Instruction = 0x100,
Last_Real_Exception = 0x200
} v9_exception_type_t;

DESCRIPTION
The v9_exception_type_t lists all hardware exceptions defined in the UltraSPARC
architecture. This type is used in some cases where functions take the generic exception_
type_t.

130

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

v9_memory_transaction_t
NAME
v9_memory_transaction_t
SYNOPSIS
typedef struct v9_memory_transaction {
generic_transaction_t s;
unsigned
cache_virtual:1;
unsigned
cache_physical:1;
unsigned
side_effect:1;
unsigned
priv:1;
unsigned
red:1;
unsigned
hpriv:1;
unsigned
henb:1;
uint8
address_space;
uint8
prefetch_fcn;
sparc_access_type_t
access_type;
/* if non-zero, the id needed to calculate the program counter */
intptr_t turbo_miss_id;
} v9_memory_transaction_t;

DESCRIPTION
This is the Sparc specific memory transaction data structure. The generic data is stored
in the s field.
The cache_virtual bit is set if this memory transaction corresponds to a TLB entry that
has the CV (cache virtual) bit set. Conversely, the cache_physical bit corresponds to the
TLB entrys CP (cache physical) bit and the side_effect bit corresponds to the E bit.
The priv bit is cleared if the memory transaction comes from one of the USER ASIs.
The red bit is set if the memory transaction was generated by a CPU which has the RED
bit in the %pstate register set.
SPARC-V9 uses an address space identifier (ASI) to qualify memory access instructions. This is stored in the address_space field; it will be set to ASI_PRIMARY for normal memory transactions.
The prefetch_fcn field is only set for memory transactions of type Sim_Trans_Prefetch,
for which it contains the fcn field of the prefetch instruction.
The access_type field describes the type of the access, as defined in the sparc_access_
type_t enum. For example if a load is for a floating point register or a standard
integer one.

131

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

x86_memory_transaction_t
NAME
x86_memory_transaction_t, p2_memory_transaction_t
SYNOPSIS
typedef struct x86_memory_transaction {
generic_transaction_t s;
/* Superclass */
processor_mode_t
mode;
linear_address_t
linear_address;
uint16
selector;
/* Segment selector */
unsigned
access_linear:1; /* Linear access */
unsigned
io:1;
/* I/O (port) access */
unsigned
fault_as_if_write:1;
x86_access_type_t
access_type;
x86_memory_type_t
pat_type;
x86_memory_type_t
mtrr_type;
x86_memory_type_t
effective_type;
int
sequence_number; /* used for -stall */
/* if non-zero, the id needed to calculate the program counter */
intptr_t turbo_miss_id;
} x86_memory_transaction_t;
typedef struct x86_memory_transaction p2_memory_transaction_t;

DESCRIPTION
The s field contains generic information about memory operations (see generic_
transaction_t).
The mode is the current mode (user or supervisor) of the cpu.
The linear_address contains the address for transactions with linear addresses.
The access_linear flag is set for all transactions with linear addresses.
The access_type field contains the type of the transaction.
typedef enum x86_access_type {
X86_Other,
X86_Vanilla,
X86_Instruction,
X86_Clflush,
X86_Fpu_Env,
X86_Fpu_State,
X86_Idt,
X86_Gdt,
X86_Ldt,
X86_Task_Segment,
X86_Task_Switch,
X86_Far_Call_Parameter,
X86_Stack,

/* Access that is not categorized (rare) */


/* "Normal" access, such as a MOV to/from
memory. X86_Vanilla operations use the STCs.
/* Instruction fetch */
/* Cache line flush from CLFLUSH */
/* Floating point environment (FLDENV, FNSTENV,
environment part of FRSTOR, FNSAVE) */
/* Register part of FRSTOR and FNSAVE */
/* Interrupt descriptor table */
/* Global descriptor table */
/* Local descriptor table */
/* Task segment */
/* Task save/restore during a task switch */
/* Parameter copy in far call */
/* Stack accesses during complex control flow

132

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

X86_Pml4,
X86_Pdp,
X86_Pd,
X86_Pt,
X86_Sse,
X86_Fpu,

/*
/*
/*
/*
/*
/*

X86_Access_Simple,
X86_Microcode_Update,

/*
/*

X86_Non_Temporal,
X86_Prefetch_3DNow,
X86_Prefetchw_3DNow,
X86_Prefetch_T0,
X86_Prefetch_T1,
X86_Prefetch_T2,
X86_Prefetch_NTA,
X86_Loadall,
X86_Atomic_Info,

/*
/*
/*
/*
/*
/*
/*
/*
/*

X86_Cmpxchg16b,
X86_Smm_State
} x86_access_type_t;

/*
/*

operations (exception handling, etc.) */


Page map level 4 table */
Page directory pointer table */
Page directory table */
Page table */
16-byte operations to/from SSE registers */
10-byte and 16-byte operations to/from
X87 registers */
Device accesses (DMA) */
Data read when performing a processor
microcode update */
Non temporal store (example: MOVNTI) */
Prefetch with PREFETCH (3DNow!) */
Prefetch with PREFETCHW (3DNow!) */
Prefetch with PREFETCHT0 (SSE) */
Prefetch with PREFETCHT1 (SSE) */
Prefetch with PREFETCHT2 (SSE) */
Prefetch with PREFETCHNTA (SSE) */
State read by the loadall instruction */
Transaction sent with size 0 to
finish an atomic transaction */
CMPXCHG16B instruction */
SMM state structure */

The effective memory type for the access is contained in effective_type. The MMU calculates the effective memory type using both the PAT type (in pat_type) and the MTRR
type (in mtrr_type).
typedef enum {
X86_None,
X86_Strong_Uncacheable,
X86_Uncacheable,
X86_Write_Combining,
X86_Write_Through,
X86_Write_Back,
X86_Write_Protected
} x86_memory_type_t;

133

/*
/*
/*
/*
/*
/*

UC */
UC- */
WC */
WT */
WB */
WP */

VIRTUTECH CONFIDENTIAL

3.2. Simics API Data Types

x86_sync_instruction_type_t
NAME
x86_sync_instruction_type_t
SYNOPSIS
typedef enum {
X86_SFence = 1,
X86_LFence = 2,
X86_MFence = 3
} x86_sync_instruction_type_t;

DESCRIPTION
Type of synchronisation instruction for x86. Used in the Core_Sync_Instruction
hap.

134

VIRTUTECH CONFIDENTIAL

3.2.3

3.2. Simics API Data Types

Internal Data Types

addr_type_t, assoc_table_t, attr_initiator_t, attr_set_t, binary_heap_compare_func_t,


binary_heap_t, byte_string_t, struct dmacache, event_queue_type_t, for_all_assoc_
table_func_t, ht_entry_t, ht_for_each_entry_func_t, ht_iter_t, ht_sorted_entries_func_
t, ht_table_t, icode_mode_group_t, icode_mode_t, icode_page_t, image_spage_t, instruction_
trace_callback_t, interface_list_t, intervals_func_t, interval_set_t, interval_set_iter_
t, io_trace_t, mmu_error_info_t, os_time_t, struct os_tm, page_info_t, prof_data_t,
prof_data_address_t, prof_data_counter_t, prof_data_func_t, prof_data_iter_t, radix_
bottom_t, radix_middle_t, radix_top_t, rand_state_t, range_node_t, set_error_t, sim_
ic_type_t, simics_internal_counters_t, simics_symbol_lookup_t, source_python_func_
t, source_python_module_func_t, st_do_all_func_t, st_for_all_func_t, enum st_lookup_
approx_result, stall_id_num_t, stall_id_t, state_save_kind_t, strbuf_t, string_tree_t,
struct simcontext, struct symtable, table_t, table_func_t, turbo_exit_case_t, struct
ucontext, vtmem_inform_opcode_t,
NAME
addr_type_t, assoc_table_t, attr_set_t, attr_initiator_t, binary_heap_compare_func_t,
binary_heap_t, byte_string_t, struct dmacache, struct ether_addr, for_all_assoc_table_
func_t, ht_entry_t, ht_for_each_entry_func_t, ht_iter_t, ht_sorted_entries_func_t, ht_
table_t, icode_mode_group_t, icode_mode_t, icode_page_t, image_spage_t, instruction_
trace_callback_t, interface_list_t, intervals_func_t, interval_set_t, interval_set_iter_t,
io_trace_t, io_trace_log_t, mmu_error_info_t, os_time_t, struct os_tm, page_info_t,
prof_data_t, prof_data_address_t, prof_data_counter_t, prof_data_func_t, prof_data_
iter_t, radix_bottom_t, radix_middle_t, radix_top_t, rand_state_t, range_node_t, set_
error_t, sim_ic_type_t, simics_internal_counters_t, simics_symbol_lookup_t, source_
python_func_t, source_python_module_func_t, st_do_all_func_t, st_for_all_func_t, enum
st_lookup_approx_result , stall_id_num_t, stall_id_t, state_save_kind_t, strbuf_t, string_
tree_t, struct simcontext, struct symtable, table_t, table_func_t, turbo_exit_case_t, struct
ucontext, vtmem_inform_opcode_t
DESCRIPTION
These data types are exported for Simics internal use.

135

VIRTUTECH CONFIDENTIAL

3.2.4

3.3. Simics API Functions

Simics Types in Python

When writing code in Python, almost all Simics API functions can be used. Since not all
C/C++ types are available in Python, Simics supplies the following special type mappings.
C/C++
attr_value_t, kind
attr_value_t, kind
attr_value_t, kind
attr_value_t, kind
attr_value_t, kind
attr_value_t, kind
attr_value_t, kind
attr_value_t, kind
attr_value_t, kind
conf_class_t *
conf_object_t *

3.3
3.3.1

==
==
==
==
==
==
==
==
==

Sim_Val_String
Sim_Val_Integer
Sim_Val_Floating
Sim_Val_List
Sim_Val_Data
Sim_Val_Nil
Sim_Val_Object
Sim_Val_Dict
Sim_Val_Boolean

Python
str (a Python string)
int or long
float
list
tuple of integers (bytes)
None
An object from the conf namespace.
dict
bool
str (name of class)
An object from the conf namespace

Simics API Functions


Complete List

MM_FREE
MM_MALIGN
MM_MALLOC
MM_REALLOC
MM_STRDUP
PCIE_send_message
PCI_add_config_register
PCI_bridge_default_access_not_taken
PCI_bridge_default_interrupt_lowered
PCI_bridge_default_interrupt_raised
PCI_bridge_default_system_error
PCI_bridge_init
PCI_bridge_map_setup
PCI_config_register_name
PCI_config_register_size
PCI_configuration_access
PCI_data_from_memory
PCI_data_to_memory

free vtmem object


allocate aligned memory
allocate memory object
reallocate memory
duplicate a string
send a message to root complex
add device specific configuration register
default handling of unclaimed accesses
default handling of secondary interrupts
default handling of secondary interrupts
default system error handling for bridges
Initialize generic PCI bridge device
Set optional memory mapping attributes
return name of a configuration register
return size of a configuration register
access the configuration space
read/write raw data from memory space
read/write raw data from memory space

136

VIRTUTECH CONFIDENTIAL
PCI_default_configuration_read_access
PCI_default_configuration_write_access
PCI_default_device_reset
PCI_device_init
PCI_get_bus_address
PCI_get_config_register_mask
PCI_get_map_always_on
PCI_get_map_base
PCI_get_map_enable
PCI_get_map_ignore_command
PCI_get_map_offset
PCI_get_map_size
PCI_get_may_stall
PCI_handle_mapping32
PCI_handle_mapping64
PCI_lower_interrupt
PCI_lower_interrupt_pin
PCI_raise_interrupt
PCI_raise_interrupt_pin
PCI_read_config_register
PCI_read_sized_config_register
PCI_register_bridge_attributes
PCI_register_device_attributes
PCI_set_config_register_mask
PCI_set_map_always_on
PCI_set_map_base
PCI_set_map_enable
PCI_set_map_ignore_command
PCI_set_map_offset
PCI_set_map_size
PCI_set_may_stall
PCI_system_error
PCI_value_from_memory
PCI_value_to_memory
PCI_write_config_register
PCI_write_sized_config_register
SIM_STC_flush_cache
SIM_add_configuration
SIM_add_directory
SIM_add_mode_counter
SIM_add_output_handler

3.3. Simics API Functions


default function for configuration register reads
default function for configuration register writes
default PCI device reset handling
initialize the generic PCI device
get the bus address of a device
get write mask of a configuration register
query and modify base address mapping
query and modify base address mapping
query and modify base address mapping
query and modify base address mapping
query and modify base address mapping
query and modify base address mapping
Specifies if memory accesses are stallable
handle base address register
handle base address register
raise and lower a PCI interrupt
raise and lower a PCI interrupt
raise and lower a PCI interrupt
raise and lower a PCI interrupt
read a configuration register
read a configuration register
register generic PCI bridge attributes
register generic PCI device attributes
set write mask of a configuration register
query and modify base address mapping
query and modify base address mapping
query and modify base address mapping
query and modify base address mapping
query and modify base address mapping
query and modify base address mapping
Specifies if memory accesses are stallable
assert system error
read/write value from memory space
read/write value from memory space
read a configuration register
write a configuration register
flush or remove entries in the STCs of a cpu
set configuration from Python
add directory to search path
obsolete API function
register output handler

137

VIRTUTECH CONFIDENTIAL
SIM_all_classes
SIM_all_objects
SIM_alloc_attr_dict
SIM_alloc_attr_list
SIM_alloc_conf_object
SIM_alpha_mem_trans_from_generic
SIM_arm_mem_trans_from_generic
SIM_ascanf
SIM_attribute_error
SIM_break_cycle
SIM_break_message
SIM_break_simulation
SIM_break_step
SIM_breakpoint
SIM_breakpoint_action
SIM_breakpoint_remove
SIM_c_frontend_exception
SIM_c_get_mem_op_value_buf
SIM_c_hap_occurred
SIM_c_hap_occurred_always
SIM_c_hap_occurred_always_vararg
SIM_c_hap_occurred_vararg
SIM_c_set_mem_op_value_buf
SIM_cancel_realtime_event
SIM_change_attribute_attribute
SIM_check_exception
SIM_class_has_attribute
SIM_clear_atomic_reservation_bit
SIM_clear_directories
SIM_clear_exception
SIM_command_clear_problem
SIM_command_has_problem
SIM_command_problem_status
SIM_continue
SIM_copyright
SIM_cpu_by_mid
SIM_cpu_enabled
SIM_cpu_issue_cycles
SIM_cpu_privilege_level
SIM_create_object
SIM_current_processor

3.3. Simics API Functions


obsolete API function
obsolete API function
create empty attribute dictionary
create empty attribute list
allocate object
convert generic transaction to CPU specific
convert generic transaction to CPU specific
parse list attribute values
specify reason for attribute error
insert breakpoint in time queue
stop the simulation
stop the simulation
set a step breakpoint
set breakpoint
obsolete API function
delete breakpoint range
obsolete API function
get value for a memory operation
trigger a hap occurrence
trigger a hap occurrence
trigger a hap occurrence
trigger a hap occurrence
set value for a memory operation
cancel callback in host time
change requiredness of attribute
obsolete API function
check if class implements attribute
obsolete API function
clear the search path
clear pending exception
signal error in command
signal error in command
signal error in command
continue the simulation
get version info about Simics
obsolete API function
obsolete API function
obsolete API function
obsolete API function
create and initialise object
get current processor

138

VIRTUTECH CONFIDENTIAL
SIM_cycle_count
SIM_delete_breakpoint
SIM_delete_object
SIM_device_log
SIM_disable_processor
SIM_disassemble
SIM_disassemble_physical
SIM_dump_caches
SIM_enable_processor
SIM_ensure_partial_attr_order
SIM_exception_has_occurred
SIM_flush
SIM_flush_D_STC_logical
SIM_flush_D_STC_physical
SIM_flush_I_STC_logical
SIM_flush_I_STC_physical
SIM_flush_all_caches
SIM_for_all_hap_types
SIM_for_all_memory_pages
SIM_for_all_modules
SIM_for_all_modules_failed
SIM_for_all_processors
SIM_free_attribute
SIM_frontend_exception
SIM_get_No_Exception
SIM_get_all_classes
SIM_get_all_exceptions
SIM_get_all_failed_modules
SIM_get_all_hap_types
SIM_get_all_modules
SIM_get_all_objects
SIM_get_all_processors
SIM_get_all_registers
SIM_get_attribute
SIM_get_attribute_attributes
SIM_get_attribute_idx
SIM_get_base_pointer
SIM_get_batch_mode
SIM_get_class
SIM_get_class_attribute
SIM_get_class_attribute_idx

3.3. Simics API Functions


query time queue for current time
delete breakpoint
delete object
obsolete API function
enable or disable a processor
disassemble instruction
obsolete API function
obsolete API function
enable or disable a processor
ensure attribute order
obsolete API function
text output routines
flush or remove entries in the STCs of a cpu
flush or remove entries in the STCs of a cpu
flush or remove entries in the STCs of a cpu
flush or remove entries in the STCs of a cpu
clear Simicss internal caches
obsolete API function
apply callback function to all memory pages
obsolete API function
obsolete API function
obsolete API function
free attribute
raise an exception
obsolete API function
get list of all classes
processor exception conversion utilities
return a list of all modules that failed to load
get list of all hap types
return a list of all modules
get list of all objects
get list of all processors
get all register numbers
get attribute
get attribute flags
get attribute
obsolete API function
return setting of the batch-mode
get class
get attribute
get attribute

139

VIRTUTECH CONFIDENTIAL
SIM_get_class_interface
SIM_get_class_name
SIM_get_class_port_interface
SIM_get_configuration_file_prefix
SIM_get_control_register_name
SIM_get_control_register_number
SIM_get_current_proc_no
SIM_get_directories
SIM_get_exception_name
SIM_get_exception_number
SIM_get_file_size
SIM_get_history_match
SIM_get_interface
SIM_get_mem_op_type
SIM_get_mem_op_type_name
SIM_get_mem_op_value_be
SIM_get_mem_op_value_buf
SIM_get_mem_op_value_cpu
SIM_get_mem_op_value_le
SIM_get_mmu_data
SIM_get_mode_counter
SIM_get_object
SIM_get_pending_exception
SIM_get_port_interface
SIM_get_proc_no
SIM_get_processor
SIM_get_processor_number
SIM_get_program_counter
SIM_get_quiet
SIM_get_register_name
SIM_get_register_number
SIM_get_simics_home
SIM_get_stack_pointer
SIM_get_trap_time
SIM_get_unique_memory_transaction_id
SIM_get_unique_memory_transaction_id
SIM_get_verbose
SIM_hap_add_callback
SIM_hap_add_callback_index
SIM_hap_add_callback_obj
SIM_hap_add_callback_obj_index

3.3. Simics API Functions


get interface
get class name
get interface
get filename prefix
obsolete API function
obsolete API function
obsolete API function
get the current search path
processor exception conversion utilities
processor exception conversion utilities
obsolete API function
obsolete API function
get interface
get type of transaction
get name of memory operation type
get value for a memory operation
get value for a memory operation
get value for a memory operation
get value for a memory operation
obsolete API function
obsolete API function
get object
get current pending exception
get interface
obsolete API function
get processor pointer from number
get the number of a processor
read/write program counter
return setting of the quiet flag
convert between register name and register number
convert between register name and register number
obsolete API function
obsolete API function
obsolete API function
Micro-Architecture Interface functions
get unique memory transaction ID
get the verbose flag
install callback on a hap
install callback on a hap
install callback on a hap
install callback on a hap

140

VIRTUTECH CONFIDENTIAL
SIM_hap_add_callback_obj_range
SIM_hap_add_callback_range
SIM_hap_add_type
SIM_hap_callback_exists
SIM_hap_delete_callback
SIM_hap_delete_callback_id
SIM_hap_delete_callback_obj
SIM_hap_delete_callback_obj_id
SIM_hap_get_name
SIM_hap_get_number
SIM_hap_install_callback
SIM_hap_install_callback_idx
SIM_hap_install_callback_range
SIM_hap_is_active
SIM_hap_new_type
SIM_hap_occurred
SIM_hap_occurred_always
SIM_hap_register_callback
SIM_hap_register_callback_idx
SIM_hap_register_callback_range
SIM_hap_remove_callback
SIM_hap_remove_type
SIM_hap_unregister_callback
SIM_ia64_mem_trans_from_generic
SIM_inc_cur_mode_counter
SIM_inc_mode_counter
SIM_initial_configuration_ok
SIM_install_default_ASI_handler
SIM_install_user_ASI_handler
SIM_instruction_begin
SIM_instruction_child
SIM_instruction_commit
SIM_instruction_cpu
SIM_instruction_decode
SIM_instruction_end
SIM_instruction_execute
SIM_instruction_fetch
SIM_instruction_force_correct
SIM_instruction_get_field_value
SIM_instruction_get_reg_info
SIM_instruction_get_user_data

3.3. Simics API Functions


install callback on a hap
install callback on a hap
register a new hap type
get callback status
delete installed hap callback
delete installed hap callback
delete installed hap callback
delete installed hap callback
get hap name by number
get hap number by name
obsolete API function
obsolete API function
obsolete API function
check if hap has callbacks
obsolete API function
trigger hap occurrence
trigger hap occurrence
obsolete API function
obsolete API function
obsolete API function
obsolete API function
remove a hap type
obsolete API function
convert generic transaction to CPU specific
obsolete API function
obsolete API function
get configuration status
obsolete API function
obsolete API function
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions

141

VIRTUTECH CONFIDENTIAL
SIM_instruction_handle_exception
SIM_instruction_handle_interrupt
SIM_instruction_id_from_mem_op_id
SIM_instruction_info
SIM_instruction_insert
SIM_instruction_is_sync
SIM_instruction_length
SIM_instruction_nth_id
SIM_instruction_opcode
SIM_instruction_parent
SIM_instruction_phase
SIM_instruction_proceed
SIM_instruction_read_input_reg
SIM_instruction_read_output_reg
SIM_instruction_remaining_stall_time
SIM_instruction_retire
SIM_instruction_rewind
SIM_instruction_set_stop_phase
SIM_instruction_set_user_data
SIM_instruction_speculative
SIM_instruction_squash
SIM_instruction_stalling_mem_op
SIM_instruction_status
SIM_instruction_store_queue_mem_op
SIM_instruction_type
SIM_instruction_write_input_reg
SIM_instruction_write_output_reg
SIM_is_interactive
SIM_iter_addr
SIM_iter_free
SIM_iter_next
SIM_last_error
SIM_license
SIM_load_binary
SIM_load_file
SIM_load_module
SIM_log_constructor
SIM_log_error
SIM_log_info
SIM_log_message
SIM_log_register_groups

3.3. Simics API Functions


Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
obsolete API function
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
Micro-Architecture Interface functions
running interactive command predicate
Iterate over address profile counters
Iterate over address profile counters
Iterate over address profile counters
get error message from last exception
get version info about Simics
read an executable file into memory
read a file into memory
load/unload modules
initiate log class
output log message
output log message
print and log message
register names of log groups

142

VIRTUTECH CONFIDENTIAL
SIM_log_spec_violation
SIM_log_target_error
SIM_log_undefined
SIM_log_unimplemented
SIM_logical_to_physical
SIM_lookup_file
SIM_make_attr_boolean
SIM_make_attr_data
SIM_make_attr_floating
SIM_make_attr_integer
SIM_make_attr_invalid
SIM_make_attr_list
SIM_make_attr_list_vararg
SIM_make_attr_nil
SIM_make_attr_object
SIM_make_attr_string
SIM_mem_op_is_control
SIM_mem_op_is_data
SIM_mem_op_is_from_cache
SIM_mem_op_is_from_cpu
SIM_mem_op_is_from_cpu_arch
SIM_mem_op_is_from_device
SIM_mem_op_is_instruction
SIM_mem_op_is_prefetch
SIM_mem_op_is_read
SIM_mem_op_is_write
SIM_mips_mem_trans_from_generic
SIM_module_list_refresh
SIM_native_path
SIM_new_object
SIM_next_queue
SIM_no_windows
SIM_notify_on_descriptor
SIM_notify_on_object
SIM_notify_on_socket
SIM_num_control_registers
SIM_number_processors
SIM_object_by_id
SIM_object_constructor
SIM_object_is_processor
SIM_pci_mem_trans_from_generic

3.3. Simics API Functions


output log message
output log message
output log message
output log message
translate logical to physical
find a file using simics-path
make boolean attribute
create raw data attribute
make floating point attribute
make integer attribute
make invalid attribute
make list attribute
make list attribute
make empty attribute
make object attribute
make string attribute
transaction control predicates
transaction data/instruction predicates
Cache initiated transaction
CPU initiated transaction
CPU initiated transaction
Device initiated transaction
transaction data/instruction predicates
transaction control predicates
transaction read/write predicates
transaction read/write predicates
convert generic transaction to CPU specific
refresh list of loadable modules
convert path to its native form
create object
get next object that owns a queue
obsolete API function
register notification on host I/O events
register notification on host I/O events
register notification on host I/O events
obsolete API function
number of processors
obsolete API function
base class constructor
test if object is a processor
convert generic transaction to CPU specific

143

VIRTUTECH CONFIDENTIAL
SIM_post_command
SIM_postponing_continue
SIM_ppc_mem_trans_from_generic
SIM_printf
SIM_printf_vararg
SIM_proc_no_2_ptr
SIM_processor_break
SIM_processor_enabled
SIM_processor_privilege_level
SIM_putchar
SIM_puts
SIM_quit
SIM_raise_general_exception
SIM_read_byte
SIM_read_configuration
SIM_read_control_register
SIM_read_fp_register
SIM_read_fp_register_d
SIM_read_fp_register_i
SIM_read_fp_register_s
SIM_read_fp_register_x
SIM_read_global_register
SIM_read_phys_memory
SIM_read_phys_memory_tags
SIM_read_register
SIM_read_window_register
SIM_readme
SIM_realtime_event
SIM_register_arch_decoder
SIM_register_attribute
SIM_register_class
SIM_register_class_alias
SIM_register_class_attribute
SIM_register_copyright
SIM_register_decoder
SIM_register_interface
SIM_register_port_interface
SIM_register_typed_attribute
SIM_register_typed_class_attribute
SIM_release_stall
SIM_release_stall

3.3. Simics API Functions


post callback to be run when simulation is stopped
ask if continue will be postponed
convert generic transaction to CPU specific
text output routines
text output routines
obsolete API function
obsolete API function
check if processor is enabled
return the current privilege level for a processor
text output routines
text output routines
quit Simics
obsolete API function
read/write byte from a memory space
read configuration
obsolete API function
obsolete API function
obsolete API function
obsolete API function
obsolete API function
obsolete API function
obsolete API function
read data from a physical address
access auxiliary bits in physical memory
get register value
obsolete API function
get version info about Simics
schedule callback in host time
install/uninstall instruction decoders
register attribute
register class
register class alias
register attribute
register copyright information
deprecated install/uninstall user decoders
register interface
register interface
register attribute
register attribute
Micro-Architecture Interface functions
release stalling transaction

144

VIRTUTECH CONFIDENTIAL
SIM_remove_output_handler
SIM_reset_processor
SIM_run_command_file
SIM_set_attribute
SIM_set_attribute_idx
SIM_set_class_attribute
SIM_set_class_attribute_idx
SIM_set_configuration
SIM_set_mem_op_type
SIM_set_mem_op_value_be
SIM_set_mem_op_value_buf
SIM_set_mem_op_value_cpu
SIM_set_mem_op_value_le
SIM_set_mode_counter
SIM_set_program_counter
SIM_set_prompt
SIM_set_quiet
SIM_set_verbose
SIM_simics_is_running
SIM_snapshot_date
SIM_source_python
SIM_source_python_in_module
SIM_sparc_ASI_info
SIM_stacked_post
SIM_stall
SIM_stall_count
SIM_stall_cycle
SIM_stalled_until
SIM_step_clean
SIM_step_count
SIM_step_next_occurrence
SIM_step_post
SIM_thread_safe_callback
SIM_time
SIM_time_clean
SIM_time_next_occurrence
SIM_time_post
SIM_time_post_cycle
SIM_unload_module
SIM_unregister_arch_decoder
SIM_unregister_decoder

3.3. Simics API Functions


unregister output handler
reset the processor
read CLI commands from file
set attribute
set attribute
set attribute
set attribute
set configuration from data
set type of transaction
set value for a memory operation
set value for a memory operation
set value for a memory operation
set value for a memory operation
obsolete API function
read/write program counter
change prompt in Simics
enable/disable quiet mode
set the verbose flag
check if Simics is running
get version info about Simics
execute Python source file
execute Python source file
obsolete API function
insert an event that runs as soon as possible
stall execution a specified number of cycles
get number of cycles a processor has been stalled
stall execution a specified number of cycles
query how many cycles that remains of stall
remove events from the step queue
query step queue count
get number of steps until a step queue event occurs
add an event in step queue
call function synchronized with main thread
query time queue for current time
remove all matching events from time queue
get cycles to matching event
add event to time queue
add event to time queue
load/unload modules
install/uninstall instruction decoders
deprecated install/uninstall user decoders

145

VIRTUTECH CONFIDENTIAL
SIM_v9_mem_trans_from_generic
SIM_version
SIM_version_sub
SIM_void_to_processor_t
SIM_write
SIM_write_byte
SIM_write_configuration_to_file
SIM_write_control_register
SIM_write_fp_register
SIM_write_fp_register_d
SIM_write_fp_register_i
SIM_write_fp_register_s
SIM_write_fp_register_x
SIM_write_global_register
SIM_write_phys_memory
SIM_write_phys_memory_tags
SIM_write_register
SIM_write_window_register
SIM_x86_mem_trans_from_generic
cli.arg
cli.eval_cli_line
cli.get_available_object_name
cli.new_command
cli.number_str
cli.object_expander
cli.quiet_run_command
cli.run_command
dbuffer_append
dbuffer_append_external_data
dbuffer_append_value
dbuffer_clone
dbuffer_copy_append
dbuffer_copy_prepend
dbuffer_free
dbuffer_insert
dbuffer_len
dbuffer_prepend
dbuffer_prepend_external_data
dbuffer_prepend_value
dbuffer_read
dbuffer_read_all

3.3. Simics API Functions


convert generic transaction to CPU specific
get version info about Simics
get version info about Simics
obsolete API function
text output routines
read/write byte from a memory space
write configuration
obsolete API function
obsolete API function
obsolete API function
obsolete API function
obsolete API function
obsolete API function
obsolete API function
write data to a physical address
access auxiliary bits in physical memory
set register value
obsolete API function
convert generic transaction to CPU specific
define a command argument
evaluate a CLI command line
return a non-allocated object name
define a new CLI command
return a ready-to-print representation of a number
Standard expander for an object argument
Run a CLI command and return output
Run a CLI command
Add data to a dbuffer
Add static data
Add data with uniform content
Make a full copy of another buffer
Copy data from a dbuffer
Copy data from a dbuffer
Release a dbuffer
Add data to a dbuffer
Get the size of a dbuffer
Add data to a dbuffer
Add static data
Add data with uniform content
Extract data for reading
Extract data for reading

146

VIRTUTECH CONFIDENTIAL
dbuffer_read_some
dbuffer_remove
dbuffer_remove_head
dbuffer_remove_tail
dbuffer_replace
dbuffer_replace_all
dbuffer_replace_some
dbuffer_split
dbuffer_update
dbuffer_update_all
dbuffer_update_some
new_dbuffer
sim_commands.new_info_command
sim_commands.new_status_command

3.3.2

3.3. Simics API Functions


Extract data for reading
Remove data from a dbuffer
Remove data from a dbuffer
Remove data from a dbuffer
Replace data
Replace data
Replace data
Split a dbuffer
Extract data for updating
Extract data for updating
Extract data for updating
Create a new dbuffer
define a new info command
define a new status command

Core

147

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Attribute Values
SIM_alloc_attr_dict()
NAME
SIM_alloc_attr_dict create empty attribute dictionary
SYNOPSIS
attr_value_t
SIM_alloc_attr_dict(int length);

DESCRIPTION
Returns an attr_value_t of type Sim_Val_Dict with size len. The dictionary elements are initialized to Sim_Val_Invalid.
SEE ALSO
SIM_alloc_attr_list

148

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_alloc_attr_list()
NAME
SIM_alloc_attr_list create empty attribute list
SYNOPSIS
attr_value_t
SIM_alloc_attr_list(int length);

DESCRIPTION
Returns an attr_value_t of type Sim_Val_List with size len. The list elements
are initialized to Sim_Val_Invalid.
SEE ALSO
SIM_make_attr_list

149

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_ascanf()
NAME
SIM_ascanf parse list attribute values
SYNOPSIS
int
SIM_ascanf(attr_value_t *list, const char *fmt, ...);

DESCRIPTION
Reads and converts entries in list according to the format string fmt. Returns 1 if all
elements were successfully converted, 0 otherwise.
The characters in the format string mean:
format char
i
b
f
s
S
o
O
l
d
a

argument type
integer_t *
int *
double *
const char **
const char **
conf_object_t **
conf_object_t **
attr_value_t **
attr_value_t **
attr_value_t **

element must be
Sim_Val_Integer
Sim_Val_Boolean
Sim_Val_Floating
Sim_Val_String
Sim_Val_String or Sim_Val_Nil
Sim_Val_Object
Sim_Val_Object or Sim_Val_Nil
Sim_Val_List
Sim_Val_Data
any except Sim_Val_Invalid

The fmt string may also include a period (.) at the end, taken to mean that more
elements may follow. If the period is not present, the length of the list must equal the
number of specified elements.

150

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_make_attr_boolean()
NAME
SIM_make_attr_boolean make boolean attribute
SYNOPSIS
attr_value_t
SIM_make_attr_boolean(integer_t b);

DESCRIPTION
Returns an attr_value_t of type Sim_Val_Boolean.

151

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_make_attr_data()
NAME
SIM_make_attr_data create raw data attribute
SYNOPSIS
attr_value_t
SIM_make_attr_data(integer_t size, void *data);

DESCRIPTION
Returns an attr_value_t of type Sim_Val_Data using size and data for the binary
data. No copy is made of data.

152

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_make_attr_floating()
NAME
SIM_make_attr_floating make floating point attribute
SYNOPSIS
attr_value_t
SIM_make_attr_floating(double d);

DESCRIPTION
Returns an attr_value_t of type Sim_Val_Floating with value d.

153

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_make_attr_integer()
NAME
SIM_make_attr_integer make integer attribute
SYNOPSIS
attr_value_t
SIM_make_attr_integer(integer_t i);

DESCRIPTION
Returns an attr_value_t of type Sim_Val_Integer with value i.

154

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_make_attr_invalid()
NAME
SIM_make_attr_invalid make invalid attribute
SYNOPSIS
attr_value_t
SIM_make_attr_invalid(void);

DESCRIPTION
Returns an attr_value_t of type Sim_Val_Invalid.

155

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_make_attr_list()
NAME
SIM_make_attr_list, SIM_make_attr_list_vararg make list attribute
SYNOPSIS
attr_value_t
SIM_make_attr_list(int length, ...);

attr_value_t
SIM_make_attr_list_vararg(int length, va_list va);

DESCRIPTION
Returns an attr_value_t of type Sim_Val_List with size length. The list is filled
with data from the arguments following, which should be of type attr_value_t.
SEE ALSO
SIM_alloc_attr_list

156

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_make_attr_nil()
NAME
SIM_make_attr_nil make empty attribute
SYNOPSIS
attr_value_t
SIM_make_attr_nil(void);

DESCRIPTION
Returns an attr_value_t of type Sim_Val_Nil.

157

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_make_attr_object()
NAME
SIM_make_attr_object make object attribute
SYNOPSIS
attr_value_t
SIM_make_attr_object(conf_object_t *obj);

DESCRIPTION
Returns an attr_value_t of type Sim_Val_Object with value obj. Returns a Sim_
Val_Nil if obj is NULL.

158

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_make_attr_string()
NAME
SIM_make_attr_string make string attribute
SYNOPSIS
attr_value_t
SIM_make_attr_string(const char *str);

DESCRIPTION
Returns an attr_value_t of type Sim_Val_String with value str. Returns a Sim_
Val_Nil if str is NULL.

159

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Breakpoints
SIM_break_cycle()
NAME
SIM_break_cycle insert breakpoint in time queue
SYNOPSIS
void
SIM_break_cycle(conf_object_t *obj, integer_t cycles);

DESCRIPTION
SIM_break_cycle inserts a breakpoint event at cycles clock cycles from now causing
simulation to stop and returning to prompt. Useful in conjunction with a stalling
timing model where there no longer is a one to one correspondence between cycles
and steps.
EXCEPTIONS
General Thrown if obj is NULL.
General Thrown if clock_cycles is negative.

160

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_break_step()
NAME
SIM_break_step set a step breakpoint
SYNOPSIS
void
SIM_break_step(conf_object_t *obj, integer_t steps);

DESCRIPTION
Sets a step breakpoint on a processor. The steps argument is the number of instructions
until the break occurs.
EXCEPTIONS
General If obj is NULL, or the time specified is illegal.

161

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_breakpoint()
NAME
SIM_breakpoint set breakpoint
SYNOPSIS
breakpoint_id_t
SIM_breakpoint(conf_object_t *obj,
breakpoint_kind_t kind,
access_t access,
uint64 address,
uint64 length,
unsigned flags);

DESCRIPTION
Add breakpoint on an object implementing the breakpoint interface. This is typically
a memory space object such as physical memory.
The kind argument sets what type of address to break on:
typedef enum {
Sim_Break_Physical = 0,
Sim_Break_Virtual = 1,
Sim_Break_Linear
= 2
} breakpoint_kind_t;

/* x86 only */

The access argument is a bit-field setting the type of access. Any combination of the
tree alternatives can be given (ored together).
typedef enum {
Sim_Access_Read = 1,
Sim_Access_Write = 2,
Sim_Access_Execute = 4
} access_t;

The address is the start of the breakpoint range and length is its length in bytes. This
range will be truncated as necessary to fit in the address space. An access intersecting
the given range will trigger the breakpoint. If length is zero, the breakpoint range will
be the entire address space.
The flags argument should be passed a bitwise or of zero or more enumeration constants from enum breakpoint_flag:
enum breakpoint_flag {
Sim_Breakpoint_Temporary = 1,
Sim_Breakpoint_Simulation = 2,
Sim_Breakpoint_Private = 4
};

162

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

If the Sim_Breakpoint_Temporary bit is set, the breakpoint is automatically disabled when triggered the first time.
If the Sim_Breakpoint_Simulation bit is set, the breakpoint will not show up
in the list-breakpoints command, nor can it be removed by the unbreak command.
Also, there will be no message printed on the Simics console when this breakpoint is
triggered. This bit should be set when using breakpoints to simulate the target system;
it will prevent Simics from temporarily disabling the breakpoint as an optimization
measure. This could otherwise happen during certain reverse execution operations.
If the Sim_Breakpoint_Private bit is set, the breakpoint will not show up in the
list-breakpoints command, nor can it be removed by the unbreak command. Also,
there will be no message printed on the Simics console when this breakpoint is triggered.
The default action for a triggered breakpoint is to return to the frontend (this can be
changed by using haps). On execution breakpoints Simics will return to the frontend
before the instructions is executed, while instructions triggering read or write breakpoints will complete before control is returned to the frontend.
Several breakpoints can be set on the same address and Simics will break on them
in turn. If hap handlers 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.
Several attributes can be set for a breakpoint for breaking only when some conditions
are true. See the breakpoints attribute in the sim class.
This function returns the breakpoint id which is used for further reference to the breakpoint:
typedef int breakpoint_id_t;

Breakpoints can be removed using SIM_delete_breakpoint().


EXCEPTIONS
General Thrown if the type or access arguments are illegal.
RETURN VALUE
Breakpoint id, -1 on exception.
SEE ALSO
SIM_breakpoint_remove, SIM_delete_breakpoint

163

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_breakpoint_remove()
NAME
SIM_breakpoint_remove delete breakpoint range
SYNOPSIS
void
SIM_breakpoint_remove(int id,
access_t access,
generic_address_t address,
generic_address_t length);

DESCRIPTION
Deletes a breakpoint range from an existing breakpoint. Can thus be used to create
holes in the breakpoint range. id is the breakpoint to operate on, as returned by SIM_
breakpoint(). A value of zero will operate on all breakpoints that were not set using
the Sim_Breakpoint_Simulation flag.
access is a bitfield describing the type of breakpoint to remove using the enumeration
constants of the access_t enum.
start is the start address of the range and length is the length of the range in bytes.
EXCEPTIONS
Index Thrown if illegal breakpoint
SEE ALSO
SIM_breakpoint, SIM_delete_breakpoint

164

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_delete_breakpoint()
NAME
SIM_delete_breakpoint delete breakpoint
SYNOPSIS
void
SIM_delete_breakpoint(breakpoint_id_t id);

DESCRIPTION
Deletes breakpoint id as returned by SIM_breakpoint(). A value of zero will delete all
breakpoints that were set without the Sim_Breakpoint_Simulation flag.
EXCEPTIONS
Index Thrown if no breakpoint with the id is found.

165

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Configuration
SIM_add_configuration()
NAME
SIM_add_configuration set configuration from Python
SYNOPSIS
void
SIM_add_configuration(pre_conf_object_set_t *set, const char *file);

DESCRIPTION
This function is an alternative to reading the configuration from a file. A configuration
is a sequence (list or tuple) of pre_conf_object Python objects, or a dictionary of the
form {name : pre_conf_object}.
The file argument in the name of the file that a configuration was read from, and should
be set to None/NULL if not used.
EXCEPTIONS
General Thrown if Simics fails to initialize all objects.
SEE ALSO
SIM_create_object

166

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_alloc_conf_object()
NAME
SIM_alloc_conf_object allocate object
SYNOPSIS
conf_object_t *
SIM_alloc_conf_object(parse_object_t *pa);

DESCRIPTION
Allocate a new bare configuration object with no data members. This function is
mainly for implementing classes in script languages.
RETURN VALUE
Returns the newly constructed object.

167

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_attribute_error()
NAME
SIM_attribute_error specify reason for attribute error
SYNOPSIS
void
SIM_attribute_error(const char *msg);

DESCRIPTION
When used inside an attribute set_attr/get_attr method, indicates why it failed to set
or retrieve the attribute. This function only serves to give an informative message to
the user. The object or attribute names need not be mentioned in the msg argument;
Simics will supply this automatically.
SEE ALSO
SIM_register_typed_attribute

168

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_change_attribute_attribute()
NAME
SIM_change_attribute_attribute change requiredness of attribute
SYNOPSIS
int
SIM_change_attribute_attribute(conf_class_t *cls,
const char *name,
attr_attr_t attr);

DESCRIPTION
This function sets the attributes of an earlier registered attribute name in class class_
struct to attr.
typedef enum {
Sim_Attr_Required
Sim_Attr_Optional

= 0,
= 1,

Sim_Attr_Session
Sim_Attr_Pseudo

= 3,
= 4,

Sim_Attr_Flag_Mask

= 0xff,

Sim_Init_Phase_Shift
Sim_Init_Phase_0
Sim_Init_Phase_1

= 8,
= 0 << Sim_Init_Phase_Shift,
= 1 << Sim_Init_Phase_Shift,

Sim_Attr_Integer_Indexed
Sim_Attr_String_Indexed
Sim_Attr_List_Indexed

= 0x1000,
= 0x2000,
= 0x4000,

Sim_Attr_Persistent

= 0x20000,

/* set by SIM_register_*_attribute() */
Sim_Attr_Read_Only
= 0x40000,
Sim_Attr_Write_Only
= 0x80000
} attr_attr_t;

RETURN VALUE
Returns zero if successful, and non-zero otherwise.
EXCEPTIONS
General Thrown if at least one argument is NULL or if the attribute name is not a valid
attribute for the class with class structure class_struct.
169

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SEE ALSO
SIM_register_typed_attribute

170

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_class_has_attribute()
NAME
SIM_class_has_attribute check if class implements attribute
SYNOPSIS
int
SIM_class_has_attribute(conf_class_t *cls, const char *attr);

DESCRIPTION
Returns 1 if the class cl implements an attribute with the name attr
SEE ALSO
SIM_register_typed_attribute, SIM_get_attribute

171

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_create_object()
NAME
SIM_create_object create and initialise object
SYNOPSIS
conf_object_t *
SIM_create_object(conf_class_t *cls, const char *name, attr_value_t attrs);

DESCRIPTION
Creates a new instance of the configuration class cls. name must consist of a letter
followed by letters, digits, hyphens (-) or underscores (_). Hyphens and underscores
are equivalent, so ben_hur and ben-hur refer to the same object.
The new object is initialised with attributes from attrs, which must be a list of (attributename, value) pairs as two-element lists. All required attributes for the class cl must be
present in attrs.
RETURN VALUE
The new object, or NULL on error (in which case an exception is raised).
EXCEPTIONS
General Thrown if either argument is NULL, the name is not well-formed, if an object
named name already exists, or if the initialisation failed.
SEE ALSO
SIM_set_configuration

172

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_delete_object()
NAME
SIM_delete_object delete object
SYNOPSIS
int
SIM_delete_object(conf_object_t *obj);

DESCRIPTION
Deletes an object. The caller should make sure that there are no references to the object
being deleted, and that there are no pending events associated with the object (all such
events will be removed from the event queue automatically).
RETURN VALUE
Returns zero if successful. Throws an exception and returns non-zero otherwise.
EXCEPTIONS
General Thrown if the associated class does not support object deletion (has no destructor).

173

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_ensure_partial_attr_order()
NAME
SIM_ensure_partial_attr_order ensure attribute order
SYNOPSIS
void
SIM_ensure_partial_attr_order(conf_class_t *cls, const char *attr1,
const char *attr2);

DESCRIPTION
Attribute initialization order is guaranteed to be identical to the order in which the
attributes were registered. In some cases a particular order is required in order for a
model to work correctly.
This function checks the registration order of attr1 and attr2 in the class cls. If attr1
is not registered before attr2, or if at least one of the two are not registered at all, an
ASSERT is triggered.
Use this function to ensure that e.g. code refactoring does not break a required attribute order.
SEE ALSO
SIM_register_typed_attribute

174

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_free_attribute()
NAME
SIM_free_attribute free attribute
SYNOPSIS
void
SIM_free_attribute(attr_value_t value);

DESCRIPTION
Attributes returned by SIM_get_attribute() should be freed using this function. It
doesnt actually do anything for values of a different kind than Sim_Val_List or
Sim_Val_Dict.
When called with a Sim_Val_List argument, it calls SIM_free_attribute() on each
element of the list before freeing the list itself.

175

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_all_classes()
NAME
SIM_get_all_classes get list of all classes
SYNOPSIS
attr_value_t
SIM_get_all_classes(void);

DESCRIPTION
Return a list of the names of all configuration classes.
RETURN VALUE
List of class names.

176

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_all_objects()
NAME
SIM_get_all_objects get list of all objects
SYNOPSIS
attr_value_t
SIM_get_all_objects(void);

DESCRIPTION
Return a list of all configuration objects.
RETURN VALUE
List of objects.

177

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_attribute()
NAME
SIM_get_attribute, SIM_get_class_attribute, SIM_get_attribute_idx, SIM_get_class_
attribute_idx get attribute
SYNOPSIS
attr_value_t
SIM_get_attribute(conf_object_t *obj, const char *name);

attr_value_t
SIM_get_class_attribute(conf_class_t *cls, const char *name);

attr_value_t
SIM_get_attribute_idx(conf_object_t *obj, const char *name,
attr_value_t *index);

attr_value_t
SIM_get_class_attribute_idx(conf_class_t *cls, const char *name,
attr_value_t *index);

DESCRIPTION
Extracts the attribute specified by the name parameter from obj. When the caller has
finished using the attribute value, it should be freed using free_attribute. If an error
occurs, or if the attribute is not defined for the given object, then the returned value
will be of type Sim_Val_Invalid. The _idx version of the function can be used to get a
single entry in a list or data attribute. The attribute must support indexing, for this to
work.
Return values of kind Sim_Val_List or Sim_Val_Dict have to be freed using SIM_
free_attribute().
RETURN VALUE
Attribute value. The kind field in the returned structure is Sim_Val_Invalid if the
attribute could not be found.
EXCEPTIONS
General If either argument is NULL.
SEE ALSO
SIM_free_attribute, SIM_set_attribute

178

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_attribute_attributes()
NAME
SIM_get_attribute_attributes get attribute flags
SYNOPSIS
attr_attr_t
SIM_get_attribute_attributes(conf_class_t *cls, const char *attr);

DESCRIPTION
Returns the attribute flags of the attr attribute of the configuration object obj.
SIM_get_attribute_attributes() with an object as parameter is deprecated since Simics
3.0.
SEE ALSO
SIM_register_typed_attribute, SIM_change_attribute_attribute

179

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_class()
NAME
SIM_get_class get class
SYNOPSIS
conf_class_t *
SIM_get_class(const char *name);

DESCRIPTION
Returns the configuration class called name.
RETURN VALUE
Opaque pointer referencing the class, or NULL if not found.
EXCEPTIONS
General Thrown if the class has not been registered or if name is NULL.
SEE ALSO
SIM_get_class_name

180

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_class_name()
NAME
SIM_get_class_name get class name
SYNOPSIS
const char *
SIM_get_class_name(const conf_class_t *class_data);

DESCRIPTION
Returns the name of the class
SEE ALSO
SIM_get_class

181

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_configuration_file_prefix()
NAME
SIM_get_configuration_file_prefix get filename prefix
SYNOPSIS
const char *
SIM_get_configuration_file_prefix(void);

DESCRIPTION
An object that wants to create a file as part of an attribute value should request a
filename prefix using this function. The image class uses this feature to store memory
in a separate file.
RETURN VALUE
Null-terminated prefix string, or NULL if called outside a configuration.

182

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_interface()
NAME
SIM_get_interface, SIM_get_class_interface, SIM_get_port_interface, SIM_get_class_
port_interface get interface
SYNOPSIS
void *
SIM_get_interface(const conf_object_t *obj, const char *name);

void *
SIM_get_class_interface(const conf_class_t *cls, const char *name);

void *
SIM_get_port_interface(const conf_object_t *obj, const char *name,
const char *portname);

void *
SIM_get_class_port_interface(const conf_class_t *cls,
const char *name, const char *portname);

DESCRIPTION
Get the interface with name name from object obj. Returns NULL, and raises an exception if obj does not implement the interface.
SIM_get_port_interface() returns an port interface instance as registered with SIM_
register_port_interface(). The portname selects a particular implementation of the interface by objs class. If no instance name is supplied, the function behaves as SIM_
get_interface().
If a class only defines a single port interface, it may be looked up using SIM_get_
interface() as well.
SIM_get_class_interface and SIM_get_class_port_interface are similar but return the
interface for a class instead of an object.
RETURN VALUE
Pointer to interface, or NULL if not found.
EXCEPTIONS
Lookup Thrown if the interface is not implemented by objs class.
General Thrown if the interface name is illegal.
SEE ALSO
SIM_register_interface, SIM_register_port_interface

183

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_object()
NAME
SIM_get_object get object
SYNOPSIS
conf_object_t *
SIM_get_object(const char *name);

DESCRIPTION
Returns the object with name name.
struct conf_object {
conf_class_t *class_data;
const char *name;
struct conf_object *queue;
lang_void *object_data;
int object_id;
int configured;
};

/*
/*
/*
/*
/*
/*

class data */
instance name */
queue */
internal to class implementation */
deprecated, do not use */
set when configuration ready */

typedef struct conf_object conf_object_t;

RETURN VALUE
Pointer to object, or NULL if not found.
EXCEPTIONS
GeneralThrown if the object can not be found or if name is NULL.

184

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_initial_configuration_ok()
NAME
SIM_initial_configuration_ok get configuration status
SYNOPSIS
int
SIM_initial_configuration_ok(void);

DESCRIPTION
Returns non-zero if a configuration has been loaded into Simics (e.g., using readconfiguration), or zero otherwise.

185

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_new_object()
NAME
SIM_new_object create object
SYNOPSIS
conf_object_t *
SIM_new_object(conf_class_t *cls, const char *name);

DESCRIPTION
Creates a new instance of the configuration class the_class. name must consist of a letter
followed by letters, digits, hyphens (-) or underscores (_). Hyphens and underscores
are equivalent, so ben_hur and ben-hur refer to the same object.
Note: This function is deprecated. It can only safely be used to create objects that have
no required attributes or no finalisation method. In other cases, SIM_create_object or SIM_
set_configuration must be used.
RETURN VALUE
Pointer to new object, or NULL on error (in which case an exception is raised).
EXCEPTIONS
General Thrown if either argument is NULL, if no configuration has been loaded, or if
an object with name name already exists.
SEE ALSO
SIM_create_object, SIM_set_configuration

186

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_object_constructor()
NAME
SIM_object_constructor base class constructor
SYNOPSIS
void
SIM_object_constructor(conf_object_t *obj, parse_object_t *pobj);

DESCRIPTION
This constructor should be called by new_instance functions (see the class_data_t
structure) to initialize a new object. If the new object is a log_object_t, the SIM_
log_constructor() function should be used instead.

187

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_object_is_processor()
NAME
SIM_object_is_processor test if object is a processor
SYNOPSIS
int
SIM_object_is_processor(conf_object_t *obj);

DESCRIPTION
Returns non-zero if obj is a processor.

188

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_read_configuration()
NAME
SIM_read_configuration read configuration
SYNOPSIS
void
SIM_read_configuration(const char *file);

DESCRIPTION
Read configuration from filename and create a machine accordingly. Can only be issued
once per session. This function will exit the simulator on certain error conditions (such
as license violations).
EXCEPTIONS
General Thrown if the file could not be opened, the machine was already initialized,
or if an error in the configuration file was detected.

189

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_register_attribute()
NAME
SIM_register_attribute, SIM_register_class_attribute register attribute
SYNOPSIS
int
SIM_register_attribute(
conf_class_t *cls, const char *name,
attr_value_t (*get_attr)(lang_void *user_data,
conf_object_t *obj,
attr_value_t *idx),
lang_void *user_data_get,
set_error_t (*set_attr)(lang_void *user_data,
conf_object_t *obj,
attr_value_t *val, attr_value_t *idx),
lang_void *user_data_set,
attr_attr_t attr,
const char *desc);

int
SIM_register_class_attribute(
conf_class_t *cls, const char *name,
attr_value_t (*get_attr)(lang_void *ptr,
conf_class_t *c,
attr_value_t *idx),
lang_void *user_data_get,
set_error_t (*set_attr)(lang_void *ptr,
conf_class_t *c,
attr_value_t *val, attr_value_t *idx),
lang_void *user_data_set,
attr_attr_t attr,
const char *desc);

DESCRIPTION
These functions are deprecated, use SIM_register_typed_attribute() and SIM_register_
typed_class_attribute() instead.

190

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_register_class()
NAME
SIM_register_class register class
SYNOPSIS
conf_class_t *
SIM_register_class(const char *name,
class_data_t *class_data);

DESCRIPTION
This function registers a new class that can be instantiated by calling the SIM_create_
object function.
class_data may be freed when the function has returned.
typedef enum {
Sim_Class_Kind_Vanilla, /* object is saved at checkpoints */
Sim_Class_Kind_Session, /* object is saved as part of a
* session only */
Sim_Class_Kind_Pseudo
/* object is never saved */
} class_kind_t;
typedef struct class_data {
conf_object_t *(*new_instance)(parse_object_t *parse_obj);
int (*delete_instance)(conf_object_t *obj);
void (*finalize_instance)(conf_object_t *obj);
attr_value_t (*default_get_attr)(const char *name,
conf_object_t *obj,
attr_value_t *idx);
set_error_t (*default_set_attr)(const char *name,
conf_object_t *obj,
attr_value_t *val,
attr_value_t *idx);
conf_class_t
*parent;
const char
*description;
class_kind_t
kind;
} class_data_t;

The new_instance function should return a newly allocated object. The object must
begin with a conf_object_t structure which should be initialized with the object_
constructor function.
delete_instance must be NULL if the class does not support object deletion.
RETURN VALUE
Class structure, or NULL on error.
191

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

EXCEPTIONS
General Thrown if either the name or the class_data argument is NULL.
Attribute If the class_data structure does not include a new_instance function.
SEE ALSO
SIM_object_constructor, SIM_register_class_alias

192

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_register_class_alias()
NAME
SIM_register_class_alias register class alias
SYNOPSIS
void
SIM_register_class_alias(const char *alias,
const char *name);

DESCRIPTION
Register a new class alias alias for the already registered class class_name. Using aliases
allows the read-configuration command to read configuration files that define objects of
type alias, while the write-configuration command always uses class_name.
Aliases are used to support compatibility with old class names if a class is renamed.
They can also be used to allow different modules, which define different specific implementations of the same generic base class, to read the same configuration files.
SEE ALSO
SIM_register_class

193

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_register_interface()
NAME
SIM_register_interface, SIM_register_port_interface register interface
SYNOPSIS
int
SIM_register_interface(conf_class_t *cls, const char *name, void *iface);

int
SIM_register_port_interface(conf_class_t *cls, const char *name,
void *iface, const char *portname,
const char *desc);

DESCRIPTION
Register that cl implements the name interface. The interface itself should be supplied
in the iface argument.
SIM_register_port_interface() registers a port instance of an interface that must be
looked up using SIM_get_port_interface. The port name may not be the same as any
attribute name used by the class.
RETURN VALUE
Returns non-zero on failure, 0 otherwise.
EXCEPTIONS
General Thrown if the interface name is illegal.
SEE ALSO
SIM_get_interface, SIM_get_port_interface

194

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_register_typed_attribute()
NAME
SIM_register_typed_attribute, SIM_register_typed_class_attribute register attribute
SYNOPSIS
int
SIM_register_typed_attribute(
conf_class_t *cls, const char *name,
attr_value_t (*get_attr)(lang_void *user_data,
conf_object_t *obj,
attr_value_t *idx),
lang_void *user_data_get,
set_error_t (*set_attr)(lang_void *user_data,
conf_object_t *obj,
attr_value_t *val, attr_value_t *idx),
lang_void *user_data_set,
attr_attr_t attr, const char *type, const char *idx_type,
const char *desc);

int
SIM_register_typed_class_attribute(
conf_class_t *cls, const char *name,
attr_value_t (*get_attr)(lang_void *ptr,
conf_class_t *c,
attr_value_t *idx),
lang_void *user_data_get,
set_error_t (*set_attr)(lang_void *ptr,
conf_class_t *c,
attr_value_t *val,
attr_value_t *idx),
lang_void *user_data_set,
attr_attr_t attr, const char *type, const char *idx_type,
const char *desc);

DESCRIPTION
Add the attribute name to the set of attributes understood by the cls class.
The function get_attr is called with the object and the supplied data in user_data_get as
arguments, and returns the current value of the attribute. It may return a value of type
Sim_Val_Invalid if the argument has no sensible value. Lists and other compound
data structures should be allocated dynamically by get_attr. If get_attr is a null pointer,
the attribute will be write-only.

195

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

After the initial configuration, set_attr may be called at any time to change the value
of an attribute. Compound data structures should be copied if set_attr wants to keep
them. If set_attr is a null pointer, the attribute will be read-only.
All attributes that are marked Sim_Attr_Required must be present in all configurations.
typedef enum {
Sim_Attr_Required
Sim_Attr_Optional

= 0,
= 1,

Sim_Attr_Session
Sim_Attr_Pseudo

= 3,
= 4,

Sim_Attr_Flag_Mask

= 0xff,

Sim_Init_Phase_Shift
Sim_Init_Phase_0
Sim_Init_Phase_1

= 8,
= 0 << Sim_Init_Phase_Shift,
= 1 << Sim_Init_Phase_Shift,

Sim_Attr_Integer_Indexed
Sim_Attr_String_Indexed
Sim_Attr_List_Indexed

= 0x1000,
= 0x2000,
= 0x4000,

Sim_Attr_Persistent

= 0x20000,

/* set by SIM_register_*_attribute() */
Sim_Attr_Read_Only
= 0x40000,
Sim_Attr_Write_Only
= 0x80000
} attr_attr_t;

To make the set_attr function easier to write, Simics provides a simple type system for
attributes. You can provide typing information for both simple and indexed access
to the attribute via the type and idx_type attributes (note that, in the latter case, you
specify the type of the attribute for indexed access, not the type of the index). Setting
either parameter to NULL will prevent typechecking for that access mode (normal or
indexed).
A type is described by a string composed with the following rules:
A simple type is represented by a single letter: i (integer), f (floating), s (string), d
(data), o (object), b (boolean), D (dictionary), n (nil) or a (all).
You can match several types by using the operator | like in s|o (string OR object).
Note that if you provide a string when an object is expected, Simics will call SIM_
get_object() to try to translate the string into a valid object.
Lists are defined by square brackets: [ and ]. Lists can be specified in two ways:

196

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Lists with a fixed amount of arguments: [iffsf] matches (integer, floating,


floating, string, floating).
lists with a size specifier: [i] matches any list containing only integers (even
[]); [i+] matches any list containing only integers (but not []); [i{1:4}] matches
lists of integers with 1 to 4 elements; [i{4}] is the same as [i{4:4}], i.e. a list of
four integers. When you specify a size, the list definition can have only one
element.
| has higher precedence than concatenation in list description, i.e, [i|si|s] should
be read [i|s,i|s] which matches any two-element list with integer or string elements. For clarity you can use , wherever you want in the type definition, it will
be ignored.
RETURN VALUE
Returns zero if successful, and non-zero otherwise.
NOTE
During initial configuration (with the read-configuration command), attribute values
will be set in the same order as they are registered.

197

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_set_attribute()
NAME
SIM_set_attribute, SIM_set_class_attribute, SIM_set_attribute_idx, SIM_set_class_
attribute_idx set attribute
SYNOPSIS
set_error_t
SIM_set_attribute(conf_object_t *obj,
const char *name,
attr_value_t *value);

set_error_t
SIM_set_class_attribute(conf_class_t *cls,
const char *name,
attr_value_t *value);

set_error_t
SIM_set_attribute_idx(conf_object_t *obj,
const char *name,
attr_value_t *index,
attr_value_t *value);

set_error_t
SIM_set_class_attribute_idx(conf_class_t *cls,
const char *name,
attr_value_t *index,
attr_value_t *value);

DESCRIPTION
Set the name attribute in obj to value.
The _idx version of the function can be used to get a single entry in a list or data
attribute. For this to work, the attribute must support indexing.
RETURN VALUE
The return value is from the set_error_t enum, with Sim_Set_Ok indicating success.
SEE ALSO
SIM_get_attribute, set_error_t

198

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_set_configuration()
NAME
SIM_set_configuration set configuration from data
SYNOPSIS
void
SIM_set_configuration(attr_value_t conf);

DESCRIPTION
Note: It is recommended that the SIM_add_configuration function is used instead of SIM_
set_configuration.

This function is an alternative to reading the configuration from a file. A configuration


is an attr_value_t which should have the following structure.
(("name", "class",

("attr_name", attr_val) ... ), ... )

That is a list of object specifiers containing name, class, and a list of attribute specifiers.
An attribute specifier is a list of length 2 containing the attribute name and its value.
SIM_set_configuration() allows an easy way of parameterizing the configuration, especially if called from Python.
EXAMPLE
The following is an Python example:
from configuration import *
SIM_set_configuration([
["cpu0", "x86",
["queue", OBJ("cpu0")],
["freq_mhz", 20],
["physical_memory", OBJ("phys_mem0")]],
["phys_mem0", "memory-space",
["map", [[0xa0000,
OBJ("vga0"),
[0x00000,
OBJ("mem0"),
[0xc0000,
OBJ("mem0"),
[0xc8000,
OBJ("setmem0"),
[0xf0000,
OBJ("mem0"),
[0x100000,
OBJ("mem0"),
[0xfee00000, OBJ("apic0"),
... ])

199

1,
0,
0,
0,
0,
0,
0,

0, 0x20000],
0x00000, 0xA0000],
0xc0000, 0x8000],
0, 0x28000],
0xf0000, 0x10000],
0x100000, 0x3ff00000],
0, 0x4000]]]],

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

EXCEPTIONS
Attribute Thrown if malformed configuration list.
General Thrown if Simics fails to initialize all objects.
SEE ALSO
SIM_add_configuration, SIM_create_object

200

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_write_configuration_to_file()
NAME
SIM_write_configuration_to_file write configuration
SYNOPSIS
int
SIM_write_configuration_to_file(const char *file);

DESCRIPTION
Saves all objects to the configuration file filename. Objects whose class_kind_t is
equal to Sim_Class_Kind_Session or Sim_Class_Kind_Pseudo are not saved.
This also holds for attributes (in all objects) of types Sim_Attr_Session and Sim_Attr_
Pseudo.
Classes that wish to create additional files can use the SIM_get_configuration_file_
prefix call to get a suitable filename prefix.
RETURN VALUE
0 if successful, 1 otherwise.

201

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Documentation
SIM_register_copyright()
NAME
SIM_register_copyright register copyright information
SYNOPSIS
void
SIM_register_copyright(const char *str);

DESCRIPTION
This registers specific copyright information related to an extension module or similar
component of Simics. The Simics front-end command copyright will list, in addition
to Simics copyright notices, any registered notices from libraries or plug-ins that have
added a string using this function.
The string should contain only standard ASCII characters, be pre-formatted for at
most 80-character width terminal, be non-indented, and have no spurious new-line
characters before or after the last line (except for the new-line that marks the end of
the last line).
The string will not be copied so needs to be either static or a copy generated by the
callee (preferably static).

202

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_version()
NAME
SIM_version, SIM_version_sub, SIM_readme, SIM_snapshot_date, SIM_license,
SIM_copyright get version info about Simics
SYNOPSIS
const char *
SIM_version(void);

const char *
SIM_version_sub(void);

const char *
SIM_readme(void);

const char *
SIM_snapshot_date(void);

void
SIM_license(void);

void
SIM_copyright(void);

DESCRIPTION
Return strings describing the version of Simics, compile date, expiry date, license and
a general readme.

203

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Errors and Exceptions


SIM_clear_exception()
NAME
SIM_clear_exception clear pending exception
SYNOPSIS
sim_exception_t
SIM_clear_exception(void);

DESCRIPTION
Clears the current pending exception.
SimExc_No_Exception if none available.
RETURN VALUE
Returns the exception that was pending before the call, or SimExc_No_Exception
if none.
SEE ALSO
SIM_frontend_exception, SIM_get_pending_exception

204

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_command_has_problem()
NAME
SIM_command_has_problem, SIM_command_clear_problem, SIM_command_problem_
status signal error in command
SYNOPSIS
void
SIM_command_has_problem(void);

void
SIM_command_clear_problem(void);

int
SIM_command_problem_status(void);

DESCRIPTION
Call this function if the currently executing command, created with the python function new_command(), is having a problem. Examples of problems are illegal parameters, syntax error, serious error in carrying out command, etc. One of the effects is to
stop any enclosing structure, such as a script file, from continuing.
The current problem status can be queried with SIM_command_problem_status where
a return value of zero means no problem. The status can be cleared by calling SIM_
command_clear_problem(), allowing script files to continue executing.

205

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_frontend_exception()
NAME
SIM_frontend_exception raise an exception
SYNOPSIS
void
SIM_frontend_exception(sim_exception_t exc_type, const char *str);

DESCRIPTION
This function raises an exception of type exc_type and message str.
The state of the pending exception can be read with SIM_get_pending_exception() and
cleared with SIM_clear_exception().

206

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_pending_exception()
NAME
SIM_get_pending_exception get current pending exception
SYNOPSIS
sim_exception_t
SIM_get_pending_exception(void);

DESCRIPTION
This function returns the exception type of the current pending exception, or SimExc_
No_Exception if none available.
SEE ALSO
SIM_frontend_exception, SIM_clear_exception, SIM_last_error

207

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_last_error()
NAME
SIM_last_error get error message from last exception
SYNOPSIS
const char *
SIM_last_error(void);

DESCRIPTION
Returns the error message attached to the last exception raised.
SEE ALSO
SIM_frontend_exception

208

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Haps
SIM_c_hap_occurred()
NAME
SIM_c_hap_occurred, SIM_c_hap_occurred_vararg, SIM_c_hap_occurred_always, SIM_
c_hap_occurred_always_vararg trigger a hap occurrence
SYNOPSIS
int
SIM_c_hap_occurred(hap_type_t hap, conf_object_t *obj,
integer_t value, ...);

int
SIM_c_hap_occurred_vararg(hap_type_t hap, conf_object_t *obj,
integer_t value, va_list ap);

int
SIM_c_hap_occurred_always(hap_type_t hap, conf_object_t *obj,
integer_t value, ...);

int
SIM_c_hap_occurred_always_vararg(hap_type_t hap, conf_object_t *obj,
integer_t value, va_list ap);

DESCRIPTION
These functions are used to cause a hap of type hap. The value argument is used
for checking ranges. The hap-specific data is passed as the first parameter to the callback function (see SIM_hap_add_callback()). These functions return the number of
callbacks that were called.
SIM_hap_occurred() will only run callback functions for a specific hap once per simulated cycle. The SIM_hap_occurred_always() function will always run the callbacks.
The functions SIM_c_hap_occurred_vararg() and SIM_c_hap_occurred_always_vararg()
are vararg versions of these functions.
EXCEPTIONS
Break Thrown if a callback requested the simulation to stop. This exception will be
removed in a future Simics version. Do not write new code relying on it.
RETURN VALUE
The number of callback functions called.
SEE ALSO
SIM_break_simulation
209

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_all_hap_types()
NAME
SIM_get_all_hap_types get list of all hap types
SYNOPSIS
attr_value_t
SIM_get_all_hap_types(void);

DESCRIPTION
Get data structure with the names of all hap types.
RETURN VALUE
List with strings.

210

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_hap_add_callback()
NAME
SIM_hap_add_callback, SIM_hap_add_callback_index, SIM_hap_add_callback_range,
SIM_hap_add_callback_obj, SIM_hap_add_callback_obj_index, SIM_hap_add_callback_
obj_range install callback on a hap
SYNOPSIS
hap_handle_t
SIM_hap_add_callback(const char *hap,
obj_hap_func_t func,
typed_lang_void *user_data);

hap_handle_t
SIM_hap_add_callback_index(const char *hap,
obj_hap_func_t func,
typed_lang_void *user_data,
integer_t index);

hap_handle_t
SIM_hap_add_callback_range(const char *hap,
obj_hap_func_t func,
typed_lang_void *user_data,
integer_t start,
integer_t end);

hap_handle_t
SIM_hap_add_callback_obj(const char *hap,
conf_object_t *obj,
hap_flags_t flags,
obj_hap_func_t func,
typed_lang_void *user_data);

hap_handle_t
SIM_hap_add_callback_obj_index(const char *hap,
conf_object_t *obj,
hap_flags_t flags,
obj_hap_func_t func,
typed_lang_void *user_data,
integer_t index);

hap_handle_t
SIM_hap_add_callback_obj_range(const char *hap,

211

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions


conf_object_t *obj,
hap_flags_t flags,
obj_hap_func_t func,
typed_lang_void *user_data,
integer_t start,
integer_t end);

DESCRIPTION
Registers a function, pointed to by func, to be called when hap occurs for object obj.
If obj is NULL (None in Python), or a hap add function that does not have the obj
argument is used, then the callback function will be called regardless of what object
that triggers the hap. The user_data argument is the callback-specific data, and it will
be passed as first argument to the installed callback function.
Some hap add functions also take a flags argument. This flag is currently Simics internal and should be set to 0.
The hap callback functions should not return any data. In C, the functions are declared
to have a void return type and in Python, any return value is ignored. Since callback
functions with different arguments may be installed using the same API function, the
compiler may warn about a type mismatch. The solution is to cast the callback function pointer to the obj_hap_func_t type.
In hap functions, the execution can be interrupted by calling SIM_break_simulation.
If a frontend or Python exception is raised, an error message will be printed incuding
a stack trace if the callback is written in Python.
The _index_ and _range_ versions will install callbacks that only trigger for a specified index, or range of indices. The index is specific for each hap type, see the hap
documentation.
typedef int hap_handle_t;

RETURN VALUE
The return value is a hap callback handle (identifier) of the type hap_handle_t. This
handle can be used to remove the installed callback with SIM_hap_delete_callback_id.
EXCEPTIONS
Lookup Thrown if the hap does not exist.
Attribute Thrown if the callback is not valid.

212

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_hap_add_type()
NAME
SIM_hap_add_type register a new hap type
SYNOPSIS
hap_type_t
SIM_hap_add_type(const char *hap,
const char *params,
const char *param_desc,
const char *index,
const char *desc,
int old_had_obj);

DESCRIPTION
Creates a run-time defined hap type.
The params parameter specifies the argument that callbacks for this hap is called with,
e.g., "s" or "II". The first two arguments are always lang_void * and conf_
object_t * respectively, and should not be included in that string. The table below
shows which characters may be used, and what their meaning is:
i
I
e
o
s
m
c
v

an int
an integer_t (64 bit integer)
an exception_type_t
a script specific object; i.e., void * in C and any Python object in Python
a string
a memory transaction (generic_transaction_t * in C)
a configuration object (conf_object_t * in C)
a void *; a pointer to a C structure within Simics

parm_desc should be a string of space-separated words describing these parameters,


or NULL if params is the empty string.
index is a string describing the index value for this hap, or NULL if there is no index
value.
Hap types that used to have a conf_object_t pointer as first argument (before all haps
were associated with an object) should set the old_had_obj argument to 1. This tells
Simics to call old-style callbacks with a conf_object_t argument although the hap doesnt
include any c first in the parameter list anymore. Old style callbacks are functions
installed with the now obsolete SIM_hap_register_callback. . . and SIM_hap_install_
callback. . . functions.
desc is a description string for the hap.

213

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

EXCEPTIONS
General Thrown if hap is already defined. However, consequent calls with the same
parameters will be successful, and return the same hap type number each time.
RETURN VALUE
The hap type number or a number <= 0 on error.

214

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_hap_callback_exists()
NAME
SIM_hap_callback_exists get callback status
SYNOPSIS
int
SIM_hap_callback_exists(const char *hap,
obj_hap_func_t func,
typed_lang_void *user_data);

DESCRIPTION
Checks if there is an installed callback func with associated user_data for hap hap.
EXCEPTIONS
Lookup Thrown if no hap is associated with name id.
RETURN VALUE
1 if such a callback exists, 0 otherwise.

215

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_hap_delete_callback()
NAME
SIM_hap_delete_callback, SIM_hap_delete_callback_obj, SIM_hap_delete_callback_id,
SIM_hap_delete_callback_obj_id delete installed hap callback
SYNOPSIS
void
SIM_hap_delete_callback(const char *hap,
obj_hap_func_t func, typed_lang_void *user_data);

void
SIM_hap_delete_callback_obj(const char *hap,
conf_object_t *obj,
obj_hap_func_t func, typed_lang_void *user_data);

void
SIM_hap_delete_callback_id(const char *hap, hap_handle_t handle);

void
SIM_hap_delete_callback_obj_id(const char *hap,
conf_object_t *obj, hap_handle_t handle);

DESCRIPTION
Removes a callback for a hap type specified by the hap argument.
The SIM_hap_delete_callback_obj. . . () functions will remove a callback that is installed on the specified object obj.
SIM_hap_delete_callback() removes any callbacks with the callback function func
and the same user_data. The SIM_hap_delete_callback_. . . _id() functions take a
hap handle argument instead, as returned by the SIM_hap_add_callback. . . () functions.
These function will trigger the Core_Hap_Callback_Removed hap for each removed
callback. NOTE: Callbacks registered to be called on Core_Hap_Callback_Removed,
are not allowed to make recursive calls to remove or unregister any callbacks on the
same hap.
EXCEPTIONS
Lookup Thrown if the specified hap does not exist.

216

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_hap_get_name()
NAME
SIM_hap_get_name get hap name by number
SYNOPSIS
const char *
SIM_hap_get_name(hap_type_t hap);

DESCRIPTION
Returns the name of hap, or NULL for no such hap.

217

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_hap_get_number()
NAME
SIM_hap_get_number get hap number by name
SYNOPSIS
hap_type_t
SIM_hap_get_number(const char *hap);

DESCRIPTION
Return the runtime number associated with a hap identifier. All haps are listed in
section 8.
EXCEPTIONS
Lookup Thrown if no hap is associated with name id.
RETURN VALUE
The hap type number, or 0 on failure.

218

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_hap_is_active()
NAME
SIM_hap_is_active check if hap has callbacks
SYNOPSIS
int
SIM_hap_is_active(hap_type_t hap);

DESCRIPTION
Returns 1 if the hap has any callback functions installed, and 0 if not.

219

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_hap_occurred()
NAME
SIM_hap_occurred, SIM_hap_occurred_always trigger hap occurrence
SYNOPSIS
int
SIM_hap_occurred(hap_type_t hap, conf_object_t *obj,
integer_t value, attr_value_t *list);

int
SIM_hap_occurred_always(hap_type_t hap, conf_object_t *obj,
integer_t value, attr_value_t *list);

DESCRIPTION
Used to notify that a particular hap has occurred. All callbacks installed for the hap
will be called. The value is used to check range. The hap specific data is passed as
the first parameter to the callback function (see SIM_hap_add_callback()) A positive
return indicates the number of callback that was installed and run.
SIM_hap_occurred() will only call the callbacks once in a simulated cycle; i.e., it is
safe to call SIM_hap_occurred() and request the simulation to stop every time. The
SIM_hap_occurred_always() function will always call the hap functions every time.
NOTES
There are also versions of these functions that only can be called from C (with varargs), SIM_c_hap_occurred(), and SIM_c_hap_occurred_always().
EXCEPTIONS
An exception is thrown upon errors or if a callback requested the simulation to stop.
The kind of exception depends on the callback.
RETURN VALUE
The number of callbacks installed on the hap.

220

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_hap_remove_type()
NAME
SIM_hap_remove_type remove a hap type
SYNOPSIS
void
SIM_hap_remove_type(const char *hap);

DESCRIPTION
Remove a run-time defined hap type.

221

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Logging
SIM_get_quiet()
NAME
SIM_get_quiet return setting of the quiet flag
SYNOPSIS
int
SIM_get_quiet(void);

DESCRIPTION
This function returns the current value of Simicss quiet flag.

222

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_verbose()
NAME
SIM_get_verbose get the verbose flag
SYNOPSIS
int
SIM_get_verbose(void);

DESCRIPTION
This function returns the value of Simicss verbosity flag (corresponding to the -verbose
command-line argument).

223

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_log_constructor()
NAME
SIM_log_constructor initiate log class
SYNOPSIS
void
SIM_log_constructor(log_object_t *log_obj, parse_object_t *parse_obj);

DESCRIPTION
This constructor should be called by new_instance functions to initialize a new log
object.
SEE ALSO
log_object_t, SIM_log_message, SIM_log_register_groups

224

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_log_info()
NAME
SIM_log_info, SIM_log_error, SIM_log_undefined, SIM_log_spec_violation, SIM_
log_target_error, SIM_log_unimplemented output log message
SYNOPSIS
static void
SIM_log_info(int lvl, log_object_t *dev, int grp,
const char *str, ...);

static void
SIM_log_error(log_object_t *dev, int grp,
const char *str, ...);

static void
SIM_log_undefined(int lvl, log_object_t *dev, int grp,
const char *str, ...);

static void
SIM_log_spec_violation(int lvl, log_object_t *dev, int grp,
const char *str, ...);

static void
SIM_log_target_error(int lvl, log_object_t *dev, int grp,
const char *str, ...);

static void
SIM_log_unimplemented(int lvl, log_object_t *dev, int grp,
const char *str, ...);

DESCRIPTION
SIM_log_info() etc are C macros that should be used by devices and extensions which
are based on a log_object_t to print information and error messages. For more
information, see the SIM_log_message function. Each macros represents a log type.
SEE ALSO
SIM_log_message, SIM_log_constructor

225

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_log_message()
NAME
SIM_log_message print and log message
SYNOPSIS
void
SIM_log_message(conf_object_t *obj,
int level,
int group_ids,
log_type_t log_type,
const char *message);

DESCRIPTION
Prints and logs a message associated with a log_object_t object. Objects written in
C/C++ should use the SIM_log_<log-type>() macros instead.
level should be between 1 and 4:
1. important messages printed by default
2. high-level informative messages
3. standard debug messages
4. detailed information, such as register accesses
Messages of the Sim_Log_Error type are always printed on level 1. The group_ids
should have a bit set for each log group that the message corresponds to, as defined by
the SIM_log_register_groups(). The log_type argument is documented with the log_
type_t type.
SEE ALSO
SIM_log_constructor, SIM_log_register_groups, log_type_t

226

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_log_register_groups()
NAME
SIM_log_register_groups register names of log groups
SYNOPSIS
void
SIM_log_register_groups(conf_class_t *cls, const char **names);

DESCRIPTION
Register a list of log groups that a log_object_t object can use to separate messages.
The order of the groups in the list defines the group ids that should be used in the call
to SIM_log_message(). The group_ids argument to that function should have a bit set
corresponding to the group; i.e., a value of 1 for the first group, 2 for the second, 4 for
the third, etc. names should be a NULL-terminated array.
SEE ALSO
SIM_log_constructor, SIM_log_register_groups

227

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_set_quiet()
NAME
SIM_set_quiet enable/disable quiet mode
SYNOPSIS
void
SIM_set_quiet(int mode);

DESCRIPTION
Calling this function with an argument of 1 will enable the quiet mode, whereas an
argument of 0 will disable it. Any other arguments will cause a frontend exception.
Please note that enabling the quiet mode will disable verbose mode.

228

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_set_verbose()
NAME
SIM_set_verbose set the verbose flag
SYNOPSIS
void
SIM_set_verbose(int mode);

DESCRIPTION
This function sets Simicss internal verbosity flag (corresponding to the -verbose
command-line argument). The mode argument can be either 0 or 1. Note that setting
this flag will disable quiet mode.

229

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Memory
SIM_for_all_memory_pages()
NAME
SIM_for_all_memory_pages apply callback function to all memory pages
SYNOPSIS
void
SIM_for_all_memory_pages(void (*func)(integer_t addr), int i_or_d);

DESCRIPTION
Iterate through all known pages of memory and call a function for every page.
The callback func is passed the physical address of the first byte on the page. Each
page is S_PSIZE bytes large.
If i_or_d is 0, then func is only applied to pages that have had code executed on them
(i.e. intermediate code has been allocated at some time).
EXCEPTIONS
General Thrown if func is NULL.
NOTE
The memory pages are internal Simics pages. The size of a page may be different than
the logical page size of the target architecture.

230

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_load_binary()
NAME
SIM_load_binary read an executable file into memory
SYNOPSIS
physical_address_t
SIM_load_binary(conf_object_t *obj, const char *file,
physical_address_t offset, int use_pa, int verbose);

DESCRIPTION
Read a binary file (ELF, PE32, or PE32+ format) into memory and return the code entry
point.
The file will be loaded at the address formed by adding the virtual load address from
the file, with the offset offset. If the flag use_pa is set, the ELF physical load address is
used instead. The verbose flag will cause Simics to print info about the binary to the
console.
The memory space to load into is given in the obj parameter. If the given space is
a CPU object, its current virtual address space will be used, and addresses will be
translated before writing to the physical memory space attached to the CPU.
If the file is not found in the current directory, the search path (see add-directory) is
used to find the file.
EXCEPTIONS
IOError Thrown if there was a problem reading the file.
Memory Thrown if binary cannot be read into memory.
RETURN VALUE
The code entry address.

231

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_load_file()
NAME
SIM_load_file read a file into memory
SYNOPSIS
void
SIM_load_file(conf_object_t *obj, const char *file,
physical_address_t base_address, int verbose);

DESCRIPTION
Reads a file straight into memory starting at physical address base_address. The flag
verbose will cause Simics to print info about the file to the console.
EXCEPTIONS
Attribute Thrown if no file is specified.
IOError Thrown if there was a problem reading the file.
Memory Thrown if file cannot be read into memory.

232

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_logical_to_physical()
NAME
SIM_logical_to_physical translate logical to physical
SYNOPSIS
physical_address_t
SIM_logical_to_physical(conf_object_t *cpu,
data_or_instr_t data_or_instr,
logical_address_t vaddr);

DESCRIPTION
Translates logical to physical address, assumes a word read operation in supervisor
mode to the address using supplied processor.
EXCEPTIONS
Memory Thrown if no translation exists.
RETURN VALUE
The physical address.

233

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_read_byte()
NAME
SIM_read_byte, SIM_write_byte read/write byte from a memory space
SYNOPSIS
uint8
SIM_read_byte(conf_object_t *obj, generic_address_t paddr);

void
SIM_write_byte(conf_object_t *obj, generic_address_t paddr, uint8 value);

DESCRIPTION
Read or write a byte from a given address in the memory space obj.
EXCEPTIONS
Memory Thrown if the memory space threw an exception
General Thrown if the object does not implement the memory space interface, or if obj
is NULL.
RETURN VALUE
The byte read.

234

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_read_phys_memory()
NAME
SIM_read_phys_memory read data from a physical address
SYNOPSIS
uinteger_t
SIM_read_phys_memory(conf_object_t *cpu,
physical_address_t paddr,
int length);

DESCRIPTION
Reads length bytes from address paddr in the physical memory space associated with
the processor cpu.
Up to 8 bytes can be read in one call. The memory access will be of inquiry type, i.e.
no timing-model or snoop device will be called.
EXCEPTIONS
Memory Thrown if no memory defined at paddr.
Attribute Thrown if length is out of range.
RETURN VALUE
The read data, zero-extended.

235

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_read_phys_memory_tags()
NAME
SIM_read_phys_memory_tags, SIM_write_phys_memory_tags access auxiliary
bits in physical memory
SYNOPSIS
uint64
SIM_read_phys_memory_tags(conf_object_t *mem_space, physical_address_t paddr,
unsigned ntags);

void
SIM_write_phys_memory_tags(conf_object_t *mem_space, physical_address_t paddr,
uint64 tag_bits, unsigned ntags);

DESCRIPTION
Reads or writes ntags auxiliary bits starting at paddr in the physical memory space
mem_space. Up to 64 bits can be accessed at once. The bits are specified and returned
right-aligned, least significant bit corresponding to the lowest address.

236

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_write_phys_memory()
NAME
SIM_write_phys_memory write data to a physical address
SYNOPSIS
void
SIM_write_phys_memory(conf_object_t *cpu,
physical_address_t paddr,
uinteger_t value, int length);

DESCRIPTION
Writes length bytes to address paddr in the physical memory space associated with the
processor cpu.
Up to 8 bytes can be written in one call. The memory access will be of inquiry type,
i.e. no timing-model or snoop device will be called.
EXCEPTIONS
Memory Thrown if no memory defined at paddr.
Attribute Thrown if length is out of range.

237

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Memory Transactions
SIM_alpha_mem_trans_from_generic()
NAME
SIM_alpha_mem_trans_from_generic, SIM_arm_mem_trans_from_generic, SIM_ia64_
mem_trans_from_generic, SIM_mips_mem_trans_from_generic, SIM_ppc_mem_trans_
from_generic, SIM_v9_mem_trans_from_generic, SIM_x86_mem_trans_from_generic,
SIM_pci_mem_trans_from_generic convert generic transaction to CPU specific
SYNOPSIS
struct alpha_memory_transaction *
SIM_alpha_mem_trans_from_generic(generic_transaction_t *mop);

struct arm_memory_transaction *
SIM_arm_mem_trans_from_generic(generic_transaction_t *mop);

struct ia64_memory_transaction *
SIM_ia64_mem_trans_from_generic(generic_transaction_t *mop);

struct mips_memory_transaction *
SIM_mips_mem_trans_from_generic(generic_transaction_t *mop);

struct ppc_memory_transaction *
SIM_ppc_mem_trans_from_generic(generic_transaction_t *mop);

struct v9_memory_transaction *
SIM_v9_mem_trans_from_generic(generic_transaction_t *mop);

struct x86_memory_transaction *
SIM_x86_mem_trans_from_generic(generic_transaction_t *mop);

struct pci_memory_transaction *
SIM_pci_mem_trans_from_generic(generic_transaction_t *mop);

DESCRIPTION
Converts a pointer to a generic memory transaction into a pointer to a CPU specific
memory transaction. The generic memory transaction must be part of a CPU specific
one for this function to succeed. The pointer returned will be the same the input
pointer if conversion is allowed, and NULL on failure.
238

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

EXCEPTIONS
Type Thrown if the generic transaction is not part of a CPU specific transaction.
RETURN VALUE
New memory transaction pointer, or NULL on error.

239

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_c_get_mem_op_value_buf()
NAME
SIM_c_get_mem_op_value_buf, SIM_get_mem_op_value_buf, SIM_get_mem_op_
value_cpu, SIM_get_mem_op_value_le, SIM_get_mem_op_value_be get value
for a memory operation
SYNOPSIS
void
SIM_c_get_mem_op_value_buf(generic_transaction_t *mop, char *dst);

attr_value_t
SIM_get_mem_op_value_buf(generic_transaction_t *mop);

uinteger_t
SIM_get_mem_op_value_cpu(generic_transaction_t *mop);

uinteger_t
SIM_get_mem_op_value_le(generic_transaction_t *mop);

uinteger_t
SIM_get_mem_op_value_be(generic_transaction_t *mop);

DESCRIPTION
Returns load or store value for a memory transaction. If the data size is 8 bytes or less
the SIM_get_mem_op_value_be() and SIM_get_mem_op_value_le() functions can be
used. For reads/writes larger than 8 bytes, the functions SIM_c_get_mem_op_value_
buf() or SIM_get_mem_op_value_buf() should be used to get the data.
The SIM_c_get_mem_op_value_buf() function is only available from C/C++. It places
the data into the buffer pointed to by dst. No endian conversion is performed, i.e.
data is returned in target endianness. There is no alignment requirement on the dst
parameter.
WARNING
When called from a memory-hierarchy (timing-model) only store values can be retrieved, since the load has not yet performed. To get the load value, a snoop-device
should be used.
RETURN VALUE
SIM_c_get_mem_op_value_buf() returns nothing. The out parameter dst is filled with
the data buffer of the memory transaction. SIM_get_mem_op_value_buf() returns an
attr_value_t containing the the data buffer (type Sim_Val_Data) of the memory
240

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

transaction. SIM_get_mem_op_value_be() returns the zero-extended value in host endian order (interpreted as big endian) for the memory transaction. SIM_get_mem_op_
value_le() returns the zero-extended value in host endian order (interpreted as little
endian). SIM_get_mem_op_value_cpu() interprets the data in the default endian order
for the initiating processor.
EXCEPTIONS
Memory Thrown if the size of the operation is illegal.

241

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_c_set_mem_op_value_buf()
NAME
SIM_c_set_mem_op_value_buf, SIM_set_mem_op_value_buf, SIM_set_mem_op_
value_cpu, SIM_set_mem_op_value_le, SIM_set_mem_op_value_be set value for
a memory operation
SYNOPSIS
void
SIM_c_set_mem_op_value_buf(generic_transaction_t *mop, char *src);

void
SIM_set_mem_op_value_buf(generic_transaction_t *mop, attr_value_t value);

void
SIM_set_mem_op_value_cpu(generic_transaction_t *mop, uinteger_t value);

void
SIM_set_mem_op_value_le(generic_transaction_t *mop, uinteger_t value);

void
SIM_set_mem_op_value_be(generic_transaction_t *mop, uinteger_t value);

DESCRIPTION
Set the value returned to the requester of a memory operation. If the data size is 8
bytes or less the SIM_set_mem_op_value_be() and SIM_set_mem_op_value_le functions can be used. For sizes larger than 8 bytes, the functions SIM_c_set_mem_op_
value_buf() or SIM_set_mem_op_value_buf() should be used to set the data.
SIM_c_set_mem_op_value_buf() is only available from C/C++, it operates on data in
target endian order. There is no alignment requirement on the buf parameter.
SIM_set_mem_op_value_be() takes data in host endian order and sets it in big-endian.
SIM_set_mem_op_value_le() takes data in host endian order and sets it in little-endian.
SIM_set_mem_op_value_cpu() takes data in host endian order and sets it in the default
endian order for the initiating processor.
WARNING
These functions cannot be called from a timing-model since the real operation will overwrite the value set. They should instead be used from a snoop-device.

242

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_mem_op_type()
NAME
SIM_get_mem_op_type get type of transaction
SYNOPSIS
FORCE_INLINE mem_op_type_t
SIM_get_mem_op_type(const generic_transaction_t *NOTNULL mop);

DESCRIPTION
This function returns the type of the memory transaction.

243

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_mem_op_type_name()
NAME
SIM_get_mem_op_type_name get name of memory operation type
SYNOPSIS
const char *
SIM_get_mem_op_type_name(mem_op_type_t type);

DESCRIPTION
Returns a string describing type or NULL if unknown.

244

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_unique_memory_transaction_id()
NAME
SIM_get_unique_memory_transaction_id get unique memory transaction ID
SYNOPSIS
int
SIM_get_unique_memory_transaction_id(conf_object_t *obj);

DESCRIPTION
Returns a number which is unique for all currently outstanding memory operations of
the specified CPU obj. You can read the last value returned by this function by calling
SIM_get_current_memory_transaction_id().

245

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_mem_op_is_control()
NAME
SIM_mem_op_is_control transaction control predicates
SYNOPSIS
FORCE_INLINE int
SIM_mem_op_is_control(const generic_transaction_t *NOTNULL mop);

DESCRIPTION
Checks whether mem_op is control transaction.

246

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_mem_op_is_data()
NAME
SIM_mem_op_is_data, SIM_mem_op_is_instruction transaction data/instruction
predicates
SYNOPSIS
FORCE_INLINE int
SIM_mem_op_is_data(const generic_transaction_t *NOTNULL mop);

FORCE_INLINE int
SIM_mem_op_is_instruction(const generic_transaction_t *NOTNULL mop);

DESCRIPTION
These functions check whether mem_op is a data or an instruction transaction. Currently, the only transactions that are instruction transactions are instruction fetches.

247

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_mem_op_is_from_cache()
NAME
SIM_mem_op_is_from_cache Cache initiated transaction
SYNOPSIS
FORCE_INLINE int
SIM_mem_op_is_from_cache(const generic_transaction_t *NOTNULL mop);

DESCRIPTION
Checks whether mem_op is sent from a cache timing model.

248

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_mem_op_is_from_cpu()
NAME
SIM_mem_op_is_from_cpu CPU initiated transaction
SYNOPSIS
FORCE_INLINE int
SIM_mem_op_is_from_cpu(const generic_transaction_t *NOTNULL mop);

DESCRIPTION
Checks whether mem_op is sent from a processor.

249

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_mem_op_is_from_cpu_arch()
NAME
SIM_mem_op_is_from_cpu_arch CPU initiated transaction
SYNOPSIS
FORCE_INLINE int
SIM_mem_op_is_from_cpu_arch(const generic_transaction_t *NOTNULL mop,
ini_type_t arch);

DESCRIPTION
Checks whether mem_op is sent from a processor of a specific architecture.

250

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_mem_op_is_from_device()
NAME
SIM_mem_op_is_from_device Device initiated transaction
SYNOPSIS
FORCE_INLINE int
SIM_mem_op_is_from_device(const generic_transaction_t *NOTNULL mop);

DESCRIPTION
Checks whether mem_op is sent from a device.

251

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_mem_op_is_prefetch()
NAME
SIM_mem_op_is_prefetch transaction control predicates
SYNOPSIS
FORCE_INLINE int
SIM_mem_op_is_prefetch(const generic_transaction_t *NOTNULL mop);

DESCRIPTION
Checks whether mem_op is prefetch transaction.

252

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_mem_op_is_read()
NAME
SIM_mem_op_is_read, SIM_mem_op_is_write transaction read/write predicates
SYNOPSIS
FORCE_INLINE int
SIM_mem_op_is_read(const generic_transaction_t *NOTNULL mop);

FORCE_INLINE int
SIM_mem_op_is_write(const generic_transaction_t *NOTNULL mop);

DESCRIPTION
These functions check whether mem_op is a read or a write transaction.

253

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_set_mem_op_type()
NAME
SIM_set_mem_op_type set type of transaction
SYNOPSIS
FORCE_INLINE void
SIM_set_mem_op_type(generic_transaction_t *NOTNULL mop, mem_op_type_t type);

DESCRIPTION

254

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Modules
SIM_get_all_failed_modules()
NAME
SIM_get_all_failed_modules return a list of all modules that failed to load
SYNOPSIS
attr_value_t
SIM_get_all_failed_modules(void);

DESCRIPTION
A failed module is a module that is not loadable by the current version of Simics.
The list returned contains information about why the module failed. Each list entry is
another list with module specific information. The layout of this sub-list is described
below. The list may grow in future Simics version, but the currently defined fields will
not change.
name - Module name (Sim_Val_String).
path - File system path to the module (Sim_Val_String).
duplicate - Flag indicating a duplicate module (Sim_Val_Boolean).
linker - Flag indicating a linker error. (Sim_Val_Boolean).
version - Simics ABI version that the module is build for (Sim_Val_Integer).
user version - User version of the module (Sim_Val_String).
error - Error message, typically from the linker (Sim_Val_String or Sim_Val_Nil).
SEE ALSO
SIM_get_all_modules

255

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_all_modules()
NAME
SIM_get_all_modules return a list of all modules
SYNOPSIS
attr_value_t
SIM_get_all_modules(void);

DESCRIPTION
The list returned contains information about all modules that can be loaded into Simics. Each list entry is another list with module specific information. The layout of
this sub-list is described below. The list may grow in future Simics version, but the
currently defined fields will not change.
name - Module name (Sim_Val_String).
path - File system path to the module (Sim_Val_String).
loaded - Flag indicating that the module is already loaded (Sim_Val_Boolean).
version - Simics ABI version that the module is build for (Sim_Val_Integer).
user version - User version of the module (Sim_Val_String).
SEE ALSO
SIM_get_all_failed_modules

256

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_load_module()
NAME
SIM_load_module, SIM_unload_module load/unload modules
SYNOPSIS
void
SIM_load_module(const char *module);

void
SIM_unload_module(const char *module);

DESCRIPTION
Load a module (Simics extension). Simics supports dynamically loadable modules.
Anything linked as dynamic can be loaded. SIM_load_module takes the module name
module as argument and tries to link in the corresponding library file. Under Unix
lib<module>.so will be used and under Windows <module>.dll. Python modules
(.py) can also be loaded with this function. SIM_unload_module unloads a module if
the module supports it.
Modules should be placed in the simics lib directory or in a directory present in the
SIMICS_EXTRA_LIB environment variable.

257

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_module_list_refresh()
NAME
SIM_module_list_refresh refresh list of loadable modules
SYNOPSIS
void
SIM_module_list_refresh(void);

DESCRIPTION
Simics maintains a list of all modules that can be loaded successfully. If a module is
changed or added, the list has to be refreshed before Simics can load this module.

258

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Output
SIM_add_output_handler()
NAME
SIM_add_output_handler register output handler
SYNOPSIS
void
SIM_add_output_handler(output_handler_t func, lang_void *user_data);

DESCRIPTION
This function registers func(user_data, buf, count) to be called whenever there is text
output from Simics, where data is the pointer in the call to SIM_remove_output_handler(),
buf is a pointer to the output data, and count is the number of bytes to be written.
This is the definition of output_handler_t:
typedef void (*output_handler_t)(lang_void *data,
const char *src, size_t length);

SEE ALSO
SIM_remove_output_handler, SIM_write

259

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_remove_output_handler()
NAME
SIM_remove_output_handler unregister output handler
SYNOPSIS
void
SIM_remove_output_handler(output_handler_t func, typed_lang_void *user_data);

DESCRIPTION
This function removes func as an output recipient. If data is NULL, all previously added
output handlers (by a call to SIM_add_output_handler()) will be removed; otherwise,
only those with equal data pointers will be removed.
SEE ALSO
SIM_add_output_handler, SIM_write

260

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_write()
NAME
SIM_write, SIM_flush, SIM_putchar, SIM_puts, SIM_printf, SIM_printf_vararg
text output routines
SYNOPSIS
int
SIM_write(const void *src, int length);

int
SIM_flush(void);

int
SIM_putchar(int c);

int
SIM_puts(const char *s);

int
SIM_printf(const char *format, ...);

int
SIM_printf_vararg(const char *format, va_list ap);

DESCRIPTION
These are the Simics versions of the write(), putchar(), puts(), printf(), vprintf(), and
fflush() C library functions. The arguments and return values are the same as for the
library functions, except for SIM_write() which does not take any file argument.
The output will be sent to stdout, but more output recipients can be added using the
SIM_add_output_handler() function. Output is line buffered. SIM_flush() will force
output of an unterminated line.
By default, simics_api.h will define a number of macros, changing calls to the
abovementioned C library functions to call the Simics versions instead:
#undef printf
#if defined(HAVE_VARARG_MACROS)
#define printf(...) SIM_printf(__VA_ARGS__)
#else
#define printf SIM_printf
#endif

261

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

#undef vprintf
#define vprintf(str, ap) SIM_printf_vararg(str, ap)
#undef puts
#define puts(str) SIM_puts(str)
#undef putchar
#define putchar(c) SIM_putchar(c)
#undef fwrite
#define fwrite(ptr, size, nmemb, stream)
((stream) == stdout
? (size_t)SIM_write((ptr), (size) * (nmemb))
: fwrite(ptr, size, nmemb, stream))
#undef fputs
#define fputs(str, stream)
((stream) == stdout
? SIM_write((str), strlen(str))
: fputs((str), (stream)))

\
\
\

\
\
\

#undef fflush
#define fflush(stream) ((stream) == stdout ? SIM_flush() : fflush(stream))

This behavior can be overridden, see the information about the SIM_BC_NO_STDOUT_
REDEFINE macro in section 3.4.1.
SEE ALSO
SIM_add_output_handler

262

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Path
SIM_add_directory()
NAME
SIM_add_directory add directory to search path
SYNOPSIS
void
SIM_add_directory(const char *directory, int prepend);

DESCRIPTION
Adds a directory to Simicss search-path. This is a list of directory which Simics uses
when searching for files such as disk-dumps, kernel images, etc.
The directory argument is first converted using SIM_native_path, to yield a path on
host native form. If the path does not exist, a warning is printed and the path is
ignored.
If prepend is set, the directory is inserted first in the list of directories.
This list of directories is saved as the attribute simics-path when doing write-configuration.
Each directory is first converted to absolute form if relative.
This function replaces the obsolete function SIM_set_simics_path().
SEE ALSO
SIM_lookup_file

263

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_clear_directories()
NAME
SIM_clear_directories clear the search path
SYNOPSIS
void
SIM_clear_directories(void);

DESCRIPTION
Deletes all directories from the search path.

264

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_directories()
NAME
SIM_get_directories get the current search path
SYNOPSIS
attr_value_t
SIM_get_directories(void);

DESCRIPTION
Returns the current value of the directory search path.

265

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_lookup_file()
NAME
SIM_lookup_file find a file using simics-path
SYNOPSIS
const char *
SIM_lookup_file(const char *file);

DESCRIPTION
Searches for a file in the Simics search path as given to SIM_add_directory().
The returned path will always be in host native format, so the returned path will not
need to be converted. See SIM_native_path for more details on what host native
format means.
The search algorithm is as follows.
If file is NULL, the function fails.
If file is an absolute path, it is converted to host native form and returned. If the
file does not exist, the function fails.
If file exists in or relative to the current directory, it is returned without using the
directory list. This is more or less equivalent of always having . first in the list.
For each directory in the search path: The directory and the file is concatenated
and converted to host native format. If the resulting file exists, it is returned.
If the function fails, NULL is returned.
If the file was found, a pointer to the full path to the file is returned. The returned
string should not be modified.

266

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_native_path()
NAME
SIM_native_path convert path to its native form
SYNOPSIS
char *
SIM_native_path(const char *NOTNULL path);

DESCRIPTION
Translates a path to its host native form. The only platform for which this function
is not a no-op is Windows. The translation can be disabled using the -no-usecygpath command line flag.
On Windows, this function translates Cygwin style paths into Windows native form.
This is implemented internally, the cygpath utility is not invoked. If the path contains
a colon (:) or a backslash, the path is assumed to be on native form already, and no
translation will be performed.
Translating a Cygwin paths is done by looking up Cygwin mount prefixes in the registry, and replacing any matching prefixes with their native counterpart. Also, Cygwin
symlinks are resolved and followed. Finally, any slashes in the path is converted to
backslash. The path is not normalized, i.e. the resulting path may contain ...
Note: the symlink lookup mechanism does not handle the case when nowinsymlink
is set in the CYGWIN environment-variable.
The function uses a static buffer to store its result, which will be overwritten at the
next call.

267

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Processor
SIM_current_processor()
NAME
SIM_current_processor get current processor
SYNOPSIS
conf_object_t *
SIM_current_processor(void);

DESCRIPTION
Returns a pointer to the current processor. The returned processor pointer can be used
in calls to other API functions, or as a reference to the processor in Python.
The current processor is the processor that Simics currently simulating. See the user
manual for further explanation of Simicss simulation model.
EXCEPTIONS
Lookup Thrown if no processor exists.
RETURN VALUE
Processor pointer.

268

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_disassemble()
NAME
SIM_disassemble disassemble instruction
SYNOPSIS
tuple_int_string_t *
SIM_disassemble(conf_object_t *cpu, generic_address_t addr, int type);

DESCRIPTION
This function disassembles the instruction at the given address. Address is either a
physical address (type == 0) or a logical address (type == 1). A pointer to a tuple_
int_string_t is returned which contains the disassembly string as well as the length
of the instruction (bytes). tuple_int_string_t is defined like this:
typedef struct {
int integer;
const char *string;
} tuple_int_string_t;

For the Sparc, Alpha, and PowerPC targets the length is always 4 bytes. On IA-64, the
length is undefined.
EXCEPTIONS
General Thrown if arguments are invalid.
Memory Thrown if the address is undefined or not mapped in the MMU (for logical
addresses).

269

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_enable_processor()
NAME
SIM_enable_processor, SIM_disable_processor enable or disable a processor
SYNOPSIS
void
SIM_enable_processor(conf_object_t *cpu);

void
SIM_disable_processor(conf_object_t *cpu);

DESCRIPTION
These functions disables (deactivates) or enables (reactivates) the specified processor.
Processors that are disabled simply stall indefinitely. Make sure at least one processor
is enabled at any given time.
This function can not be called during the execution of an instruction, for example,
in a device or a timing-model. If you wish to call them in these situations, use SIM_
stacked_post() to post a callback that will be run as soon as possible after the instruction finished.
EXCEPTIONS
General Thrown if the processor already is enabled/disabled.
SEE ALSO
SIM_processor_enabled

270

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_all_processors()
NAME
SIM_get_all_processors get list of all processors
SYNOPSIS
attr_value_t
SIM_get_all_processors(void);

DESCRIPTION
Return a list of all processor objects.
RETURN VALUE
List of processors.

271

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_all_registers()
NAME
SIM_get_all_registers get all register numbers
SYNOPSIS
attr_value_t
SIM_get_all_registers(conf_object_t *cpu);

DESCRIPTION
Returns a list of all register numbers for a processor. The register numbers can for
example be used in calls to SIM_read_register and SIM_write_register.
RETURN VALUE
List of register numbers.

272

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_exception_name()
NAME
SIM_get_exception_name, SIM_get_exception_number, SIM_get_all_exceptions
processor exception conversion utilities
SYNOPSIS
const char *
SIM_get_exception_name(conf_object_t *cpu, int exc);

int
SIM_get_exception_number(conf_object_t *cpu, const char *name);

attr_value_t
SIM_get_all_exceptions(conf_object_t *cpu);

DESCRIPTION
These functions convert from a processor exception number to the associated exception name and vice versa. The SIM_get_all_exceptions function can be used to get a
list of all exceptions.
EXCEPTIONS
General Thrown if exception cannot be found.

273

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_processor()
NAME
SIM_get_processor get processor pointer from number
SYNOPSIS
conf_object_t *
SIM_get_processor(int proc_no);

DESCRIPTION
Converts processor id number to processor pointer. Note that processors are numbered from 0 to (number_processors - 1). This function cannot be used until a configuration had been loaded succcessfully.
EXCEPTIONS
Index Thrown if no processor with number proc_no exists.
RETURN VALUE
The processor pointer, NULL on failure.

274

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_processor_number()
NAME
SIM_get_processor_number get the number of a processor
SYNOPSIS
int
SIM_get_processor_number(const conf_object_t *cpu);

DESCRIPTION
Returns the global processor number for a processor in Simics.
RETURN VALUE
The processor number

275

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_program_counter()
NAME
SIM_get_program_counter, SIM_set_program_counter read/write program counter
SYNOPSIS
logical_address_t
SIM_get_program_counter(conf_object_t *cpu);

void
SIM_set_program_counter(conf_object_t *cpu, logical_address_t pc);

DESCRIPTION
These functions provide a portable way to examine and update the program counter
and stack pointer of a processor.
The actual registers that are read/written depend on the target architecture. For example on the x86-64 architecture the program counter is the RIP register and the stack
pointer is the RSP register.
For IA-64, the program counter is the ip register, with the current slot number added
to the lowest two bits of the address.

276

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_get_register_number()
NAME
SIM_get_register_number, SIM_get_register_name convert between register name
and register number
SYNOPSIS
int
SIM_get_register_number(conf_object_t *cpu, const char *name);

const char *
SIM_get_register_name(conf_object_t *cpu, int reg);

DESCRIPTION
These functions convert a given register number to the register name or vice versa.
Name to number conversion functions are not case sensitive.
EXCEPTIONS
General If the register name is not found. Index If reg index is out of range
RETURN VALUE
Register index or string pointer to name.

277

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_number_processors()
NAME
SIM_number_processors number of processors
SYNOPSIS
int
SIM_number_processors(void);

DESCRIPTION
Returns the current total number of processors in the system.
RETURN VALUE
Number of processors.

278

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_processor_enabled()
NAME
SIM_processor_enabled check if processor is enabled
SYNOPSIS
int
SIM_processor_enabled(conf_object_t *cpu);

DESCRIPTION
Returns 1 if the processor is enabled, or 0 if it is disabled.
RETURN VALUE
1 if enabled, else 0.
SEE ALSO
SIM_enable_processor

279

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_processor_privilege_level()
NAME
SIM_processor_privilege_level return the current privilege level for a processor
SYNOPSIS
int
SIM_processor_privilege_level(conf_object_t *cpu);

DESCRIPTION
Return the current privilege level for a processor. The definition of privilege levels
depends on the processor type.
RETURN VALUE
For SPARC, and PowerPC, and ARM processors: 0 for User mode, and 1 for Supervisor mode.
For x86 and IA-64 processors: 0-3, where 0 is the most privileged.
For Alpha processors: 0 for kernel mode, 1 for executive mode, and 3 for user mode.
For MIPS processors: 0

280

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_read_register()
NAME
SIM_read_register get register value
SYNOPSIS
uinteger_t
SIM_read_register(conf_object_t *cpu, int reg);

DESCRIPTION
Returns the value of the specified processor register.
For the ARM target, this function returns the value of the register in the bank corresponding to the current mode. To access copies of the register in other banks, use the
read_register_mode function in the arm interface.
EXCEPTIONS
Index Thrown if reg is out of range.
RETURN VALUE
Value from the register.

281

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_register_arch_decoder()
NAME
SIM_register_arch_decoder, SIM_unregister_arch_decoder install/uninstall instruction decoders
SYNOPSIS
void
SIM_register_arch_decoder(decoder_t *decoder,
const char *arch, int arch_mode);

void
SIM_unregister_arch_decoder(decoder_t *decoder,
const char *arch, int arch_mode);

DESCRIPTION
SIM_register_arch_decoder makes it possible to install instruction decoders in Simics.
This allows adding instructions, or replacing existing instructions with new implementations.
SIM_unregister_arch_decoder unregisters decoders registered with SIM_register_arch_
decoder. SIM_unregister_arch_decoder must not be called while an instruction is executing. This is the case the decode and service routine functions of instruction decoders, in the operate function of the timing-model interface, and in the operation
function of the io-memory interface. It is also the case for callbacks for some haps. In
these cases, post an event using SIM_stacked_post and unregister the decoder from
the event handler.
When Simics decodes an instruction, it will first see if any instruction decoders are
registered for the current architecture. For any decoders it finds, Simics will let it
try to decode the instruction. The decoders are called in order, starting with the last
registered decoder, and if one decoder accepts the instruction, the rest of the decoders
will not be called.
When a decoder accepts an instruction, it creates a structure describing the decoded
instruction, including a pointer to a function that Simics will call each time the instruction is executed.
decoder is the decoder to register
arch is the target architecture that the decoder can decode instruction for. It is matched
against the architecture attribute on CPU objects to determine whether the decoder applies. It can also be given as NULL, which means that the decoders will be used for all
CPU architectures. The simplest way to find the value to use is to load a configuration
into Simics and check the value of the architecture attribute in the CPU object.
arch_mode is the instruction mode of the architecture. This should always be 0.

282

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

The decoder_t type is a structure providing the functions used to invoke the decoder.
typedef struct {
void *user_data;
int (*NOTNULL decode)(unsigned char *code,
int valid_bytes,
conf_object_t *cpu,
instruction_info_t *ii,
void *user_data);
int (*NOTNULL disassemble)(unsigned char *code,
int valid_bytes,
conf_object_t *cpu,
char *buffer,
void *user_data);
int (*NOTNULL flush)(conf_object_t *cpu,
instruction_info_t *ii,
void *user_data);
} decoder_t;

The decode function is called to decode an instruction pointed to by code. The first byte
represents the lowest address of the instruction in the simulated memory. valid_bytes
tells how many bytes can be read. The current CPU is given in the cpu parameter.
When the decoder has successfully decoded the instruction, it fills in the ii structure,
and returns the number of bytes used in the decoding. If it does not apply to the given
instruction, it should return zero. If the decoder needs more data it should return a
negative number corresponding to the total number of bytes needed. Simics will then
call the decoder again with more available bytes. This process is repeated until the
decoder accepts or rejects the instruction.
Note that in a shared memory multiprocessor, the cpu used in decoding may differ
from the CPU that executes the instruction, since the decoded instructions are cached
by Simics.
The disassemble function is called to disassemble an instruction. It uses the same
code, valid_bytes, and cpu parameters as the decode function. In addition, it takes a
pointer to a string buffer, buffer. The disassembly should be written to this buffer as
a null-terminated string with a maximum length of 256 characters, including the null
terminator. The return value is handled identically to the that of the decode function.
The flush function is called to free any memory allocated when decoding an instruction, including the register info array. Just like the other functions, it should return
zero if it doesnt recognize the instruction, and non-zero if it has handled it. Usually,
the way to recognize if a decoded instruction is the right one is to compare ii->ii_
ServiceRoutine with what is set in the decode function. Note that the cpu parameter
is the processor that caused the flush. It is more or less an arbitrary processor and
should be ignored.

283

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

In addition to the function pointers, the structure contains a user_data pointer that
is passed to all the functions. This can be used for passing any data to the decoder
functions.
The instruction_info_t is defined like this.
typedef struct instruction_info {
service_routine_t ii_ServiceRoutine;
unsigned int
ii_Arg;
unsigned int
ii_Type;
reg_info_t
*ii_RegInfo;
lang_void
*ii_UserData;
logical_address_t ii_LogicalAddress;
physical_address_t ii_PhysicalAddress;
} instruction_info_t;

ii_ServiceRoutine is a pointer to a service routine to be called by Simics every time the


instruction is executed. It has the following prototype:
typedef exception_type_t (*service_routine_t)(conf_object_t *cpu,
unsigned int arg,
lang_void *user_data);

ii_Arg is the argument that will be passed on to the service routine. It typically contains
a bit-field of parameters to the instruction such as register numbers or intermediate
values. It can also be a pointer to a structure if more appropriate.
ii_Type is either UD_IT_SEQUENTIAL or UD_IT_CONTROL_FLOW. A sequential type
means that the instruction does not perform any branches and the update of the program counter(s) is handled by Simics. In a control flow instruction on the other hand
it is up to the user to set the program counter(s).
ii_RegInfo should be used if Simics is running in out of order mode. An array of reg_
info_t should be allocated that describes the registers the instruction uses and if
they are used as input and/or output. The array should be terminated with a dummy
register (id equal to 0) which is neither input nor output (in and out both zero).
struct reg_info {
register_type_t type;
register_id_t id;
unsigned input:1;
unsigned output:1;
};

/*
/*
/*
/*

register type */
register id */
used as input */
used as output */

typedef struct reg_info reg_info_t;

The register_id of the PC(s) should not be filled in, Simics handles that automatically.
If the instruction manipulates a register not listed the value Sim_RI_Sync should be
used, this will disallow the instruction to run out of order.
284

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

The array needs to be deallocated when the instruction is flushed, see below.
ii_UserData can be filled in with other data.
The service routine function should return an exception when it is finished to signal
its status. If no exception occurs Sim_PE_No_Exception should be returned.
See exception_type_t in core/types.h for the different exceptions available.
A special return value, Sim_PE_Default_Semantics, can be returned; this signals
Simics to run the default semantics for the instruction. This is useful if the semantics
of an instruction should be changed but the user routine does not want to handle it all
the time.
EXAMPLE
See the source code for the example extension sample-user-decoder in [simics]/src/
extensions.
EXCEPTIONS
General Thrown if the same decoder is registered twice for the same architecture.
IllegalValue Thrown if the decoder doesnt have all function pointers set.
SEE ALSO
register_id_t

285

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_register_decoder()
NAME
SIM_register_decoder, SIM_unregister_decoder deprecated install/uninstall user
decoders
SYNOPSIS
void
SIM_register_decoder(user_decoder_t decoder);

void
SIM_unregister_decoder(user_decoder_t decoder);

DESCRIPTION
These functions are obsolete, use the SIM_register_arch_decoder and SIM_unregister_
arch_decoder functions instead.
SIM_register_decoder makes it possible to install user decoders in Simics. This gives
the user an interface to the instruction set allowing changes to the instructions semantics, adding new instructions or removing implemented ones.
When simics decodes an instructions it will first see if any user decoder is supplied
and in that case call it first. Several decoders can be installed and Simics will call them
in the reverse order they were registered; i.e., the last one first. Every decoder has the
option of either accepting the opcode given or pass it on to the next decoder.
If a decoder accepts the instruction it fills in an information structure which contains
a function pointer that Simics will call each time the instruction should be executed.
user_decoder is the decoder to register, it is defined like this:
typedef int (*NOTNULL user_decoder_t)(unsigned char *code,
int valid_bytes,
conf_object_t *cpu,
instruction_info_t *ii,
int action,
char *string_buffer);

code is a pointer to the instruction to decode. The first byte represents the lowest
address of the instruction in the simulated memory. valid_bytes tells how many
bytes can be read. If the decoder needs more data it should return a negative number
corresponding to the total number of bytes needed. Simics will then call the decoder
again with more available bytes. This process is repeated until the decoder accepts
or rejects the instruction. If the instruction is accepted its length in bytes should be
returned, otherwise zero.
cpu is the cpu decoding the instruction. Note that in a shared memory multiprocessor,
this may differ from the one executing the instruction since decoded instructions are
cached.
286

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

action is whether Simics wants to decode, disassemble or flush a previously decoded


instruction. For decoding, the value is UD_ACTION_DECODE and the instruction_info_
t structure ii should be filled in. The structure has the following fields:
typedef struct instruction_info {
service_routine_t ii_ServiceRoutine;
unsigned int
ii_Arg;
unsigned int
ii_Type;
reg_info_t
*ii_RegInfo;
lang_void
*ii_UserData;
logical_address_t ii_LogicalAddress;
physical_address_t ii_PhysicalAddress;
} instruction_info_t;

ii_ServiceRoutine is a pointer to a service routine to be called by Simics every time the


instruction is executed. It has the following prototype:
typedef exception_type_t (*service_routine_t)(conf_object_t *cpu,
unsigned int arg,
lang_void *user_data);

ii_Arg is the argument that will be passed on to the service routine. It typically contains
a bit-field of parameters to the instruction such as register numbers or intermediate
values. It can also be a pointer to a structure if more appropriate.
ii_Type is either UD_IT_SEQUENTIAL or UD_IT_CONTROL_FLOW. A sequential type
means that the instruction does not perform any branches and the update of the program counter(s) is handled by Simics. In a control flow instruction on the other hand
it is up to the user to set the program counter(s).
ii_RegInfo should be used if Simics is running in out of order mode. An array of reg_
info_t should be allocated that describes the registers the instruction uses and if
they are used as input and/or output. The array should be terminated with a dummy
register (id equal to 0) which is neither input nor output (in and out both zero).
struct reg_info {
register_type_t type;
register_id_t id;
unsigned input:1;
unsigned output:1;
};

/*
/*
/*
/*

register type */
register id */
used as input */
used as output */

typedef struct reg_info reg_info_t;

The register_id of the PC(s) should not be filled in, Simics handles that automatically.
If the instruction manipulates a register not listed the value Sim_RI_Sync should be
used, this will disallow the instruction to run out of order.
The array needs to be deallocated when the instruction is flushed, see below.
287

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

ii_UserData can be filled in with other data.


The service routine function should return an exception when it is finished to signal
its status. If no exception occurs Sim_PE_No_Exception should be returned.
See exception_type_t in core/types.h for the different exceptions available.
A special return value, Sim_PE_Default_Semantics, can be returned; this signals
Simics to run the default semantics for the instruction. This is useful if the semantics
of an instruction should be changed but the user routine does not want to handle it all
the time.
If Simics wants to disassemble the instruction the action value will be UD_ACTION_
DISASS and the string_buffer should be filled with the disassembled instruction
(max length is 256 characters). The ii structure should be ignored.
A value of UD_ACTION_FLUSH (code and string_buffer will be null, valid_bytes
zero) means that Simics wants to flush a cached decoded instruction. The instruction_
info_t structure ii will then hold the values previously stored there. If the userdecoder recognizes the ii->ii_ServiceRoutine function as its own it should now
free all allocated user data including the register info array, if allocated, and return a
non-zero value to indicate success. Otherwise zero should be returned letting other
user-decoders have a shot.
Use SIM_unregister_decoder to remove a user-decoder.
EXAMPLE
See the source code for the example extension decoder.
SEE ALSO
SIM_register_arch_decoder

288

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_reset_processor()
NAME
SIM_reset_processor reset the processor
SYNOPSIS
void
SIM_reset_processor(conf_object_t *cpu, int hard_reset);

DESCRIPTION
Performs a reset on the processor, causing a System Reset exception to be taken when
execution continues. cpu is the processor that should be reset. hard_reset indicates if
a soft (0) or hard (1) (power-on type) reset should be performed. If a hard reset is
requested, a number of register are initiated with default values.
EXCEPTIONS
General Thrown if cpu does not implement reset.

289

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_write_register()
NAME
SIM_write_register set register value
SYNOPSIS
void
SIM_write_register(conf_object_t *cpu, int reg, uinteger_t value);

DESCRIPTION
Sets the value of the specified processor register.
For the ARM target, this function sets the value of the register in the bank corresponding to the current mode. To access copies of the register in other banks, use the write_
register_mode function in the arm interface.
EXCEPTIONS
Index Thrown if reg is out of range.

290

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Profiling
SIM_iter_next()
NAME
SIM_iter_next, SIM_iter_addr, SIM_iter_free Iterate over address profile counters
SYNOPSIS
FORCE_INLINE uint64
SIM_iter_next(addr_prof_iter_t *iter);

FORCE_INLINE generic_address_t
SIM_iter_addr(addr_prof_iter_t *iter);

FORCE_INLINE void
SIM_iter_free(addr_prof_iter_t *iter);

DESCRIPTION
EXPERIMENTAL. While this functionality is expected to be retained in future releases, the interface is likely to change.
An address profile iterator visits some of the counters of an address profiler in some
order. It is obtained from the iter function of the address_profiler interface.
SIM_iter_next advances the address profile iterator iter to the next nonzero counter
and returns the count. It will return 0 when there are no more counters to visit. Note
that the order in which the counters are visited is unspecified.
SIM_iter_addr returns the address of the counter returned by the most recent call to
iter_next.
When you are done with the iterator, deallocate it with SIM_iter_free.

291

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Simulation Control
SIM_break_message()
NAME
SIM_break_message stop the simulation
SYNOPSIS
void
SIM_break_message(const char *msg);

DESCRIPTION
Display the reason why Simics will stop simulation.
This is similar to SIM_break_simulation, with the difference that it doesnt actually
break the simulation. It can be used by code that wants to display a break message
and stop the simulation by some other means.
SEE ALSO
SIM_break_simulation

292

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_break_simulation()
NAME
SIM_break_simulation stop the simulation
SYNOPSIS
void
SIM_break_simulation(const char *msg);

DESCRIPTION
Ask Simics to stop the simulation as soon as possible, displaying the supplied message.
Simics will normally stop before the next instruction is executed. If this function is
called when an instruction has started executing, and the instruction can be aborted, it
will rewind to before the instruction. This might leave the simulation is a state where
some repeatable part of the instruction is already executed.
SEE ALSO
SIM_break_message

293

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_continue()
NAME
SIM_continue continue the simulation
SYNOPSIS
pc_step_t
SIM_continue(integer_t steps);

DESCRIPTION
Runs the simulation the specified number of steps on the current CPU. Since Simics is
scheduling the processors in a round-robin fashion, other CPUs may run as well. This
happens if steps is greater than what is left of the current CPUs time quantum. Simics
will then run the other CPUs for their time quanta and then return to to the first CPU
executing the remaining steps. This can happen several times if steps cover several
time quanta.
The function may return before completing steps steps if a breakpoint is reached, user
code requests the simulation to be interrupted, or execution is interrupted via the
user interface. In such cases the current CPU may have changed (see SIM_current_
processor()) since Simics may have been executing in another processors time quantum.
If steps is 0, Simics will run forever or until it is interrupted as described above.
If this function is called from a context where simulation cannot continue, e.g., from
a callback function passed to SIM_post_command(), SIM_continue() will return immediately with return value 0 but the simulation will not be started until the calling
function has exited. If this is the case, any exceptions returned from the simulation
core will be discarded but the return value from the simulation can be read as an argument to the Core_Simulation_Stopped hap. You can query whether the current
state will result in such a postponed continuation by calling the SIM_postponing_
continue() function.
RETURN VALUE
The number of steps actually executed
EXCEPTIONS
General Thrown if steps has illegal value, a breakpoint is reached, or Simics already
was running.
SEE ALSO
SIM_post_command, SIM_postponing_continue, Core_Simulation_Stopped

294

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_postponing_continue()
NAME
SIM_postponing_continue ask if continue will be postponed
SYNOPSIS
int
SIM_postponing_continue(void);

DESCRIPTION
This function returns non-zero if calls to SIM_continue() would return immediately,
postponing the actual call to the Simics core.

295

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_simics_is_running()
NAME
SIM_simics_is_running check if Simics is running
SYNOPSIS
int
SIM_simics_is_running(void);

DESCRIPTION
Returns 1 if simics is running, i.e., executing target instructions, or 0 otherwise.

296

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Simulation Independent Services


SIM_cancel_realtime_event()
NAME
SIM_cancel_realtime_event cancel callback in host time
SYNOPSIS
int
SIM_cancel_realtime_event(integer_t id);

DESCRIPTION
Cancel a callback registered by SIM_realtime_event, whose return value is specified
as id.
Returns 0 if the callback existed and was cancelled, or -1 if no callback with that identifier existed. (No exception is raised.)
SEE ALSO
SIM_realtime_event

297

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_notify_on_socket()
NAME
SIM_notify_on_socket, SIM_notify_on_object, SIM_notify_on_descriptor register notification on host I/O events
SYNOPSIS
void
SIM_notify_on_socket(int sock, notify_mode_t mode, int run_in_thread,
void (*callback)(lang_void *data), lang_void *data);

void
SIM_notify_on_object(HANDLE obj, int run_in_thread,
void (*callback)(lang_void *data), lang_void *data);

void
SIM_notify_on_descriptor(int fd, notify_mode_t mode, int run_in_thread,
void (*callback)(lang_void *data),
lang_void *data);

DESCRIPTION
These functions allows the function callback to be called with argument data whenever
a specific I/O event occurs on the host machine. If callback is a null function pointer, a
previously installed notification is removed.
If run_in_thread is nonzero, the callback function may be run in a thread where it
cannot access or call anything in Simics except for these functions and SIM_thread_
safe_callback. If run_in_thread is zero, the callback function is always run in the main
thread. This may incur a small penalty in latency (time between the occurrence of the
host event and execution of callback).
Notification on a specific event will be blocked during the execution of its callback
function.
SIM_notify_on_socket will call a registered callback depending on mode:
mode
Sim_NM_Read
Sim_NM_Write

condition
Socket is readable, closed, or incoming connection accepted
Socket is writeable, or outgoing connection has completed

Unix only: SIM_notify_on_descriptor will call a registered callback depending on


mode for a given file descriptor in a way similar to SIM_notify_on_socket.
Windows only: SIM_notify_on_object will call a registered callback when object (which
must be a waitable object) is in signalled state. The signalling object is modified in the
same way as the Windows wait functions (WaitForMultipleObjects etc).
298

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Note: A notification should be removed before its socket or descriptor is closed.


SEE ALSO
SIM_thread_safe_callback

299

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_realtime_event()
NAME
SIM_realtime_event schedule callback in host time
SYNOPSIS
integer_t
SIM_realtime_event(unsigned delay, void (*callback)(lang_void *data),
lang_void *data, int run_in_thread, const char *desc);

DESCRIPTION
Register callback to be run in delay ms, with argument data. The delay is in real time
(on the host machine), and the actual delay may be somewhat larger because of host
scheduling.
If run_in_thread is nonzero, the callback may be run in a thread where it cannot access
or call anything in Simics except for SIM_thread_safe_callback. If run_in_thread is
zero, the callback function is always run in the main thread. This may cause the call
to occur slightly later than requested, depending on what Simics is doing at the time.
The desc parameter is only present for debugging and has no other effect; it should be
a static string describing the callback but may also be left NULL if desired.
The callback is only called once.
The return value is a non-zero identifier that can be used to cancel the callback using
SIM_cancel_realtime_event.
SEE ALSO
SIM_cancel_realtime_event, SIM_thread_safe_callback

300

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_thread_safe_callback()
NAME
SIM_thread_safe_callback call function synchronized with main thread
SYNOPSIS
void
SIM_thread_safe_callback(void (*f)(lang_void *data), lang_void *data);

DESCRIPTION
This is the only function in the Simics API that can be called from threads other than the
main simics thread. Failure to abide by this rule will result in undefined behavior. The
user should not make any assumptions about when the supplied function is called. It
may be called immediately, but it may also be called after this function has returned.

301

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Simulator Translation Caches


SIM_STC_flush_cache()
NAME
SIM_STC_flush_cache, SIM_flush_I_STC_logical, SIM_flush_D_STC_logical, SIM_
flush_I_STC_physical, SIM_flush_D_STC_physical flush or remove entries in the
STCs of a cpu
SYNOPSIS
void
SIM_STC_flush_cache(conf_object_t *cpu);

void
SIM_flush_I_STC_logical(conf_object_t *cpu,
logical_address_t vaddr,
logical_address_t length);

void
SIM_flush_D_STC_logical(conf_object_t *cpu,
logical_address_t vaddr,
logical_address_t length);

void
SIM_flush_I_STC_physical(conf_object_t *cpu,
physical_address_t paddr,
physical_address_t length);

void
SIM_flush_D_STC_physical(conf_object_t *cpu,
physical_address_t paddr,
physical_address_t length,
read_or_write_t read_or_write);

DESCRIPTION
These functions remove entries from the Simics internal caches (STCs) or completely
flushes the STCs contents. Memory mappings which have been cached in the STCs
will be faster for Simics to execute. Simics extensions such as a cache model will need
to flush entries in the STC when a cache line is replaced, in order to be called when a
cache line is used again.
SIM_STC_flush_cache() flushes the entire contents of the STCs (both instruction and
data) from the specified cpu.
302

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

The SIM_flush_xxx functions removes specified memory ranges in the instruction or


data STC. The address range is either the logical or the physical address. The read_
or_write parameter specifies whether the read or the write D-STC should be flushed.
If the function doesnt have such a parameter, both read and write D-STCs are flushed.
The flushed address range is at least [vaddr . . . (vaddr + length 1)], but may be larger.
SIM_flush_D_STC_logical() currently always flushes an entire page.

303

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_flush_all_caches()
NAME
SIM_flush_all_caches clear Simicss internal caches
SYNOPSIS
void
SIM_flush_all_caches(void);

DESCRIPTION
Clears Simicss internal caches such as STC contents and intermediate code. This
function is mainly for Virtutech internal use (for debugging purposes) and may be
removed in the future.

304

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Stalling
SIM_release_stall()
NAME
SIM_release_stall release stalling transaction
SYNOPSIS
void
SIM_release_stall(conf_object_t *obj, int id);

DESCRIPTION
Sometimes the stalling period of an memory transaction is not known by the timing
model. This can happen for example if the transaction is blocked by another transaction. In such case a very long stall-time can be returned to block the transaction. As
soon as the timing model finds out when the stalling is over the memory transaction
needs to be released.
This function changes the stalling period for a memory transaction with id id on CPU
cpu to zero. This means that the memory transaction may be issued the second time in
the next cycle.
NOTE
Only useful if Simics is running in out of order mode.

305

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_stall_count()
NAME
SIM_stall_count get number of cycles a processor has been stalled
SYNOPSIS
cycles_t
SIM_stall_count(conf_object_t *obj);

DESCRIPTION
SIM_stall_count returns the total number of cycles the processor associated to obj has
been stalled.
EXCEPTIONS
General Thrown if obj is NULL.
RETURN VALUE
Returns the total number of cycles the processor associated with obj has been stalled.

306

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_stall_cycle()
NAME
SIM_stall_cycle, SIM_stall stall execution a specified number of cycles
SYNOPSIS
void
SIM_stall_cycle(conf_object_t *obj, cycles_t cycles);

void
SIM_stall(conf_object_t *obj, double seconds);

DESCRIPTION
SIM_stall_cycle sets the stall time at obj. cycles is the number of clock cycles the processor will stall. A call to this function will overwrite the current time left to stall at
obj. No compensation is made if time differs between obj and where the function is
called from.
SIM_stall does the same thing as SIM_stall_cycle but the stall time is given in seconds.
EXCEPTIONS
General Thrown if obj is NULL.
General Thrown if cycles or seconds is negative.

307

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_stalled_until()
NAME
SIM_stalled_until query how many cycles that remains of stall
SYNOPSIS
cycles_t
SIM_stalled_until(conf_object_t *obj);

DESCRIPTION
SIM_stalled_until returns how many more cycles the processor will stall before the
associated processor starts to execute instructions again.
EXCEPTIONS
General Thrown if obj is NULL.
RETURN VALUE
Number of cycles remaining of stall.

308

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Step and Time Events


SIM_cycle_count()
NAME
SIM_cycle_count, SIM_time query time queue for current time
SYNOPSIS
cycles_t
SIM_cycle_count(conf_object_t *obj);

double
SIM_time(conf_object_t *obj);

DESCRIPTION
SIM_cycle_count returns current simulated clock cycle count at obj. Note that if processors are running at different frequency, the number will differ between processors,
regardless of simulation quantum effects.
SIM_time returns current time at obj. Time is counted in seconds and has a maximum
resolution of one clock cycle.
EXCEPTIONS
General Thrown if obj is NULL.
RETURN VALUE
SIM_cycle_count returns the current time in number of cycles. SIM_time returns the
current time in seconds as a floating point value.

309

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_next_queue()
NAME
SIM_next_queue get next object that owns a queue
SYNOPSIS
conf_object_t*
SIM_next_queue(conf_object_t *obj);

DESCRIPTION
Returns the next object that owns an event queue. This function can be used to iterate
over all step and time queues. Passing a NULL argument will return the first object.
When given the last object it will return NULL.
EXCEPTIONS
General Object does not own an event queue.
RETURN VALUE
Next object that owns an event queue or NULL if last.
BUGS
There is no check that obj owns a queue, which it must.

310

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_stacked_post()
NAME
SIM_stacked_post insert an event that runs as soon as possible
SYNOPSIS
void
SIM_stacked_post(conf_object_t *obj,
event_handler_t func,
lang_void *user_data);

DESCRIPTION
The func function will be called with obj and user_data as arguments as soon as the
current instruction has completed. SIM_stacked_post will call the function after the
current instruction or event handler has returned.
Time is undefined when the function is called. If several functions are registered this
way before any of them has had a chance to run, the last registered will run first.
This call is mainly useful for actions that for various reasons cannot be done inside an
instruction.
EXCEPTIONS
General Thrown if obj or func is NULL.

311

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_step_clean()
NAME
SIM_step_clean remove events from the step queue
SYNOPSIS
void
SIM_step_clean(conf_object_t *obj,
event_handler_t func,
typed_lang_void *user_data);

DESCRIPTION
SIM_step_clean removes all events in the step queue associated with obj that match
func and user_data. If user_data is NULL it will match any parameter thus removing all
matching handlers regardless of their parameter.
EXCEPTIONS
General Thrown if obj or func is NULL.

312

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_step_count()
NAME
SIM_step_count query step queue count
SYNOPSIS
pc_step_t
SIM_step_count(conf_object_t *obj);

DESCRIPTION
SIM_step_count returns the number of executed program counter steps at obj. The
number of steps equal completed instructions + instructions getting exception + interrupts.
EXCEPTIONS
General Thrown if obj is NULL.
RETURN VALUE
number of pc steps, or zero if given a NULL pointer.

313

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_step_next_occurrence()
NAME
SIM_step_next_occurrence get number of steps until a step queue event occurs
SYNOPSIS
pc_step_t
SIM_step_next_occurrence(conf_object_t *obj,
event_handler_t func,
typed_lang_void *user_data);

DESCRIPTION
SIM_step_next_occurrence finds first event in objs associated step queue that matches
func and user_arg. If user_arg is NULL it will match any parameter. Returns steps to
occurrence + 1, or zero if there is no match.
EXCEPTIONS
General Thrown if obj or func is NULL.
RETURN VALUE
steps to event + 1, or 0 if no such event is in the queue.

314

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_step_post()
NAME
SIM_step_post add an event in step queue
SYNOPSIS
void
SIM_step_post(conf_object_t *obj, pc_step_t steps,
event_handler_t func, lang_void *user_data);

DESCRIPTION
SIM_step_post enqueues an event in the step queue. After steps steps at the processor
associated to obj, the event will occur, i.e. func will be called with obj and user_data as
arguments.
EXCEPTIONS
General Thrown if obj or func is NULL.

315

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_time_clean()
NAME
SIM_time_clean remove all matching events from time queue
SYNOPSIS
void
SIM_time_clean(conf_object_t *obj,
sync_t sync,
event_handler_t func,
typed_lang_void *user_data);

DESCRIPTION
SIM_time_clean removes all events in objs associated time queue that matches sync,
func and user_data. If user_data is NULL it will match any parameter, thus removing all
installed functions that match regardless of the argument to handler.
EXCEPTIONS
General Thrown if obj or func is NULL.

316

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_time_next_occurrence()
NAME
SIM_time_next_occurrence get cycles to matching event
SYNOPSIS
cycles_t
SIM_time_next_occurrence(conf_object_t *obj,
event_handler_t func,
typed_lang_void *user_data);

DESCRIPTION
SIM_time_next_occurrence finds first event in the time queue associated to obj that
matches func and user_data. If the user_data argument is NULL it will match any parameter. Returns timetooccurrence + 1, or zero if there is no match.
EXCEPTIONS
General Thrown if obj or func is NULL.
RETURN VALUE
SIM_time_next_occurrence returns cycles to event + 1, 0 if no match.

317

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_time_post()
NAME
SIM_time_post, SIM_time_post_cycle add event to time queue
SYNOPSIS
void
SIM_time_post(conf_object_t *obj,
double seconds,
sync_t sync,
event_handler_t func,
lang_void *user_data);

void
SIM_time_post_cycle(conf_object_t *obj,
cycles_t cycles,
sync_t sync,
event_handler_t func,
lang_void *user_data);

DESCRIPTION
SIM_time_post will schedule an event that will occur after delta_seconds counted from
local current time at obj. The time is rounded down to the nearest clock cycle, except
between zero (inclusive) up to one where it will be rounded up to one. At that time
func() will be called with obj and user_data as arguments.
typedef enum {
Sim_Sync_Processor = 0,
/* Sim_Sync_Node = 1,
Sim_Sync_Machine = 2
} sync_t;

not supported yet */

If sync is set to Sim_Sync_Machine, all other objects will have the same local time
when the event occurs. This requires that the delta is larger than the simulation time
quantum if the simulation is not currently synchronized. If the delta is smaller than
the quantum and time is not synchronized, it will be set to the quantum before the
event is inserted.
SIM_time_post_cycle does the same as SIM_time_post but time is specified as a number of clock cycles, not in seconds. zero cycles is not rounded up to one cycle. Note
that the clock cycle length is typically set in the simics configuration and may differ
between processors.
SIM_time_next_occurrence finds first event in the time queue associated with obj that
matches func and user_data. If the user_data argument is NULL, it will match any parameter. Returns the time to occurrence + 1, or zero if there is no match.
318

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_time_clean removes all events in objs associated time queue that matches func
and user_data. If user_data is NULL, it will match any parameter, thus removing all
functions that match regardless of the argument to func. Note that the older version
of SIM_time_clean() without the sync parameter is deprecated since Simics 1.6.
SIM_cycle_count returns current simulated clock cycle count at obj. Note that if processors are running at different frequency, the number will differ between processors,
regardless of simulation quantum effects.
SIM_time returns current time at obj. Time is counted in seconds and has a maximum
resolution of a clock cycle.
SIM_stall_cycle set the stall time at obj. cycle is the number of clock cycles the processor will stall. A call to this function will overwrite the current time left to stall at obj.
No compensation is made if time differs between obj and where the function is called
from.
SIM_stall does the same thing as SIM_stall_cycle but the stall time is given in seconds.
SIM_stalled_until returns how may more cycles the processor will stall.
SIM_stall_count returns the total number of cycles the processor has been stalled.
EXCEPTIONS
Index Thrown if sync has an illegal value.
General Thrown if obj or func is NULL.
General Thrown if seconds violates the minimum time quantum for a synchronizing
event or if it is negative.

319

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

User Interface
SIM_get_batch_mode()
NAME
SIM_get_batch_mode return setting of the batch-mode
SYNOPSIS
int
SIM_get_batch_mode(void);

DESCRIPTION
This function returns the current value of Simicss batch-mode flag.

320

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_is_interactive()
NAME
SIM_is_interactive running interactive command predicate
SYNOPSIS
int
SIM_is_interactive(void);

DESCRIPTION
Returns true if Simics is running commands from the Simics prompt, as opposed to
running commands from a file via the -x command line option, the run-commandfile CLI command, or the SIM_run_command_file() API function.

321

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_post_command()
NAME
SIM_post_command post callback to be run when simulation is stopped
SYNOPSIS
void
SIM_post_command(void (*f)(lang_void *data), lang_void *data);

DESCRIPTION
This function posts f(data) to be called from a stable state in Simics. This means that
Simics will stop the simulation, if it is in progress (causing a Core_Simulation_
Stopped hap), finish running any event-handlers, hap-handlers, or commands, and
then do the call.
Note that the simulation will be stopped when f returns, but any call to SIM_continue()
from within f will cause the simulation to restart immediately after.
Note: This function is deprecated, and may disappear in a future release.
SEE ALSO
SIM_continue

322

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_quit()
NAME
SIM_quit quit Simics
SYNOPSIS
void
SIM_quit(int exit_code);

DESCRIPTION
Quit Simics in orderly fashion. The Simics process will return the value exit_code.

323

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_run_command_file()
NAME
SIM_run_command_file read CLI commands from file
SYNOPSIS
void
SIM_run_command_file(const char *file);

DESCRIPTION
Read and execute the script-file file; i.e., execute each line in the file as if it was typed
at the Simics prompt.
This function is functionally equivalent to the -x command line option.
SEE ALSO
run-command-file

324

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_set_prompt()
NAME
SIM_set_prompt change prompt in Simics
SYNOPSIS
void
SIM_set_prompt(const char *new_prompt);

DESCRIPTION
Change the current command-line prompt in Simics.

325

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_source_python()
NAME
SIM_source_python, SIM_source_python_in_module execute Python source file
SYNOPSIS
void
SIM_source_python(const char *file);

void
SIM_source_python_in_module(const char *file, const char *module);

DESCRIPTION
SIM_source_python() will execute a Python source file as specified by the file name file.
Note that this assumes that the Python frontend has been loaded (this is the default
frontend in Simics). SIM_source_python_in_module() is similar but imports the file in
a named Python module.
EXCEPTIONS
General Thrown if there was an error when executing the Python script.

326

VIRTUTECH CONFIDENTIAL

3.3.3

3.3. Simics API Functions

PCI

The PCI Device API is a set of functions that simplifies the work of writing PCI devices
in Simics. The functions are implemented in the file src/devices/pci-device/pcidevice.c. This file has to be included as a source file in modules using the API. The Simics
User Guide contain descriptions of PCI in Simics, and how to write own PCI devices.

327

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Function List
PCIE_send_message()
NAME
PCIE_send_message send a message to root complex
SYNOPSIS
void
PCIE_send_message(pci_device_t *pci, pcie_message_type_t type,
byte_string_t payload);

DESCRIPTION
Send a PCI Express message to the root complex, of a given type with a possibly empty
payload. This function is only available to PCI Express devices.
The pcie_message_type_t has the following definition:
typedef enum {
/* INTx emulation */
PCIE_Msg_Assert_INTA
PCIE_Msg_Assert_INTB
PCIE_Msg_Assert_INTC
PCIE_Msg_Assert_INTD
PCIE_Msg_Deassert_INTA
PCIE_Msg_Deassert_INTB
PCIE_Msg_Deassert_INTC
PCIE_Msg_Deassert_INTD

=
=
=
=
=
=
=
=

0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,

/* Power Management */
PCIE_PM_Active_State_Nak
PCIE_PM_PME
PCIE_PM_Turn_Off
PCIE_PM_PME_TO_Ack

=
=
=
=

0x14,
0x18,
0x19,
0x1B,

/* Error Messages */
PCIE_ERR_COR
PCIE_ERR_NONFATAL
PCIE_ERR_FATAL

= 0x30,
= 0x31,
= 0x33,

/* Locked Transaction */
PCIE_Locked_Transaction

= 0x00,

/* Slot Power Limit */


PCIE_Set_Slot_Power_Limit

= 0x90,

328

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

/* Hot Plug Messages */


PCIE_HP_Power_Indicator_On
PCIE_HP_Power_Indicator_Blink
PCIE_HP_Power_Indicator_Off
PCIE_HP_Attention_Button_Pressed
PCIE_HP_Attention_Indicator_On
PCIE_HP_Attention_Indicator_Blink
PCIE_HP_Attention_Indicator_Off
} pcie_message_type_t;

329

=
=
=
=
=
=
=

0x45,
0x47,
0x44,
0x48,
0x41,
0x43,
0x40

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_add_config_register()
NAME
PCI_add_config_register add device specific configuration register
SYNOPSIS
void
PCI_add_config_register(pci_device_t *pci, uint32 offset,
const char *name, int size, uint32 mask,
uint32 initial_value);

DESCRIPTION
Adds a device specific configuration register to the generic PCI device. When the
generic PCI code knows the size of the register, it can handle overlapping register accesses. This means that the conf_write_func function (registered with PCI_device_
init) always will be called with an offset that is the start of a register. It is not possible
to override the standard configuration registers using this function. The mask argument is the write mask. Only bits set in this mask will be writable in the register. Note
that register names and sizes are not checkpointed and always has to be initialized
when a device is instantiated. The mask, however, is checkpointed since it may be
changed at run-time.
The newly created config register will contain initial_value.

330

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_bridge_default_access_not_taken()
NAME
PCI_bridge_default_access_not_taken default handling of unclaimed accesses
SYNOPSIS
exception_type_t
PCI_bridge_default_access_not_taken(
conf_object_t *obj,
conf_object_t *src_space, conf_object_t *dst_space,
exception_type_t ex,
generic_transaction_t *mem_op,
map_info_t mapinfo);

DESCRIPTION
If no callback is installed to handle accesses to unmapped addresses for type 1 devices,
then this function is called. It set the master abort flag in the Secondary Status
register, and return a value with all ones. Master abort mode 1, where a target abort
on the primary bus is signalled instead, is currently not implemented.

331

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_bridge_default_interrupt_lowered()
NAME
PCI_bridge_default_interrupt_lowered default handling of secondary interrupts
SYNOPSIS
static void
PCI_bridge_default_interrupt_lowered(conf_object_t *obj,
conf_object_t *irq_obj,
int dev, int pin);

DESCRIPTION
Performs the default handling of lowered interrupts on the secondary PCI bus that
should be routed to the primary bus. The interrupt line is changed in the following
way: pin = (pin + device) % 4. It is possible to override this function using
PCI_bridge_init.

332

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_bridge_default_interrupt_raised()
NAME
PCI_bridge_default_interrupt_raised default handling of secondary interrupts
SYNOPSIS
static void
PCI_bridge_default_interrupt_raised(conf_object_t *obj,
conf_object_t *irq_obj,
int dev, int pin);

DESCRIPTION
Performs the default handling of raised interrupts received on the secondary PCI bus
that should be routed to the primary bus. The interrupt line is changed in the following way: pin = (pin + device) % 4. It is possible to override this function
using PCI_bridge_init.

333

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_bridge_default_system_error()
NAME
PCI_bridge_default_system_error default system error handling for bridges
SYNOPSIS
void
PCI_bridge_default_system_error(conf_object_t *obj);

DESCRIPTION
If no callback is installed to handle system errors for type 1 devices, then this function
is called. It will set the system error received bit in the Secondary Status register,
and signal system error on the primary bus.

334

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_bridge_init()
NAME
PCI_bridge_init Initialize generic PCI bridge device
SYNOPSIS
void
PCI_bridge_init(pci_device_t *pci,
void (*system_error)(conf_object_t *obj),
exception_type_t (*access_not_taken)(
conf_object_t *obj,
conf_object_t *src_space,
conf_object_t *dst_space,
exception_type_t ex,
generic_transaction_t *mem_op,
map_info_t mapinfo),
void (*interrupt_raised)(
conf_object_t *obj,
conf_object_t *dev_obj,
int device, int pin),
void (*interrupt_lowered)(
conf_object_t *obj,
conf_object_t *dev_obj,
int device, int pin),
int forward_io, int forward_io32,
int forward_mem,
int forward_prefetchable,
int forward_prefetchable64);

DESCRIPTION
Initializes a generic PCI-to-PCI (type 1) device. This function should be called directly
after PCI_device_init. The system_error callback can be set to receive system errors
on the secondary bus. If none is given, the PCI_bridge_default_system_error function
is used as default. Similarly for the access_not_taken argument, that defaults to PCI_
bridge_default_access_not_taken. The interrupt_raised and interrupt_lowered functions
can be used to override PCI_bridge_default_interrupt_raised and PCI_bridge_default_
interrupt_lowered. The next arguments specify what kind of transactions that the
bridge supports. 16-bit I/O, 32-bit I/O operations, memory, prefetchable memory
and 64-bit prefetchable memory operations.

335

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_bridge_map_setup()
NAME
PCI_bridge_map_setup Set optional memory mapping attributes
SYNOPSIS
void
PCI_bridge_map_setup(
pci_device_t *pci,
int io_down_priority, int io_down_align_size, int io_down_endian,
int mem_down_priority, int mem_down_align_size, int mem_down_endian,
int pref_down_priority, int pref_down_align_size, int pref_down_endian,
int io_up_priority, int io_up_align_size, int io_up_endian,
int mem_up_priority, int mem_up_align_size, int mem_up_endian);

DESCRIPTION
Configures the bridges memory mappings. The priority, align_size boundary and a
reverse-endian flag can be set for each mapping. These values are described in the
map attribute of the memory-space class. Default is 0 for all values. The mappings
that can be modified are IO downstream, memory downstream, prefetchable memory
downstream, IO upstream and memory upstream.

336

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_config_register_name()
NAME
PCI_config_register_name return name of a configuration register
SYNOPSIS
const char *
PCI_config_register_name(pci_device_t *pci, uint32 offset);

DESCRIPTION
Returns the name of a configuration register, specified by a byte offset into the configuration header. Only standard configuration registers, i.e. as defined in the PCI
specification, are handled. The header type of the PCI device affects the result.
RETURN VALUE
The name of the configuration register is returned if the offset corresponds to a valid
configuration register. If not, NULL is returned.

337

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_config_register_size()
NAME
PCI_config_register_size return size of a configuration register
SYNOPSIS
uint32
PCI_config_register_size(pci_device_t *pci, uint32 offset);

DESCRIPTION
Returns the size of a configuration register, specified by a byte offset into the configuration header. Only standard configuration registers, i.e. as defined in the PCI
specification, are handled. The header type of the PCI device affects the result.
RETURN VALUE
The size (in bytes) of the configuration register is returned if the offset corresponds to
a valid configuration register. If not, 0 is returned.

338

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_configuration_access()
NAME
PCI_configuration_access access the configuration space
SYNOPSIS
exception_type_t
PCI_configuration_access(pci_device_t *pci,
generic_transaction_t *mop);

DESCRIPTION
The PCI_configuration_access function performs an access to the configuration header
registers. It handles overlapping accesses and both reads and writes. This function
is typically only needed for PCI device that map the configuration space in the I/O
and/or memory space mappings. The PCI device can then call this function. Accesses
using the configuration space it handled by the generic PCI device itself (by calling
this function).
RETURN VALUE
The returned value is always Sim_PE_No_Exception.

339

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_data_from_memory()
NAME
PCI_data_from_memory, PCI_data_to_memory read/write raw data from memory space
SYNOPSIS
exception_type_t
PCI_data_from_memory(pci_device_t *pci, addr_space_t space,
uint8 *buffer, uint64 address, uint64 size);

exception_type_t
PCI_data_to_memory(pci_device_t *pci, addr_space_t space,
uint8 *buffer, uint64 address, uint64 size);

DESCRIPTION
PCI_data_from_memory reads data from a memory-space specified by space, and places
it in a buffer pointed to by buffer. No endian conversion is performed. PCI_data_to_
memory writes data to the memory space.
RETURN VALUE
The pseudo exception from the memory-space is returned.

340

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_default_configuration_read_access()
NAME
PCI_default_configuration_read_access default function for configuration register
reads
SYNOPSIS
uint32
PCI_default_configuration_read_access(conf_object_t *obj,
uint32 offset, uint32 size);

DESCRIPTION
A PCI device can override this default configuration read function with a function
specified in the PCI_device_init call. The overriding function can then call this default
function for configuration registers that it does not handle itself.
RETURN VALUE
The value of the configuration register is returned.

341

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_default_configuration_write_access()
NAME
PCI_default_configuration_write_access default function for configuration register writes
SYNOPSIS
void
PCI_default_configuration_write_access(conf_object_t *obj,
uint32 offset, uint32 size,
uint32 value);

DESCRIPTION
A PCI device can override this default configuration wite function with a function
specified in the PCI_device_init call. The overriding function can then call this default function for configuration registers that it does not handle itself. Side-effects for
the Command, Status, Base Address, Secondary Status and Expansion ROM
Base registers are handled.

342

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_default_device_reset()
NAME
PCI_default_device_reset default PCI device reset handling
SYNOPSIS
void
PCI_default_device_reset(conf_object_t *obj);

DESCRIPTION
A PCI device can override this default reset function with a function specified in the
PCI_device_init call. The overriding function can then call this default function to
get the default behavior as well. All memory mappings are disabled, and the following registers are cleared: Command, Status, Cache Line Size, Latency Timer,
BIST, Interrupt Line and all base address registers.

343

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_device_init()
NAME
PCI_device_init initialize the generic PCI device
SYNOPSIS
void
PCI_device_init(log_object_t *log, int log_group,
pci_device_t *pci,
pci_device_t *(*unused)(conf_object_t *), /* call with NULL */
void (*pci_bus_reset)(conf_object_t *obj),
uint32 (*conf_read_func)(conf_object_t *obj,
uint32 offset,
uint32 size),
void (*conf_write_func)(conf_object_t *obj,
uint32 offset,
uint32 size,
uint32 value),
exception_type_t (*pci_operation)(
conf_object_t *obj,
generic_transaction_t *mem_op,
map_info_t map_info));

DESCRIPTION
Initializes the generic PCI device and optionally overrides some default functions. The
arguments log and pci are pointers within the device structure, and log_group is the log
group (as defined by SIM_log_register_groups) that the generic PCI device should use
for configuration related logging. Use 0 if no log groups are defined. The unused
function should be NULL. PCI bus resets are delivered to each PCI device by calling
the installed pci_bus_reset function. The conf_read_func and conf_write_func functions
are optional, they can be used to override the default behavior on accesses to the devices configuration registers. When called, the offset and size arguments corresponds
to a complete configuration register if it is known. It is therefore recommended that
device specific registers are added with PCI_add_config_register. I.e. partial and overlapping accesses are handled by the generic PCI device code before these callbacks are
called. Accesses that do not correspond to known registers are handled byte by byte.
The pci_irq_ack function is also optional, it is only used if the device responds to Interrupt Acknowledge cycles on the PCI bus. The last argument, pci_operation, is required.
This function is called for all accesses to the memory and I/O mappings of the device.
Memory and I/O space mappings can be created with PCI_handle_mapping32 and
PCI_handle_mapping64.
The generic PCI device code will use the object_data field of the conf_object_t
struct, it should not be modified by the code implementing a specific device.

344

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_get_bus_address()
NAME
PCI_get_bus_address get the bus address of a device
SYNOPSIS
int
PCI_get_bus_address(pci_device_t *pci);

DESCRIPTION
Returns the PCI bus address for the device.
RETURN VALUE
The PCI bus address, in PCI Type 1 address format. I.e. bus << 16 | device <<
11 | function << 8. On error, if the device isnt found on the bus, -1 is returned.

345

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_get_config_register_mask()
NAME
PCI_get_config_register_mask get write mask of a configuration register
SYNOPSIS
uint32
PCI_get_config_register_mask(pci_device_t *pci, uint32 offset);

DESCRIPTION
Returns the write mask for a configuration register.
RETURN VALUE
Configuration register write mask.

346

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_handle_mapping32()
NAME
PCI_handle_mapping32, PCI_handle_mapping64 handle base address register
SYNOPSIS
void
PCI_handle_mapping32(pci_device_t *pci, int reg,
addr_space_t space,
uint32 size, int function, int priority,
uint64 target_offset,
conf_object_t *target,
int alignment, int inverse_endian);

void
PCI_handle_mapping64(pci_device_t *pci, int reg,
uint64 size, int function, int priority,
uint64 target_offset,
conf_object_t *target,
int alignment, int inverse_endian);

DESCRIPTION
Tells the generic PCI device code to handle the memory mapping associated with the
base address at configuration header offset reg. All read and write accesses to the base
address will be handled, and the mappings will be enabled and disabled according to
the enable bits in the PCI command register, and for expansion ROM also the enable bit
in the base address register itself. The lowest bits in the base address register will be set
to indicate space type and if the device is 32 or 64 bit addressable. 64 bit mappings are
registered with PCI_handle_mapping64, and 32 bit ones with PCI_handle_mapping32.
The space argument specifies if the memory or I/O space is used. The size argument is
the size of the memory mappings, and function a function number used to identify the
mapping. The priority should be 0, unless the device can have mappings that overlap,
in that case each mapping must have unique priority. By default the device itself is
mapped at the base address, but in some cases another object should be the target.
In that case, the target argument can be set, and target_offset to the byte offset into the
target. It is also possible to set an alignment boundary size, and an inverse endian
flags. These are documented with the map attribute in the memory-space class.
There are also functions in the PCI Device API that can be used to modify the mapping
in run-time. This is not needed for standard PCI devices.

347

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_raise_interrupt()
NAME
PCI_raise_interrupt, PCI_lower_interrupt, PCI_raise_interrupt_pin, PCI_lower_interrupt_
pin raise and lower a PCI interrupt
SYNOPSIS
void
PCI_raise_interrupt(pci_device_t *pci);

void
PCI_lower_interrupt(pci_device_t *pci);

void
PCI_raise_interrupt_pin(pci_device_t *pci, int pin);

void
PCI_lower_interrupt_pin(pci_device_t *pci, int pin);

DESCRIPTION
PCI_raise_interrupt raises an interrupt on the pin defined by the PCI_INTERRUPT_
PIN configuration register. If an interrupt is already asserted, the call has no effect.
Similarly for PCI_lower_interrupt that lowers the interrupt level if it already is raised.
The PCI_raise_interrupt_pin and PCI_lower_interrupt_pin functions take an extra argument that is the interrupt pin. These two functions should not be used by most PCI
devices, but bridges may need them.
NOTE
A raise triggers an interrupt, and refers to the logical signal. It does not reflect the
actual physical signal level on the PCI bus where interrupt lines are active low.

348

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_read_sized_config_register()
NAME
PCI_read_sized_config_register, PCI_read_config_register, PCI_write_config_register
read a configuration register
SYNOPSIS
uint32
PCI_read_sized_config_register(pci_device_t *pci, uint32 offset,
uint32 size);

uint32
PCI_read_config_register(pci_device_t *pci, uint32 offset);

void
PCI_write_config_register(pci_device_t *pci, uint32 offset,
uint32 value);

DESCRIPTION
Returns the value of a configuration register specified by a byte offset into the configuration header. The PCI_read_config_register function can only be used to read
standard configuration registers, i.e. as defined in the PCI specification, and registers
that are added with PCI_add_config_register. For other configuration registers the
PCI_read_sized_config_register should be used, since the sizes of those registers are
not known to the generic PCI device.
RETURN VALUE
The value, in host endian order, of the configuration register.

349

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_register_bridge_attributes()
NAME
PCI_register_bridge_attributes register generic PCI bridge attributes
SYNOPSIS
void
PCI_register_bridge_attributes(conf_class_t *pci_class);

DESCRIPTION
Registers the generic PCI bridge device attributes, and performs some early initialization. This function should be called directly after PCI_register_device_attributes.

350

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_register_device_attributes()
NAME
PCI_register_device_attributes register generic PCI device attributes
SYNOPSIS
void
PCI_register_device_attributes(
conf_class_t *pci_class,
int (*interrupt_ack)(conf_object_t *obj),
void (*special_cycle)(conf_object_t *obj, uint32 value),
void (*system_error)(conf_object_t *obj),
void (*interrupt_raised)(conf_object_t *obj, int pin),
void (*interrupt_lowered)(conf_object_t *obj, int pin));

DESCRIPTION
Registers the generic PCI device attributes, and performs some early initialization. The
PCI_register_device_attributes function should be called as early as possible, typically
from the modules init_local function. The first argument is the configuration class
for the PCI device. The following arguments are optional functions with callbacks
for events on the PCI bus. They should only be supplied by devices that respond to
Interrupt Acknowledge Cycles, listens to Special Cycle data, listens to the system error
line (SERR#), or receives peer-to-peer interrupts.

351

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_set_config_register_mask()
NAME
PCI_set_config_register_mask set write mask of a configuration register
SYNOPSIS
void
PCI_set_config_register_mask(pci_device_t *pci, uint32 offset, uint32 mask);

DESCRIPTION
This function sets the write mask of a configuration register. Only bits set to 1 in
mask are writable. Many PCI devices do not implement all bits in their configuration
registers. By setting a write mask for such registers, the default access handling in the
generic PCI device code can still be used.

352

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_set_map_base()
NAME
PCI_set_map_base, PCI_get_map_base, PCI_set_map_size, PCI_get_map_size, PCI_
set_map_enable, PCI_get_map_enable, PCI_set_map_offset, PCI_get_map_offset,
PCI_set_map_ignore_command, PCI_get_map_ignore_command, PCI_set_map_always_on,
PCI_get_map_always_on query and modify base address mapping
SYNOPSIS
void
PCI_set_map_base(pci_device_t *pci, int reg, uint64 base);

uint64
PCI_get_map_base(pci_device_t *pci, int reg);

void
PCI_set_map_size(pci_device_t *pci, int reg, uint64 size);

uint64
PCI_get_map_size(pci_device_t *pci, int reg);

void
PCI_set_map_enable(pci_device_t *pci, int reg, int enable);

int
PCI_get_map_enable(pci_device_t *pci, int reg);

void
PCI_set_map_offset(pci_device_t *pci, int reg, uint64 target_offset);

uint64
PCI_get_map_offset(pci_device_t *pci, int reg);

void
PCI_set_map_ignore_command(pci_device_t *pci, int reg, int map_ignore_command);

int
PCI_get_map_ignore_command(pci_device_t *pci, int reg);

353

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

void
PCI_set_map_always_on(pci_device_t *pci, int reg, int always_on);

int
PCI_get_map_always_on(pci_device_t *pci, int reg);

DESCRIPTION
The following functions can be used to modify base address mappings that have been
registered with PCI_handle_mapping32 and PCI_handle_mapping64. Standard PCI
devices typically doesnt have to modify the mappings, but some bridges and special
devices have alternative registers to modify the memory mappings. PCI_set_map_
base changes the base address, and also the contents of the base address register. PCI_
set_map_size changes the size of the memory mapping. The size should be changed
with care, since it may create an non-sized aligned mapping. The PCI_set_map_enable
function can be used to enable and disable a mapping, this enable is in addition to
the standard PCI enable/disable. Finally the PCI_set_map_offset changes the target
offset of the mapping. The _get_ functions can be used to query the current state of
a mapping.

354

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_set_may_stall()
NAME
PCI_set_may_stall, PCI_get_may_stall Specifies if memory accesses are stallable
SYNOPSIS
void
PCI_set_may_stall(pci_device_t *pci, int may_stall);

int
PCI_get_may_stall(pci_device_t *pci);

DESCRIPTION
The PCI_set_may_stall function can be used to enable and disable stallable memory
accesses. By default all accesses initiated by the device are not stallable. PCI_get_
may_stall is used to query if stallable accesses are enabled or not.

355

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_system_error()
NAME
PCI_system_error assert system error
SYNOPSIS
void
PCI_system_error(pci_device_t *pci);

DESCRIPTION
Triggers a system error on the PCI bus, i.e asserts the SERR# line. System Errors are
used for asynchronous signalling of unrecoverable errors, and are usually handled by
the host-to-PCI bridge.

356

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_value_from_memory()
NAME
PCI_value_from_memory, PCI_value_to_memory read/write value from memory space
SYNOPSIS
uint64
PCI_value_from_memory(pci_device_t *pci, addr_space_t space,
exception_type_t *ex,
uint64 address, uint32 size);

exception_type_t
PCI_value_to_memory(pci_device_t *pci, addr_space_t space,
uint64 value,
uint64 address, uint32 size);

DESCRIPTION
PCI_value_from_memory reads data from a memory-space specified by space, and returns it in the endian byte-order of the host, i.e. as a value. PCI_value_to_memory
writes value to the memory space.
RETURN VALUE
The pseudo exception from the memory-space is returned.

357

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

PCI_write_sized_config_register()
NAME
PCI_write_sized_config_register write a configuration register
SYNOPSIS
void
PCI_write_sized_config_register(pci_device_t *pci, uint32 offset,
uint32 value, uint32 size);

DESCRIPTION
Writes a value, in host endian order, to a configuration register specified by a byte offset into the configuration header. The PCI_write_config_register function can only be
used to write standard configuration registers, i.e. as defined in the PCI specification.
PCI_write_sized_config_register is typically used to write device specific configuration registers since the sizes of those registers are not known to the generic PCI device.
NOTE
No side effects are triggered by writing configuration registers with these functions.
PCI_default_configuration_write_access can be used to get the side effects handled
by the generic PCI device.

358

VIRTUTECH CONFIDENTIAL

3.3.4

3.3. Simics API Functions

Micro-Architecture Interface

The Micro-Architecture Interface is described in the Simics MAI Guide.

359

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Function List
SIM_instruction_begin()
NAME
SIM_instruction_begin, SIM_instruction_end, SIM_instruction_insert, SIM_instruction_
child, SIM_instruction_parent, SIM_instruction_cpu, SIM_instruction_proceed, SIM_
instruction_fetch, SIM_instruction_decode, SIM_instruction_execute, SIM_instruction_
retire, SIM_instruction_commit, SIM_instruction_squash, SIM_instruction_rewind,
SIM_instruction_handle_exception, SIM_instruction_handle_interrupt, SIM_instruction_
nth_id, SIM_instruction_set_stop_phase, SIM_instruction_phase, SIM_instruction_
speculative, SIM_instruction_force_correct, SIM_instruction_type, SIM_instruction_
length, SIM_instruction_status, SIM_instruction_get_reg_info, SIM_instruction_read_
input_reg, SIM_instruction_read_output_reg, SIM_instruction_write_input_reg, SIM_
instruction_write_output_reg, SIM_instruction_is_sync, SIM_instruction_get_user_
data, SIM_instruction_set_user_data, SIM_instruction_id_from_mem_op_id, SIM_
instruction_stalling_mem_op, SIM_instruction_store_queue_mem_op, SIM_instruction_
remaining_stall_time, SIM_instruction_get_field_value, SIM_instruction_opcode, SIM_
release_stall, SIM_get_unique_memory_transaction_id Micro-Architecture Interface functions
SYNOPSIS
instruction_id_t
SIM_instruction_begin(conf_object_t *obj);

instruction_error_t
SIM_instruction_end(instruction_id_t ii);

void
SIM_instruction_insert(instruction_id_t parent_ii,
instruction_id_t ii);

instruction_id_t
SIM_instruction_child(instruction_id_t ii, int n);

instruction_id_t
SIM_instruction_parent(instruction_id_t ii);

conf_object_t *
SIM_instruction_cpu(instruction_id_t ii)
/*
*/
instruction_error_t

360

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

SIM_instruction_proceed(instruction_id_t ii);

instruction_error_t
SIM_instruction_proceed(instruction_id_t ii);

instruction_error_t
SIM_instruction_fetch(instruction_id_t ii);

instruction_error_t
SIM_instruction_decode(instruction_id_t ii);

instruction_error_t
SIM_instruction_execute(instruction_id_t ii);

instruction_error_t
SIM_instruction_retire(instruction_id_t ii);

instruction_error_t
SIM_instruction_commit(instruction_id_t ii);

instruction_error_t
SIM_instruction_squash(instruction_id_t ii);

instruction_error_t
SIM_instruction_rewind(instruction_id_t ii, instruction_phase_t phase)
/*
*/
instruction_error_t
SIM_instruction_handle_exception(instruction_id_t ii);

instruction_error_t
SIM_instruction_handle_exception(instruction_id_t ii);

instruction_error_t
SIM_instruction_handle_interrupt(conf_object_t *cpu,
exception_type_t vector);

instruction_id_t
SIM_instruction_nth_id(int n);

361

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

void
SIM_instruction_set_stop_phase(conf_object_t *obj,
instruction_phase_t phase,
int on);

instruction_phase_t
SIM_instruction_phase(instruction_id_t ii);

int
SIM_instruction_speculative(instruction_id_t ii);

void
SIM_instruction_force_correct(instruction_id_t ii);

instr_type_t
SIM_instruction_type(instruction_id_t ii);

int
SIM_instruction_length(instruction_id_t ii);

instruction_status_t
SIM_instruction_status(instruction_id_t ii);

reg_info_t *
SIM_instruction_get_reg_info(instruction_id_t ii,
int n);

attr_value_t
SIM_instruction_read_input_reg(instruction_id_t ii,
register_id_t ri);

attr_value_t
SIM_instruction_read_output_reg(instruction_id_t ii,
register_id_t ri);

void
SIM_instruction_write_input_reg(instruction_id_t ii,
register_id_t ri,

362

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions


attr_value_t value);

instruction_error_t
SIM_instruction_write_output_reg(instruction_id_t ii,
register_id_t ri,
attr_value_t val);

int
SIM_instruction_is_sync(instruction_id_t ii);

lang_void *
SIM_instruction_get_user_data(instruction_id_t ii);

void
SIM_instruction_set_user_data(instruction_id_t ii,
lang_void *);

instruction_id_t
SIM_instruction_id_from_mem_op_id(conf_object_t *cpu, int id);

generic_transaction_t *
SIM_instruction_stalling_mem_op(conf_object_t *obj,
instruction_id_t entry);

generic_transaction_t *
SIM_instruction_store_queue_mem_op(instruction_id_t ii, int i);

cycles_t
SIM_instruction_remaining_stall_time(conf_object_t *obj,
instruction_id_t ii);

integer_t
SIM_instruction_get_field_value(instruction_id_t ii,
const char *field_name);

attr_value_t
SIM_instruction_opcode(instruction_id_t ii);

363

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

void
SIM_release_stall(conf_object_t *obj, int id);

int
SIM_get_unique_memory_transaction_id(conf_object_t *obj);

DESCRIPTION
These functions constitute the Simics Micro-Architecture Interface, and are only available in the Micro-Architecture versions of Simics. If you have this version of Simics,
you can find the documentation of these functions in the Simics Out of Order Processor
Models document.

364

VIRTUTECH CONFIDENTIAL

3.3.5

3.3. Simics API Functions

DBuffer Interface

The DBuffer library is part of the Simics API. It is used to efficiently transfer data blocks,
such as network packets, inside the simulation. See the Simics Programming Guide for an
introduction to programming with DBuffers.

365

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Function List
dbuffer_append()
NAME
dbuffer_append, dbuffer_prepend, dbuffer_insert Add data to a dbuffer
SYNOPSIS
uint8 *
dbuffer_append(dbuffer_t *dbuffer, size_t len);

uint8 *
dbuffer_prepend(dbuffer_t *dbuffer, size_t len);

uint8 *
dbuffer_insert(dbuffer_t *dbuffer, size_t offset, size_t len);

DESCRIPTION
These functions will extend the dbuffer with len bytes and return a pointer to the
added bytes. The dbuffer_insert function adds the new data at offset in the buffer,
while the dbuffer_prepend and dbuffer_append functions add it at the the beginning
and end, respectively.
The returned pointer points to a memory area that is only guaranteed to contain valid
data for the newly added bytes, and it is illegal to reference data before it or more than
len-1 bytes ahead.
The returned pointer is also only valid until the next operation on the dbuffer function,
except for calling dbuffer_len.

366

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

dbuffer_append_external_data()
NAME
dbuffer_append_external_data, dbuffer_prepend_external_data Add static data
SYNOPSIS
uint8 *
dbuffer_append_external_data(dbuffer_t *dbuffer, void *data,
size_t len, int adopt);

uint8 *
dbuffer_prepend_external_data(dbuffer_t *dbuffer, void *data,
size_t len, int adopt);

DESCRIPTION
These functions work similar to dbuffer_append and dbuffer_prepend, but with the
difference that the data isnt copied. Instead, the buffer will reference the data pointed
to directly.
If the adopt flag is true, the control of the data block is transferred to the dbuffer. It
is assumed to be a block allocated with MM_MALLOC, and will be freed with MM_
FREE when the dbuffer is released.
If the adopt flag is false, the dbuffer will not free the memory. Instead it is up to the
caller to free the memory, but it must not do so before the dbuffer is freed. Actually,
this reference could be copied to other dbuffers, so great care has to be taken. This
should only be used for buffers that will only be read, since it hard to know if a write
operation will actually write to the buffer or to a copy.
SEE ALSO
dbuffer_append, dbuffer_prepend

367

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

dbuffer_append_value()
NAME
dbuffer_append_value, dbuffer_prepend_value Add data with uniform content
SYNOPSIS
uint8 *
dbuffer_append_value(dbuffer_t *dbuffer, int value, size_t len);

uint8 *
dbuffer_prepend_value(dbuffer_t *dbuffer, int value, size_t len);

DESCRIPTION
This adds data to a dbuffer and sets all the added bytes to value. It has the same effect
as using dbuffer_append or dbuffer_append and calling memset to set the contents.
The return value is a pointer to the data just added.
SEE ALSO
dbuffer_append, dbuffer_prepend

368

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

dbuffer_clone()
NAME
dbuffer_clone Make a full copy of another buffer
SYNOPSIS
dbuffer_t *
dbuffer_clone(dbuffer_t *dbuffer);

DESCRIPTION
This function returns a new dbuffer that contains the same data as the buffer given
in the dbuffer parameter. This doesnt involve copying any memory, since they can
share the same storage initially. However, they are still completely independent, and
operations on one buffer has no effect on the other.
The returned dbuffer should be released with dbuffer_free when it is no longer needed.
SEE ALSO
new_dbuffer, dbuffer_free

369

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

dbuffer_copy_append()
NAME
dbuffer_copy_append, dbuffer_copy_prepend Copy data from a dbuffer
SYNOPSIS
void
dbuffer_copy_append(dbuffer_t *dst, dbuffer_t *src,
size_t offset, size_t len);

void
dbuffer_copy_prepend(dbuffer_t *dst, dbuffer_t *src,
size_t offset, size_t len);

DESCRIPTION
These functions copies len bytes from the dbuffer src, at offset offset, and adds it to the
beginning or end of the dbuffer dst.
This can often be done without actually copying any memory, so it is usually very
efficient.
SEE ALSO
dbuffer_append, dbuffer_prepend

370

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

dbuffer_free()
NAME
dbuffer_free Release a dbuffer
SYNOPSIS
void
dbuffer_free(dbuffer_t *dbuffer);

DESCRIPTION
Release a dbuffer that will not be used anymore. This will also free any data in the
buffer that isnt also used by other buffers. After calling this function, the dbuffer
must not be used anymore.
SEE ALSO
new_dbuffer

371

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

dbuffer_len()
NAME
dbuffer_len Get the size of a dbuffer
SYNOPSIS
size_t
dbuffer_len(dbuffer_t *dbuffer);

DESCRIPTION
This function returns the amount of data stored in a dbuffer. This is the number of
bytes that will be returned by dbuffer_read_all.

372

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

dbuffer_read()
NAME
dbuffer_read, dbuffer_read_all, dbuffer_read_some Extract data for reading
SYNOPSIS
uint8 *
dbuffer_read(dbuffer_t *dbuffer, size_t offset, size_t len);

uint8 *
dbuffer_read_all(dbuffer_t *dbuffer);

uint8 *
dbuffer_read_some(dbuffer_t *dbuffer, size_t offset, size_t len,
size_t *actual_len);

DESCRIPTION
The offset and len parameters specify a region of the buffer to read from. The returned
pointer is guaranteed to point to a contiguous block of memory of size len. It is illegal
to write to the block return by these functions, since they may be shared by other
dbuffers. Use the dbuffer_update functions if you need to both read and write to the
dbuffer.
The returned pointer is only valid until the next operation on the dbuffer, except for
calling dbuffer_len.
The offset and len must specify a valid region, so that the end of the region is not past
the end of the dbuffer.
The dbuffer_read_some function takes an actual_len parameter, and may return a smaller
buffer than requested. The actual number of valid bytes in the returned buffer is stored
in actual_len. It will return a smaller buffer if it would have had to copy memory to
return a pointer to the whole region. This means that you can use this function repeatedly to extract all the requested data in the most efficient way. If NULL is passed for
actual_len, it will return the full region.
The dbuffer_read_all function assumes 0 for offset, and buffer_len(dbuffer) for
len.
SEE ALSO
dbuffer_update, dbuffer_replace

373

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

dbuffer_remove()
NAME
dbuffer_remove, dbuffer_remove_head, dbuffer_remove_tail Remove data from
a dbuffer
SYNOPSIS
void
dbuffer_remove(dbuffer_t *dbuffer, size_t offset, size_t remove_len);

void
dbuffer_remove_head(dbuffer_t *dbuffer, size_t remove_len);

void
dbuffer_remove_tail(dbuffer_t *dbuffer, size_t remove_len);

DESCRIPTION
These functions will remove remove_len bytes from dbuffer. The dbuffer will remove
data starting at offset, while the other functions will remove data from the beginning
or end of the buffer..
This usually doesnt involve moving any memory contents, and should be very efficient even if the buffer is large.

374

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

dbuffer_replace()
NAME
dbuffer_replace, dbuffer_replace_all, dbuffer_replace_some Replace data
SYNOPSIS
uint8 *
dbuffer_replace(dbuffer_t *dbuffer, size_t offset, size_t len);

uint8 *
dbuffer_replace_all(dbuffer_t *dbuffer);

uint8 *
dbuffer_replace_some(dbuffer_t *dbuffer, size_t offset, size_t len, size_t *actua

DESCRIPTION
The offset and len parameters specify a region of the buffer to write to. The returned
pointer is guaranteed to point to a contiguous block of memory of size len, but is
not guaranteed to contain the existing data in the buffer. Use these functions when
completely replacing a region of the buffer with new data.
The returned pointer is only valid until the next operation on the dbuffer, except for
calling dbuffer_len.
The offset and len must specify a valid region, so that the end of the region is not past
the end of the dbuffer.
The dbuffer_replace_some function takes an actual_len parameter, and may return a
smaller buffer than requested. The actual number of valid bytes in the returned buffer
is stored in actual_len. It will return a smaller buffer if it would have had to copy
memory to return a pointer to the whole region. This means that you can use this
function repeatedly to write all the requested data in the most efficient way. If NULL is
passed for actual_len, it will return the full region.
The dbuffer_replace_all function assumes 0 for offset, and buffer_len(dbuffer)
for len.
SEE ALSO
dbuffer_read, dbuffer_update

375

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

dbuffer_split()
NAME
dbuffer_split Split a dbuffer
SYNOPSIS
dbuffer_t *
dbuffer_split(dbuffer_t *dbuffer, size_t offset);

DESCRIPTION
This function returns a new dbuffer that contains the offset first bytes from dbuffer, and
removes those bytes from dbuffer The effect is that the dbuffer is split in two halves,
leaving the second half in the original dbuffer and returning the first half as a new
dbuffer.
The returned dbuffer should be released with dbuffer_free when it is no longer needed.
SEE ALSO
new_dbuffer, dbuffer_free

376

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

dbuffer_update()
NAME
dbuffer_update, dbuffer_update_all, dbuffer_update_some Extract data for updating
SYNOPSIS
uint8 *
dbuffer_update(dbuffer_t *dbuffer, size_t offset, size_t len);

uint8 *
dbuffer_update_all(dbuffer_t *dbuffer);

uint8 *
dbuffer_update_some(dbuffer_t *dbuffer, size_t offset, size_t len, size_t *actual

DESCRIPTION
The offset and len parameters specify a region of the buffer to access. The returned
pointer is guaranteed to point to a contiguous block of memory of size len. The block
can be used for reading and writing data to the dbuffer.
The returned pointer is only valid until the next operation on the dbuffer, except for
calling dbuffer_len.
The offset and len must specify a valid region, so that the end of the region is not past
the end of the dbuffer.
The dbuffer_update_some function takes an actual_len parameter, and may return a
smaller buffer than requested. The actual number of valid bytes in the returned buffer
is stored in actual_len. It will return a smaller buffer if it would have had to copy
memory to return a pointer to the whole region. This means that you can use this
function repeatedly to access all the requested data in the most efficient way. If NULL
is passed for actual_len, it will return the full region.
The dbuffer_update_all function assumes 0 for offset, and buffer_len(dbuffer)
for len.
SEE ALSO
dbuffer_read, dbuffer_replace

377

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

new_dbuffer()
NAME
new_dbuffer Create a new dbuffer
SYNOPSIS
dbuffer_t *
new_dbuffer(void);

DESCRIPTION
This function returns an empty dbuffer. Use it when you need a new dbuffer, and call
dbuffer_free when it isnt needed anymore.
SEE ALSO
dbuffer_free, dbuffer_clone

378

VIRTUTECH CONFIDENTIAL

3.3.6

3.3. Simics API Functions

VTMEM

VTmem Overview
The VTmem (Virtutech Memory Management) module provides a generic mechanism for
creating and managing dynamic objects in C, as a replacement for the standard malloc().
This support is designed to support various forms of debugging, performance tuning, leak
detection, etc. The facilities as a whole are called VTmem; most functions have the prefix
mm_, and most macros have the prefix MM_.
Creating and Deleting Objects
To create an VTmem object, you use macros such as MM_MALLOC(), which replace calls to
malloc(). For example, to allocate 13 objects of type device_t, use
device_t *d = MM_MALLOC(13, device_t);
The specified type is used for keeping track of the total amount of memory used for each
kind of object, and for knowing the size of the allocation (and being able to return a correctly
casted pointer). This means that it must be possible to get a pointer to the type by appending
an asterisk to the type name; so struct foo * is acceptable, but int (*)(void) is not.
Use a typedef in these cases.
There are also macros for specifying the size in bytes, and variants that return memory
initialised with zero bytes. It is also possible to specify a desired address alignment.
Since the allocation sites are tracked by file and line number, it is a good idea to avoid
having more than one allocation call in a single source line.
Exported Interface
This is the entire interface to the VTmem facility.

379

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

VTMEM Macros
MM_FREE()
NAME
MM_FREE free vtmem object
SYNOPSIS
MM_FREE(p);

DESCRIPTION
MM_FREE frees a vtmem object. It is legal to pass a null pointer, in which case it does
nothing.

380

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

MM_MALIGN()
NAME
MM_MALIGN, MM_ZALIGN allocate aligned memory
SYNOPSIS
MM_MALIGN(align, nelems, type);

MM_ZALIGN(align, nelems, type);

DESCRIPTION
MM_MALIGN allocates memory aligned to the nearest align-byte boundary. The align
parameter must be an even power of 2.
MM_ZALIGN does the same thing but in addition zeroes out the allocated memory.
Allocated aligned memory imposes a slightly higher space overhead than ordinary
memory as handed out by MM_MALLOC. The overhead is of the order of align bytes
per allocation.
RETURN VALUE
Pointer to the allocated object.

381

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

MM_MALLOC()
NAME
MM_MALLOC, MM_MALLOC_SZ, MM_ZALLOC, MM_ZALLOC_SZ allocate
memory object
SYNOPSIS
MM_MALLOC(nelems, type);

MM_MALLOC_SZ(size, type);

MM_ZALLOC(nelems, type);

MM_ZALLOC_SZ(size, type);

DESCRIPTION
MM_MALLOC allocates nelems objects of type.
MM_MALLOC_SZ specifies the allocation in bytes, which can be occasionally useful.
MM_ZALLOC and MM_ZALLOC_SZ do the same thing as their Z-less counterparts
but in addition zero out the allocated memory.
If nelems or size are zero, a null pointer is returned.
RETURN VALUE
Pointer to the allocated object.

382

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

MM_REALLOC()
NAME
MM_REALLOC, MM_REALLOC_SZ, MM_ZREALLOC, MM_ZREALLOC_SZ
reallocate memory
SYNOPSIS
MM_REALLOC(p, nelems, type);

MM_REALLOC_SZ(p, size, type);

MM_ZREALLOC(p, nelems, type);

MM_ZREALLOC_SZ(p, size, type);

DESCRIPTION
MM_REALLOC changes the size of an allocated memory block to nelems elements.
MM_REALLOC_SZ specifies the new size in bytes.
MM_ZREALLOC and MM_ZREALLOC_SZ do the same thing as their Z-less counterparts, but in addition zero out the extended part of the allocation.
If the passed pointer is NULL, then these macros are equivalent to an allocation of the
desired amount. If nelems or size are zero, a null pointer is returned and the original
allocation is freed.
RETURN VALUE
Pointer to the reallocated object.

383

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

MM_STRDUP()
NAME
MM_STRDUP duplicate a string
SYNOPSIS
MM_STRDUP(str);

DESCRIPTION
Corresponds to the traditional strdup() function, but uses the instrumentation of the
Simics memory allocator.
RETURN VALUE
Pointer to the newly allocated string.

384

VIRTUTECH CONFIDENTIAL

3.3.7

3.3. Simics API Functions

Python-specific Functions

This list describes the Python-specific functions that are available for writing commands,
scripts and Python modules in Simics.

385

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

Function List
cli.arg()
NAME
arg define a command argument
NAMESPACE
cli
SYNOPSIS

arg(handler, name = "", spec = "1", default = None, data = None,


doc = "", expander = None, pars = [], is_a = None)

DESCRIPTION
Define a CLI command argument when using new_command(). A complete explanation of new_command() and arg() is available in the Simics Programming Guide.

386

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

cli.eval_cli_line()
NAME
eval_cli_line evaluate a CLI command line
NAMESPACE
cli
SYNOPSIS

eval_cli_line(text, user_typed = 0)

DESCRIPTION
Evaluate a CLI command line as if it has been entered at the prompt. This is useful to re-use existing command code when writing Python scripts. Command errors
are printed on the console, and not reported back to Python. Note that the ! and @
modifiers are not supported when using eval_cli_line().

387

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

cli.get_available_object_name()
NAME
get_available_object_name return a non-allocated object name
NAMESPACE
cli
SYNOPSIS

get_available_object_name(prefix)

DESCRIPTION
Return an object name suitable for creating a new object (i.e., that has not been used
yet) based on the prefix passed as argument.

388

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

cli.new_command()
NAME
new_command define a new CLI command
NAMESPACE
cli
SYNOPSIS

new_command(name, fun, args = [], doc = "", type = "misc commands",


pri = 0, infix = 0, left = 1,
short = "", group_short = "", alias = [], doc_with = "",
check_args = 2,
doc_items = [], see_also = [], namespace = "",
method = "", namespace_copy = (), internal = 0,
filename = "", linenumber = "", module = "",
object = None, repeat = None, deprecated = None)

DESCRIPTION
Define a new CLI command. A complete explanation of new_command() is available
in the Simics Programming Guide.

389

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

cli.number_str()
NAME
number_str return a ready-to-print representation of a number
NAMESPACE
cli
SYNOPSIS

number_str(val, radix = -1)

DESCRIPTION
Return a ready-to-print representation of the number val in a given base (radix) or the
current base by defaultfollowing the current settings for number representation.
RETURN VALUE
A string representing the number.

390

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

cli.object_expander()
NAME
object_expander Standard expander for an object argument
NAMESPACE
cli
SYNOPSIS

object_expander(kind)

DESCRIPTION
For command writing: standard expander that can be use to provide argument completion on all objects of a given class or matching a given interface (kind). For example,
to expand a string with the list of processor available in the machine, you would write:
arg(str_t, "cpu", expander =

object_expander("processor"))

To expand a string to all gcache objects:


arg(str_t, "cache", expander = object_expander("gcache"))

391

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

cli.quiet_run_command()
NAME
quiet_run_command Run a CLI command and return output
NAMESPACE
cli
SYNOPSIS

quiet_run_command(text)

DESCRIPTION
Runs a CLI command, or a CLI expression, as if it has been entered at the prompt.
Errors are reported using CliError exception. The quiet_run_command() is similar to
run_command() but returns a tuple with the command return value as first entry, and
the text output as the second. Note that the ! and @ modifiers are not supported when
using quiet_run_command().

392

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

cli.run_command()
NAME
run_command Run a CLI command
NAMESPACE
cli
SYNOPSIS

run_command(text)

DESCRIPTION
Runs a CLI command, or a CLI expression, as if it has been entered at the prompt. Errors are reported using CliError exception, and any return value from the command is
returned by this function to Python. Note that the ! and @ modifiers are not supported
when using run_command().

393

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

sim_commands.new_info_command()
NAME
new_info_command define a new info command
NAMESPACE
sim_commands
SYNOPSIS

new_info_command(cls, get_info, ctype = None)

DESCRIPTION
Define a new info command for a given device. cls is the class for which the info
command should be registered. get_info is a function returning the information to be
printed. get_info() should return a data structure of the following kind: [(SectionName1,
[(DataName1.1, DataValue1.1), (DataName1.2, DataValue1.2), ...]
), (SectionName2, [(DataName2.1, DataValue2.1), (DataName2.2, DataValue2.
2), ...]), ...]
Each section will be printed separately. Each piece of data will
be printed on one line. If no sections are necessary, just provide None as the only
sections name, followed by the list of data.

394

VIRTUTECH CONFIDENTIAL

3.3. Simics API Functions

sim_commands.new_status_command()
NAME
new_status_command define a new status command
NAMESPACE
sim_commands
SYNOPSIS

new_status_command(cls, get_status, ctype = None)

DESCRIPTION
Define a new status command for a given device. cls is the class for which the status
command should be registered. get_status is a function returning the information to be
printed. get_status() should return a data structure of the same kind as in new_info_
command().
SEE ALSO
sim_commands.new_info_command

395

VIRTUTECH CONFIDENTIAL

3.4

3.4. Backwards Compatibility

Backwards Compatibility

It is unfortunately necessary to change the Simics API from time to time for different reasons. In order to make the transition as easy as possible for programmers, we try to maintain
backwards compatibility when possible. To enable backwards compatibility mode when including the Simics API header files, you need to define different preprocessor macros, as
described in the following chapters. This is an example of how you could use SIM_BC_
LOG_CONSTRUCTOR:
#define SIM_BC_LOG_CONSTRUCTOR
#include "simics_api.h"
typedef struct {
log_object_t log;
:
} my_device_t;
static conf_object_t *
my_new_instance(parse_object_t *parse_obj)
{
my_device_t *dev = malloc(sizeof *dev);
log_constructor(&dev->log, parse_obj);
:
}

3.4.1

SIM_BC_NO_STDOUT_REDEFINE

When this macro is defined, Simics will not define the following macros to override some
standard C library functions:
#undef printf
#if defined(HAVE_VARARG_MACROS)
#define printf(...) SIM_printf(__VA_ARGS__)
#else
#define printf SIM_printf
#endif
#undef vprintf
#define vprintf(str, ap) SIM_printf_vararg(str, ap)
#undef puts
#define puts(str) SIM_puts(str)
#undef putchar
#define putchar(c) SIM_putchar(c)

396

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

#undef fwrite
#define fwrite(ptr, size, nmemb, stream)
((stream) == stdout
? (size_t)SIM_write((ptr), (size) * (nmemb))
: fwrite(ptr, size, nmemb, stream))
#undef fputs
#define fputs(str, stream)
((stream) == stdout
? SIM_write((str), strlen(str))
: fputs((str), (stream)))

\
\
\

\
\
\

#undef fflush
#define fflush(stream) ((stream) == stdout ? SIM_flush() : fflush(stream))

397

VIRTUTECH CONFIDENTIAL

3.4.2

3.4. Backwards Compatibility

Obsolete API Types

event_poster_interface_describe_event_t, event_poster_interface_get_event_info_t, event_


poster_interface_set_event_info_t
NAME
event_poster_interface_describe_event_t event_poster_interface_get_event_info_t event_
poster_interface_set_event_info_t
DESCRIPTION
These datatypes are obsolete and should not be used.

398

VIRTUTECH CONFIDENTIAL

3.4.3

3.4. Backwards Compatibility

Obsolete API Functions

SIM_add_mode_counter()
NAME
SIM_add_mode_counter obsolete API function
SYNOPSIS
int
SIM_add_mode_counter(conf_object_t *cpu, const char *desc);

DESCRIPTION
This function will be obsolete in the next version of Simics.

399

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_all_classes()
NAME
SIM_all_classes obsolete API function
SYNOPSIS
class_vector_t
SIM_all_classes(void);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_get_all_classes()
instead.
SEE ALSO
SIM_get_all_classes

400

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_all_objects()
NAME
SIM_all_objects obsolete API function
SYNOPSIS
object_vector_t
SIM_all_objects(void);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_get_all_objects()
instead.
SEE ALSO
SIM_get_all_objects

401

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_breakpoint_action()
NAME
SIM_breakpoint_action obsolete API function
SYNOPSIS
int
SIM_breakpoint_action(breakpoint_id_t id, const char *action);

DESCRIPTION
Obsolete since Simics 2.0. Use the Core_Breakpoint hap instead to connect your own
callback to a breakpoint.

402

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_c_frontend_exception()
NAME
SIM_c_frontend_exception obsolete API function
SYNOPSIS
void
SIM_c_frontend_exception(void *fe,
sim_exception_t exc_type,
const char *str);

DESCRIPTION
Obsolete since Simics 3.0. Use SIM_frontend_exception() instead.
SEE ALSO
SIM_frontend_exception

403

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_check_exception()
NAME
SIM_check_exception obsolete API function
SYNOPSIS
sim_exception_t
SIM_check_exception(void);

DESCRIPTION
Obsolete since Simics 3.0. Use SIM_clear_exception() and SIM_get_pending_exception()
instead.
SEE ALSO
SIM_clear_exception, SIM_get_pending_exception

404

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_clear_atomic_reservation_bit()
NAME
SIM_clear_atomic_reservation_bit obsolete API function
SYNOPSIS
void
SIM_clear_atomic_reservation_bit(processor_t *cpu);

DESCRIPTION
Obsolete since Simics 1.8. Use clear_atomic_reservation_bit() in the ppc interface
instead.

405

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_cpu_by_mid()
NAME
SIM_cpu_by_mid obsolete API function
SYNOPSIS
processor_t *
SIM_cpu_by_mid(int mid);

DESCRIPTION
Obsolete since Simics 1.6.
SEE ALSO

406

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_cpu_enabled()
NAME
SIM_cpu_enabled obsolete API function
SYNOPSIS
int
SIM_cpu_enabled(conf_object_t *cpu);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_processor_
enabled() instead.
SEE ALSO
SIM_processor_enabled

407

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_cpu_issue_cycles()
NAME
SIM_cpu_issue_cycles obsolete API function
SYNOPSIS
simtime_t
SIM_cpu_issue_cycles(processor_t *cpu);

DESCRIPTION
Obsolete since Simics 1.6. Use SIM_step_count()() instead.
SEE ALSO
SIM_step_count

408

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_cpu_privilege_level()
NAME
SIM_cpu_privilege_level obsolete API function
SYNOPSIS
int
SIM_cpu_privilege_level(conf_object_t *cpu);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_processor_
privilege_level() instead.
SEE ALSO
SIM_processor_privilege_level

409

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_device_log()
NAME
SIM_device_log obsolete API function
SYNOPSIS
void
SIM_device_log(conf_object_t *obj, const char *msg);

DESCRIPTION
Obsolete since Simics 1.8. Use SIM_log_message() and the new log system macros
instead.
SEE ALSO
SIM_log_message

410

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_disassemble_physical()
NAME
SIM_disassemble_physical obsolete API function
SYNOPSIS
const char *
SIM_disassemble_physical(processor_t *cpu_ptr, physical_address_t pa);

DESCRIPTION
Obsolete since Simics 1.6. Use SIM_disassemble() instead.
SEE ALSO
SIM_disassemble

411

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_dump_caches()
NAME
SIM_dump_caches obsolete API function
SYNOPSIS
void
SIM_dump_caches(void);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_flush_all_caches()
instead.
SEE ALSO
SIM_flush_all_caches

412

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_exception_has_occurred()
NAME
SIM_exception_has_occurred obsolete API function
SYNOPSIS
int
SIM_exception_has_occurred(void);

DESCRIPTION
Obsolete since Simics 3.0. Use SIM_get_pending_exception() instead.
SEE ALSO
SIM_get_pending_exception

413

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_for_all_hap_types()
NAME
SIM_for_all_hap_types obsolete API function
SYNOPSIS
void
SIM_for_all_hap_types(void (*func)(char *));

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_get_all_hap_
types() instead.

414

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_for_all_modules()
NAME
SIM_for_all_modules obsolete API function
SYNOPSIS
void
SIM_for_all_modules(void (*func)(char *, char *, char *, char *));

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_get_all_modules()
instead.

415

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_for_all_modules_failed()
NAME
SIM_for_all_modules_failed obsolete API function
SYNOPSIS
void
SIM_for_all_modules_failed(void (*func)(char *, char *, char *,
char *, char *));

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_get_all_failed_
modules() instead.

416

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_for_all_processors()
NAME
SIM_for_all_processors obsolete API function
SYNOPSIS
void
SIM_for_all_processors(void (*func)(conf_object_t *, lang_void *user_data),
lang_void *user_data);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_get_all_processors()
and a loop instead.
SEE ALSO
SIM_get_all_processors

417

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_No_Exception()
NAME
SIM_get_No_Exception obsolete API function
SYNOPSIS
exception_type_t
SIM_get_No_Exception(void);

DESCRIPTION
Obsolete since Simics 1.6. Use the enum value Sim_PE_No_Exception instead.

418

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_base_pointer()
NAME
SIM_get_base_pointer obsolete API function
SYNOPSIS
logical_address_t
SIM_get_base_pointer(conf_object_t *cpu);

DESCRIPTION
Obsolete since Simics 1.8. Use SIM_read_register() on the register that is defined as
the base pointer on your target.
SEE ALSO
SIM_read_register

419

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_control_register_name()
NAME
SIM_get_control_register_name obsolete API function
SYNOPSIS
const char *
SIM_get_control_register_name(processor_t *cpu_ptr, int reg);

DESCRIPTION
Obsolete since Simics 1.6. Use SIM_get_register_name() instead.
SEE ALSO
SIM_get_register_number

420

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_control_register_number()
NAME
SIM_get_control_register_number obsolete API function
SYNOPSIS
int
SIM_get_control_register_number(processor_t *cpu_ptr, const char *regname);

DESCRIPTION
Obsolete since Simics 1.6. Use SIM_get_register_number() instead.
SEE ALSO
SIM_get_register_number

421

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_current_proc_no()
NAME
SIM_get_current_proc_no obsolete API function
SYNOPSIS
int
SIM_get_current_proc_no(void);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_get_processor_
number() and SIM_current_processor() instead.
SEE ALSO
SIM_get_processor_number, SIM_current_processor

422

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_file_size()
NAME
SIM_get_file_size obsolete API function
SYNOPSIS
uint64
SIM_get_file_size(const char *filename);

DESCRIPTION
Obsolete since Simics 2.0. Use the corresponding library function on your host system.

423

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_history_match()
NAME
SIM_get_history_match obsolete API function
SYNOPSIS
const char *
SIM_get_history_match(const char *str);

DESCRIPTION
Obsolete since Simics 3.0.
SEE ALSO

424

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_mmu_data()
NAME
SIM_get_mmu_data obsolete API function
SYNOPSIS
conf_object_t *
SIM_get_mmu_data(processor_t *cpu);

DESCRIPTION
Obsolete since Simics 1.6. Read the mmu attribute of cpu instead.

425

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_mode_counter()
NAME
SIM_get_mode_counter obsolete API function
SYNOPSIS
integer_t
SIM_get_mode_counter(conf_object_t *cpu, processor_mode_t mode, int counter);

DESCRIPTION
This function will be obsolete in the next version of Simics.

426

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_proc_no()
NAME
SIM_get_proc_no obsolete API function
SYNOPSIS
int
SIM_get_proc_no(const conf_object_t *cpu);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_get_processor_
number() instead.
SEE ALSO
SIM_get_processor_number

427

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_simics_home()
NAME
SIM_get_simics_home obsolete API function
SYNOPSIS
const char *
SIM_get_simics_home(void);

DESCRIPTION
The use of this function is deprecated. The simics_home attribute in the sim class can
be used instead.

428

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_stack_pointer()
NAME
SIM_get_stack_pointer obsolete API function
SYNOPSIS
logical_address_t
SIM_get_stack_pointer(conf_object_t *cpu);

DESCRIPTION
Obsolete since Simics 1.8. Use SIM_read_register() on the register that is defined as
the stack pointer on your target.
SEE ALSO
SIM_read_register

429

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_get_trap_time()
NAME
SIM_get_trap_time obsolete API function
SYNOPSIS
integer_t
SIM_get_trap_time(processor_t *cpu_ptr, int trap_level);

DESCRIPTION
Obsolete since Simics 1.6. Read the trap_times attribute of the corresponding cpu instead.

430

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_hap_install_callback()
NAME
SIM_hap_install_callback obsolete API function
SYNOPSIS
hap_handle_t
SIM_hap_install_callback(hap_type_t hap,
hap_func_t func,
lang_void *user_data);

DESCRIPTION
Obsolete since Simics 2.2. Use the new hap functions, in this case the functions SIM_
hap_add_callback() or SIM_hap_add_callback_obj().
SEE ALSO
SIM_hap_add_callback

431

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_hap_install_callback_idx()
NAME
SIM_hap_install_callback_idx obsolete API function
SYNOPSIS
hap_handle_t
SIM_hap_install_callback_idx(hap_type_t hap,
hap_func_t func,
integer_t idx,
lang_void *user_data);

DESCRIPTION
Obsolete since Simics 2.2. Use the new hap functions, in this case the functions SIM_
hap_add_callback_index() or SIM_hap_add_callback_obj_index().
SEE ALSO
SIM_hap_add_callback

432

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_hap_install_callback_range()
NAME
SIM_hap_install_callback_range obsolete API function
SYNOPSIS
hap_handle_t
SIM_hap_install_callback_range(hap_type_t hap,
hap_func_t func,
integer_t low,
integer_t high,
lang_void *user_data);

DESCRIPTION
Obsolete since Simics 2.2. Use the new hap functions, in this case the functions SIM_
hap_add_callback_range() or SIM_hap_add_callback_obj_range().
SEE ALSO
SIM_hap_add_callback

433

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_hap_new_type()
NAME
SIM_hap_new_type obsolete API function
SYNOPSIS
hap_type_t
SIM_hap_new_type(const
const
const
const
const

char
char
char
char
char

*hap,
*params,
*param_desc,
*index,
*desc);

DESCRIPTION
Obsolete since Simics 2.2. Use the new hap functions, in this case the function SIM_
hap_add_type().
SEE ALSO
SIM_hap_add_type

434

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_hap_register_callback()
NAME
SIM_hap_register_callback obsolete API function
SYNOPSIS
hap_handle_t
SIM_hap_register_callback(const char *id,
hap_func_t func,
lang_void *user_data);

DESCRIPTION
Obsolete since Simics 2.2. Use the new hap functions, in this case the functions SIM_
hap_add_callback() or SIM_hap_add_callback_obj().
SEE ALSO
SIM_hap_add_callback

435

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_hap_register_callback_idx()
NAME
SIM_hap_register_callback_idx obsolete API function
SYNOPSIS
hap_handle_t
SIM_hap_register_callback_idx(const char *id,
hap_func_t func,
integer_t idx,
lang_void *user_data);

DESCRIPTION
Obsolete since Simics 2.2. Use the new hap functions, in this case the functions SIM_
hap_add_callback_index() or SIM_hap_add_callback_obj_index().
SEE ALSO
SIM_hap_add_callback

436

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_hap_register_callback_range()
NAME
SIM_hap_register_callback_range obsolete API function
SYNOPSIS
hap_handle_t
SIM_hap_register_callback_range(const char *id,
hap_func_t func,
integer_t low,
integer_t high,
lang_void *user_data);

DESCRIPTION
Obsolete since Simics 2.2. Use the new hap functions, in this case the functions SIM_
hap_add_callback_range() or SIM_hap_add_callback_obj_range().
SEE ALSO
SIM_hap_add_callback

437

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_hap_remove_callback()
NAME
SIM_hap_remove_callback obsolete API function
SYNOPSIS
void
SIM_hap_remove_callback(hap_type_t hap, hap_handle_t handle);

DESCRIPTION
Obsolete since Simics 2.2. Use the new hap functions, in this case the functions SIM_
hap_delete_callback_id() or SIM_hap_delete_callback_obj_id().
SEE ALSO
SIM_hap_delete_callback

438

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_hap_unregister_callback()
NAME
SIM_hap_unregister_callback obsolete API function
SYNOPSIS
void
SIM_hap_unregister_callback(const char *id,
hap_func_t func,
lang_void *user_data);

DESCRIPTION
Obsolete since Simics 2.2. Use the new hap functions, and this case the functions SIM_
hap_delete_callback() or SIM_hap_delete_callback_obj().
SEE ALSO
SIM_hap_delete_callback

439

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_inc_cur_mode_counter()
NAME
SIM_inc_cur_mode_counter obsolete API function
SYNOPSIS
void
SIM_inc_cur_mode_counter(conf_object_t *cpu, int counter);

DESCRIPTION
This function will be obsolete in the next version of Simics.

440

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_inc_mode_counter()
NAME
SIM_inc_mode_counter obsolete API function
SYNOPSIS
void
SIM_inc_mode_counter(conf_object_t *cpu, processor_mode_t mode, int counter);

DESCRIPTION
This function will be obsolete in the next version of Simics.

441

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_install_default_ASI_handler()
NAME
SIM_install_default_ASI_handler obsolete API function
SYNOPSIS
void
SIM_install_default_ASI_handler(
exception_type_t (*handler)(generic_transaction_t *),
int asi);

DESCRIPTION
Obsolete since Simics 1.6.

442

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_install_user_ASI_handler()
NAME
SIM_install_user_ASI_handler obsolete API function
SYNOPSIS
void
SIM_install_user_ASI_handler(
exception_type_t (*handler)(generic_transaction_t *),
int asi);

DESCRIPTION
Obsolete since Simics 1.6.

443

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_instruction_info()
NAME
SIM_instruction_info obsolete API function
SYNOPSIS
instr_info_t *
SIM_instruction_info(conf_object_t *cpu, logical_address_t vaddr);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use instruction_info() in
the processor interface instead.

444

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_no_windows()
NAME
SIM_no_windows obsolete API function
SYNOPSIS
int
SIM_no_windows(void);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use the open_windows
attribute in the sim object instead.

445

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_num_control_registers()
NAME
SIM_num_control_registers obsolete API function
SYNOPSIS
int
SIM_num_control_registers(processor_t *cpu_ptr);

DESCRIPTION
Obsolete since Simics 1.6.
SEE ALSO

446

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_object_by_id()
NAME
SIM_object_by_id obsolete API function
SYNOPSIS
conf_object_t *
SIM_object_by_id(int id);

DESCRIPTION
This function is obsolete since Simics 2.2. The object id will be removed in future
Simics versions, code relying on it should be rewritten.
SEE ALSO

447

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_proc_no_2_ptr()
NAME
SIM_proc_no_2_ptr obsolete API function
SYNOPSIS
conf_object_t *
SIM_proc_no_2_ptr(int proc_no);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_get_processor()
instead.
SEE ALSO
SIM_get_processor

448

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_processor_break()
NAME
SIM_processor_break obsolete API function
SYNOPSIS
void
SIM_processor_break(conf_object_t *cpu, integer_t steps);

DESCRIPTION
This function will be obsolete in the next version of Simics. Use SIM_break_step()
instead.
SEE ALSO
SIM_break_step

449

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_raise_general_exception()
NAME
SIM_raise_general_exception obsolete API function
SYNOPSIS
void
SIM_raise_general_exception(const char *msg);

DESCRIPTION
Obsolete since Simics 3.0. Use SIM_frontend_exception() instead.
SEE ALSO
SIM_frontend_exception

450

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_read_control_register()
NAME
SIM_read_control_register obsolete API function
SYNOPSIS
uinteger_t
SIM_read_control_register(processor_t *cpu_ptr, int reg);

DESCRIPTION
Obsolete since Simics 1.6. Use SIM_read_register() instead.
SEE ALSO
SIM_read_register

451

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_read_fp_register()
NAME
SIM_read_fp_register obsolete API function
SYNOPSIS
ia64_fp_register_t
SIM_read_fp_register(processor_t *cpu_ptr, int reg);

DESCRIPTION
Obsolete since Simics 1.8. Use read_fp_register() in the ia64 interface instead.

452

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_read_fp_register_d()
NAME
SIM_read_fp_register_d obsolete API function
SYNOPSIS
double
SIM_read_fp_register_d(processor_t *cpu_ptr, int reg);

DESCRIPTION
Obsolete since Simics 1.8. Use read_fp_register_d() in the sparc-v9 or alpha interface instead.

453

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_read_fp_register_i()
NAME
SIM_read_fp_register_i obsolete API function
SYNOPSIS
uint32
SIM_read_fp_register_i(processor_t *cpu_ptr, int reg);

DESCRIPTION
Obsolete since Simics 1.8. Use read_fp_register_i() in the sparc-v9 interface instead.

454

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_read_fp_register_s()
NAME
SIM_read_fp_register_s obsolete API function
SYNOPSIS
float
SIM_read_fp_register_s(processor_t *cpu_ptr, int reg);

DESCRIPTION
Obsolete since Simics 1.8. Use read_fp_register_s() in the sparc-v9 interface instead.

455

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_read_fp_register_x()
NAME
SIM_read_fp_register_x obsolete API function
SYNOPSIS
uint64
SIM_read_fp_register_x(processor_t *cpu_ptr, int reg);

DESCRIPTION
Obsolete since Simics 1.8. Use read_fp_register_x() in the sparc-v9 or alpha interface instead.

456

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_read_global_register()
NAME
SIM_read_global_register obsolete API function
SYNOPSIS
uinteger_t
SIM_read_global_register(processor_t *cpu_ptr, int globals, int reg);

DESCRIPTION
Obsolete since Simics 1.6. Use read_global_register() in the sparc-v9 interface instead.

457

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_read_window_register()
NAME
SIM_read_window_register obsolete API function
SYNOPSIS
uinteger_t
SIM_read_window_register(processor_t *cpu_ptr, int window, int reg);

DESCRIPTION
Obsolete since Simics 1.6. Use read_window_register() in the sparc-v9 interface instead.

458

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_set_mode_counter()
NAME
SIM_set_mode_counter obsolete API function
SYNOPSIS
void
SIM_set_mode_counter(conf_object_t *cpu, processor_mode_t mode,
int counter, integer_t value);

DESCRIPTION
This function will be obsolete in the next version of Simics.

459

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_sparc_ASI_info()
NAME
SIM_sparc_ASI_info obsolete API function
SYNOPSIS
int
SIM_sparc_ASI_info(processor_t *cpu_ptr, int asi, int info);

DESCRIPTION
Obsolete since Simics 1.6.

460

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_void_to_processor_t()
NAME
SIM_void_to_processor_t obsolete API function
SYNOPSIS
processor_t *
SIM_void_to_processor_t(void *cpu);

DESCRIPTION
Obsolete since Simics 1.6. Use a C cast to processor_t * instead.

461

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_write_control_register()
NAME
SIM_write_control_register obsolete API function
SYNOPSIS
void
SIM_write_control_register(processor_t *cpu_ptr, int reg, uinteger_t value);

DESCRIPTION
Obsolete since Simics 1.6. Use SIM_write_register() instead.
SEE ALSO
SIM_write_register

462

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_write_fp_register()
NAME
SIM_write_fp_register obsolete API function
SYNOPSIS
void
SIM_write_fp_register(processor_t *cpu_ptr, int reg, ia64_fp_register_t val);

DESCRIPTION
Obsolete since Simics 1.8. Use write_fp_register() in the ia64 interface instead.

463

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_write_fp_register_d()
NAME
SIM_write_fp_register_d obsolete API function
SYNOPSIS
void
SIM_write_fp_register_d(processor_t *cpu_ptr, int reg, double value);

DESCRIPTION
Obsolete since Simics 1.8. Use write_fp_register_d() in the sparc-v9 interface instead.

464

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_write_fp_register_i()
NAME
SIM_write_fp_register_i obsolete API function
SYNOPSIS
void
SIM_write_fp_register_i(processor_t *cpu_ptr, int reg, uint32 value);

DESCRIPTION
Obsolete since Simics 1.8. Use write_fp_register_i() in the sparc-v9 interface instead.

465

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_write_fp_register_s()
NAME
SIM_write_fp_register_s obsolete API function
SYNOPSIS
void
SIM_write_fp_register_s(processor_t *cpu_ptr, int reg, float value);

DESCRIPTION
Obsolete since Simics 1.8. Use write_fp_register_s() in the sparc-v9 interface instead.

466

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_write_fp_register_x()
NAME
SIM_write_fp_register_x obsolete API function
SYNOPSIS
void
SIM_write_fp_register_x(processor_t *cpu_ptr, int reg, uint64 value);

DESCRIPTION
Obsolete since Simics 1.8. Use write_fp_register_x() in the sparc-v9 interface instead.

467

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_write_global_register()
NAME
SIM_write_global_register obsolete API function
SYNOPSIS
void
SIM_write_global_register(processor_t *cpu_ptr, int globals,
int reg, uinteger_t value);

DESCRIPTION
Obsolete since Simics 1.6. Use write_global_register() in the sparc-v9 interface instead.

468

VIRTUTECH CONFIDENTIAL

3.4. Backwards Compatibility

SIM_write_window_register()
NAME
SIM_write_window_register obsolete API function
SYNOPSIS
void
SIM_write_window_register(processor_t *cpu_ptr, int window,
int reg, uinteger_t value);

DESCRIPTION
Obsolete since Simics 1.6. Use write_window_register() in the sparc-v9 interface
instead.

469

VIRTUTECH CONFIDENTIAL

Chapter 4

Commands
4.1

Complete List

!
!=
$
%
&

+
+=
-=
->
/
<
<<
<=
<address_profiler>.address-profile-data
<address_profiler>.address-profile-info
<address_profiler>.address-profile-toplist
<agp-voodoo3>.info
<agp-voodoo3>.status
<alpha-lx164-system>.info
<alpha-lx164-system>.status
<AM79C960-dml>.connect
<AM79C960-dml>.disconnect
<AM79C960-dml>.info
<AM79C960-dml>.status

execute a shell command


not equal
get the value of an environment variable
read register by name
bitwise AND operation
arithmetic multiplication
arithmetic addition
set an environment variable
arithmetic subtraction
set an environment variable
access object attribute
arithmetic division
less than
bitwise left shift
less or equal
linear map of address profiling data
general info about an address profiler
print toplist of address profiling data
print information about the device
print status of the device
print information about the device
print status of the device
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print status of the device

470

VIRTUTECH CONFIDENTIAL

<AM79C960>.connect
<AM79C960>.disconnect
<AM79C960>.info
<AM79C960>.status
<AM79C973>.info
<AM79C973>.pci-header
<AM79C973>.status
<apic-bus>.info
<apic-bus>.status
<apic>.info
<apic>.status
<apm>.status
<arm-sa1110-system>.info
<arm-sa1110-system>.status
<arm>.pscc-regs
<AT24C164>.info
<AT24C164>.status
<base-trace-mem-hier>.start
<base-trace-mem-hier>.stop
<base-trace-mem-hier>.trace-start
<base-trace-mem-hier>.trace-stop
<BCM5703C>.connect
<BCM5703C>.disconnect
<BCM5703C>.info
<BCM5703C>.pci-header
<BCM5703C>.status
<BCM5704C>.connect
<BCM5704C>.disconnect
<BCM5704C>.info
<BCM5704C>.pci-header
<BCM5704C>.status
<bitmask-translator>.info
<bitmask-translator>.status
<branch_recorder>.clean
<branch_recorder>.info
<branch_recorder>.print-branch-arcs
<branch_recorder>.status
<breakpoint>.break
<breakpoint>.tbreak
<cassini>.connect
<cassini>.disconnect

4.1. Complete List


connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print status of the device
print information about the device
print PCI device header
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print status of the device
print information about the device
print status of the device
print coprocessor 15 (scc) registers.
print information about the device
print status of the device
control default tracer
stop default tracer
alias for <base-trace-mem-hier>.start
alias for <base-trace-mem-hier>.stop
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print PCI device header
print status of the device
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print PCI device header
print status of the device
print information about the device
print status of the device
delete all branch arcs in the branch recorder
print information about the device
print branch arcs
print status of the device
set breakpoint
set temporary breakpoint on current processor
connect to a simulated Ethernet link
disconnect from simulated link

471

VIRTUTECH CONFIDENTIAL

<cassini>.info
<cassini>.pci-header
<cassini>.status
<central-client>.connect
<central-client>.disconnect
<central-client>.info
<central-client>.links
<central-server>.connections
<central-server>.info
<cheerio-e2bus>.info
<cheerio-e2bus>.pci-header
<cheerio-e2bus>.status
<cheerio-hme>.connect
<cheerio-hme>.disconnect
<cheerio-hme>.info
<cheerio-hme>.pci-header
<cheerio-hme>.status
<cheetah-mmu>.d-probe
<cheetah-mmu>.d-tlb
<cheetah-mmu>.i-probe
<cheetah-mmu>.i-tlb
<cheetah-mmu>.info
<cheetah-mmu>.regs
<cheetah-mmu>.reverse-lookup
<cheetah-mmu>.trace
<cheetah-plus-mmu>.d-probe
<cheetah-plus-mmu>.d-tlb
<cheetah-plus-mmu>.i-probe
<cheetah-plus-mmu>.i-tlb
<cheetah-plus-mmu>.info
<cheetah-plus-mmu>.regs
<cheetah-plus-mmu>.reverse-lookup
<cheetah-plus-mmu>.trace
<CL-PD6729>.info
<CL-PD6729>.pci-header
<CL-PD6729>.status
<component>.connect
<component>.disconnect
<component>.get-component-object
<component>.info
<component>.status

4.1. Complete List


print information about the device
print PCI device header
print status of the device
connect to Simics Central
disconnect from Simics Central
print information about the device
list connected links
list current connections
print information about the device
print information about the device
print PCI device header
print status of the device
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print PCI device header
print status of the device
check data TLB for translation
print data TLB contents
check instruction TLB for translation
print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality
check data TLB for translation
print data TLB contents
check instruction TLB for translation
print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality
print information about the device
print PCI device header
print status of the device
connect components
disconnect component connector
get named object from components
print information about the device
print status of the device

472

VIRTUTECH CONFIDENTIAL

<context-switcher>.status
<context-switcher>.track-bin
<context-switcher>.track-pid
<context>.fin
<context>.finish
<context>.finish-function
<context>.info
<context>.n
<context>.next
<context>.next-instruction
<context>.next-line
<context>.nexti
<context>.ni
<context>.off
<context>.on
<context>.reverse-next-instruction
<context>.reverse-next-line
<context>.reverse-step-instruction
<context>.reverse-step-line
<context>.reverse-until-active
<context>.rn
<context>.rnext
<context>.rnexti
<context>.rni
<context>.rs
<context>.rsi
<context>.rstep
<context>.rstepi
<context>.run-until-active
<context>.s
<context>.si
<context>.status
<context>.step
<context>.step-instruction
<context>.step-line
<context>.stepi
<context>.symtable
<context>.ui
<context>.uncall
<context>.uncall-function
<context>.unstep-instruction

4.1. Complete List


print status of the device
track first use of a given binary
track the process with a given pid
alias for <context>.finish-function
alias for <context>.finish-function
finish the current function
print information about the device
alias for <context>.next-line
alias for <context>.next-line
run to the next instruction, skipping subroutine calls
run to the next source line, skipping subroutine calls
alias for <context>.next-instruction
alias for <context>.next-instruction
switch off context object
switch on context object
back to the previous instruction, skipping subroutine calls
back to the previous source line, skipping subroutine calls
back to the previous instruction
back to the previous source line
reverse until context becomes active
alias for <context>.reverse-next-line
alias for <context>.reverse-next-line
alias for <context>.reverse-next-instruction
alias for <context>.reverse-next-instruction
alias for <context>.reverse-step-line
alias for <context>.reverse-step-instruction
alias for <context>.reverse-step-line
alias for <context>.reverse-step-instruction
run until context becomes active
alias for <context>.step-line
alias for <context>.step-instruction
print status of the device
alias for <context>.step-line
run to the next instruction
run to the next source line
alias for <context>.step-instruction
set the symbol table of a context
alias for <context>.reverse-step-instruction
alias for <context>.uncall-function
go back to when the current function was called
alias for <context>.reverse-step-instruction

473

VIRTUTECH CONFIDENTIAL

<cpc700-gpt>.info
<cpc700-gpt>.status
<cpc700-iic>.info
<cpc700-iic>.status
<cpc700-mc>.info
<cpc700-mc>.status
<cpc700-pci>.info
<cpc700-pci>.status
<cpc700-pi>.info
<cpc700-pi>.status
<cpc700-uic>.info
<cpc700-uic>.status
<cpu-group>.info
<cpu-mode-tracker>.status
<CS8900A>.connect
<CS8900A>.disconnect
<CS8900A>.info
<CS8900A>.status
<data-profiler>.clear
<ddr-memory-module>.info
<ddr-memory-module>.status
<ddr2-memory-module>.info
<ddr2-memory-module>.status
<DEC21041>.connect
<DEC21041>.disconnect
<DEC21041>.info
<DEC21041>.pci-header
<DEC21041>.status
<DEC21140A>.connect
<DEC21140A>.disconnect
<DEC21140A>.info
<DEC21140A>.pci-header
<DEC21140A>.status
<DEC21143>.connect
<DEC21143>.disconnect
<DEC21143>.info
<DEC21143>.pci-header
<DEC21143>.status
<DS12887-dml>.cmos-base-mem
<DS12887-dml>.cmos-boot-dev
<DS12887-dml>.cmos-century

4.1. Complete List


print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print status of the device
clear data profiler
print information about the device
print status of the device
print information about the device
print status of the device
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print PCI device header
print status of the device
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print PCI device header
print status of the device
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print PCI device header
print status of the device
deprecated set base memory size
deprecated set boot drive
deprecated set date century

474

VIRTUTECH CONFIDENTIAL

<DS12887-dml>.cmos-extended-mem
<DS12887-dml>.cmos-floppy
<DS12887-dml>.cmos-hd
<DS12887-dml>.cmos-info
<DS12887-dml>.cmos-init
<DS12887-dml>.get-date-time
<DS12887-dml>.info
<DS12887-dml>.set-date-time
<DS12887-dml>.status
<DS12887>.cmos-base-mem
<DS12887>.cmos-boot-dev
<DS12887>.cmos-century
<DS12887>.cmos-extended-mem
<DS12887>.cmos-floppy
<DS12887>.cmos-hd
<DS12887>.cmos-info
<DS12887>.cmos-init
<DS12887>.get-date-time
<DS12887>.info
<DS12887>.set-date-time
<DS12887>.status
<DS12887>.trace-nvram
<DS1743P>.get-date-time
<DS1743P>.set-date-time
<DS17485>.cmos-base-mem
<DS17485>.cmos-boot-dev
<DS17485>.cmos-century
<DS17485>.cmos-extended-mem
<DS17485>.cmos-floppy
<DS17485>.cmos-hd
<DS17485>.cmos-info
<DS17485>.cmos-init
<DS17485>.get-date-time
<DS17485>.info
<DS17485>.set-date-time
<DS17485>.status
<DS17485>.trace-nvram
<dummy-component>.info
<dummy-component>.status
<ebony-board>.info
<ebony-board>.status

4.1. Complete List


deprecated set extended memory size
deprecated set floppy parameters
deprecated set fixed disk paramters
deprecated print information about the CMOS area
deprecated initialize some CMOS values
get date and time
print information about the device
set date and time
print status of the device
deprecated set base memory size
deprecated set boot drive
deprecated set date century
deprecated set extended memory size
deprecated set floppy parameters
deprecated set fixed disk parameters
deprecated print information about the CMOS area
deprecated initialize some CMOS values
get date and time
print information about the device
set date and time
print status of the device
trace nvram updates
get date and time
set date and time
deprecated set base memory size
deprecated set boot drive
deprecated set date century
deprecated set extended memory size
deprecated set floppy parameters
deprecated set fixed disk parameters
deprecated print information about the CMOS area
deprecated initialize some CMOS values
get date and time
print information about the device
set date and time
print status of the device
trace nvram updates
print information about the device
print status of the device
print information about the device
print status of the device

475

VIRTUTECH CONFIDENTIAL

4.1. Complete List

<empty-device>.increment
<empty-device>.info
<empty-device>.status
<enchilada-system>.get-nvram-hostid
<enchilada-system>.get-nvram-mac
<enchilada-system>.get-prom-env
<enchilada-system>.info
<enchilada-system>.set-nvram-hostid
<enchilada-system>.set-nvram-mac
<enchilada-system>.set-prom-defaults
<enchilada-system>.set-prom-env
<enchilada-system>.status
<etg>.info
<etg>.packet-rate
<etg>.packet-size
<etg>.start
<etg>.status
<etg>.stop
<eth-transceiver>.connect
<eth-transceiver>.disconnect
<eth-transceiver>.info
<eth-transceiver>.status
<ethernet-link>.connect-real-network-bridge
<ethernet-link>.connect-real-network-host
<ethernet-link>.connect-real-network-napt
<ethernet-link>.connect-real-network-router
<ethernet-link>.disconnect-real-network
<ethernet-link>.info
<ethernet-link>.status
<FAS366U>.info
<fc-disk>.add-sun-partition
<fc-disk>.create-sun-vtoc-header
<fc-disk>.create-sun-vtoc-partition
<fc-disk>.delete-sun-vtoc-partition
<fc-disk>.dump-sun-partition
<fc-disk>.info
<fc-disk>.print-sun-vtoc
<fiesta-system>.get-prom-env
<fiesta-system>.info
<fiesta-system>.set-prom-defaults
<fiesta-system>.set-prom-env

476

increment value
print information about the device
print status of the device
get the Sun hostid from NVRAM
get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Restore all OBP variables
Set an OBP environment variable
print status of the device
print information about the device
Set or display the packets per second rate
Set or display the packet size
Start generating traffic
print status of the device
Stop generating traffic
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print status of the device
connect to the real network
connect to the real network
enable NAPT from simulated network
connect to the real network
disconnect from the real network
print information about the device
print status of the device
information about current state of the device
add partition from a file
write a new VTOC to a Sun disk
write partition data in the VTOC on a Sun disk
delete partition data from the VTOC on a Sun disk
write partition as a file
information about current state of the fibre-channel disk
print the VTOC for a Sun disk
deprecated Get an OBP environment variable
print information about the device
deprecated Restore all OBP variables
deprecated Set an OBP environment variable

VIRTUTECH CONFIDENTIAL

<fiesta-tomatillo>.pci-a-iommu-translate
<fiesta-tomatillo>.pci-a-regs
<fiesta-tomatillo>.pci-b-iommu-translate
<fiesta-tomatillo>.pci-b-regs
<fiesta-tomatillo>.pci-irqs
<fiesta-tomatillo>.pregs
<file-cdrom>.delete
<floppy-drive>.info
<floppy-drive>.status
<fourport>.info
<fourport>.status
<g-cache-ooo>.add-profiler
<g-cache-ooo>.info
<g-cache-ooo>.remove-profiler
<g-cache-ooo>.reset-cache-lines
<g-cache-ooo>.reset-statistics
<g-cache-ooo>.statistics
<g-cache-ooo>.status
<g-cache>.add-profiler
<g-cache>.info
<g-cache>.remove-profiler
<g-cache>.reset-cache-lines
<g-cache>.reset-statistics
<g-cache>.statistics
<g-cache>.status
<gdb-remote>.disconnect
<gdb-remote>.follow-context
<gdb-remote>.info
<gdb-remote>.signal
<gdb-remote>.target
<generic-flash-memory>.info
<generic-flash-memory>.status
<gfx-console>.auto-release
<gfx-console>.break
<gfx-console>.close
<gfx-console>.delete
<gfx-console>.disable-input
<gfx-console>.enable-input
<gfx-console>.grab-setup
<gfx-console>.input
<gfx-console>.open

4.1. Complete List


translate PCI-A IOMMU address
print PCI-A registers
translate PCI-B IOMMU address
print PCI-A registers
print PCI interrupts
print tomatillo registers
delete an unused file-cdrom object
print information about the device
print status of the device
print information about the device
print status of the device
Add a profiler to the cache
print the cache information
Remove a profiler from the cache
Reset all the cache lines
reset the cache statistics
print the cache statistics
print the cache lines status
Add a profiler to the cache
print the cache information
Remove a profiler from the cache
Reset all the cache lines
reset the cache statistics
print the cache statistics
print the cache lines status
disconnect from the remote gdb
follow context
print information about the device
tell remote gdb we got a signal
set target CPU for gdb connection
print information about the device
print status of the device
get/set auto-release flag
break on a graphics event specified by filename
close console window
delete breakpoint
ignore console input
enable console input
set grab button and modifier
send string to a console
open console window

477

VIRTUTECH CONFIDENTIAL

<gfx-console>.poll-rate
<gfx-console>.refresh
<gfx-console>.save-bmp
<gfx-console>.save-break-xy
<gfx-console>.switch-to-text-console
<host-cdrom>.delete
<hostfs>.info
<hostfs>.root
<hostfs>.status
<i21150>.info
<i21150>.pci-header
<i21150>.status
<i21152>.info
<i21152>.pci-header
<i21152>.status
<i2c-bus>.info
<i2c-bus>.status
<i386-cpu>.info
<i386-cpu>.status
<i486dx2-cpu>.info
<i486dx2-cpu>.status
<i486sx-cpu>.info
<i486sx-cpu>.status
<i8042>.ctrl-alt-del
<i8042>.info
<i8042>.key-down
<i8042>.key-up
<i8042>.left-button
<i8042>.middle-button
<i8042>.mouse-down
<i8042>.mouse-left
<i8042>.mouse-right
<i8042>.mouse-up
<i8042>.right-button
<i8042>.status
<i82077>.eject-floppy
<i82077>.info
<i82077>.insert-floppy
<i82077>.status
<i8237x2>.info
<i8237x2>.status

4.1. Complete List


set poll rate
refresh console
save BMP image
specify and save a graphical breakpoint
replace graphics console with text console
delete an unused host-cdrom object
print information about the device
set or show the hostfs root directory
print status of the device
print information about the device
print PCI device header
print status of the device
print information about the device
print PCI device header
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
send ctrl-alt-del to console
print information about the device
send key event
send key event
set button state
set button state
move mouse
move mouse
move mouse
move mouse
set button state
print status of the device
eject floppy
print information about the device
insert floppy in drive
print status of the device
print information about the device
print status of the device

478

VIRTUTECH CONFIDENTIAL

<i82443bx>.info
<i82443bx>.pci-header
<i82443bx_agp>.pci-header
<i82461GX>.info
<i8254>.info
<i8254>.status
<i8259x2>.info
<i8259x2>.status
<ia64-460gx-system>.info
<ia64-460gx-system>.status
<ide-cdrom>.eject
<ide-cdrom>.info
<ide-cdrom>.insert
<ide-disk>.add-diff-file
<ide-disk>.add-diff-partial-file
<ide-disk>.add-sun-partition
<ide-disk>.create-partition
<ide-disk>.create-sun-vtoc-header
<ide-disk>.create-sun-vtoc-partition
<ide-disk>.default-translation
<ide-disk>.delete-sun-vtoc-partition
<ide-disk>.dump-sun-partition
<ide-disk>.info
<ide-disk>.print-partition-info
<ide-disk>.print-partition-table
<ide-disk>.print-sun-vtoc
<ide-disk>.save-diff-file
<ide>.info
<ide>.status
<image>.add-diff-file
<image>.add-partial-diff-file
<image>.save
<image>.save-diff-file
<image>.set
<image>.x
<io-apic>.info
<io-apic>.status
<isa-lance>.info
<isa-lance>.status
<isa-vga>.info
<isa-vga>.status

4.1. Complete List


print information about the device
print PCI device header
print PCI device header
print information about the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
eject media from CD-ROM drive
print information about the device
insert media in CD-ROM drive
add a diff file to the image
add a partial diff file to the image
add partition from a file
add a partition to disk
write a new VTOC to a Sun disk
write partition data in the VTOC on a Sun disk
get or set the default CHS translation
delete partition data from the VTOC on a Sun disk
write partition as a file
print information about the device
print info about a pc-style partition
print the disks pc-style partition table
print the VTOC for a Sun disk
save diff file to disk
print information about the device
print status of the device
add a diff file to the image
add a partial diff file to the image
save image to disk
save changes since last checkpoint
set bytes in image to specified value
examine image data
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device

479

VIRTUTECH CONFIDENTIAL

4.1. Complete List

<ISA>.info
<ISA>.status
<ISP1040>.info
<ISP1040>.pci-header
<ISP1040>.status
<ISP2200>.info
<ISP2200>.pci-header
<ISP2200>.status
<itanium-cpu>.info
<itanium-cpu>.status
<jaguar-mmu>.d-probe
<jaguar-mmu>.d-tlb
<jaguar-mmu>.i-probe
<jaguar-mmu>.i-tlb
<jaguar-mmu>.info
<jaguar-mmu>.regs
<jaguar-mmu>.reverse-lookup
<jaguar-mmu>.trace
<jalapeno-mmu>.d-probe
<jalapeno-mmu>.d-tlb
<jalapeno-mmu>.i-probe
<jalapeno-mmu>.i-tlb
<jalapeno-mmu>.info
<jalapeno-mmu>.regs
<jalapeno-mmu>.reverse-lookup
<jalapeno-mmu>.trace
<legacy-pc-devices>.info
<legacy-pc-devices>.status
<leon2-simple>.info
<leon2-simple>.status
<linux-process-tracker>.autodetect-parameters
<linux-process-tracker>.process-list
<linux-process-tracker>.status
<local-space-mapper>.info
<log_object>.log
<log_object>.log-group
<log_object>.log-level
<log_object>.log-size
<log_object>.log-type
<logical-memory-translator>.da
<logical-memory-translator>.disassemble

480

print information about the device


print status of the device
print information about the device
print PCI device header
print status of the device
print information about the device
print PCI device header
print status of the device
print information about the device
print status of the device
check data TLB for translation
print data TLB contents
check instruction TLB for translation
print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality
check data TLB for translation
print data TLB contents
check instruction TLB for translation
print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality
print information about the device
print status of the device
print information about the device
print status of the device
autodetect parameters
list running processes
print status of the device
print information about the device
print log entries for all objects
set or get the current log groups
set or get the log level
set log buffer size
set or get the current log types
alias for <logical-memory-translator>.disassemble
disassemble instructions using the LMT translations

VIRTUTECH CONFIDENTIAL

4.1. Complete List

<logical-memory-translator>.get
<logical-memory-translator>.l2p
<logical-memory-translator>.logical-to-physical
<logical-memory-translator>.set
<logical-memory-translator>.x
<M5823>.cmos-base-mem
<M5823>.cmos-boot-dev
<M5823>.cmos-century
<M5823>.cmos-extended-mem
<M5823>.cmos-floppy
<M5823>.cmos-hd
<M5823>.cmos-info
<M5823>.cmos-init
<M5823>.get-date-time
<M5823>.info
<M5823>.set-date-time
<M5823>.status
<M5823>.trace-nvram
<malta-system>.info
<malta-system>.status
<memory-space>.add-map
<memory-space>.del-map
<memory-space>.get
<memory-space>.info
<memory-space>.load-binary
<memory-space>.load-file
<memory-space>.map
<memory-space>.set
<memory-space>.x
<mii-transceiver>.connect
<mii-transceiver>.disconnect
<mii-transceiver>.info
<mii-transceiver>.status
<mips>.info
<mips>.pregs-fpu
<mips>.print-tlb
<mips>.status
<MK48T08>.get-time
<MK48T08>.set-time
<MK48T08>.set-time-current
<msp430>.reset

481

get memory value using the LMT translations


alias for <logical-memory-translator>.logical-to-phys
translate virtual address using the LMT translations
set a value in memory using the LMT translations
examine raw memory contents using the LMT transla
deprecated set base memory size
deprecated set boot drive
deprecated set date century
deprecated set extended memory size
deprecated set floppy parameters
deprecated set fixed disk parameters
deprecated print information about the CMOS area
deprecated initialize some CMOS values
get date and time
print information about the device
set date and time
print status of the device
trace nvram updates
print information about the device
print status of the device
map device in a memory-space
remove device map from a memory-space
get value of physical address
print information about the device
load binary (executable) file into memory
load file into memory
list memory map
set physical address to specified value
examine raw memory contents
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print status of the device
print information about the device
print the floating point registers
print TLB contents
print status of the device
get date and time
set date and time
set date and time to the current (real) time
reset the processor

VIRTUTECH CONFIDENTIAL

4.1. Complete List

<niagara-simple-system>.get-prom-env
<niagara-simple-system>.info
<niagara-simple-system>.set-prom-defaults
<niagara-simple-system>.set-prom-env
<niagara-simple-system>.status
<niagara-strand-mmu>.d-probe
<niagara-strand-mmu>.d-tlb
<niagara-strand-mmu>.i-probe
<niagara-strand-mmu>.i-tlb
<niagara-strand-mmu>.regs
<north-bridge-443bx-agp>.info
<north-bridge-443bx-agp>.status
<north-bridge-443bx>.info
<north-bridge-443bx>.status
<north-bridge-875p>.info
<north-bridge-875p>.status
<north-bridge-e7520>.info
<north-bridge-e7520>.status
<north-bridge-k8>.info
<north-bridge-k8>.status
<NS16450>.info
<NS16450>.status
<NS16550>.info
<NS16550>.status
<nvci>.get-variable
<nvci>.info
<nvci>.list-variables
<nvci>.set-variable
<opteron-cpu>.info
<opteron-cpu>.status
<panther-mmu>.d-probe
<panther-mmu>.d-tlb
<panther-mmu>.i-probe
<panther-mmu>.i-tlb
<panther-mmu>.info
<panther-mmu>.regs
<panther-mmu>.reverse-lookup
<panther-mmu>.trace
<pc-dual-serial-ports>.info
<pc-dual-serial-ports>.status
<pc-floppy-controller>.info

482

Get an OBP environment variable


print information about the device
Restore all OBP variables
Set an OBP environment variable
print status of the device
check data tlb for translation
print data tlb contents
check instruction tlb for translation
print instruction tlb contents
print mmu registers
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
deprecated deprecated command
print information about the device
deprecated deprecated command
deprecated deprecated command
print information about the device
print status of the device
check data TLB for translation
print data TLB contents
check instruction TLB for translation
print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality
print information about the device
print status of the device
print information about the device

VIRTUTECH CONFIDENTIAL

<pc-floppy-controller>.status
<pc-quad-serial-ports>.info
<pc-quad-serial-ports>.status
<pc-shadow>.info
<pc-shadow>.status
<pc-single-parallel-port>.info
<pc-single-parallel-port>.status
<pci-am79c973>.info
<pci-am79c973>.status
<pci-backplane>.info
<pci-backplane>.status
<pci-bcm5703c>.info
<pci-bcm5703c>.status
<pci-bcm5704c>.info
<pci-bcm5704c>.status
<pci-bus>.info
<pci-dec21041>.info
<pci-dec21041>.status
<pci-dec21140a-dml>.info
<pci-dec21140a-dml>.status
<pci-dec21140a>.info
<pci-dec21140a>.status
<pci-dec21143>.info
<pci-dec21143>.status
<pci-i21152>.info
<pci-i21152>.status
<pci-i82543gc>.info
<pci-i82543gc>.status
<pci-i82546bg>.info
<pci-i82546bg>.status
<pci-isp1040>.info
<pci-isp1040>.status
<pci-isp2200>.info
<pci-isp2200>.status
<pci-pd6729>.info
<pci-pd6729>.status
<pci-pmc1553-bc>.info
<pci-pmc1553-bc>.status
<pci-rage-pm-mobility-pci>.info
<pci-rage-pm-mobility-pci>.status
<pci-ragexl>.info

4.1. Complete List


print status of the device
print information about the device
print status of the device
print information about the device
device status
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device

483

VIRTUTECH CONFIDENTIAL

<pci-ragexl>.status
<pci-sil680a>.info
<pci-sil680a>.status
<pci-sym53c810>.info
<pci-sym53c810>.status
<pci-sym53c875>.info
<pci-sym53c875>.status
<pci-sym53c876>.info
<pci-sym53c876>.status
<pci-vga>.info
<pci-vga>.status
<pci-voodoo3>.info
<pci-voodoo3>.status
<pcie-pex8524>.info
<pcie-pex8524>.status
<pcie-switch>.info
<pentium-4-cpu>.info
<pentium-4-cpu>.status
<pentium-4e-2ht-cpu>.info
<pentium-4e-2ht-cpu>.status
<pentium-4e-4ht-cpu>.info
<pentium-4e-4ht-cpu>.status
<pentium-4e-cpu>.info
<pentium-4e-cpu>.status
<pentium-cpu>.info
<pentium-cpu>.status
<pentium-ii-cpu>.info
<pentium-ii-cpu>.status
<pentium-iii-cpu>.info
<pentium-iii-cpu>.status
<pentium-m-cpu>.info
<pentium-m-cpu>.status
<pentium-mmx-cpu>.info
<pentium-mmx-cpu>.status
<pentium-pro-cpu>.info
<pentium-pro-cpu>.status
<phy-mii-transceiver>.info
<phy-mii-transceiver>.status
<piix4_ide>.info
<piix4_ide>.status
<piix4_isa>.info

4.1. Complete List


print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device

484

VIRTUTECH CONFIDENTIAL

<piix4_isa>.status
<piix4_power>.info
<piix4_power>.status
<piix4_usb>.info
<piix4_usb>.status
<piix4_usb_dummy>.status
<pmppc-board>.info
<pmppc-board>.status
<port-space>.add-map
<port-space>.del-map
<port-space>.info
<port-space>.map
<ppc-broadcast-bus>.info
<ppc-of>.info
<ppc-of>.status
<ppc-simple>.info
<ppc-simple>.status
<ppc32-linux-process-tracker>.status
<ppc405gp-emac>.connect
<ppc405gp-emac>.disconnect
<ppc405gp-emac>.status
<ppc405gp>.print-utlb
<ppc405gp>.temperature
<ppc440gp-cpc>.status
<ppc440gp-dma>.status
<ppc440gp-ebc>.status
<ppc440gp-emac>.connect
<ppc440gp-emac>.disconnect
<ppc440gp-emac>.info
<ppc440gp-emac>.status
<ppc440gp-gpio>.status
<ppc440gp-iic>.status
<ppc440gp-mal>.status
<ppc440gp-mc>.status
<ppc440gp-pci>.status
<ppc440gp-uic>.status
<ppc440gp-zmii>.status
<ppc440gp>.bootstrap-tlb-entry
<ppc440gp>.print-shadow-tlb
<ppc440gp>.print-utlb
<ppc440gp>.temperature

4.1. Complete List


print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print status of the device
print information about the device
print status of the device
map device in a port-space
remove device map from a port-space
print information about the device
list port map
print information about the device
print information about the device
print status of the device
print information about the device
print status of the device
print status of the device
connect to a simulated Ethernet link
disconnect from simulated link
print dynamic information about device
print unified tlb contents
set or query the temperature of the processor
print dynamic information about device
print dynamic information about device
print dynamic information about device
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print status of the device
print dynamic information about device
print dynamic information about device
print dynamic information about device
print dynamic information about device
print dynamic information about device
print dynamic information about device
print dynamic information about device
print or change the default bootstrap mapping
print shadow tlb contents
print unified tlb contents
set or query the temperature of the processor

485

VIRTUTECH CONFIDENTIAL

<ppc440gx-cpc>.status
<ppc440gx-dma>.status
<ppc440gx-ebc>.status
<ppc440gx-emac>.connect
<ppc440gx-emac>.disconnect
<ppc440gx-emac>.info
<ppc440gx-emac>.status
<ppc440gx-gpio>.status
<ppc440gx-iic>.status
<ppc440gx-mal>.status
<ppc440gx-pci>.status
<ppc440gx-uic>.status
<ppc440gx-zmii>.status
<ppc440gx>.bootstrap-tlb-entry
<ppc440gx>.print-shadow-tlb
<ppc440gx>.print-utlb
<ppc440gx>.temperature
<ppc603e>.pregs-fpu
<ppc603e>.print-dtlb
<ppc603e>.print-itlb
<ppc603e>.temperature
<ppc64-linux-process-tracker>.status
<ppc7400>.pregs-altivec
<ppc7400>.print-dtlb
<ppc7400>.print-itlb
<ppc7400>.temperature
<ppc7447>.print-dtlb
<ppc7447>.print-itlb
<ppc7447>.temperature
<ppc7450>.print-dtlb
<ppc7450>.print-itlb
<ppc7450>.temperature
<ppc7457>.print-dtlb
<ppc7457>.print-itlb
<ppc7457>.temperature
<ppc750>.print-dtlb
<ppc750>.print-itlb
<ppc750>.temperature
<ppc750fx>.print-dtlb
<ppc750fx>.print-itlb
<ppc750fx>.temperature

4.1. Complete List


print dynamic information about device
print dynamic information about device
print dynamic information about device
connect to a simulated Ethernet link
disconnect from simulated link
print static information about device
print dynamic information about device
print dynamic information about device
print dynamic information about device
print dynamic information about device
print dynamic information about device
print dynamic information about device
print dynamic information about device
print or change the default bootstrap mapping
print shadow tlb contents
print unified tlb contents
set or query the temperature of the processor
print the floating point registers
print data tlb contents
print instruction tlb contents
set or query the temperature of the processor
print status of the device
print cpu altivec registers
print data tlb contents
print instruction tlb contents
set or query the temperature of the processor
print data tlb contents
print instruction tlb contents
set or query the temperature of the processor
print data tlb contents
print instruction tlb contents
set or query the temperature of the processor
print data tlb contents
print instruction tlb contents
set or query the temperature of the processor
print data tlb contents
print instruction tlb contents
set or query the temperature of the processor
print data tlb contents
print instruction tlb contents
set or query the temperature of the processor

486

VIRTUTECH CONFIDENTIAL

<ppc750gx>.print-dtlb
<ppc750gx>.print-itlb
<ppc750gx>.temperature
<ppc970-simple>.info
<ppc970-simple>.status
<ppc970fx>.print-slb
<ppc970fx>.print-tlb
<ppc970fx>.temperature
<processor>.add-memory-profiler
<processor>.aprof-views
<processor>.attach-branch-recorder
<processor>.break-cr
<processor>.bt
<processor>.cb
<processor>.cba
<processor>.cycle-break
<processor>.cycle-break-absolute
<processor>.da
<processor>.detach-branch-recorder
<processor>.disable
<processor>.disassemble
<processor>.down
<processor>.enable
<processor>.f
<processor>.frame
<processor>.ifm
<processor>.info
<processor>.instruction-fetch-mode
<processor>.io-read
<processor>.io-write
<processor>.l2p
<processor>.list
<processor>.list-memory-profilers
<processor>.load-binary
<processor>.logical-to-physical
<processor>.pos
<processor>.pregs
<processor>.pregs-hyper
<processor>.print-statistics
<processor>.print-time
<processor>.psym

4.1. Complete List


print data tlb contents
print instruction tlb contents
set or query the temperature of the processor
print information about the device
print status of the device
print SLB contents
print 64-bit TLB contents
set or query the temperature of the processor
add a memory profiler to the processor
manipulate list of selected address profiling views
attach a branch recorder to a processor
break on control register updates
alias for <processor>.stack-trace
alias for <processor>.cycle-break
alias for <processor>.cycle-break-absolute
set cycle breakpoint
set absolute cycle breakpoint
alias for <processor>.disassemble
detach a branch recorder from a processor
switch processor off
disassemble instructions
go down N stack frames
switch processor on
alias for <processor>.frame
change current stack frame
alias for <processor>.instruction-fetch-mode
print information about the processor
set or get current mode for instruction fetching
perform an I/O read inquiry coming from the processor
perform an I/O write inquiry coming from the processor
alias for <processor>.logical-to-physical
list source and/or disassemble
list memory profilers connected to the processor
load binary (executable) file into memory
translate logical address to physical
address of line or function
print cpu registers
print hypervisor registers
print various statistics
print number of steps and cycles executed
print value of symbolic expression

487

VIRTUTECH CONFIDENTIAL

<processor>.ptime
<processor>.read
<processor>.read-reg
<processor>.register-number
<processor>.remove-memory-profiler
<processor>.sb
<processor>.sba
<processor>.set-context
<processor>.set-pc
<processor>.sim-break
<processor>.sim-break-absolute
<processor>.stack-trace
<processor>.start-instruction-profiling
<processor>.step-break
<processor>.step-break-absolute
<processor>.sum
<processor>.sym
<processor>.symval
<processor>.trace-cr
<processor>.unbreak-cr
<processor>.untrace-cr
<processor>.up
<processor>.wait-for-cycle
<processor>.wait-for-step
<processor>.where
<processor>.write
<processor>.write-reg
<processor>.x
<ps2-keyboard-mouse>.info
<ps2-keyboard-mouse>.status
<pyxis>.info
<ragexl>.fbdump
<ragexl>.info
<ragexl>.pci-header
<ragexl>.pgreg
<ragexl>.psreg
<ragexl>.redraw
<ragexl>.refresh-rate
<ragexl>.status
<ragexl>.text-dump
<ram>.info

4.1. Complete List


alias for <processor>.print-time
perform a read inquiry coming from the processor
read a register
get the number of a processor register
remove a memory profiler from the processor
alias for <processor>.step-break
alias for <processor>.step-break-absolute
set the current context of a CPU
set the program counter
alias for <processor>.step-break
alias for <processor>.step-break-absolute
display stack trace
get started with instruction profiling
set time breakpoint
set absolute time breakpoint
deprecated sum a memory range
alias for <processor>.symval
evaluate symbolic expression
trace control register updates
break on control register updates
trace control register updates
go up N stack frames
wait until reaching cycle
wait until reaching step
alias for <processor>.stack-trace
perform a write inquiry coming from the processor
write to register
examine raw memory contents
print information about the device
print status of the device
print information about device
show part of rage framebuffer
Print device status
print PCI device header
print gui register contents
print setup register contents
Redraw display
Set rate at which ragexl updated display
show rage status
Print text contents of display
print information about the device

488

VIRTUTECH CONFIDENTIAL

<recorder>.info
<recorder>.playback-start
<recorder>.playback-stop
<recorder>.recorder-save
<recorder>.recorder-start
<recorder>.recorder-stop
<recorder>.status
<rn-eth-bridge-raw>.info
<rn-eth-bridge-raw>.status
<rn-eth-bridge-tap>.finish-connection
<rn-eth-bridge-tap>.info
<rn-eth-bridge-tap>.status
<rn-eth-proxy-raw>.info
<rn-eth-proxy-raw>.status
<rn-eth-proxy-tap>.finish-connection
<rn-eth-proxy-tap>.info
<rn-eth-proxy-tap>.status
<rn-ip-router-raw>.info
<rn-ip-router-raw>.status
<rn-ip-tunnel-tun>.finish-connection
<rn-ip-tunnel-tun>.info
<rn-ip-tunnel-tun>.status
<rom>.info
<SA1110-device>.info
<sample-device-python>.info
<sample-device-python>.status
<sample-device>.add-log
<sample-device>.info
<sample-device>.range-sum
<sample-device>.status
<sample-gcache>.info
<sample-gcache>.status
<sample-ma-model>.info
<sample-ma-model>.status
<sample-ooo-model>.info
<sample-ooo-model>.status
<sample-x86-ma-model>.info
<sample-x86-ma-model>.status
<sbbc-pci>.access-ignore
<sbbc-pci>.access-info
<sbbc-pci>.info

4.1. Complete List


print information about the device
play back recorded I/O
stop playback
save recorder
record input to file
stop recorder
print status of the device
print information about the device
print status of the device
Finalize a real network connection
print information about the device
print status of the device
print information about the device
print status of the device
Finalize a real network connection
print information about the device
print status of the device
print information about the device
print status of the device
Finalize a real network connection
print information about the device
print status of the device
print information about the device
print information about device
print information about the device
print status of the device
add a text line to the device log
print information about the device
calculate range sum
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
add string to ignore for access info
toggle debug output for IOSRAM accesses
print information about the device

489

VIRTUTECH CONFIDENTIAL

4.1. Complete List

<sbbc-pci>.pci-header
<sbbc-pci>.status
<sbus-hme>.connect
<sbus-hme>.disconnect
<sbus-hme>.info
<sbus-hme>.status
<scsi-bus>.info
<scsi-bus>.status
<scsi-cdrom>.eject
<scsi-cdrom>.info
<scsi-cdrom>.insert
<scsi-cdrom>.status
<scsi-disk>.add-diff-file
<scsi-disk>.add-diff-partial-file
<scsi-disk>.add-sun-partition
<scsi-disk>.create-partition
<scsi-disk>.create-sun-vtoc-header
<scsi-disk>.create-sun-vtoc-partition
<scsi-disk>.delete-sun-vtoc-partition
<scsi-disk>.dump-sun-partition
<scsi-disk>.info
<scsi-disk>.print-partition-info
<scsi-disk>.print-partition-table
<scsi-disk>.print-sun-vtoc
<scsi-disk>.save-diff-file
<scsi-disk>.status
<sdram-memory-module>.info
<sdram-memory-module>.status
<serengeti-3800-chassis>.get-nvram-hostid
<serengeti-3800-chassis>.get-nvram-mac
<serengeti-3800-chassis>.get-prom-env
<serengeti-3800-chassis>.info
<serengeti-3800-chassis>.set-nvram-hostid
<serengeti-3800-chassis>.set-nvram-mac
<serengeti-3800-chassis>.set-prom-env
<serengeti-3800-chassis>.status
<serengeti-4800-chassis>.get-nvram-hostid
<serengeti-4800-chassis>.get-nvram-mac
<serengeti-4800-chassis>.get-prom-env
<serengeti-4800-chassis>.info
<serengeti-4800-chassis>.set-nvram-hostid

print PCI device header


print status of the device
connect to a simulated Ethernet link
disconnect from simulated link
print information about the device
print status of the device
print information about the device
print status of the device
eject media from CD-ROM drive
print information about the device
insert medium in CD-ROM drive
print status of the device
add a diff file to the image
add a partial diff file to the image
add partition from a file
add a partition to disk
write a new VTOC to a Sun disk
write partition data in the VTOC on a Sun disk
delete partition data from the VTOC on a Sun disk
write partition as a file
print information about the device
print info about a pc-style partition
print the disks pc-style partition table
print the VTOC for a Sun disk
save diff file to disk
print status of the device
print information about the device
print status of the device
get the Sun hostid from NVRAM
get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Set an OBP environment variable
print status of the device
get the Sun hostid from NVRAM
get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM

490

VIRTUTECH CONFIDENTIAL

4.1. Complete List

<serengeti-4800-chassis>.set-nvram-mac
<serengeti-4800-chassis>.set-prom-env
<serengeti-4800-chassis>.status
<serengeti-4810-chassis>.get-nvram-hostid
<serengeti-4810-chassis>.get-nvram-mac
<serengeti-4810-chassis>.get-prom-env
<serengeti-4810-chassis>.info
<serengeti-4810-chassis>.set-nvram-hostid
<serengeti-4810-chassis>.set-nvram-mac
<serengeti-4810-chassis>.set-prom-env
<serengeti-4810-chassis>.status
<serengeti-6800-chassis>.get-nvram-hostid
<serengeti-6800-chassis>.get-nvram-mac
<serengeti-6800-chassis>.get-prom-env
<serengeti-6800-chassis>.info
<serengeti-6800-chassis>.set-nvram-hostid
<serengeti-6800-chassis>.set-nvram-mac
<serengeti-6800-chassis>.set-prom-env
<serengeti-6800-chassis>.status
<serengeti-cluster-chassis>.get-nvram-hostid
<serengeti-cluster-chassis>.get-nvram-mac
<serengeti-cluster-chassis>.get-prom-env
<serengeti-cluster-chassis>.info
<serengeti-cluster-chassis>.set-nvram-hostid
<serengeti-cluster-chassis>.set-nvram-mac
<serengeti-cluster-chassis>.set-prom-env
<serengeti-cluster-chassis>.status
<serengeti-console>.get-time
<serengeti-console>.info
<serengeti-console>.set-time
<serengeti-console>.set-time-current
<serengeti-cpci4-board>.info
<serengeti-cpci4-board>.status
<serengeti-pci8-board>.info
<serengeti-pci8-board>.status
<serengeti-schizo>.pci-a-iommu-translate
<serengeti-schizo>.pci-a-irqs
<serengeti-schizo>.pci-a-regs
<serengeti-schizo>.pci-b-iommu-translate
<serengeti-schizo>.pci-b-irqs
<serengeti-schizo>.pci-b-regs

491

set the default MAC address in NVRAM


Set an OBP environment variable
print status of the device
get the Sun hostid from NVRAM
get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Set an OBP environment variable
print status of the device
get the Sun hostid from NVRAM
get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Set an OBP environment variable
print status of the device
get the Sun hostid from NVRAM
get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Set an OBP environment variable
print status of the device
get date and time
print information about the device
set date and time
set date and time to the current (real) time
print information about the device
print status of the device
print information about the device
print status of the device
translate PCI-A IOMMU address
print PCI-A interrupts
print PCI-A registers
translate PCI-B IOMMU address
print PCI-B interrupts
print PCI-A registers

VIRTUTECH CONFIDENTIAL

<serengeti-schizo>.pregs
<serengeti-sp-cpci6-board>.info
<serengeti-sp-cpci6-board>.status
<serengeti-system>.get-prom-env
<serengeti-system>.info
<serengeti-system>.set-prom-env
<serengeti-system>.status
<serengeti-us-iii-cpu-board>.info
<serengeti-us-iii-cpu-board>.status
<serengeti-us-iii-plus-cpu-board>.info
<serengeti-us-iii-plus-cpu-board>.status
<serengeti-us-iv-cpu-board>.info
<serengeti-us-iv-cpu-board>.status
<serengeti-us-iv-plus-cpu-board>.info
<serengeti-us-iv-plus-cpu-board>.status
<serial-link>.info
<serial-link>.status
<server-console>.break
<server-console>.capture-start
<server-console>.capture-stop
<server-console>.info
<server-console>.input
<server-console>.input-file
<server-console>.kbd-abort
<server-console>.list-break-strings
<server-console>.playback-start
<server-console>.playback-stop
<server-console>.record-start
<server-console>.record-stop
<server-console>.status
<server-console>.switch-to-serial-link
<server-console>.switch-to-text-console
<server-console>.unbreak
<server-console>.unbreak-id
<server-console>.wait-for-string
<service-node-device>.info
<service-node-device>.status
<service-node>.add-host
<service-node>.arp
<service-node>.connect
<service-node>.dhcp-add-pool

4.1. Complete List


print schizo registers
print information about the device
print status of the device
deprecated Get an OBP environment variable
print information about the device
deprecated Set an OBP environment variable
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
set a string to break on
capture output to file
stop output capture to file
print information about the device
send string to a console
input a file into a console
send a keyboard abort signal
list all strings the console will break on
start traffic generator
stop traffic generation
start recording of output on the console
stop recoding of output on the console
print status of the device
replace server-console with serial link
replace server console with text console
stop breaking on string
remove a breakpoint
wait for a string in a script branch
print information about the device
print status of the device
add host entry
inspect and manipulate ARP table
connect to an ethernet link
add DHCP pool

492

VIRTUTECH CONFIDENTIAL

<service-node>.dhcp-leases
<service-node>.disable-real-dns
<service-node>.disable-service
<service-node>.enable-ftp-alg
<service-node>.enable-real-dns
<service-node>.enable-service
<service-node>.info
<service-node>.list-host-info
<service-node>.route
<service-node>.route-add
<service-node>.status
<service-node>.tcpip-info
<signal-bus>.info
<signal-bus>.status
<simple-byte-dump>.info
<simple-byte-dump>.set-output-file
<simple-byte-dump>.status
<simple-fc-disk>.info
<simple-fc-disk>.status
<sio-lpc47m172>.info
<sio-lpc47m172>.status
<sio-w83627hf>.info
<sio-w83627hf>.status
<south-bridge-6300esb>.info
<south-bridge-6300esb>.status
<south-bridge-amd8111>.info
<south-bridge-amd8111>.status
<south-bridge-md1535d>.info
<south-bridge-md1535d>.status
<south-bridge-piix4>.info
<south-bridge-piix4>.status
<south-bridge-saturn>.info
<south-bridge-saturn>.status
<south-bridge-sun-md1535d>.info
<south-bridge-sun-md1535d>.status
<sparc-irq-bus>.info
<sparc_v9>.list-asis
<sparc_v9>.pregs-fpu
<spitfire-mmu>.d-probe
<spitfire-mmu>.d-tlb
<spitfire-mmu>.i-probe

4.1. Complete List


show DHCP leases
disable real DNS
disable network service
enable FTP ALG
enable real DNS
enable network service
print information about the device
print host info database
show the routing table
add an entry to the routing table
print status of the device
show TCP/IP info
print information about the device
print status of the device
print information about the device
sets file to output to
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
List all ASIs
print the floating point registers
check data TLB for translation
print data TLB contents
check instruction TLB for translation

493

VIRTUTECH CONFIDENTIAL

<spitfire-mmu>.i-tlb
<spitfire-mmu>.info
<spitfire-mmu>.regs
<spitfire-mmu>.reverse-lookup
<spitfire-mmu>.trace
<state-assertion>.add
<state-assertion>.add-mem-lis
<state-assertion>.fforward
<state-assertion>.info
<state-assertion>.start
<state-assertion>.status
<state-assertion>.stop
<std-etg>.info
<std-etg>.status
<std-ethernet-link>.info
<std-ethernet-link>.status
<std-graphics-console>.info
<std-graphics-console>.status
<std-host-serial-console>.info
<std-host-serial-console>.status
<std-ide-cdrom>.info
<std-ide-cdrom>.status
<std-ide-disk>.info
<std-ide-disk>.status
<std-ms1553-link>.info
<std-ms1553-link>.status
<std-pcmcia-flash-disk>.info
<std-pcmcia-flash-disk>.status
<std-scsi-bus>.info
<std-scsi-bus>.status
<std-scsi-cdrom>.info
<std-scsi-cdrom>.status
<std-scsi-disk>.info
<std-scsi-disk>.status
<std-serial-link>.info
<std-serial-link>.status
<std-server-console>.info
<std-server-console>.status
<std-service-node>.add-connector
<std-service-node>.info
<std-service-node>.status

4.1. Complete List


print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality
add an object to be asserted
add a memory listener on the specified memory space
fast-forward a state assertion file when comparing
provide information about the state assertion
start trace asserting/comparing
provide the status of the current state assertion
stop trace asserting/comparing and close the file
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
add a service-node connector
print information about the device
print status of the device

494

VIRTUTECH CONFIDENTIAL

<std-super-io>.info
<std-super-io>.status
<std-text-console>.info
<std-text-console>.status
<std-text-graphics-console>.info
<std-text-graphics-console>.status
<sun-cpci-hme-isp>.info
<sun-cpci-hme-isp>.status
<sun-cpci-isp-isp>.info
<sun-cpci-isp-isp>.status
<sun-cpci-qlc-qlc>.info
<sun-cpci-qlc-qlc>.status
<sun-keyboard>.key-down
<sun-keyboard>.key-up
<sun-mouse>.left-button
<sun-mouse>.middle-button
<sun-mouse>.mouse-down
<sun-mouse>.mouse-left
<sun-mouse>.mouse-right
<sun-mouse>.mouse-up
<sun-mouse>.right-button
<sun-pci-ce>.info
<sun-pci-ce>.status
<sun-pci-hme-isp>.info
<sun-pci-hme-isp>.status
<sun-pci-hme>.info
<sun-pci-hme>.status
<sun-pci-pgx64>.info
<sun-pci-pgx64>.status
<sun-pci-qlc-qlc>.info
<sun-pci-qlc-qlc>.status
<sun-pci-qlc>.info
<sun-pci-qlc>.status
<sun-sbus-fas-hme>.info
<sun-sbus-fas-hme>.status
<sun-type5-keyboard>.info
<sun-type5-keyboard>.status
<sun-type5-mouse>.info
<sun-type5-mouse>.status
<sun4u-clockregs>.info
<sun4u-counter>.info

4.1. Complete List


print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
send key event
send key event
set button state
set button state
move mouse
move mouse
move mouse
move mouse
set button state
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print status of the device
print information about the device
print information about the device

495

VIRTUTECH CONFIDENTIAL

4.1. Complete List

<sun4u-fhc>.info
<sun4u-simm-status>.info
<sun4u-systemregs>.hide-leds
<sun4u-systemregs>.info
<sun4u-systemregs>.show-leds
<sun4u-temperature>.info
<sun4v-rtc>.info
<sun4v-rtc>.status
<sunfire-3500-backplane>.get-nvram-hostid
<sunfire-3500-backplane>.get-nvram-mac
<sunfire-3500-backplane>.get-prom-env
<sunfire-3500-backplane>.info
<sunfire-3500-backplane>.key-switch
<sunfire-3500-backplane>.set-nvram-hostid
<sunfire-3500-backplane>.set-nvram-mac
<sunfire-3500-backplane>.set-prom-defaults
<sunfire-3500-backplane>.set-prom-env
<sunfire-3500-backplane>.status
<sunfire-4500-backplane>.get-nvram-hostid
<sunfire-4500-backplane>.get-nvram-mac
<sunfire-4500-backplane>.get-prom-env
<sunfire-4500-backplane>.info
<sunfire-4500-backplane>.key-switch
<sunfire-4500-backplane>.set-nvram-hostid
<sunfire-4500-backplane>.set-nvram-mac
<sunfire-4500-backplane>.set-prom-defaults
<sunfire-4500-backplane>.set-prom-env
<sunfire-4500-backplane>.status
<sunfire-6500-backplane>.get-nvram-hostid
<sunfire-6500-backplane>.get-nvram-mac
<sunfire-6500-backplane>.get-prom-env
<sunfire-6500-backplane>.info
<sunfire-6500-backplane>.key-switch
<sunfire-6500-backplane>.set-nvram-hostid
<sunfire-6500-backplane>.set-nvram-mac
<sunfire-6500-backplane>.set-prom-defaults
<sunfire-6500-backplane>.set-prom-env
<sunfire-6500-backplane>.status
<sunfire-cpu-board>.info
<sunfire-cpu-board>.status
<sunfire-pci-board>.info

496

print information about the device


print information about the device
Dont show changes to the system LEDs
print information about the device
Show changes to the system LEDs
print information about the device
print information about the device
print status of the device
get the Sun hostid from NVRAM
get the default MAC from NVRAM
get an OBP environment variable
print information about the device
Change key switch position
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
restore all OBP variables
set an OBP environment variable
print status of the device
get the Sun hostid from NVRAM
get the default MAC from NVRAM
get an OBP environment variable
print information about the device
Change key switch position
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
restore all OBP variables
set an OBP environment variable
print status of the device
get the Sun hostid from NVRAM
get the default MAC from NVRAM
get an OBP environment variable
print information about the device
Change key switch position
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
restore all OBP variables
set an OBP environment variable
print status of the device
print information about the device
print status of the device
print information about the device

VIRTUTECH CONFIDENTIAL

<sunfire-pci-board>.status
<sunfire-psycho>.info
<sunfire-psycho>.irq-info
<sunfire-psycho>.status
<sunfire-sbus-board>.info
<sunfire-sbus-board>.status
<sunfire-sysio>.info
<sunfire-sysio>.irq-info
<sunfire-sysio>.sbus-info
<sunfire-sysio>.status
<sunfire-system>.get-prom-env
<sunfire-system>.info
<sunfire-system>.set-prom-defaults
<sunfire-system>.set-prom-env
<sunfire-system>.status
<SYM53C810>.info
<SYM53C810>.pci-header
<SYM53C810>.status
<SYM53C875>.info
<SYM53C875>.pci-header
<SYM53C875>.status
<symtable>.abi
<symtable>.host-source-at
<symtable>.list
<symtable>.load-symbols
<symtable>.plain-symbols
<symtable>.pos
<symtable>.source-path
<symtable>.whereis
<taco-system>.get-nvram-hostid
<taco-system>.get-nvram-mac
<taco-system>.get-prom-env
<taco-system>.info
<taco-system>.set-nvram-hostid
<taco-system>.set-nvram-mac
<taco-system>.set-prom-defaults
<taco-system>.set-prom-env
<taco-system>.status
<telos-environment>.info
<telos-environment>.status
<telos-io-ports>.info

4.1. Complete List


print status of the device
print information about the device
print interrupt information
print status of the device
print information about the device
print status of the device
print information about the device
print interrupt information
print information about the device
print status of the device
deprecated Get an OBP environment variable
print information about the device
deprecated Restore all OBP variables
deprecated Set an OBP environment variable
print status of the device
print information about the device
print PCI device header
print status of the device
print information about the device
print PCI device header
print status of the device
set ABI to use
return the source code position for a given address
list source and/or disassemble
load symbols from file
read raw symbols in nm format
address of line or function
set source search path for debug info
find symbol by address
get the Sun hostid from NVRAM
get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Restore all OBP variables
Set an OBP environment variable
print status of the device
print information about the device
print status of the device
print information about the device

497

VIRTUTECH CONFIDENTIAL

<telos-io-ports>.status
<telos-mote>.info
<telos-mote>.status
<text-console>.break
<text-console>.capture-start
<text-console>.capture-stop
<text-console>.close
<text-console>.disable-quiet
<text-console>.disable-window
<text-console>.enable-quiet
<text-console>.enable-window
<text-console>.info
<text-console>.input
<text-console>.input-file
<text-console>.kbd-abort
<text-console>.list-break-strings
<text-console>.no-window
<text-console>.open
<text-console>.playback-start
<text-console>.playback-stop
<text-console>.quiet
<text-console>.read-only
<text-console>.record-start
<text-console>.record-stop
<text-console>.status
<text-console>.switch-to-serial-link
<text-console>.switch-to-server-console
<text-console>.unbreak
<text-console>.unbreak-id
<text-console>.wait-for-string
<top-component>.info
<top-component>.status
<tracker>.activate
<tracker>.add-processor
<tracker>.deactivate
<tracker>.remove-processor
<trans-sorter>.info
<trans-sorter>.statistics
<trans-splitter-ooo>.info
<trans-splitter-ooo>.reset-statistics
<trans-splitter-ooo>.statistics

4.1. Complete List


print status of the device
print information about the device
print status of the device
set a string to break on
capture output to file
stop output capture to file
close console window
enable output redirection
deprecated hide console window
disable output redirection
deprecated show console window
print information about the device
send string to a console
input a file into a console
send a keyboard abort signal
list all strings the console will break on
deprecated show/hide console window
open console window
start traffic generator
stop traffic generation
toggle console output redirection
toggle read-only mode
start recording of output on the console
stop recoding of output on the console
print status of the device
replace text-console with serial link
replace text console with server console
stop breaking on string
remove a breakpoint
wait for a string in a script branch
print information about the device
print status of the device
activate tracker
track processes on this processor
deactivate tracker
do not track processes on this processor
print the sorter information
print the sorter statistics
print the splitter information
reset the splitter statistics
print the splitter statistics

498

VIRTUTECH CONFIDENTIAL

4.1. Complete List

<v9-sol9-idle-opt>.info
<v9-sol9-idle-opt>.status
<vga>.info
<vga>.redraw
<vga>.refresh-rate
<vga>.status
<vga>.text-dump
<vga_pci>.info
<vga_pci>.redraw
<vga_pci>.refresh-rate
<vga_pci>.text-dump
<voodoo3-agp>.fbdump
<voodoo3-agp>.info
<voodoo3-agp>.ioreg
<voodoo3-agp>.redraw
<voodoo3-agp>.refresh-rate
<voodoo3-agp>.reg2d
<voodoo3-agp>.reg3d
<voodoo3-agp>.text-dump
<voodoo3>.disable-fifo-break
<voodoo3>.enable-fifo-break
<voodoo3>.fbdump
<voodoo3>.info
<voodoo3>.ioreg
<voodoo3>.redraw
<voodoo3>.refresh-rate
<voodoo3>.reg2d
<voodoo3>.reg3d
<voodoo3>.render
<voodoo3>.status
<voodoo3>.text-dump
<x86-apic-bus-system>.cmos-base-mem
<x86-apic-bus-system>.cmos-boot-dev
<x86-apic-bus-system>.cmos-extended-mem
<x86-apic-bus-system>.cmos-floppy
<x86-apic-bus-system>.cmos-hd
<x86-apic-bus-system>.cmos-info
<x86-apic-bus-system>.cmos-init
<x86-apic-bus-system>.info
<x86-apic-bus-system>.status
<x86-apic-system>.cmos-base-mem

499

print information about the device


print status of the device
Print device status
Redraw display
Set rate at which vga updated display
print status of the device
Print text contents of display
Print device status
Redraw display
Set rate at which vga_pci updated display
Print text contents of display
show part of voodoo3 framebuffer
show voodoo3 info and status
print IO register
Redraw display
Set rate at which voodoo3-agp updated display
print 2D register
print 3D register
Print text contents of display
disable fifo breakpoints
enable fifo breakpoints
show part of voodoo3 framebuffer
show voodoo3 info
print IO register
Redraw display
Set rate at which voodoo3 updated display
print 2D register
print 3D register
toggle 3d rendering on/off
show voodoo3 status
Print text contents of display
set base memory size
set boot drive
set extended memory size
set floppy parameters
set fixed disk parameters
print information about the CMOS area
initialize some CMOS values
print information about the device
print status of the device
set base memory size

VIRTUTECH CONFIDENTIAL

4.1. Complete List

<x86-apic-system>.cmos-boot-dev
<x86-apic-system>.cmos-extended-mem
<x86-apic-system>.cmos-floppy
<x86-apic-system>.cmos-hd
<x86-apic-system>.cmos-info
<x86-apic-system>.cmos-init
<x86-apic-system>.info
<x86-apic-system>.status
<x86-e7520-system>.cmos-base-mem
<x86-e7520-system>.cmos-boot-dev
<x86-e7520-system>.cmos-extended-mem
<x86-e7520-system>.cmos-floppy
<x86-e7520-system>.cmos-hd
<x86-e7520-system>.cmos-info
<x86-e7520-system>.cmos-init
<x86-e7520-system>.info
<x86-e7520-system>.status
<x86-hammer-cpu>.info
<x86-hammer-cpu>.status
<x86-linux-process-tracker>.status
<x86-reset-bus>.info
<x86-separate-mem-io-system>.cmos-base-mem
<x86-separate-mem-io-system>.cmos-boot-dev
<x86-separate-mem-io-system>.cmos-extended-mem
<x86-separate-mem-io-system>.cmos-floppy
<x86-separate-mem-io-system>.cmos-hd
<x86-separate-mem-io-system>.cmos-info
<x86-separate-mem-io-system>.cmos-init
<x86-separate-mem-io-system>.info
<x86-separate-mem-io-system>.status
<x86-system>.cmos-base-mem
<x86-system>.cmos-boot-dev
<x86-system>.cmos-extended-mem
<x86-system>.cmos-floppy
<x86-system>.cmos-hd
<x86-system>.cmos-info
<x86-system>.cmos-init
<x86-system>.info
<x86-system>.status
<x86-tlb>.info
<x86-tlb>.status

500

set boot drive


set extended memory size
set floppy parameters
set fixed disk parameters
print information about the CMOS area
initialize some CMOS values
print information about the device
print status of the device
set base memory size
set boot drive
set extended memory size
set floppy parameters
set fixed disk parameters
print information about the CMOS area
initialize some CMOS values
print information about the device
print status of the device
print information about the device
print status of the device
print status of the device
print information about the device
set base memory size
set boot drive
set extended memory size
set floppy parameters
set fixed disk parameters
print information about the CMOS area
initialize some CMOS values
print information about the device
print status of the device
set base memory size
set boot drive
set extended memory size
set floppy parameters
set fixed disk parameters
print information about the CMOS area
initialize some CMOS values
print information about the device
print status of the device
print information about the device
print status of the device

VIRTUTECH CONFIDENTIAL

<x86>.memory-configuration
<x86>.msrs
<x86>.pregs-fpu
<x86>.pregs-sse
<x86>.print-gdt
<x86>.print-idt
<x87_exception>.info
<x87_exception>.status
<xeon-prestonia-cpu>.info
<xeon-prestonia-cpu>.status
<Z8530>.kbd-abort
=
==
>
>=
>>
@
[

a
add-directory
add-module-directory
and
api-apropos
api-help
apropos
b
bo
bookmark
break
break-cr
break-exception
break-hap
break-io
break-log
bt
c
cb
cba
cc
cd

4.1. Complete List


print memory configuration
print MSRs
print the x87 registers
print the sse registers
print GDT
print IDT
print information about the device
print status of the device
print information about the device
print status of the device
send a keyboard abort signal
set an environment variable
equal
greater than
greater or equal
bitwise right shift
evaluate a Python statement
bitwise XOR operation
alias for apropos
add a directory to the Simics search path
add a directory to the module search path
logical and
search API help
get API help
search for text in documentation
alias for break
alias for set-bookmark
alias for set-bookmark
set breakpoint on current processor
break on control register updates
break on CPU exceptions
break on haps
break on device accesses
break on log message
alias for stack-trace
alias for run
alias for cycle-break
alias for cycle-break-absolute
alias for run-cycles
change working directory

501

VIRTUTECH CONFIDENTIAL
clear-directories
clear-recorder
close-tun-tap-interface
command-list
connect-central
connect-components
connect-real-network
connect-real-network-bridge
connect-real-network-host
connect-real-network-napt
connect-real-network-port-in
connect-real-network-port-out
connect-real-network-router
continue
continue-cycles
copyright
cpu-switch-time
create-agp-voodoo3
create-alpha-lx164-system
create-and-connect-ddr-memory
create-arm-sa1110-system
create-ddr-memory-module
create-ddr2-memory-module
create-dummy-component
create-ebony-board
create-enchilada-system
create-i386-cpu
create-i486dx2-cpu
create-i486sx-cpu
create-ia64-460gx-system
create-isa-lance
create-isa-vga
create-itanium-cpu
create-legacy-pc-devices
create-leon2-simple
create-malta-system
create-niagara-simple-system
create-north-bridge-443bx
create-north-bridge-443bx-agp
create-north-bridge-875p
create-north-bridge-e7520

4.1. Complete List


clear the Simics search path
clear recorded events
close an unused persistent TUN/TAP interface
generate html document describing commands
connect to Simics Central
connect components
connect a simulated machine to the real network
connect bridge between real and simulated network
connect real host to the simulated network
enable NAPT from simulated network
setup port forwarding to a simulated machine
setup port forwarding to real machine
connect router between real and simulated network
alias for run
alias for run-cycles
print full Simics copyright information
get/set CPU switch time
create a non-instantiated agp-voodoo3
create a non-instantiated alpha-lx164-system
create and connect memory modules to the system
create a non-instantiated arm-sa1110-system
create a non-instantiated ddr-memory-module
create a non-instantiated ddr2-memory-module
create a non-instantiated dummy-component
create a non-instantiated ebony-board
create a non-instantiated enchilada-system
create a non-instantiated i386-cpu
create a non-instantiated i486dx2-cpu
create a non-instantiated i486sx-cpu
create a non-instantiated ia64-460gx-system
create a non-instantiated isa-lance
create a non-instantiated isa-vga
create a non-instantiated itanium-cpu
create a non-instantiated legacy-pc-devices
create a non-instantiated leon2-simple
create a non-instantiated malta-system
create a non-instantiated niagara-simple-system
create a non-instantiated north-bridge-443bx
create a non-instantiated north-bridge-443bx-agp
create a non-instantiated north-bridge-875p
create a non-instantiated north-bridge-e7520

502

VIRTUTECH CONFIDENTIAL
create-north-bridge-k8
create-opteron-cpu
create-pc-dual-serial-ports
create-pc-floppy-controller
create-pc-quad-serial-ports
create-pc-single-parallel-port
create-pci-am79c973
create-pci-backplane
create-pci-bcm5703c
create-pci-bcm5704c
create-pci-dec21041
create-pci-dec21140a
create-pci-dec21140a-dml
create-pci-dec21143
create-pci-i21152
create-pci-i82543gc
create-pci-i82546bg
create-pci-isp1040
create-pci-isp2200
create-pci-pd6729
create-pci-pmc1553-bc
create-pci-rage-pm-mobility-pci
create-pci-ragexl
create-pci-sil680a
create-pci-sym53c810
create-pci-sym53c875
create-pci-sym53c876
create-pci-vga
create-pci-voodoo3
create-pcie-pex8524
create-pentium-4-cpu
create-pentium-4e-2ht-cpu
create-pentium-4e-4ht-cpu
create-pentium-4e-cpu
create-pentium-cpu
create-pentium-ii-cpu
create-pentium-iii-cpu
create-pentium-m-cpu
create-pentium-mmx-cpu
create-pentium-pro-cpu
create-phy-mii-transceiver

4.1. Complete List


create a non-instantiated north-bridge-k8
create a non-instantiated opteron-cpu
create a non-instantiated pc-dual-serial-ports
create a non-instantiated pc-floppy-controller
create a non-instantiated pc-quad-serial-ports
create a non-instantiated pc-single-parallel-port
create a non-instantiated pci-am79c973
create a non-instantiated pci-backplane
create a non-instantiated pci-bcm5703c
create a non-instantiated pci-bcm5704c
create a non-instantiated pci-dec21041
create a non-instantiated pci-dec21140a
create a non-instantiated pci-dec21140a-dml
create a non-instantiated pci-dec21143
create a non-instantiated pci-i21152
create a non-instantiated pci-i82543gc
create a non-instantiated pci-i82546bg
create a non-instantiated pci-isp1040
create a non-instantiated pci-isp2200
create a non-instantiated pci-pd6729
create a non-instantiated pci-pmc1553-bc
create a non-instantiated pci-rage-pm-mobility-pci
create a non-instantiated pci-ragexl
create a non-instantiated pci-sil680a
create a non-instantiated pci-sym53c810
create a non-instantiated pci-sym53c875
create a non-instantiated pci-sym53c876
create a non-instantiated pci-vga
create a non-instantiated pci-voodoo3
create a non-instantiated pcie-pex8524
create a non-instantiated pentium-4-cpu
create a non-instantiated pentium-4e-2ht-cpu
create a non-instantiated pentium-4e-4ht-cpu
create a non-instantiated pentium-4e-cpu
create a non-instantiated pentium-cpu
create a non-instantiated pentium-ii-cpu
create a non-instantiated pentium-iii-cpu
create a non-instantiated pentium-m-cpu
create a non-instantiated pentium-mmx-cpu
create a non-instantiated pentium-pro-cpu
create a non-instantiated phy-mii-transceiver

503

VIRTUTECH CONFIDENTIAL
create-pmppc-board
create-ppc-simple
create-ppc970-simple
create-ps2-keyboard-mouse
create-sample-gcache
create-sample-ma-model
create-sample-ooo-model
create-sample-x86-ma-model
create-sdram-memory-module
create-serengeti-3800-chassis
create-serengeti-4800-chassis
create-serengeti-4810-chassis
create-serengeti-6800-chassis
create-serengeti-cluster-chassis
create-serengeti-cpci4-board
create-serengeti-pci8-board
create-serengeti-sp-cpci6-board
create-serengeti-us-iii-cpu-board
create-serengeti-us-iii-plus-cpu-board
create-serengeti-us-iv-cpu-board
create-serengeti-us-iv-plus-cpu-board
create-simple-fc-disk
create-sio-lpc47m172
create-sio-w83627hf
create-south-bridge-6300esb
create-south-bridge-amd8111
create-south-bridge-md1535d
create-south-bridge-piix4
create-south-bridge-saturn
create-south-bridge-sun-md1535d
create-std-etg
create-std-ethernet-link
create-std-graphics-console
create-std-host-serial-console
create-std-ide-cdrom
create-std-ide-disk
create-std-ms1553-link
create-std-pcmcia-flash-disk
create-std-scsi-bus
create-std-scsi-cdrom
create-std-scsi-disk

4.1. Complete List


create a non-instantiated pmppc-board
create a non-instantiated ppc-simple
create a non-instantiated ppc970-simple
create a non-instantiated ps2-keyboard-mouse
create a non-instantiated sample-gcache
create a non-instantiated sample-ma-model
create a non-instantiated sample-ooo-model
create a non-instantiated sample-x86-ma-model
create a non-instantiated sdram-memory-module
create a non-instantiated serengeti-3800-chassis
create a non-instantiated serengeti-4800-chassis
create a non-instantiated serengeti-4810-chassis
create a non-instantiated serengeti-6800-chassis
create a non-instantiated serengeti-cluster-chassis
create a non-instantiated serengeti-cpci4-board
create a non-instantiated serengeti-pci8-board
create a non-instantiated serengeti-sp-cpci6-board
create a non-instantiated serengeti-us-iii-cpu-board
create a non-instantiated serengeti-us-iii-plus-cpu-board
create a non-instantiated serengeti-us-iv-cpu-board
create a non-instantiated serengeti-us-iv-plus-cpu-board
create a non-instantiated simple-fc-disk
create a non-instantiated sio-lpc47m172
create a non-instantiated sio-w83627hf
create a non-instantiated south-bridge-6300esb
create a non-instantiated south-bridge-amd8111
create a non-instantiated south-bridge-md1535d
create a non-instantiated south-bridge-piix4
create a non-instantiated south-bridge-saturn
create a non-instantiated south-bridge-sun-md1535d
create a non-instantiated std-etg
create a non-instantiated std-ethernet-link
create a non-instantiated std-graphics-console
create a non-instantiated std-host-serial-console
create a non-instantiated std-ide-cdrom
create a non-instantiated std-ide-disk
create a non-instantiated std-ms1553-link
create a non-instantiated std-pcmcia-flash-disk
create a non-instantiated std-scsi-bus
create a non-instantiated std-scsi-cdrom
create a non-instantiated std-scsi-disk

504

VIRTUTECH CONFIDENTIAL
create-std-serial-link
create-std-server-console
create-std-service-node
create-std-super-io
create-std-text-console
create-std-text-graphics-console
create-sun-cpci-hme-isp
create-sun-cpci-isp-isp
create-sun-cpci-qlc-qlc
create-sun-pci-ce
create-sun-pci-hme
create-sun-pci-hme-isp
create-sun-pci-pgx64
create-sun-pci-qlc
create-sun-pci-qlc-qlc
create-sun-sbus-fas-hme
create-sun-type5-keyboard
create-sun-type5-mouse
create-sunfire-3500-backplane
create-sunfire-4500-backplane
create-sunfire-6500-backplane
create-sunfire-cpu-board
create-sunfire-pci-board
create-sunfire-sbus-board
create-taco-system
create-telos-mote
create-x86-apic-bus-system
create-x86-apic-system
create-x86-e7520-system
create-x86-hammer-cpu
create-x86-separate-mem-io-system
create-x86-system
create-xeon-prestonia-cpu
current-processor
cycle-break
cycle-break-absolute
da
date
db
default-port-forward-target
defined

4.1. Complete List


create a non-instantiated std-serial-link
create a non-instantiated std-server-console
create a non-instantiated std-service-node
create a non-instantiated std-super-io
create a non-instantiated std-text-console
create a non-instantiated std-text-graphics-console
create a non-instantiated sun-cpci-hme-isp
create a non-instantiated sun-cpci-isp-isp
create a non-instantiated sun-cpci-qlc-qlc
create a non-instantiated sun-pci-ce
create a non-instantiated sun-pci-hme
create a non-instantiated sun-pci-hme-isp
create a non-instantiated sun-pci-pgx64
create a non-instantiated sun-pci-qlc
create a non-instantiated sun-pci-qlc-qlc
create a non-instantiated sun-sbus-fas-hme
create a non-instantiated sun-type5-keyboard
create a non-instantiated sun-type5-mouse
create a non-instantiated sunfire-3500-backplane
create a non-instantiated sunfire-4500-backplane
create a non-instantiated sunfire-6500-backplane
create a non-instantiated sunfire-cpu-board
create a non-instantiated sunfire-pci-board
create a non-instantiated sunfire-sbus-board
create a non-instantiated taco-system
create a non-instantiated telos-mote
create a non-instantiated x86-apic-bus-system
create a non-instantiated x86-apic-system
create a non-instantiated x86-e7520-system
create a non-instantiated x86-hammer-cpu
create a non-instantiated x86-separate-mem-io-system
create a non-instantiated x86-system
create a non-instantiated xeon-prestonia-cpu
return current processor
set cycle breakpoint
set absolute cycle breakpoint
alias for disassemble
host time and date
alias for delete-bookmark
set default port forwarding target
variable defined

505

VIRTUTECH CONFIDENTIAL
delete
delete-bookmark
devs
digit-grouping
dirs
disable
disable-real-time-mode
disassemble
disassemble-settings
disconnect-real-network
disconnect-real-network-port-in
disconnect-real-network-port-out
display
down
dstc-disable
dstc-enable
echo
else
enable
enable-real-time-mode
ethereal
exit
expect
f
fin
finish
finish-function
fpsr
frame
function-profile
gdb-remote
get
get-component-prefix
h
help
hex
hl
ib
if
ifm
ignore

4.1. Complete List


remove a breakpoint
delete a time bookmark
list all devices in Simics
set output formatting for numbers
display directory stack
enable/disable breakpoint
disable real time mode for Simics
disassemble instructions
change disassembly output settings
disconnect from the real network
remove port forwarding to a simulated machine
remove port forwarding to real machine
print expression at prompt
go down N stack frames
disable D-STC
enable D-STC
echo a value to screen
enable/disable breakpoint
set real time mode for Simics
run the ethereal program
alias for quit
fail if not equal
alias for frame
alias for finish-function
alias for finish-function
finish the current function
print floating point status register
change current stack frame
list functions sorted by profile counts
start gdb-remote
get value of physical address
get current component name prefix
alias for help
help command
display integer in hexadecimal notation
alias for list-haps
alias for list-breakpoints
alias for instruction-fetch-mode
set ignore count for a breakpoint

506

VIRTUTECH CONFIDENTIAL
import-alpha-components
import-arm-sa1110-components
import-fiesta-components
import-ia64-components
import-isa-components
import-leon2-components
import-malta-components
import-memory-components
import-niagara-simple-components
import-pci-components
import-phy-components
import-pmppc-components
import-ppc-simple-components
import-ppc440gp-components
import-ppc970fx-components
import-serengeti-components
import-std-components
import-sun-components
import-sunfire-components
import-telos-mote-components
import-timing-components
import-usb-components
import-x86-components
include
info-breakpoints
instantiate-components
instruction-fetch-mode
instruction-profile-mode
interrupt-script-branch
interrupt-status
ipm
istc-disable
istc-enable
l2p
lb
license
list
list-attributes
list-bookmarks
list-breakpoints
list-classes

4.1. Complete List


import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
alias for run-command-file
alias for list-breakpoints
instantiate components
set or get current mode for instruction fetching
deprecated set or get current mode for instruction profiling
display interrupt status
deprecated alias for instruction-profile-mode
disable I-STC
enable I-STC
alias for logical-to-physical
alias for list-bookmarks
print simics license
list source and/or disassemble
list all attributes
list time bookmarks
print information about breakpoints
list all configuration classes

507

VIRTUTECH CONFIDENTIAL
list-components
list-directories
list-failed-modules
list-hap-callbacks
list-haps
list-modules
list-namespaces
list-objects
list-port-forwarding-setup
list-script-branches
list-vars
load-binary
load-file
load-module
load-persistent-state
load-rom
log
log-level
log-setup
log-size
log-type
logical-to-physical
lookup-file
ls
magic-break-disable
magic-break-enable
magic-break-query
man
max
memory-usage
min
module-list
module-list-failed
module-list-refresh
n
native-path
network-helper
new-arm-sa1110-system
new-branch-recorder
new-central-server
new-context

4.1. Complete List

list components
list directories in Simics search path
list the modules that are not loadable
print list of hap callbacks
print list of haps
list loadable modules
list all namespaces
list all objects
view the port forwarding setup
list environment variables
load binary (executable) file into memory
load file into memory
load module into Simics
load persistent state
load a ROM image into memory.
print log entries for all objects
set or get the global log level
configure log behavior
set log buffer size
set or get the current log types
translate logical address to physical
alias for resolve-file
list files
remove magic instruction hap handler
install magic instruction hap handler
returns 1 if magic instruction handler is installed
alias for help
max
memory usage
min
alias for list-modules
alias for list-failed-modules
create a new list of loadable modules
alias for next-line
convert a filename to host native form
set/show name of host network helper
create an instantiated arm-sa1110-system
create a new branch recorder
create a Simics Central server
create a new context

508

VIRTUTECH CONFIDENTIAL
new-context-switcher
new-cpu-mode-tracker
new-ddr-memory-module
new-ddr2-memory-module
new-dummy-component
new-ebony-board
new-etg
new-ethernet-link
new-file-cdrom
new-gdb-remote
new-host-cdrom
new-ia64-460gx-system
new-leon2-simple
new-linux-process-tracker
new-niagara-simple-system
new-pcie-pex8524
new-pmppc-board
new-ppc-simple
new-ppc32-linux-process-tracker
new-ppc64-linux-process-tracker
new-ppc970-simple
new-sample-gcache
new-sample-ma-model
new-sample-ooo-model
new-sample-x86-ma-model
new-sdram-memory-module
new-serengeti-3800-chassis
new-serengeti-4800-chassis
new-serengeti-4810-chassis
new-serengeti-6800-chassis
new-serengeti-cluster-chassis
new-serial-link
new-service-node
new-south-bridge-6300esb
new-std-etg
new-std-ethernet-link
new-std-graphics-console
new-std-host-serial-console
new-std-ms1553-link
new-std-pcmcia-flash-disk
new-std-serial-link

4.1. Complete List


create new context switcher
create new cpu mode tracker
create an instantiated ddr-memory-module
create an instantiated ddr2-memory-module
create an instantiated dummy-component
create an instantiated ebony-board
Create an Ethernet traffic generator
create a new ethernet link
create new file-cdrom object
create a gdb session
create new host-cdrom object
create an instantiated ia64-460gx-system
create an instantiated leon2-simple
create new Linux process tracker
create an instantiated niagara-simple-system
create an instantiated pcie-pex8524
create an instantiated pmppc-board
create an instantiated ppc-simple
create new ppc32-linux process tracker
create new ppc64-linux process tracker
create an instantiated ppc970-simple
create an instantiated sample-gcache
create an instantiated sample-ma-model
create an instantiated sample-ooo-model
create an instantiated sample-x86-ma-model
create an instantiated sdram-memory-module
create an instantiated serengeti-3800-chassis
create an instantiated serengeti-4800-chassis
create an instantiated serengeti-4810-chassis
create an instantiated serengeti-6800-chassis
create an instantiated serengeti-cluster-chassis
create a new serial link
create a new service node
create an instantiated south-bridge-6300esb
create an instantiated std-etg
create an instantiated std-ethernet-link
create an instantiated std-graphics-console
create an instantiated std-host-serial-console
create an instantiated std-ms1553-link
create an instantiated std-pcmcia-flash-disk
create an instantiated std-serial-link

509

VIRTUTECH CONFIDENTIAL
new-std-server-console
new-std-service-node
new-std-text-console
new-std-text-graphics-console
new-sun-type5-keyboard
new-sun-type5-mouse
new-symtable
new-telos-mote
new-tracer
new-x86-linux-process-tracker
next
next-instruction
next-line
nexti
ni
not
or
output-file-start
output-file-stop
output-radix
p
pcapdump
pdisable
penable
peq
pfregs
pfregs
pid
pipe
piprs
popd
pos
pow
pregs
pregs-all
pregs-altivec
pregs-fpu
pregs-hyper
pregs-hyper
print
print-directories

4.1. Complete List


create an instantiated std-server-console
create an instantiated std-service-node
create an instantiated std-text-console
create an instantiated std-text-graphics-console
create an instantiated sun-type5-keyboard
create an instantiated sun-type5-mouse
create new symbol table
create an instantiated telos-mote
create a new tracer
create new x86-linux process tracker
alias for next-line
run to the next instruction, skipping subroutine calls
run to the next source line, skipping subroutine calls
alias for next-instruction
alias for next-instruction
logical not
logical or
send output to file
stop sending output to file
change the default output radix
alias for print
save traffic in libpcap format
switch processor off
switch processor on
alias for print-event-queue
print floating point registers
deprecated print floating point registers
print pid of Simics process
run commands through a pipe
print internal processor registers
pop directory from directory stack
address of line or function
power of
print cpu registers
print all cpu registers
print cpu altivec registers
print the floating point registers
print hypervisor registers
print hypervisor registers
display integer in various bases
deprecated print the directory Simics search path

510

VIRTUTECH CONFIDENTIAL
print-double-regs
print-dtlb
print-event-queue
print-float-regs
print-float-regs-raw
print-itlb
print-statistics
print-time
print-tlb
psel
pselect
pstats
pstatus
psym
ptime
pushd
pwd
python
q
quit
r
rc
read-configuration
read-fp-reg-i
read-fp-reg-x
read-ipr
read-reg
readme
resolve-file
rev
reverse
reverse-next-instruction
reverse-next-line
reverse-step-instruction
reverse-step-line
reverse-to
revto
rexec-limit
rlimit
rn
rnext

4.1. Complete List

deprecated print floating point registers as doubles


deprecated print data tlb contents
print event queue for processor
deprecated print floating point registers
deprecated print raw floating point register contents
deprecated print instruction tlb contents
print various statistics
print number of steps and cycles executed
deprecated print TLB contents
alias for pselect
select a processor
alias for print-statistics
show processors status
print value of symbolic expression
alias for print-time
push directory on directory stack
print working directory
evaluate an expression in python
alias for quit
quit from Simics
alias for run
alias for run-cycles
restore configuration
print floating point single register as integer
print floating point double register as integer
read/write internal processor register
read a register
print information about Simics
resolve a filename
alias for reverse
run simulation backwards
back to the previous instruction, skipping subroutine calls
back to the previous source line, skipping subroutine calls
reverse step one or more instruction
back to the previous source line
set a temporary time breakpoint and run backwards
alias for reverse-to
tune reverse execution performance parameters
alias for rexec-limit
alias for reverse-next-line
alias for reverse-next-line

511

VIRTUTECH CONFIDENTIAL
rnexti
rni
rs
rse-status
rsi
rstep
rstepi
run
run-command-file
run-cycles
run-python-file
s
save-component-template
save-persistent-state
sb
sba
sc
script-branch
scs
select-profiles
set
set-bookmark
set-component-prefix
set-context
set-memory-limit
set-pattern
set-pc
set-prefix
set-simics-id
set-substr
si
signed
signed16
signed32
signed64
signed8
sim-break
sim-break-absolute
simics-module-symbols
skip-to
source

4.1. Complete List

alias for reverse-next-instruction


alias for reverse-next-instruction
alias for reverse-step-line
display RSE status
alias for reverse-step-instruction
alias for reverse-step-line
alias for reverse-step-instruction
start execution
execute a simics script
start execution
execute Python file
alias for step-line
save a component configuration template
save persistent simulator state
alias for step-break
alias for step-break-absolute
alias for step-cycle
alias for step-cycle-single
set profilers to display in source listing
set physical address to specified value
set a bookmark at the current point in time
set a prefix for all component names
set the current context of a CPU
limit memory usage
set an instruction pattern for a breakpoint
set the current processors program counter
set a syntax prefix for a breakpoint
deprecated set the global Simics ID number
set a syntax substring for a breakpoint
alias for step-instruction
interpret unsigned integer as signed
interpret unsigned integer as signed
interpret unsigned integer as signed
interpret unsigned integer as signed
interpret unsigned integer as signed
alias for step-break
alias for step-break-absolute
load module symbols from Simics
skip to the specified point in the simulation
alias for run-python-file

512

VIRTUTECH CONFIDENTIAL
st
stack-trace
start-logical-memory-translator
state-assertion-connect
state-assertion-create-file
state-assertion-open-file
state-assertion-receive
state-assertion-simple-assert
state-assertion-simple-record
stc-status
step
step-break
step-break-absolute
step-cycle
step-cycle-single
step-instruction
step-line
stepi
stop
sum
sym
symval
tcpdump
tlb-status
trace-breakpoint
trace-cr
trace-exception
trace-hap
trace-io
trap-info
ui
unbreak
unbreak-cr
unbreak-exception
unbreak-hap
unbreak-io
uncall
uncall-function
undisplay
unload-module
unset

4.1. Complete List


alias for skip-to
display stack trace
start the logical memory translator on all cpus
connect to a state-assertion receiver
record a state assertion file
open a state assertion file for comparing
wait for a connection from a state assertion sender
assert the file
record the state of an object every x steps
show I- and D-STC status
alias for step-line
set time breakpoint
set absolute time breakpoint
step one or more cycles
step one cycle and switch to the next cpu
step one or more instructions
run to the next source line
alias for step-instruction
interrupt simulation
deprecated sum a memory range
alias for symval
evaluate symbolic expression
run the tcpdump program
display tlb status
trace breakpoints
trace control register updates
trace exceptions
trace haps
trace device accesses
print information about current traps
alias for reverse-step-instruction
remove breakpoint range
break on control register updates
break on CPU exceptions
break on haps
break on device accesses
alias for uncall-function
go back to when the current function was called
remove expression installed by display
unload module
remove a environment variable

513

VIRTUTECH CONFIDENTIAL
unstep-instruction
untrace-breakpoint
untrace-cr
untrace-exception
untrace-hap
untrace-io
up
v9-sol9-idle-opt
version
wait-for-hap
wait-for-variable
where
whereis
while
write-configuration
write-fp-reg-i
write-fp-reg-x
write-ipr
write-reg
x
|

4.2

4.2. By Categories

alias for reverse-step-instruction


trace breakpoints
trace control register updates
trace exceptions
trace haps
trace device accesses
go up N stack frames
enable idle loop optimization
display Simics version
wait until hap occurs
wait for a variable to change
alias for stack-trace
find symbol by address
save configuration
write floating point single register as integer
write floating point double register as integer
write internal processor register
write to register
examine raw memory contents
bitwise OR operation
bitwise not

By Categories

Breakpoints
<breakpoint>.break
<processor>.cycle-break-absolute
<processor>.step-break-absolute
cycle-break-absolute
delete
enable
ignore
list-breakpoints
magic-break-enable
set-pattern
set-prefix
set-substr
step-break-absolute
unbreak

set breakpoint
set absolute cycle breakpoint
set absolute time breakpoint
set absolute cycle breakpoint
remove a breakpoint
enable/disable breakpoint
set ignore count for a breakpoint
print information about breakpoints
install magic instruction hap handler
set an instruction pattern for a breakpoint
set a syntax prefix for a breakpoint
set a syntax substring for a breakpoint
set absolute time breakpoint
remove breakpoint range

514

VIRTUTECH CONFIDENTIAL

4.2. By Categories

CD-ROM
<file-cdrom>.delete
<host-cdrom>.delete
new-file-cdrom
new-host-cdrom

delete an unused file-cdrom object


delete an unused host-cdrom object
create new file-cdrom object
create new host-cdrom object

Changing Simulated State


<image>.set
<processor>.write-reg
load-binary
load-file
penable
set
set-pc
write-reg

set bytes in image to specified value


write to register
load binary (executable) file into memory
load file into memory
switch processor on
set physical address to specified value
set the current processors program counter
write to register

Command-Line Interface
!
!=
$
&

+
+=
-=
->
/
<
<<
<=
=
==

execute a shell command


not equal
get the value of an environment variable
bitwise AND operation
arithmetic multiplication
arithmetic addition
set an environment variable
arithmetic subtraction
set an environment variable
access object attribute
arithmetic division
less than
bitwise left shift
less or equal
set an environment variable
equal

515

VIRTUTECH CONFIDENTIAL

>
>=
>>
@
[

and
cd
current-processor
date
defined
digit-grouping
dirs
disassemble-settings
display
echo
else
hex
if
list-namespaces
list-vars
ls
max
min
not
or
output-radix
pid
pipe
popd
pow
print
pselect
pushd
pwd
python
quit
run-command-file
run-python-file
script-branch
signed

4.2. By Categories

greater than
greater or equal
bitwise right shift
evaluate a Python statement
bitwise XOR operation
logical and
change working directory
return current processor
host time and date
variable defined
set output formatting for numbers
display directory stack
change disassembly output settings
print expression at prompt
echo a value to screen
display integer in hexadecimal notation
list all namespaces
list environment variables
list files
max
min
logical not
logical or
change the default output radix
print pid of Simics process
run commands through a pipe
pop directory from directory stack
power of
display integer in various bases
select a processor
push directory on directory stack
print working directory
evaluate an expression in python
quit from Simics
execute a simics script
execute Python file
interpret unsigned integer as signed

516

VIRTUTECH CONFIDENTIAL
signed16
signed32
signed64
signed8
undisplay
unset
while
|

4.2. By Categories

interpret unsigned integer as signed


interpret unsigned integer as signed
interpret unsigned integer as signed
interpret unsigned integer as signed
remove expression installed by display
remove a environment variable
bitwise OR operation
bitwise not

Components
<component>.connect
<component>.disconnect
<component>.get-component-object
connect-components
create-agp-voodoo3
create-alpha-lx164-system
create-and-connect-ddr-memory
create-arm-sa1110-system
create-ddr-memory-module
create-ddr2-memory-module
create-dummy-component
create-ebony-board
create-enchilada-system
create-i386-cpu
create-i486dx2-cpu
create-i486sx-cpu
create-ia64-460gx-system
create-isa-lance
create-isa-vga
create-itanium-cpu
create-legacy-pc-devices
create-leon2-simple
create-malta-system
create-niagara-simple-system
create-north-bridge-443bx
create-north-bridge-443bx-agp
create-north-bridge-875p
create-north-bridge-e7520

connect components
disconnect component connector
get named object from components
connect components
create a non-instantiated agp-voodoo3
create a non-instantiated alpha-lx164-system
create and connect memory modules to the system
create a non-instantiated arm-sa1110-system
create a non-instantiated ddr-memory-module
create a non-instantiated ddr2-memory-module
create a non-instantiated dummy-component
create a non-instantiated ebony-board
create a non-instantiated enchilada-system
create a non-instantiated i386-cpu
create a non-instantiated i486dx2-cpu
create a non-instantiated i486sx-cpu
create a non-instantiated ia64-460gx-system
create a non-instantiated isa-lance
create a non-instantiated isa-vga
create a non-instantiated itanium-cpu
create a non-instantiated legacy-pc-devices
create a non-instantiated leon2-simple
create a non-instantiated malta-system
create a non-instantiated niagara-simple-system
create a non-instantiated north-bridge-443bx
create a non-instantiated north-bridge-443bx-agp
create a non-instantiated north-bridge-875p
create a non-instantiated north-bridge-e7520

517

VIRTUTECH CONFIDENTIAL
create-north-bridge-k8
create-opteron-cpu
create-pc-dual-serial-ports
create-pc-floppy-controller
create-pc-quad-serial-ports
create-pc-single-parallel-port
create-pci-am79c973
create-pci-backplane
create-pci-bcm5703c
create-pci-bcm5704c
create-pci-dec21041
create-pci-dec21140a
create-pci-dec21140a-dml
create-pci-dec21143
create-pci-i21152
create-pci-i82543gc
create-pci-i82546bg
create-pci-isp1040
create-pci-isp2200
create-pci-pd6729
create-pci-pmc1553-bc
create-pci-rage-pm-mobility-pci
create-pci-ragexl
create-pci-sil680a
create-pci-sym53c810
create-pci-sym53c875
create-pci-sym53c876
create-pci-vga
create-pci-voodoo3
create-pcie-pex8524
create-pentium-4-cpu
create-pentium-4e-2ht-cpu
create-pentium-4e-4ht-cpu
create-pentium-4e-cpu
create-pentium-cpu
create-pentium-ii-cpu
create-pentium-iii-cpu
create-pentium-m-cpu
create-pentium-mmx-cpu
create-pentium-pro-cpu
create-phy-mii-transceiver

4.2. By Categories
create a non-instantiated north-bridge-k8
create a non-instantiated opteron-cpu
create a non-instantiated pc-dual-serial-ports
create a non-instantiated pc-floppy-controller
create a non-instantiated pc-quad-serial-ports
create a non-instantiated pc-single-parallel-port
create a non-instantiated pci-am79c973
create a non-instantiated pci-backplane
create a non-instantiated pci-bcm5703c
create a non-instantiated pci-bcm5704c
create a non-instantiated pci-dec21041
create a non-instantiated pci-dec21140a
create a non-instantiated pci-dec21140a-dml
create a non-instantiated pci-dec21143
create a non-instantiated pci-i21152
create a non-instantiated pci-i82543gc
create a non-instantiated pci-i82546bg
create a non-instantiated pci-isp1040
create a non-instantiated pci-isp2200
create a non-instantiated pci-pd6729
create a non-instantiated pci-pmc1553-bc
create a non-instantiated pci-rage-pm-mobility-pci
create a non-instantiated pci-ragexl
create a non-instantiated pci-sil680a
create a non-instantiated pci-sym53c810
create a non-instantiated pci-sym53c875
create a non-instantiated pci-sym53c876
create a non-instantiated pci-vga
create a non-instantiated pci-voodoo3
create a non-instantiated pcie-pex8524
create a non-instantiated pentium-4-cpu
create a non-instantiated pentium-4e-2ht-cpu
create a non-instantiated pentium-4e-4ht-cpu
create a non-instantiated pentium-4e-cpu
create a non-instantiated pentium-cpu
create a non-instantiated pentium-ii-cpu
create a non-instantiated pentium-iii-cpu
create a non-instantiated pentium-m-cpu
create a non-instantiated pentium-mmx-cpu
create a non-instantiated pentium-pro-cpu
create a non-instantiated phy-mii-transceiver

518

VIRTUTECH CONFIDENTIAL
create-pmppc-board
create-ppc-simple
create-ppc970-simple
create-ps2-keyboard-mouse
create-sample-gcache
create-sample-ma-model
create-sample-ooo-model
create-sample-x86-ma-model
create-sdram-memory-module
create-serengeti-3800-chassis
create-serengeti-4800-chassis
create-serengeti-4810-chassis
create-serengeti-6800-chassis
create-serengeti-cluster-chassis
create-serengeti-cpci4-board
create-serengeti-pci8-board
create-serengeti-sp-cpci6-board
create-serengeti-us-iii-cpu-board
create-serengeti-us-iii-plus-cpu-board
create-serengeti-us-iv-cpu-board
create-serengeti-us-iv-plus-cpu-board
create-simple-fc-disk
create-sio-lpc47m172
create-sio-w83627hf
create-south-bridge-6300esb
create-south-bridge-amd8111
create-south-bridge-md1535d
create-south-bridge-piix4
create-south-bridge-saturn
create-south-bridge-sun-md1535d
create-std-etg
create-std-ethernet-link
create-std-graphics-console
create-std-host-serial-console
create-std-ide-cdrom
create-std-ide-disk
create-std-ms1553-link
create-std-pcmcia-flash-disk
create-std-scsi-bus
create-std-scsi-cdrom
create-std-scsi-disk

4.2. By Categories
create a non-instantiated pmppc-board
create a non-instantiated ppc-simple
create a non-instantiated ppc970-simple
create a non-instantiated ps2-keyboard-mouse
create a non-instantiated sample-gcache
create a non-instantiated sample-ma-model
create a non-instantiated sample-ooo-model
create a non-instantiated sample-x86-ma-model
create a non-instantiated sdram-memory-module
create a non-instantiated serengeti-3800-chassis
create a non-instantiated serengeti-4800-chassis
create a non-instantiated serengeti-4810-chassis
create a non-instantiated serengeti-6800-chassis
create a non-instantiated serengeti-cluster-chassis
create a non-instantiated serengeti-cpci4-board
create a non-instantiated serengeti-pci8-board
create a non-instantiated serengeti-sp-cpci6-board
create a non-instantiated serengeti-us-iii-cpu-board
create a non-instantiated serengeti-us-iii-plus-cpu-board
create a non-instantiated serengeti-us-iv-cpu-board
create a non-instantiated serengeti-us-iv-plus-cpu-board
create a non-instantiated simple-fc-disk
create a non-instantiated sio-lpc47m172
create a non-instantiated sio-w83627hf
create a non-instantiated south-bridge-6300esb
create a non-instantiated south-bridge-amd8111
create a non-instantiated south-bridge-md1535d
create a non-instantiated south-bridge-piix4
create a non-instantiated south-bridge-saturn
create a non-instantiated south-bridge-sun-md1535d
create a non-instantiated std-etg
create a non-instantiated std-ethernet-link
create a non-instantiated std-graphics-console
create a non-instantiated std-host-serial-console
create a non-instantiated std-ide-cdrom
create a non-instantiated std-ide-disk
create a non-instantiated std-ms1553-link
create a non-instantiated std-pcmcia-flash-disk
create a non-instantiated std-scsi-bus
create a non-instantiated std-scsi-cdrom
create a non-instantiated std-scsi-disk

519

VIRTUTECH CONFIDENTIAL
create-std-serial-link
create-std-server-console
create-std-service-node
create-std-super-io
create-std-text-console
create-std-text-graphics-console
create-sun-cpci-hme-isp
create-sun-cpci-isp-isp
create-sun-cpci-qlc-qlc
create-sun-pci-ce
create-sun-pci-hme
create-sun-pci-hme-isp
create-sun-pci-pgx64
create-sun-pci-qlc
create-sun-pci-qlc-qlc
create-sun-sbus-fas-hme
create-sun-type5-keyboard
create-sun-type5-mouse
create-sunfire-3500-backplane
create-sunfire-4500-backplane
create-sunfire-6500-backplane
create-sunfire-cpu-board
create-sunfire-pci-board
create-sunfire-sbus-board
create-taco-system
create-telos-mote
create-x86-apic-bus-system
create-x86-apic-system
create-x86-e7520-system
create-x86-hammer-cpu
create-x86-separate-mem-io-system
create-x86-system
create-xeon-prestonia-cpu
get-component-prefix
import-alpha-components
import-arm-sa1110-components
import-fiesta-components
import-ia64-components
import-isa-components
import-leon2-components
import-malta-components

4.2. By Categories
create a non-instantiated std-serial-link
create a non-instantiated std-server-console
create a non-instantiated std-service-node
create a non-instantiated std-super-io
create a non-instantiated std-text-console
create a non-instantiated std-text-graphics-console
create a non-instantiated sun-cpci-hme-isp
create a non-instantiated sun-cpci-isp-isp
create a non-instantiated sun-cpci-qlc-qlc
create a non-instantiated sun-pci-ce
create a non-instantiated sun-pci-hme
create a non-instantiated sun-pci-hme-isp
create a non-instantiated sun-pci-pgx64
create a non-instantiated sun-pci-qlc
create a non-instantiated sun-pci-qlc-qlc
create a non-instantiated sun-sbus-fas-hme
create a non-instantiated sun-type5-keyboard
create a non-instantiated sun-type5-mouse
create a non-instantiated sunfire-3500-backplane
create a non-instantiated sunfire-4500-backplane
create a non-instantiated sunfire-6500-backplane
create a non-instantiated sunfire-cpu-board
create a non-instantiated sunfire-pci-board
create a non-instantiated sunfire-sbus-board
create a non-instantiated taco-system
create a non-instantiated telos-mote
create a non-instantiated x86-apic-bus-system
create a non-instantiated x86-apic-system
create a non-instantiated x86-e7520-system
create a non-instantiated x86-hammer-cpu
create a non-instantiated x86-separate-mem-io-system
create a non-instantiated x86-system
create a non-instantiated xeon-prestonia-cpu
get current component name prefix
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection

520

VIRTUTECH CONFIDENTIAL
import-memory-components
import-niagara-simple-components
import-pci-components
import-phy-components
import-pmppc-components
import-ppc-simple-components
import-ppc440gp-components
import-ppc970fx-components
import-serengeti-components
import-std-components
import-sun-components
import-sunfire-components
import-telos-mote-components
import-timing-components
import-usb-components
import-x86-components
instantiate-components
list-components
new-arm-sa1110-system
new-ddr-memory-module
new-ddr2-memory-module
new-dummy-component
new-ebony-board
new-ia64-460gx-system
new-leon2-simple
new-niagara-simple-system
new-pcie-pex8524
new-pmppc-board
new-ppc-simple
new-ppc970-simple
new-sample-gcache
new-sample-ma-model
new-sample-ooo-model
new-sample-x86-ma-model
new-sdram-memory-module
new-serengeti-3800-chassis
new-serengeti-4800-chassis
new-serengeti-4810-chassis
new-serengeti-6800-chassis
new-serengeti-cluster-chassis
new-south-bridge-6300esb

4.2. By Categories
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
instantiate components
list components
create an instantiated arm-sa1110-system
create an instantiated ddr-memory-module
create an instantiated ddr2-memory-module
create an instantiated dummy-component
create an instantiated ebony-board
create an instantiated ia64-460gx-system
create an instantiated leon2-simple
create an instantiated niagara-simple-system
create an instantiated pcie-pex8524
create an instantiated pmppc-board
create an instantiated ppc-simple
create an instantiated ppc970-simple
create an instantiated sample-gcache
create an instantiated sample-ma-model
create an instantiated sample-ooo-model
create an instantiated sample-x86-ma-model
create an instantiated sdram-memory-module
create an instantiated serengeti-3800-chassis
create an instantiated serengeti-4800-chassis
create an instantiated serengeti-4810-chassis
create an instantiated serengeti-6800-chassis
create an instantiated serengeti-cluster-chassis
create an instantiated south-bridge-6300esb

521

VIRTUTECH CONFIDENTIAL
new-std-etg
new-std-ethernet-link
new-std-graphics-console
new-std-host-serial-console
new-std-ms1553-link
new-std-pcmcia-flash-disk
new-std-serial-link
new-std-server-console
new-std-service-node
new-std-text-console
new-std-text-graphics-console
new-sun-type5-keyboard
new-sun-type5-mouse
new-telos-mote
set-component-prefix

4.2. By Categories
create an instantiated std-etg
create an instantiated std-ethernet-link
create an instantiated std-graphics-console
create an instantiated std-host-serial-console
create an instantiated std-ms1553-link
create an instantiated std-pcmcia-flash-disk
create an instantiated std-serial-link
create an instantiated std-server-console
create an instantiated std-service-node
create an instantiated std-text-console
create an instantiated std-text-graphics-console
create an instantiated sun-type5-keyboard
create an instantiated sun-type5-mouse
create an instantiated telos-mote
set a prefix for all component names

Configuration
<image>.add-diff-file
<image>.add-partial-diff-file
<image>.save
<image>.save-diff-file
<memory-space>.add-map
<memory-space>.del-map
<memory-space>.map
<port-space>.add-map
<port-space>.del-map
<port-space>.map
add-directory
add-module-directory
devs
list-attributes
list-classes
list-failed-modules
list-modules
list-objects
load-module
load-persistent-state
module-list-refresh
read-configuration
save-component-template

add a diff file to the image


add a partial diff file to the image
save image to disk
save changes since last checkpoint
map device in a memory-space
remove device map from a memory-space
list memory map
map device in a port-space
remove device map from a port-space
list port map
add a directory to the Simics search path
add a directory to the module search path
list all devices in Simics
list all attributes
list all configuration classes
list the modules that are not loadable
list loadable modules
list all objects
load module into Simics
load persistent state
create a new list of loadable modules
restore configuration
save a component configuration template

522

VIRTUTECH CONFIDENTIAL
save-persistent-state
unload-module
write-configuration

4.2. By Categories

save persistent simulator state


unload module
save configuration

Debugging
<breakpoint>.break
<context-switcher>.track-bin
<context-switcher>.track-pid
<context>.finish-function
<context>.next-instruction
<context>.next-line
<context>.on
<context>.reverse-next-instruction
<context>.reverse-next-line
<context>.reverse-step-instruction
<context>.reverse-step-line
<context>.step-instruction
<context>.step-line
<context>.uncall-function
<linux-process-tracker>.process-list
<processor>.cycle-break-absolute
<processor>.step-break-absolute
cycle-break-absolute
delete
enable
finish-function
gdb-remote
ignore
list-breakpoints
magic-break-enable
new-context
new-gdb-remote
next-instruction
next-line
reverse-next-instruction
reverse-next-line
reverse-step-line
set-context
set-pattern

set breakpoint
track first use of a given binary
track the process with a given pid
finish the current function
run to the next instruction, skipping subroutine calls
run to the next source line, skipping subroutine calls
switch on context object
back to the previous instruction, skipping subroutine calls
back to the previous source line, skipping subroutine calls
back to the previous instruction
back to the previous source line
run to the next instruction
run to the next source line
go back to when the current function was called
list running processes
set absolute cycle breakpoint
set absolute time breakpoint
set absolute cycle breakpoint
remove a breakpoint
enable/disable breakpoint
finish the current function
start gdb-remote
set ignore count for a breakpoint
print information about breakpoints
install magic instruction hap handler
create a new context
create a gdb session
run to the next instruction, skipping subroutine calls
run to the next source line, skipping subroutine calls
back to the previous instruction, skipping subroutine calls
back to the previous source line, skipping subroutine calls
back to the previous source line
set the current context of a CPU
set an instruction pattern for a breakpoint

523

VIRTUTECH CONFIDENTIAL
set-prefix
set-substr
step-break-absolute
step-line
unbreak
uncall-function

4.2. By Categories

set a syntax prefix for a breakpoint


set a syntax substring for a breakpoint
set absolute time breakpoint
run to the next source line
remove breakpoint range
go back to when the current function was called

Disk
<image>.add-diff-file
<image>.add-partial-diff-file
<image>.save
<image>.save-diff-file
<image>.set
load-persistent-state
new-file-cdrom
new-host-cdrom
save-persistent-state

add a diff file to the image


add a partial diff file to the image
save image to disk
save changes since last checkpoint
set bytes in image to specified value
load persistent state
create new file-cdrom object
create new host-cdrom object
save persistent simulator state

Distributed Simulation
connect-central
new-central-server

connect to Simics Central


create a Simics Central server

Ethernet
<AM79C960-dml>.connect
<AM79C960-dml>.disconnect
<AM79C960>.connect
<AM79C960>.disconnect
<BCM5703C>.connect
<BCM5703C>.disconnect
<BCM5704C>.connect
<BCM5704C>.disconnect
<cassini>.connect
<cassini>.disconnect
<cheerio-hme>.connect
<cheerio-hme>.disconnect
<CS8900A>.connect

connect to a simulated Ethernet link


disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link

524

VIRTUTECH CONFIDENTIAL

<CS8900A>.disconnect
<DEC21041>.connect
<DEC21041>.disconnect
<DEC21140A>.connect
<DEC21140A>.disconnect
<DEC21143>.connect
<DEC21143>.disconnect
<eth-transceiver>.connect
<eth-transceiver>.disconnect
<mii-transceiver>.connect
<mii-transceiver>.disconnect
<ppc405gp-emac>.connect
<ppc405gp-emac>.disconnect
<ppc440gp-emac>.connect
<ppc440gp-emac>.disconnect
<ppc440gx-emac>.connect
<ppc440gx-emac>.disconnect
<sbus-hme>.connect
<sbus-hme>.disconnect
new-etg
new-ethernet-link
new-service-node

4.2. By Categories
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
Create an Ethernet traffic generator
create a new ethernet link
create a new service node

Execution
<processor>.cycle-break-absolute
<processor>.disassemble
<processor>.instruction-fetch-mode
<processor>.print-time
<processor>.step-break-absolute
cpu-switch-time
cycle-break-absolute
disassemble
disassemble-settings
enable-real-time-mode
instruction-fetch-mode
istc-enable
load-binary
penable
print-time
pstatus

set absolute cycle breakpoint


disassemble instructions
set or get current mode for instruction fetching
print number of steps and cycles executed
set absolute time breakpoint
get/set CPU switch time
set absolute cycle breakpoint
disassemble instructions
change disassembly output settings
set real time mode for Simics
set or get current mode for instruction fetching
enable I-STC
load binary (executable) file into memory
switch processor on
print number of steps and cycles executed
show processors status

525

VIRTUTECH CONFIDENTIAL
run
run-cycles
set-pc
step-break-absolute
step-cycle
step-cycle-single
step-instruction
stop

4.2. By Categories

start execution
start execution
set the current processors program counter
set absolute time breakpoint
step one or more cycles
step one cycle and switch to the next cpu
step one or more instructions
interrupt simulation

Files and Directories


add-directory
add-module-directory
cd
clear-directories
dirs
list-directories
ls
native-path
output-file-start
output-file-stop
popd
pushd
pwd
resolve-file
run-command-file
run-python-file

add a directory to the Simics search path


add a directory to the module search path
change working directory
clear the Simics search path
display directory stack
list directories in Simics search path
list files
convert a filename to host native form
send output to file
stop sending output to file
pop directory from directory stack
push directory on directory stack
print working directory
resolve a filename
execute a simics script
execute Python file

Haps
list-hap-callbacks
list-haps

print list of hap callbacks


print list of haps

Help
api-apropos
api-help
command-list
copyright

search API help


get API help
generate html document describing commands
print full Simics copyright information

526

VIRTUTECH CONFIDENTIAL
help
license
list-attributes
list-namespaces
readme
version

4.2. By Categories

help command
print simics license
list all attributes
list all namespaces
print information about Simics
display Simics version

Inspecting Simulated State


%
<image>.x
<memory-space>.map
<port-space>.map
<processor>.disassemble
<processor>.logical-to-physical
<processor>.pregs
<processor>.read-reg
<processor>.register-number
<processor>.x
devs
disassemble
get
logical-to-physical
pregs
print-event-queue
pstatus
read-reg
x

read register by name


examine image data
list memory map
list port map
disassemble instructions
translate logical address to physical
print cpu registers
read a register
get the number of a processor register
examine raw memory contents
list all devices in Simics
disassemble instructions
get value of physical address
translate logical address to physical
print cpu registers
print event queue for processor
show processors status
read a register
examine raw memory contents

Logging
<log_object>.log
<log_object>.log-group
<log_object>.log-level
<log_object>.log-size
<log_object>.log-type
log
log-level
log-setup
log-size

print log entries for all objects


set or get the current log groups
set or get the log level
set log buffer size
set or get the current log types
print log entries for all objects
set or get the global log level
configure log behavior
set log buffer size

527

VIRTUTECH CONFIDENTIAL
log-type

4.2. By Categories

set or get the current log types

Memory
<image>.add-diff-file
<image>.add-partial-diff-file
<image>.save
<image>.save-diff-file
<image>.set
<image>.x
<memory-space>.add-map
<memory-space>.del-map
<memory-space>.map
<port-space>.add-map
<port-space>.del-map
<port-space>.map
<processor>.add-memory-profiler
<processor>.disassemble
<processor>.list-memory-profilers
<processor>.logical-to-physical
<processor>.remove-memory-profiler
<processor>.x
disassemble
disassemble-settings
get
load-binary
load-file
logical-to-physical
set
x

add a diff file to the image


add a partial diff file to the image
save image to disk
save changes since last checkpoint
set bytes in image to specified value
examine image data
map device in a memory-space
remove device map from a memory-space
list memory map
map device in a port-space
remove device map from a port-space
list port map
add a memory profiler to the processor
disassemble instructions
list memory profilers connected to the processor
translate logical address to physical
remove a memory profiler from the processor
examine raw memory contents
disassemble instructions
change disassembly output settings
get value of physical address
load binary (executable) file into memory
load file into memory
translate logical address to physical
set physical address to specified value
examine raw memory contents

Modules
add-module-directory
list-failed-modules
list-modules
load-module
module-list-refresh
unload-module

add a directory to the module search path


list the modules that are not loadable
list loadable modules
load module into Simics
create a new list of loadable modules
unload module

Networking

528

VIRTUTECH CONFIDENTIAL

4.2. By Categories

<AM79C960-dml>.connect
<AM79C960-dml>.disconnect
<AM79C960>.connect
<AM79C960>.disconnect
<BCM5703C>.connect
<BCM5703C>.disconnect
<BCM5704C>.connect
<BCM5704C>.disconnect
<cassini>.connect
<cassini>.disconnect
<cheerio-hme>.connect
<cheerio-hme>.disconnect
<CS8900A>.connect
<CS8900A>.disconnect
<DEC21041>.connect
<DEC21041>.disconnect
<DEC21140A>.connect
<DEC21140A>.disconnect
<DEC21143>.connect
<DEC21143>.disconnect
<eth-transceiver>.connect
<eth-transceiver>.disconnect
<ethernet-link>.connect-real-network-bridge
<ethernet-link>.connect-real-network-host
<ethernet-link>.connect-real-network-napt
<ethernet-link>.connect-real-network-router
<ethernet-link>.disconnect-real-network
<mii-transceiver>.connect
<mii-transceiver>.disconnect
<ppc405gp-emac>.connect
<ppc405gp-emac>.disconnect
<ppc440gp-emac>.connect
<ppc440gp-emac>.disconnect
<ppc440gx-emac>.connect
<ppc440gx-emac>.disconnect
<sbus-hme>.connect
<sbus-hme>.disconnect
connect-real-network-bridge
connect-real-network-host
connect-real-network-router
disconnect-real-network

529

connect to a simulated Ethernet link


disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to the real network
connect to the real network
enable NAPT from simulated network
connect to the real network
disconnect from the real network
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect to a simulated Ethernet link
disconnect from simulated link
connect bridge between real and simulated network
connect real host to the simulated network
connect router between real and simulated network
disconnect from the real network

VIRTUTECH CONFIDENTIAL
network-helper
new-ethernet-link

4.2. By Categories

set/show name of host network helper


create a new ethernet link

Output
<log_object>.log
<log_object>.log-group
<log_object>.log-level
<log_object>.log-size
<log_object>.log-type
digit-grouping
disassemble-settings
display
echo
hex
log
log-level
log-setup
log-size
log-type
output-radix
pipe
print
signed
signed16
signed32
signed64
signed8
undisplay

print log entries for all objects


set or get the current log groups
set or get the log level
set log buffer size
set or get the current log types
set output formatting for numbers
change disassembly output settings
print expression at prompt
echo a value to screen
display integer in hexadecimal notation
print log entries for all objects
set or get the global log level
configure log behavior
set log buffer size
set or get the current log types
change the default output radix
run commands through a pipe
display integer in various bases
interpret unsigned integer as signed
interpret unsigned integer as signed
interpret unsigned integer as signed
interpret unsigned integer as signed
interpret unsigned integer as signed
remove expression installed by display

Profiling
<address_profiler>.address-profile-data
<address_profiler>.address-profile-info
<address_profiler>.address-profile-toplist
<branch_recorder>.clean
<branch_recorder>.print-branch-arcs
<data-profiler>.clear
<processor>.add-memory-profiler
<processor>.aprof-views

linear map of address profiling data


general info about an address profiler
print toplist of address profiling data
delete all branch arcs in the branch recorder
print branch arcs
clear data profiler
add a memory profiler to the processor
manipulate list of selected address profiling views

530

VIRTUTECH CONFIDENTIAL

<processor>.attach-branch-recorder
<processor>.detach-branch-recorder
<processor>.instruction-fetch-mode
<processor>.list-memory-profilers
<processor>.print-time
<processor>.remove-memory-profiler
<processor>.start-instruction-profiling
function-profile
instruction-fetch-mode
magic-break-enable
new-branch-recorder
print-statistics
print-time
select-profiles

4.2. By Categories
attach a branch recorder to a processor
detach a branch recorder from a processor
set or get current mode for instruction fetching
list memory profilers connected to the processor
print number of steps and cycles executed
remove a memory profiler from the processor
get started with instruction profiling
list functions sorted by profile counts
set or get current mode for instruction fetching
install magic instruction hap handler
create a new branch recorder
print various statistics
print number of steps and cycles executed
set profilers to display in source listing

Python
@
else
if
python
run-python-file
script-branch
while

evaluate a Python statement

evaluate an expression in python


execute Python file

Real Network
<ethernet-link>.connect-real-network-bridge
<ethernet-link>.connect-real-network-host
<ethernet-link>.connect-real-network-napt
<ethernet-link>.connect-real-network-router
<ethernet-link>.disconnect-real-network
close-tun-tap-interface
connect-real-network
connect-real-network-bridge
connect-real-network-host
connect-real-network-napt
connect-real-network-port-in
connect-real-network-port-out
connect-real-network-router

531

connect to the real network


connect to the real network
enable NAPT from simulated network
connect to the real network
disconnect from the real network
close an unused persistent TUN/TAP interface
connect a simulated machine to the real network
connect bridge between real and simulated network
connect real host to the simulated network
enable NAPT from simulated network
setup port forwarding to a simulated machine
setup port forwarding to real machine
connect router between real and simulated network

VIRTUTECH CONFIDENTIAL
default-port-forward-target
disconnect-real-network
disconnect-real-network-port-in
disconnect-real-network-port-out
list-port-forwarding-setup
network-helper

4.2. By Categories
set default port forwarding target
disconnect from the real network
remove port forwarding to a simulated machine
remove port forwarding to real machine
view the port forwarding setup
set/show name of host network helper

Registers
%
<processor>.pregs
<processor>.read-reg
<processor>.register-number
<processor>.write-reg
pregs
read-reg
set-pc
write-reg

read register by name


print cpu registers
read a register
get the number of a processor register
write to register
print cpu registers
read a register
set the current processors program counter
write to register

Reverse Execution
clear-recorder
delete-bookmark
list-bookmarks
reverse
reverse-step-instruction
reverse-to
rexec-limit
set-bookmark
skip-to

clear recorded events


delete a time bookmark
list time bookmarks
run simulation backwards
reverse step one or more instruction
set a temporary time breakpoint and run backwards
tune reverse execution performance parameters
set a bookmark at the current point in time
skip to the specified point in the simulation

Serial
new-serial-link

create a new serial link

Simics Search Path


add-directory

add a directory to the Simics search path

532

VIRTUTECH CONFIDENTIAL
add-module-directory
clear-directories
list-directories
resolve-file

4.2. By Categories

add a directory to the module search path


clear the Simics search path
list directories in Simics search path
resolve a filename

Speed
cpu-switch-time
enable-real-time-mode
istc-enable
v9-sol9-idle-opt

get/set CPU switch time


set real time mode for Simics
enable I-STC
enable idle loop optimization

Symbolic Debugging
<context-switcher>.track-bin
<context-switcher>.track-pid
<context>.finish-function
<context>.next-instruction
<context>.next-line
<context>.on
<context>.reverse-next-instruction
<context>.reverse-next-line
<context>.reverse-step-instruction
<context>.reverse-step-line
<context>.step-instruction
<context>.step-line
<context>.symtable
<context>.uncall-function
<processor>.down
<processor>.frame
<processor>.list
<processor>.pos
<processor>.psym
<processor>.stack-trace
<processor>.symval
<processor>.up
<symtable>.abi
<symtable>.list
<symtable>.load-symbols

track first use of a given binary


track the process with a given pid
finish the current function
run to the next instruction, skipping subroutine calls
run to the next source line, skipping subroutine calls
switch on context object
back to the previous instruction, skipping subroutine calls
back to the previous source line, skipping subroutine calls
back to the previous instruction
back to the previous source line
run to the next instruction
run to the next source line
set the symbol table of a context
go back to when the current function was called
go down N stack frames
change current stack frame
list source and/or disassemble
address of line or function
print value of symbolic expression
display stack trace
evaluate symbolic expression
go up N stack frames
set ABI to use
list source and/or disassemble
load symbols from file

533

VIRTUTECH CONFIDENTIAL

<symtable>.plain-symbols
<symtable>.pos
<symtable>.source-path
<symtable>.whereis
down
finish-function
frame
gdb-remote
list
new-context
new-gdb-remote
new-symtable
next-instruction
next-line
pos
psym
reverse-next-instruction
reverse-next-line
reverse-step-line
set-context
stack-trace
step-line
symval
uncall-function
up
whereis

4.3. Global Command Descriptions

read raw symbols in nm format


address of line or function
set source search path for debug info
find symbol by address
go down N stack frames
finish the current function
change current stack frame
start gdb-remote
list source and/or disassemble
create a new context
create a gdb session
create new symbol table
run to the next instruction, skipping subroutine calls
run to the next source line, skipping subroutine calls
address of line or function
print value of symbolic expression
back to the previous instruction, skipping subroutine calls
back to the previous source line, skipping subroutine calls
back to the previous source line
set the current context of a CPU
display stack trace
run to the next source line
evaluate symbolic expression
go back to when the current function was called
go up N stack frames
find symbol by address

Test
expect

fail if not equal

Tracing
<processor>.instruction-fetch-mode
instruction-fetch-mode
new-tracer

4.3

set or get current mode for instruction fetching


set or get current mode for instruction fetching
create a new tracer

Global Command Descriptions

534

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
!
Description
Executes the rest of the command line in the system command-line interpreter. For
Unix, this is the default shell. For Windows, this is cmd.exe.
Provided By
Simics Core
!=
Synopsis
arg1 != arg2
Description
Returns 1 if arg1 and arg2 are not equal, and 0 if equal.
Provided By
Simics Core
$
Synopsis
$ name
Description
Gets the value of a Simics environment variable, like in print $var.
Provided By
Simics Core
%
Synopsis
% reg-name
Description
Returns the value of the register reg-name for the current processor. This is a convenient way to use register values in expressions like disassemble (%pc 43) 10.
Use pselect to select the current processor.
Provided By
Simics Core
See Also
read-reg, write-reg, pregs

535

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

&
Synopsis
arg1 & arg2
Description
Bitwise AND operation.
Provided By
Simics Core

Synopsis
arg1 arg2
Description
Arithmetic multiplication.
Provided By
Simics Core
+
Synopsis
arg1 + arg2
Description
Arithmetic addition.
Provided By
Simics Core
+=
Synopsis
name += value
Description
Add a string or integer to a Simics environment variable, or an integer value to a
register.
Provided By
Simics Core
-

536

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
arg1 - arg2
Description
Arithmetic subtraction.
Provided By
Simics Core
-=
Synopsis
name -= value
Description
Subtract an integer from a Simics environment variable, or from a register.
Provided By
Simics Core
->
Synopsis
object -> attribute (-r|-w) [value]
Description
Get the value of attribute from object. Only object, string, float and integer attributes can
be returned by the command. Other attribute types will be printed, but the command
will not return anything.
Provided By
Simics Core
/
Synopsis
arg1 / arg2
Description
Arithmetic division.
Provided By
Simics Core

<
Synopsis
arg1 < arg2
537

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Returns 1 if arg1 is less than arg2, and 0 if not.
Provided By
Simics Core

<<
Synopsis
arg1 << arg2
Description
Bitwise left shift.
Provided By
Simics Core

<=
Synopsis
arg1 <= arg2
Description
Returns 1 if arg1 is less than or equal to arg2, and 0 if not.
Provided By
Simics Core
=
Synopsis
name = value
Description
Set a Simics environment variable to an integer or string value. Or assigns a value to
a processor register.
Provided By
Simics Core
==
Synopsis
arg1 == arg2
Description
Returns 1 if arg1 and arg2 are equal, and 0 if not.
538

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core

>
Synopsis
arg1 > arg2
Description
Returns 1 if arg1 is greater than arg2, and 0 if not.
Provided By
Simics Core

>=
Synopsis
arg1 >= arg2
Description
Returns 1 if arg1 is greater than or equal to arg2, and 0 if not.
Provided By
Simics Core

>>
Synopsis
arg1 >> arg2
Description
Bitwise right shift.
Provided By
Simics Core

@
Synopsis
@
Description
Evaluates the rest of the command line as a Python statement and print its result.
Provided By
Simics Core

539

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

See Also
python, run-python-file
[
Synopsis
variable [ idx (-r|-w) value
Description
Provided By
Simics Core

Synopsis
arg1 arg2
Description
Bitwise XOR operation.
Provided By
Simics Core
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
add-module-directory
Synopsis
add-module-directory path

540

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Adds a directory 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.
Provided By
Simics Core

and
Synopsis
arg1 and arg2
Description
Returns 1 if both arg1 and arg2 are non-zero, and 0 if not.
Provided By
Simics Core
api-apropos
Synopsis
api-apropos search-string
Description
Search the API documentation for the string search-string.
Provided By
Simics Core
See Also
api-help, apropos, help
api-help
Synopsis
api-help topic
Description
Prints the declaration of API declarations matching topic.
Provided By
Simics Core
See Also
api-apropos, apropos, help
apropos
541

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Alias
a
Synopsis
apropos [-r] string
Description
Use apropos string to list all commands for which the documentation contains the text
string. If the -r flag is used, interpret string as a regular expression.
Provided By
Simics Core
See Also
api-apropos, help

break
Alias
b
Synopsis
break address [length] [-r] [-w] [-x]
<breakpoint>.break address [length] [-r] [-w] [-x]
<breakpoint>.tbreak address [length] [-r] [-w] [-x]
Description
Add breakpoint (read, write, or execute) on an object implementing the breakpoint interface. This is typically a memory space object such as physical memory; e.g., phys_
mem0.break 0xff3800. Accesses intersecting the given range will trigger the breakpoint. By default the breakpoint 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).
Breakpoints inserted with the tbreak command are automatically disabled when they
have triggered.
The default action at a triggered breakpoint is to return to the frontend. This can
be changed by using haps. When an execution breakpoint is triggered, Simics will
return to the command prompt before the instructions is executed, while instructions
triggering read or write breakpoints will complete before control is returned to the
command prompt.
To break on a virtual address, use a context object:
primary_context.break 0x1ff00
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
542

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

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
list-breakpoints command) which is used for further references to the breakpoint.
For convenience there are also a break command which sets a breakpoint on memory
connected to the current frontend CPU (see pselect). Default is to break on virtual
address accesses (in the current context). By prefixing the address with p: it is possible
to break on physical accesses as well (cf. phys_mem0.break); e.g., break p:0xffc0.
Several attributes can be set for a breakpoint for breaking only when some conditions
are true. See the disable, enable, ignore, set-prefix, set-substr and set-pattern commands for more details.
Breakpoints can be removed using delete.
Provided By
Simics Core
See Also
unbreak, delete, enable, ignore, set-prefix, set-substr, set-pattern, list-breakpoints
break-cr
Synopsis
break-cr (register|-all|-list)
<processor>.break-cr (register|-all|-list)
<processor>.unbreak-cr (register|-all|-list)
unbreak-cr (register|-all|-list)
Description
Enables and disables breaking simulation on 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 reg-name parameter specifies which control register should be traced. The available control registers depends on the simulated target.
Instead of a register name, the -all flag may be given. This will enable or disable
tracing of all control register.
Provided By
Simics Core
See Also
trace-cr, <breakpoint>.break
break-exception
543

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
break-exception (number|name|-all|-list)
unbreak-exception (number|name|-all|-list)
Description
Enables and disables breaking simulation on exceptions. When this is enabled, every
time the specified exception occurs uring simulation a message is printed.
The exception parameter specifies which exception should be traced. The available
exceptions depends on the simulated target.
Instead of an exception, the -all flag may be given. This will enable or disable tracing
of all exceptions.
Provided By
Simics Core
See Also
trace-exception, <breakpoint>.break
break-hap
Synopsis
break-hap (hap|-all|-list)
unbreak-hap (hap|-all|-list)
Description
Enables and disables breaking simulation on haps. When this is enabled, every time
the specified hap is triggered a message is printed and simulation is stopped.
The hap parameter specifies the hap.
Instead of a hap, the -all flag may be given. This will enable or disable breaking on
all haps.
Provided By
Simics Core
See Also
trace-hap, list-haps

break-io
Synopsis
break-io (device|-all|-list)
unbreak-io (device|-all|-list)
Description
Enables and disables breaking simulation on device accesses. When this is enabled,

544

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

every time the specified device is accessed during simulation a message is printed and
the simulation stops.
The device parameter specifies which device object should be traced.
Instead of an object name, the -all flag may be given. This will enable or disable
breaking on accesses to all device.
Provided By
Simics Core
See Also
trace-io, <breakpoint>.break
break-log
Synopsis
break-log [substring] [object] [type]
Description
Break on log message. With no arguments the simulation will stop when the next log
message is printed. By specifying object, type, and/or substring it will stop on the next
log message matching these conditions. The break is triggered once only, to break
again you need to run the command again.
Provided By
Simics Core

cd
Synopsis
cd path
Description
Change working directory of Simics. Works as if you had done cd at the shell. Converts param to host native form first (see native-path).
Provided By
Simics Core
See Also
ls, pwd

clear-directories
Synopsis
clear-directories

545

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Empty the Simics search path.
Provided By
Simics Core

clear-recorder
Synopsis
clear-recorder
Description
Discard recorded input events (e.g. human console input). This command allows an
alternate future to take place.
Provided By
rev-execution
close-tun-tap-interface
Synopsis
close-tun-tap-interface [interface]
Description
Closes an TUN/TAP interface that has been set persistent. If the interface is currenly is
used, it will not be closed at once, only the persistent state will change. Not applicable
for for TAP-Win32 interfaces.
Provided By
real-network

command-list
Synopsis
command-list file
Description
Produces a quick reference list of Simics commands in HTML. Note that Simics commands can be added at runtime, and any particular dynamic usage will be different
from printed manuals. file is the file to write to.
Provided By
Simics Core

connect-central

546

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
connect-central (server|obj) [reconnect]
Description
Connect Simics to a Simics Central server.
The server argument specifies the server to connect to. It is either of the form <addr>[
:<port>] if a TCP connection should be used, or a file name if a file socket should be
used. This is the same as the command line argument -central, but can be executed
at any time.
To connect to a server object in the same Simics, use the obj argument instead.
The reconnect argument gives the time between tries to connect to the server if a connection cant be established, or if the connection is lost. A value of zero disables reconnection. The default is to not try to reconnect.
Provided By
central
See Also
new-central-server, <central-client>.disconnect, <central-client>.connect
connect-components
Synopsis
connect-components src-component [src-connector] [component] [dst-connector] [-f]
Description
Creates a connection between the connectors src-connector and dst-connector of the srccomponent and dst-component components. If only a single connector pair on the two
components have maching types, then the connector arguments to the command can
be left out. Similarly it is possible to give a connector name for only one of the components if there is a single matching connector on the other component. The -f flag tells
the command to use the first unused connector (in alphabetic order) if several ones
match.
Provided By
Simics Core

connect-real-network
Synopsis
connect-real-network [target-ip] [ethernet-link] [service-node-ip]
Description
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. Ports

547

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

are opened on the host for a number of commonly used protocol (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. This command also enables NAPT for accesses that are initiated from the simulated machine. If several Ethernet links exists, the one that the simulated machine
is connected to must be specified. 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 isnt 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 a default port-forwarding target has been set using the default-port-forwardtarget command, then the target-ip argument can be left out.
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,
connect-real-network-router
connect-real-network-bridge
Synopsis
connect-real-network-bridge [interface] [host-access] [-no-mac-xlate] [-persistent]
[-propagate-link-status]
<ethernet-link>.connect-real-network-bridge [interface] [host-access] [-no-macxlate] [-persistent] [-propagate-link-status]
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 Ethernet or TAP interface of the host to
use.
By default a TAP interface is used, but if the host-access argument is raw, raw access to
an Ethernet interface is used.
MAC address translation can be disabled with the -no-mac-xlate flag.
The -persistent is for backward compatibility and should not be used.
If -propagate-link-status is specified, link status changes on the host interface will be
propagated to all devices on the link that implements the link-status interface. For
TUN/TAP, only up and down status will be propagated (and not unconnected).
Link status propagation is only supported on Linux.
See the Connecting to a Real Network chapter of the Simics User Guide for more information about how to connect to a real network.

548

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
ethernet-link
See Also
connect-real-network, <ethernet-link>.connect-real-network-bridge, connect-real-networkhost, connect-real-network-router

connect-real-network-host
Synopsis
connect-real-network-host [interface] [-persistent]
<ethernet-link>.connect-real-network-host [interface] [-persistent]
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.
The -persistent is for backward compatibility and should not be used.
See the Connecting to a Real Network chapter of the Simics User Guide for more information about how to connect to a real network.
This command is currently not supported on Solaris hosts.
Provided By
ethernet-link
See Also
connect-real-network, <ethernet-link>.connect-real-network-host, connect-real-networkbridge, connect-real-network-router
connect-real-network-napt
Synopsis
connect-real-network-napt ethernet-link
<ethernet-link>.connect-real-network-napt
Description
Enables machines on the simulated network 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.
Provided By
service-node

549

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

See Also
connect-real-network, connect-real-network-port-in, connect-real-network-port-out, connectreal-network-host, connect-real-network-bridge, connect-real-network-router
connect-real-network-port-in
Synopsis
connect-real-network-port-in (target-port|service) ethernet-link [host-port] [target-ip]
[-tcp] [-udp] [-f]
disconnect-real-network-port-in (target-port|service) ethernet-link [target-ip] [-tcp]
[-udp]
Description
Enables or disables 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. 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.
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 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 availble port starting from the specified host port and upwards.
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
See Also
connect-real-network, connect-real-network-port-out, connect-real-network-napt, connectreal-network-host, connect-real-network-bridge, connect-real-network-router
connect-real-network-port-out
Synopsis
connect-real-network-port-out service-node-port ethernet-link target-ip target-port [-tcp]
[-udp]
disconnect-real-network-port-out service-node-port ethernet-link target-ip target-port
[-tcp] [-udp]
Description
Enables port forwarding to a machine on the real network. Traffic targeting port
550

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

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.
Provided By
service-node
See Also
connect-real-network, connect-real-network-port-in, connect-real-network-napt, connectreal-network-host, connect-real-network-bridge, connect-real-network-router
connect-real-network-router
Synopsis
connect-real-network-router ip [netmask] [gateway] [interface]
<ethernet-link>.connect-real-network-router ip [netmask] [gateway] [interface]
Description
Creates a routed connection between a simulated Ethernet link and a real network
through an Ethernet interface of the simulation host.
The optional interface argument specifies the Ethernet interface of the host to use.
The ip and netmask arguments specify the IP address and netmask that the router
should use on the simulated Ethernet link.
The gateway argument specifies the gateway on the simulated Ethernet link that router
should use for packets from the real network that are not in the routers subnet.
See the Connecting to a Real Network chapter of the Simics User Guide for more information about how to connect to a real network.
Provided By
ethernet-link
See Also
connect-real-network, <ethernet-link>.connect-real-network-router, connect-real-networkhost, connect-real-network-bridge
copyright
Synopsis
copyright
Description
Prints the complete copyright information that applies to this copy of Simics.
Provided By
Simics Core
551

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

cpu-switch-time
Synopsis
cpu-switch-time [(cycles|seconds)]
Description
Change the time, in cycles or seconds, between CPU switches. 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 CPU in Simics. The following CPUs cycle switch times are calulated from their CPU frequencies.
When issued with no argument, the current switch time is reported.
Provided By
Simics Core
create-agp-voodoo3
Synopsis
create-agp-voodoo3 [name]
Description
Creates a non-instantiated component of the class agp-voodoo3. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-alpha-lx164-system
Synopsis
create-alpha-lx164-system [name] cpu_frequency memory_megs rtc_time [bios]
Description
Creates a non-instantiated component of the class alpha-lx164-system. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
alpha-components
create-and-connect-ddr-memory
Synopsis
create-and-connect-ddr-memory system memory_megs organization [ranks_per_module]
[min_module_size] [max_module_size] [ecc]

552

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

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-z and A-Z. 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.
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.
Optional arguments are ranks_per_module, min_module_size, max_module_size, and ecc.
Provided By
memory-components
create-arm-sa1110-system
Synopsis
create-arm-sa1110-system [name] cpu_frequency [memory_megs]
Description
Creates a non-instantiated component of the class arm-sa1110-system. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
arm-sa1110-components
create-ddr-memory-module
Synopsis
create-ddr-memory-module [name] [rows] [columns] [ranks] [module_data_width] [primary_
width] [ecc_width] [banks] [rank_density] [module_type] [cas_latency] [speed]
Description
Creates a non-instantiated component of the class ddr-memory-module. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
memory-components
553

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-ddr2-memory-module
Synopsis
create-ddr2-memory-module [name] [rows] [columns] [ranks] [module_data_width] [primary_
width] [ecc_width] [banks] [rank_density] [module_type] [cas_latency]
Description
Creates a non-instantiated component of the class ddr2-memory-module. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
memory-components
create-dummy-component
Synopsis
create-dummy-component [name]
Description
Creates a non-instantiated component of the class dummy-component. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components
create-ebony-board
Synopsis
create-ebony-board [name] rtc_time cpu_frequency mac_address0 mac_address1
Description
Creates a non-instantiated component of the class ebony-board. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
ppc440gp-components
create-enchilada-system
Synopsis
create-enchilada-system [name] cpu_frequency hostid mac_address rtc_time num_
cpus

554

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class enchilada-system. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
fiesta-components
create-i386-cpu
Synopsis
create-i386-cpu [name] cpu_frequency [cpi]
Description
Creates a non-instantiated component of the class i386-cpu. If name is not specified,
the component will get a class-specific default name. The other arguments correspond
to class attributes.
Provided By
x86-components
create-i486dx2-cpu
Synopsis
create-i486dx2-cpu [name] cpu_frequency [cpi]
Description
Creates a non-instantiated component of the class i486dx2-cpu. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
x86-components
create-i486sx-cpu
Synopsis
create-i486sx-cpu [name] cpu_frequency [cpi]
Description
Creates a non-instantiated component of the class i486sx-cpu. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
x86-components

555

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-ia64-460gx-system
Synopsis
create-ia64-460gx-system [name] memory_megs rtc_time
Description
Creates a non-instantiated component of the class ia64-460gx-system. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
ia64-components
create-isa-lance
Synopsis
create-isa-lance [name] mac_address [irq_level] [base_port]
Description
Creates a non-instantiated component of the class isa-lance. If name is not specified,
the component will get a class-specific default name. The other arguments correspond
to class attributes.
Provided By
isa-components
create-isa-vga
Synopsis
create-isa-vga [name] [bios]
Description
Creates a non-instantiated component of the class isa-vga. If name is not specified,
the component will get a class-specific default name. The other arguments correspond
to class attributes.
Provided By
isa-components
create-itanium-cpu
Synopsis
create-itanium-cpu [name] cpu_frequency
Description
Creates a non-instantiated component of the class itanium-cpu. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
556

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
ia64-components
create-legacy-pc-devices
Synopsis
create-legacy-pc-devices [name]
Description
Creates a non-instantiated component of the class legacy-pc-devices. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-leon2-simple
Synopsis
create-leon2-simple [name] cpu_frequency prom_size has_sram sram_size sdram_size
num_windows has_v8e_mac has_v8_mul has_v8_div
Description
Creates a non-instantiated component of the class leon2-simple. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
leon2-components
create-malta-system
Synopsis
create-malta-system [name] cpu_frequency cpu_class rtc_time
Description
Creates a non-instantiated component of the class malta-system. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
malta-components
create-niagara-simple-system

557

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
create-niagara-simple-system [name] cpu_frequency num_cores strands_per_core rtc_
time
Description
Creates a non-instantiated component of the class niagara-simple-system. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
niagara-simple-components
create-north-bridge-443bx
Synopsis
create-north-bridge-443bx [name]
Description
Creates a non-instantiated component of the class north-bridge-443bx. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-north-bridge-443bx-agp
Synopsis
create-north-bridge-443bx-agp [name]
Description
Creates a non-instantiated component of the class north-bridge-443bx-agp. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
x86-components
create-north-bridge-875p
Synopsis
create-north-bridge-875p [name]
Description
Creates a non-instantiated component of the class north-bridge-875p. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
558

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
x86-components
create-north-bridge-e7520
Synopsis
create-north-bridge-e7520 [name]
Description
Creates a non-instantiated component of the class north-bridge-e7520. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-north-bridge-k8
Synopsis
create-north-bridge-k8 [name]
Description
Creates a non-instantiated component of the class north-bridge-k8. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-opteron-cpu
Synopsis
create-opteron-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class opteron-cpu. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
x86-components
create-pc-dual-serial-ports
Synopsis
create-pc-dual-serial-ports [name]
559

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class pc-dual-serial-ports. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
isa-components
create-pc-floppy-controller
Synopsis
create-pc-floppy-controller [name]
Description
Creates a non-instantiated component of the class pc-floppy-controller. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
isa-components
create-pc-quad-serial-ports
Synopsis
create-pc-quad-serial-ports [name]
Description
Creates a non-instantiated component of the class pc-quad-serial-ports. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
isa-components
create-pc-single-parallel-port
Synopsis
create-pc-single-parallel-port [name]
Description
Creates a non-instantiated component of the class pc-single-parallel-port. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
isa-components

560

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-pci-am79c973
Synopsis
create-pci-am79c973 [name] mac_address [bios]
Description
Creates a non-instantiated component of the class pci-am79c973. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-backplane
Synopsis
create-pci-backplane [name]
Description
Creates a non-instantiated component of the class pci-backplane. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-bcm5703c
Synopsis
create-pci-bcm5703c [name] mac_address [bios]
Description
Creates a non-instantiated component of the class pci-bcm5703c. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-bcm5704c
Synopsis
create-pci-bcm5704c [name] mac_address0 mac_address1 [bios]
Description
Creates a non-instantiated component of the class pci-bcm5704c. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
561

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
pci-components
create-pci-dec21041
Synopsis
create-pci-dec21041 [name] mac_address [bios]
Description
Creates a non-instantiated component of the class pci-dec21041. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-dec21140a
Synopsis
create-pci-dec21140a [name] mac_address [bios]
Description
Creates a non-instantiated component of the class pci-dec21140a. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-dec21140a-dml
Synopsis
create-pci-dec21140a-dml [name] mac_address
Description
Creates a non-instantiated component of the class pci-dec21140a-dml. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
pci-components
create-pci-dec21143
Synopsis
create-pci-dec21143 [name] mac_address [bios]
562

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class pci-dec21143. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-i21152
Synopsis
create-pci-i21152 [name]
Description
Creates a non-instantiated component of the class pci-i21152. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-i82543gc
Synopsis
create-pci-i82543gc [name] mac_address [bios]
Description
Creates a non-instantiated component of the class pci-i82543gc. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-i82546bg
Synopsis
create-pci-i82546bg [name] mac_address [bios]
Description
Creates a non-instantiated component of the class pci-i82546bg. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components

563

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-pci-isp1040
Synopsis
create-pci-isp1040 [name] [scsi_id] [bios]
Description
Creates a non-instantiated component of the class pci-isp1040. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-isp2200
Synopsis
create-pci-isp2200 [name] loop_id [bios]
Description
Creates a non-instantiated component of the class pci-isp2200. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-pd6729
Synopsis
create-pci-pd6729 [name]
Description
Creates a non-instantiated component of the class pci-pd6729. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-pmc1553-bc
Synopsis
create-pci-pmc1553-bc [name]
Description
Creates a non-instantiated component of the class pci-pmc1553-bc. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
564

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
pci-components
create-pci-rage-pm-mobility-pci
Synopsis
create-pci-rage-pm-mobility-pci [name]
Description
Creates a non-instantiated component of the class pci-rage-pm-mobility-pci. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-ragexl
Synopsis
create-pci-ragexl [name]
Description
Creates a non-instantiated component of the class pci-ragexl. If name is not specified,
the component will get a class-specific default name. The other arguments correspond
to class attributes.
Provided By
pci-components
create-pci-sil680a
Synopsis
create-pci-sil680a [name]
Description
Creates a non-instantiated component of the class pci-sil680a. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pci-sym53c810
Synopsis
create-pci-sym53c810 [name] [bios]
565

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class pci-sym53c810. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
pci-components
create-pci-sym53c875
Synopsis
create-pci-sym53c875 [name] [bios]
Description
Creates a non-instantiated component of the class pci-sym53c875. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
pci-components
create-pci-sym53c876
Synopsis
create-pci-sym53c876 [name]
Description
Creates a non-instantiated component of the class pci-sym53c876. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
pci-components
create-pci-vga
Synopsis
create-pci-vga [name] [bios]
Description
Creates a non-instantiated component of the class pci-vga. If name is not specified,
the component will get a class-specific default name. The other arguments correspond
to class attributes.
Provided By
pci-components

566

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-pci-voodoo3
Synopsis
create-pci-voodoo3 [name]
Description
Creates a non-instantiated component of the class pci-voodoo3. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pcie-pex8524
Synopsis
create-pcie-pex8524 [name] [ports] [up_port_number] [nt_port_number]
Description
Creates a non-instantiated component of the class pcie-pex8524. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-pentium-4-cpu
Synopsis
create-pentium-4-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class pentium-4-cpu. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-pentium-4e-2ht-cpu
Synopsis
create-pentium-4e-2ht-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class pentium-4e-2ht-cpu. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
567

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
x86-components
create-pentium-4e-4ht-cpu
Synopsis
create-pentium-4e-4ht-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class pentium-4e-4ht-cpu. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-pentium-4e-cpu
Synopsis
create-pentium-4e-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class pentium-4e-cpu. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-pentium-cpu
Synopsis
create-pentium-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class pentium-cpu. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
x86-components
create-pentium-ii-cpu
Synopsis
create-pentium-ii-cpu [name] cpu_frequency [cpi] [apic_frequency]
568

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class pentium-ii-cpu. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-pentium-iii-cpu
Synopsis
create-pentium-iii-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class pentium-iii-cpu. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-pentium-m-cpu
Synopsis
create-pentium-m-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class pentium-m-cpu. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-pentium-mmx-cpu
Synopsis
create-pentium-mmx-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class pentium-mmx-cpu. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components

569

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-pentium-pro-cpu
Synopsis
create-pentium-pro-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class pentium-pro-cpu. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-phy-mii-transceiver
Synopsis
create-phy-mii-transceiver [name] [phy_id] [mii_address]
Description
Creates a non-instantiated component of the class phy-mii-transceiver. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
phy-components
create-pmppc-board
Synopsis
create-pmppc-board [name] cpu_class cpu_frequency timebase_frequency mac_address
rtc_time
Description
Creates a non-instantiated component of the class pmppc-board. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pmppc-components
create-ppc-simple
Synopsis
create-ppc-simple [name] cpu_class cpu_frequency memory_megs
Description
Creates a non-instantiated component of the class ppc-simple. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
570

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
ppc-simple-components
create-ppc970-simple
Synopsis
create-ppc970-simple [name] cpu_frequency memory_megs [map_offset] [time_of_day]
Description
Creates a non-instantiated component of the class ppc970-simple. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
ppc970fx-components
create-ps2-keyboard-mouse
Synopsis
create-ps2-keyboard-mouse [name]
Description
Creates a non-instantiated component of the class ps2-keyboard-mouse. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
isa-components
create-sample-gcache
Synopsis
create-sample-gcache [name]
Description
Creates a non-instantiated component of the class sample-gcache. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
timing-components
create-sample-ma-model
Synopsis
create-sample-ma-model [name]
571

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class sample-ma-model. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
timing-components
create-sample-ooo-model
Synopsis
create-sample-ooo-model [name]
Description
Creates a non-instantiated component of the class sample-ooo-model. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
timing-components
create-sample-x86-ma-model
Synopsis
create-sample-x86-ma-model [name]
Description
Creates a non-instantiated component of the class sample-x86-ma-model. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
timing-components
create-sdram-memory-module
Synopsis
create-sdram-memory-module [name] [rows] [columns] [ranks] [module_data_width]
[primary_width] [ecc_width] [banks] [rank_density] [module_type] [cas_latency]
Description
Creates a non-instantiated component of the class sdram-memory-module. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
memory-components
572

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-serengeti-3800-chassis
Synopsis
create-serengeti-3800-chassis [name] hostid mac_address rtc_time
Description
Creates a non-instantiated component of the class serengeti-3800-chassis. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
serengeti-components
create-serengeti-4800-chassis
Synopsis
create-serengeti-4800-chassis [name] hostid mac_address rtc_time
Description
Creates a non-instantiated component of the class serengeti-4800-chassis. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
serengeti-components
create-serengeti-4810-chassis
Synopsis
create-serengeti-4810-chassis [name] hostid mac_address rtc_time
Description
Creates a non-instantiated component of the class serengeti-4810-chassis. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
serengeti-components
create-serengeti-6800-chassis
Synopsis
create-serengeti-6800-chassis [name] hostid mac_address rtc_time
Description
Creates a non-instantiated component of the class serengeti-6800-chassis. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
573

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
serengeti-components
create-serengeti-cluster-chassis
Synopsis
create-serengeti-cluster-chassis [name] hostid mac_address rtc_time
Description
Creates a non-instantiated component of the class serengeti-cluster-chassis. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
serengeti-components
create-serengeti-cpci4-board
Synopsis
create-serengeti-cpci4-board [name]
Description
Creates a non-instantiated component of the class serengeti-cpci4-board. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
serengeti-components
create-serengeti-pci8-board
Synopsis
create-serengeti-pci8-board [name]
Description
Creates a non-instantiated component of the class serengeti-pci8-board. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
serengeti-components
create-serengeti-sp-cpci6-board
Synopsis
create-serengeti-sp-cpci6-board [name]
574

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class serengeti-sp-cpci6-board. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
serengeti-components
create-serengeti-us-iii-cpu-board
Synopsis
create-serengeti-us-iii-cpu-board [name] num_cpus memory_megs cpu_frequency
Description
Creates a non-instantiated component of the class serengeti-us-iii-cpu-board. If
name is not specified, the component will get a class-specific default name. The other
arguments correspond to class attributes.
Provided By
serengeti-components
create-serengeti-us-iii-plus-cpu-board
Synopsis
create-serengeti-us-iii-plus-cpu-board [name] num_cpus memory_megs cpu_frequency
Description
Creates a non-instantiated component of the class serengeti-us-iii-plus-cpu-board.
If name is not specified, the component will get a class-specific default name. The
other arguments correspond to class attributes.
Provided By
serengeti-components
create-serengeti-us-iv-cpu-board
Synopsis
create-serengeti-us-iv-cpu-board [name] num_cpus memory_megs cpu_frequency
Description
Creates a non-instantiated component of the class serengeti-us-iv-cpu-board. If
name is not specified, the component will get a class-specific default name. The other
arguments correspond to class attributes.
Provided By
serengeti-components

575

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-serengeti-us-iv-plus-cpu-board
Synopsis
create-serengeti-us-iv-plus-cpu-board [name] num_cpus memory_megs cpu_frequency
Description
Creates a non-instantiated component of the class serengeti-us-iv-plus-cpu-board.
If name is not specified, the component will get a class-specific default name. The
other arguments correspond to class attributes.
Provided By
serengeti-components
create-simple-fc-disk
Synopsis
create-simple-fc-disk [name] size [file] loop_id node_name port_name
Description
Creates a non-instantiated component of the class simple-fc-disk. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
std-components
create-sio-lpc47m172
Synopsis
create-sio-lpc47m172 [name] ld_num
Description
Creates a non-instantiated component of the class sio-lpc47m172. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
isa-components
create-sio-w83627hf
Synopsis
create-sio-w83627hf [name]
Description
Creates a non-instantiated component of the class sio-w83627hf. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
576

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
isa-components
create-south-bridge-6300esb
Synopsis
create-south-bridge-6300esb [name] bios [flash_size]
Description
Creates a non-instantiated component of the class south-bridge-6300esb. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-south-bridge-amd8111
Synopsis
create-south-bridge-amd8111 [name]
Description
Creates a non-instantiated component of the class south-bridge-amd8111. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-south-bridge-md1535d
Synopsis
create-south-bridge-md1535d [name]
Description
Creates a non-instantiated component of the class south-bridge-md1535d. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pci-components
create-south-bridge-piix4
Synopsis
create-south-bridge-piix4 [name]
577

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class south-bridge-piix4. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
pci-components
create-south-bridge-saturn
Synopsis
create-south-bridge-saturn [name]
Description
Creates a non-instantiated component of the class south-bridge-saturn. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
alpha-components
create-south-bridge-sun-md1535d
Synopsis
create-south-bridge-sun-md1535d [name]
Description
Creates a non-instantiated component of the class south-bridge-sun-md1535d. If
name is not specified, the component will get a class-specific default name. The other
arguments correspond to class attributes.
Provided By
fiesta-components
create-std-etg
Synopsis
create-std-etg [name] mac_address ip netmask dst_ip gateway_ip pps packet_
size
Description
Creates a non-instantiated component of the class std-etg. If name is not specified,
the component will get a class-specific default name. The other arguments correspond
to class attributes.
Provided By
std-components
578

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-std-ethernet-link
Synopsis
create-std-ethernet-link [name] [link_name] [frame_echo]
Description
Creates a non-instantiated component of the class std-ethernet-link. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
std-components
create-std-graphics-console
Synopsis
create-std-graphics-console [name] [window]
Description
Creates a non-instantiated component of the class std-graphics-console. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components
create-std-host-serial-console
Synopsis
create-std-host-serial-console [name]
Description
Creates a non-instantiated component of the class std-host-serial-console. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components
create-std-ide-cdrom
Synopsis
create-std-ide-cdrom [name]
Description
Creates a non-instantiated component of the class std-ide-cdrom. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
579

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
std-components

create-std-ide-disk
Synopsis
create-std-ide-disk [name] size [file]
Description
Creates a non-instantiated component of the class std-ide-disk. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components

create-std-ms1553-link
Synopsis
create-std-ms1553-link [name]
Description
Creates a non-instantiated component of the class std-ms1553-link. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
std-components
create-std-pcmcia-flash-disk
Synopsis
create-std-pcmcia-flash-disk [name] size [file]
Description
Creates a non-instantiated component of the class std-pcmcia-flash-disk. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components

create-std-scsi-bus
Synopsis
create-std-scsi-bus [name]
580

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class std-scsi-bus. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components

create-std-scsi-cdrom
Synopsis
create-std-scsi-cdrom [name] scsi_id
Description
Creates a non-instantiated component of the class std-scsi-cdrom. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
std-components

create-std-scsi-disk
Synopsis
create-std-scsi-disk [name] scsi_id size [file]
Description
Creates a non-instantiated component of the class std-scsi-disk. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components

create-std-serial-link
Synopsis
create-std-serial-link [name]
Description
Creates a non-instantiated component of the class std-serial-link. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components

581

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-std-server-console
Synopsis
create-std-server-console [name] telnet_port
Description
Creates a non-instantiated component of the class std-server-console. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
std-components
create-std-service-node
Synopsis
create-std-service-node [name]
Description
Creates a non-instantiated component of the class std-service-node. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
std-components
create-std-super-io
Synopsis
create-std-super-io [name] [add_par_port]
Description
Creates a non-instantiated component of the class std-super-io. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
isa-components
create-std-text-console
Synopsis
create-std-text-console [name] [title] [bg_color] [fg_color] [x11_font] [win32_
font] [width] [height]
Description
Creates a non-instantiated component of the class std-text-console. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
582

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
std-components
create-std-text-graphics-console
Synopsis
create-std-text-graphics-console [name]
Description
Creates a non-instantiated component of the class std-text-graphics-console. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components
create-sun-cpci-hme-isp
Synopsis
create-sun-cpci-hme-isp [name] mac_address [scsi_id]
Description
Creates a non-instantiated component of the class sun-cpci-hme-isp. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
serengeti-components
create-sun-cpci-isp-isp
Synopsis
create-sun-cpci-isp-isp [name] [scsi_id0] [scsi_id1]
Description
Creates a non-instantiated component of the class sun-cpci-isp-isp. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
serengeti-components
create-sun-cpci-qlc-qlc
Synopsis
create-sun-cpci-qlc-qlc [name] loop_id0 loop_id1
583

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class sun-cpci-qlc-qlc. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
serengeti-components
create-sun-pci-ce
Synopsis
create-sun-pci-ce [name] mac_address
Description
Creates a non-instantiated component of the class sun-pci-ce. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
sun-components
create-sun-pci-hme
Synopsis
create-sun-pci-hme [name] mac_address
Description
Creates a non-instantiated component of the class sun-pci-hme. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
sun-components
create-sun-pci-hme-isp
Synopsis
create-sun-pci-hme-isp [name] mac_address [scsi_id]
Description
Creates a non-instantiated component of the class sun-pci-hme-isp. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
sun-components

584

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-sun-pci-pgx64
Synopsis
create-sun-pci-pgx64 [name]
Description
Creates a non-instantiated component of the class sun-pci-pgx64. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
sun-components
create-sun-pci-qlc
Synopsis
create-sun-pci-qlc [name] loop_id
Description
Creates a non-instantiated component of the class sun-pci-qlc. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
sun-components
create-sun-pci-qlc-qlc
Synopsis
create-sun-pci-qlc-qlc [name] loop_id0 loop_id1
Description
Creates a non-instantiated component of the class sun-pci-qlc-qlc. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
sun-components
create-sun-sbus-fas-hme
Synopsis
create-sun-sbus-fas-hme [name] mac_address [scsi_id]
Description
Creates a non-instantiated component of the class sun-sbus-fas-hme. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
585

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
sunfire-components
create-sun-type5-keyboard
Synopsis
create-sun-type5-keyboard [name]
Description
Creates a non-instantiated component of the class sun-type5-keyboard. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
sun-components
create-sun-type5-mouse
Synopsis
create-sun-type5-mouse [name]
Description
Creates a non-instantiated component of the class sun-type5-mouse. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
sun-components
create-sunfire-3500-backplane
Synopsis
create-sunfire-3500-backplane [name] cpu_frequency hostid mac_address rtc_time
Description
Creates a non-instantiated component of the class sunfire-3500-backplane. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
sunfire-components
create-sunfire-4500-backplane
Synopsis
create-sunfire-4500-backplane [name] cpu_frequency hostid mac_address rtc_time
586

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class sunfire-4500-backplane. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
sunfire-components
create-sunfire-6500-backplane
Synopsis
create-sunfire-6500-backplane [name] cpu_frequency hostid mac_address rtc_time
Description
Creates a non-instantiated component of the class sunfire-6500-backplane. If name
is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
sunfire-components
create-sunfire-cpu-board
Synopsis
create-sunfire-cpu-board [name] num_cpus memory_megs
Description
Creates a non-instantiated component of the class sunfire-cpu-board. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
sunfire-components
create-sunfire-pci-board
Synopsis
create-sunfire-pci-board [name] mac_address [scsi_id]
Description
Creates a non-instantiated component of the class sunfire-pci-board. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
sunfire-components

587

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

create-sunfire-sbus-board
Synopsis
create-sunfire-sbus-board [name] mac_address [scsi_id]
Description
Creates a non-instantiated component of the class sunfire-sbus-board. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
sunfire-components
create-taco-system
Synopsis
create-taco-system [name] cpu_frequency hostid mac_address rtc_time
Description
Creates a non-instantiated component of the class taco-system. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
fiesta-components
create-telos-mote
Synopsis
create-telos-mote [name] cpu_frequency location_x location_y location_z
Description
Creates a non-instantiated component of the class telos-mote. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
telos-mote-components
create-x86-apic-bus-system
Synopsis
create-x86-apic-bus-system [name] memory_megs rtc_time [break_on_reboot]
Description
Creates a non-instantiated component of the class x86-apic-bus-system. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
588

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
x86-components
create-x86-apic-system
Synopsis
create-x86-apic-system [name] memory_megs rtc_time [break_on_reboot] [bios] [acpi]
Description
Creates a non-instantiated component of the class x86-apic-system. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-x86-e7520-system
Synopsis
create-x86-e7520-system [name] memory_megs rtc_time [break_on_reboot] [bios_name]
Description
Creates a non-instantiated component of the class x86-e7520-system. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-x86-hammer-cpu
Synopsis
create-x86-hammer-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class x86-hammer-cpu. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
create-x86-separate-mem-io-system
Synopsis
create-x86-separate-mem-io-system [name] memory_megs rtc_time [break_on_reboot]
[bios]
589

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Creates a non-instantiated component of the class x86-separate-mem-io-system. If
name is not specified, the component will get a class-specific default name. The other
arguments correspond to class attributes.
Provided By
x86-components
create-x86-system
Synopsis
create-x86-system [name] memory_megs rtc_time [break_on_reboot] [bios]
Description
Creates a non-instantiated component of the class x86-system. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
x86-components
create-xeon-prestonia-cpu
Synopsis
create-xeon-prestonia-cpu [name] cpu_frequency [cpi] [apic_frequency]
Description
Creates a non-instantiated component of the class xeon-prestonia-cpu. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
x86-components
current-processor
Synopsis
current-processor
Description
Returns the name of the currently executing processor.
Provided By
Simics Core
cycle-break
590

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Alias
cb
Synopsis
cycle-break [cpu-name] cycles
<processor>.cycle-break cycles
Description
Sets a breakpoint so that the CPU will stop after running cycles number of cycles from
the time the command was issued. If the CPU is not specified the selected frontend
processor will be used (see pselect).
To list all breakpoints set use the command list-breakpoints.
Provided By
Simics Core
See Also
cycle-break-absolute, step-break, step-break-absolute, list-breakpoints
cycle-break-absolute
Alias
cba
Synopsis
cycle-break-absolute [cpu-name] cycles
<processor>.cycle-break-absolute cycles
Description
Set a breakpoint so that the selected CPU will stop after its cycle counter has reached
the cycles value. If the CPU is not specified the selected frontend processor will be
used (see pselect).
To list all breakpoints set use the command list-breakpoints.
Provided By
Simics Core
See Also
cycle-break, step-break, step-break-absolute, list-breakpoints

date
Synopsis
date
Description
Prints the current date and time, in the form Fri Nov 2 12:00:36 2001.
591

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
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-realnetwork command if none is given as argument. This is useful in single machine
configurations where the same 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 1 if variable is a defined CLI variable, and 0 if not.
Provided By
Simics Core

delete
Synopsis
delete (-all|id)
Description
Removes a breakpoint. id is the id of the breakpoint to delete. Use list-breakpoints to
list all breakpoints id. If the flag -all is given, all breakpoints will be deleted.
Provided By
Simics Core
See Also
<breakpoint>.break, enable, ignore, set-prefix, set-substr, set-pattern, list-breakpoints

delete-bookmark
592

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Alias
db
Synopsis
delete-bookmark (bookmark|-all)
Description
Deletes a time bookmark. Deleting all time bookmarks can improve forward simulation performance.
Reverse operations are possible in the region following the first (i.e. oldest) time bookmark.
Provided By
rev-execution
See Also
set-bookmark, list-bookmarks, reverse
devs
Synopsis
devs [object-name]
Description
Print a list of all devices in Simics, with information about how many times each device has been accessed, and where it is mapped. The mappings are presented as start
and end offsets within a named memory space. The function number associated with
each different mapping for a device is also printed.
Provided By
Simics Core
digit-grouping
Synopsis
digit-grouping base [digits]
Description
Changes or displays how numbers are formatted for a given radix. This 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.
Provided By
Simics Core
See Also
output-radix, print
593

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

dirs
Synopsis
dirs
Description
Shows the contents of the directory stack.
Provided By
Simics Core
See Also
pushd, popd

disable
Synopsis
disable (-all|id)
enable (-all|id)
Description
Enable/disable instruction breakpoint. id is id number of the breakpoint to enable/disable.
Use list-breakpoints to list breakpoint id:s. If -all is given all breakpoints will be enabled/disabled. Simics will not stop on a disabled breakpoint, however Simics will
still count it.
Provided By
Simics Core
See Also
<breakpoint>.break, delete, ignore, list-breakpoints

disable-real-time-mode
Synopsis
disable-real-time-mode
enable-real-time-mode [speed] [check_interval]
Description
In some cases Simics might run faster (in real-time) than the machine it simulates; this
can happen if the OS is in a tight idle loop or an instruction halts execution waiting
for an interrupt. Running faster than the simulated machine can cause problems for
interactive programs which might time-out faster than what the user can handle.
With the enable-real-time-mode command Simics will periodically check its actual
running speed and sleep for a while if it is too high. This also reduces Simics CPU
usage. speed specifies the percentage (as an integer) of the how fast the Simics target

594

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

machine is allowed to run compared to the host machine; default is 100%. check_
interval specifies how often the measurement should take place in milliseconds of the
simulator time; default is 1000.
The disable-real-time-mode will deactivate any real-time behavior and Simics will
run as fast as possible again.
Provided By
Simics Core

disassemble
Alias
da
Synopsis
disassemble [cpu-name] [address] [count]
<processor>.disassemble [address] [count]
Description
Disassembles count instructions starting at address for processor cpu-name. If the processor is not given the current frontend processor will be used. The method variant
can also be used to 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.
This command will also include various profiling statistics for the address of each
instruction, one column for each profiler view listed in the processor attribute aprofviews. For descriptions of the columns, use the <processor>.aprof-views command.
Provided By
Simics Core
See Also
x, disassemble-settings, <processor>.aprof-views
disassemble-settings
Synopsis
disassemble-settings [opcode] [physaddr] [partial-opcode]
Description
Change disassemble output settings. Each of these settings can be set to on or off.

595

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

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,
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 partialopcode is not set, the entire opcode will be printed for every instruction. (The only
Simics target with multiple instructions per opcode is ia64.)
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).
Without arguments, the current settings will be shown.
Provided By
Simics Core
See Also
disassemble
disconnect-real-network
Synopsis
disconnect-real-network
<ethernet-link>.disconnect-real-network
Description
Closes all connections to real networks except port forwarding and NAPT.
Provided By
ethernet-link
See Also
<ethernet-link>.disconnect-real-network, connect-real-network-host, connect-real-networkbridge, connect-real-network-router
disconnect-real-network-port-in
Synopsis
disconnect-real-network-port-in (target-port|service) ethernet-link [target-ip] [-tcp]
[-udp]
connect-real-network-port-in (target-port|service) ethernet-link [host-port] [target-ip]
[-tcp] [-udp] [-f]
Description
Enables or disables 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. 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.
596

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

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 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 availble port starting from the specified host port and upwards.
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
See Also
connect-real-network, connect-real-network-port-out, connect-real-network-napt, connectreal-network-host, connect-real-network-bridge, connect-real-network-router
disconnect-real-network-port-out
Synopsis
disconnect-real-network-port-out service-node-port ethernet-link target-ip target-port
[-tcp] [-udp]
connect-real-network-port-out service-node-port ethernet-link target-ip target-port [-tcp]
[-udp]
Description
Enables 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.
Provided By
service-node
See Also
connect-real-network, connect-real-network-port-in, connect-real-network-napt, connectreal-network-host, connect-real-network-bridge, connect-real-network-router
display
Synopsis
display [expression] [-l] [-p] [-t]

597

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Install a Python expression, or a frontend statement that will be printed when Simics
returns to the prompt. The -p flag is used to indicate that the string argument is in
Python. To list all installed display expressions, the -l argument should be used. The
expressions are only evaluated and printed if the simulation has run any instructions
since last time, but a re-evaluation can be forced by calling display with no arguments.
The -t argument makes the output be tagged in a way that makes it possible to capture the output by external means.
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
symtable
See Also
frame, up, stack-trace
dstc-disable
Synopsis
dstc-disable
dstc-enable
istc-disable
istc-enable
stc-status
Description
These commands are for advanced users 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), while the I-STC caches instruction translations of taken jumps.
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 otherwise 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 faulty. Turning the STCs off means that current contents will be flushed and no
more entries will be inserted into the STCs.
598

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core

dstc-enable
Synopsis
dstc-enable
dstc-disable
istc-disable
istc-enable
stc-status
Description
These commands are for advanced users 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), while the I-STC caches instruction translations of taken jumps.
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 otherwise 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 faulty. 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

echo
Synopsis
echo [(integer|float|string)]
Description
Prints the string, integer, or float. Useful for annotating test scripts.
Provided By
Simics Core

else
Synopsis
else
if

599

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Runs a block of commands conditionally. Some examples:
if <condition> { commands }
if <condition> { commands } else { commands }
if <condition> { commands } else if <condition> { commands }
The if command returns the value of the last executed command in the block.
Provided By
Simics Core
See Also
while

enable
Synopsis
enable (-all|id)
disable (-all|id)
Description
Enable/disable instruction breakpoint. id is id number of the breakpoint to enable/disable.
Use list-breakpoints to list breakpoint id:s. If -all is given all breakpoints will be enabled/disabled. Simics will not stop on a disabled breakpoint, however Simics will
still count it.
Provided By
Simics Core
See Also
<breakpoint>.break, delete, ignore, list-breakpoints

enable-real-time-mode
Synopsis
enable-real-time-mode [speed] [check_interval]
disable-real-time-mode
Description
In some cases Simics might run faster (in real-time) than the machine it simulates; this
can happen if the OS is in a tight idle loop or an instruction halts execution waiting
for an interrupt. Running faster than the simulated machine can cause problems for
interactive programs which might time-out faster than what the user can handle.
With the enable-real-time-mode command Simics will periodically check its actual
running speed and sleep for a while if it is too high. This also reduces Simics CPU
600

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

usage. speed specifies the percentage (as an integer) of the how fast the Simics target
machine is allowed to run compared to the host machine; default is 100%. check_
interval specifies how often the measurement should take place in milliseconds of the
simulator time; default is 1000.
The disable-real-time-mode will deactivate any real-time behavior and Simics will
run as fast as possible again.
Provided By
Simics Core

ethereal
Synopsis
ethereal [link] [device] [ethereal-flags]
Description
Runs the wireshark or ethereal program in a separate console, with network traffic
captured from simulated ethernet networks. The ethereal-flags are passed on unmodified to program.
Provided By
ethernet-link
expect
Synopsis
expect (i1|s1) (i2|s2) [-v]
Description
If values i1 and i2 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.
Note that it only works with integer and string arguments.
Provided By
Simics Core

finish-function
Alias
finish, fin
Synopsis
finish-function

601

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
Provided By
Simics Core
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-line, <context>.next-instruction, <context>.reversenext-line, <context>.reverse-next-instruction, <context>.uncall-function
fpsr
Synopsis
fpsr [cpu-name]
Description
Prints the fields of the floating point status register (AR.fpsr).
Provided By
ia64-itanium

frame
Alias
f
Synopsis
frame [frame-number]
Description
Changes current stack frame to frame-number, or displays the current frame.

602

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
symtable
See Also
stack-trace, psym, up, down
function-profile
Synopsis
function-profile profiler [maxfuncs] [cutoff ]
Description
Lists the most interesting functions by their number of profile counts, as determined
by profiler. No more than maxfuncs functions (10 by default) are listed, and not functions with fewer hits than cutoff.
Provided By
symtable
gdb-remote
Synopsis
gdb-remote [port] [cpu]
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 port port, or
9123 by default. The GDB session will operate on the specified cpu, or the currently
selected cpu by default. Use the gdb command target remote host:port to connect to
Simics.
Provided By
gdb-remote
get
Synopsis
get address [size] [-l] [-b]
<memory-space>.get address [size] [-l] [-b]
Description
Get value of physical memory location. The size argument specifies how many bytes
should be read. This defaults to 4, but can be any number of bytes 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.
This command operates on the physical memory associated with the current processor.
603

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
See Also
x, set, signed
get-component-prefix
Synopsis
get-component-prefix
Description
Get the current component name prefix.
Provided By
Simics Core
See Also
set-component-prefix
help
Alias
h, man
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.
To refine your search, you may use filters in the topic as shown below: help topic =
command:break The recognized filters are command:, class:, object:, interface:, module:, hap:, attribute: and api:.
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
apropos, api-help, api-apropos
hex
Synopsis
hex value
604

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Returns the parameter as a string in hexadecimal notation. This is similar to print -x
value.
Provided By
Simics Core
See Also
print

if
Synopsis
if
else
Description
Runs a block of commands conditionally. Some examples:
if <condition> { commands }
if <condition> { commands } else { commands }
if <condition> { commands } else if <condition> { commands }
The if command returns the value of the last executed command in the block.
Provided By
Simics Core
See Also
while
ignore
Synopsis
ignore id num
Description
Sets the ignore count for a breakpoint. This means that the next num times the breakpoint is reached it will not trigger (hap handlers will not be called). To break next time
set num to 0.
Provided By
Simics Core
See Also
enable, list-breakpoints

605

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

import-alpha-components
Synopsis
import-alpha-components
Description
Imports all components from the alpha-components collection.
Provided By
alpha-components
import-arm-sa1110-components
Synopsis
import-arm-sa1110-components
Description
Imports all components from the arm-sa1110-components collection.
Provided By
arm-sa1110-components
import-fiesta-components
Synopsis
import-fiesta-components
Description
Imports all components from the fiesta-components collection.
Provided By
sun-components
import-ia64-components
Synopsis
import-ia64-components
Description
Imports all components from the ia64-components collection.
Provided By
ia64-components
import-isa-components
Synopsis
import-isa-components
606

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Imports all components from the isa-components collection.
Provided By
std-components
import-leon2-components
Synopsis
import-leon2-components
Description
Imports all components from the leon2-components collection.
Provided By
leon2-components
import-malta-components
Synopsis
import-malta-components
Description
Imports all components from the malta-components collection.
Provided By
malta-components
import-memory-components
Synopsis
import-memory-components
Description
Imports all components from the memory-components collection.
Provided By
std-components
import-niagara-simple-components
Synopsis
import-niagara-simple-components
Description
Imports all components from the niagara-simple-components collection.

607

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
sun-components
import-pci-components
Synopsis
import-pci-components
Description
Imports all components from the pci-components collection.
Provided By
std-components
import-phy-components
Synopsis
import-phy-components
Description
Imports all components from the phy-components collection.
Provided By
std-components
import-pmppc-components
Synopsis
import-pmppc-components
Description
Imports all components from the pmppc-components collection.
Provided By
pmppc-components
import-ppc-simple-components
Synopsis
import-ppc-simple-components
Description
Imports all components from the ppc-simple-components collection.
Provided By
ppc-simple-components

608

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

import-ppc440gp-components
Synopsis
import-ppc440gp-components
Description
Imports all components from the ppc440gp-components collection.
Provided By
ppc440gp-components
import-ppc970fx-components
Synopsis
import-ppc970fx-components
Description
Imports all components from the ppc970fx-components collection.
Provided By
ppc970fx-components
import-serengeti-components
Synopsis
import-serengeti-components
Description
Imports all components from the serengeti-components collection.
Provided By
sun-components
import-std-components
Synopsis
import-std-components
Description
Imports all components from the std-components collection.
Provided By
std-components
import-sun-components
Synopsis
import-sun-components
609

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Imports all components from the sun-components collection.
Provided By
sun-components
import-sunfire-components
Synopsis
import-sunfire-components
Description
Imports all components from the sunfire-components collection.
Provided By
sun-components
import-telos-mote-components
Synopsis
import-telos-mote-components
Description
Imports all components from the telos-mote-components collection.
Provided By
telos-mote-components
import-timing-components
Synopsis
import-timing-components
Description
Imports all components from the timing-components collection.
Provided By
std-components
import-usb-components
Synopsis
import-usb-components
Description
Imports all components from the usb-components collection.

610

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
std-components
import-x86-components
Synopsis
import-x86-components
Description
Imports all components from the x86-components collection.
Provided By
x86-components
instantiate-components
Synopsis
instantiate-components [-v] [ component . . . ]
Description
Instantiates non-instantiated components. With no argument, all top-level components are collected and instantiated along with all components below them. If one or
more components are specified as arguments, only these and the components below
them are instantiated. -v will make the command print the name of the instantiated
components.
Provided By
Simics Core
instruction-fetch-mode
Alias
ifm
Synopsis
instruction-fetch-mode [mode]
<processor>.instruction-fetch-mode [mode]
Description
This command selects how instruction fetches are sent for the memory hierarchy during simulation. If set to no-instruction-fetch, the memory hierarchy wont receive any
instruction fetch. If set to instruction-cache-access-trace, the memory hierarchy will receive one (and only 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 on x86 target, instruction-cache-trace-access is not available. On some other,
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 will print out
the current mode.
611

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
instruction-profile-mode deprecated
Alias
ipm
Synopsis
instruction-profile-mode [mode]
Description
This command is deprecated, use instruction-fetch-mode instead.
Sets the instruction fetch mode of all cpus on the system according to the mode passed
as argument.
Provided By
Simics Core
interrupt-script-branch
Synopsis
interrupt-script-branch id
Description
Send a interrupt exception to a scripts branch. The argument is the script branch ID,
that is returned by the script-branch command, and that is also listed by the listscript-branches command. The branch will wakeup and exit when it receives the
exception.
Provided By
Simics Core
See Also
script-branch, list-script-branches
interrupt-status
Synopsis
interrupt-status [cpu-name]
Description
Displays the current status of pending external interrupts.
Provided By
ia64-itanium

612

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

istc-disable
Synopsis
istc-disable
dstc-disable
dstc-enable
istc-enable
stc-status
Description
These commands are for advanced users 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), while the I-STC caches instruction translations of taken jumps.
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 otherwise 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 faulty. 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

istc-enable
Synopsis
istc-enable
dstc-disable
dstc-enable
istc-disable
stc-status
Description
These commands are for advanced users 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), while the I-STC caches instruction translations of taken jumps.
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 otherwise 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 faulty. 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
613

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

license
Synopsis
license
Description
Prints the LICENSE that applies to this copy of Simics.
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 given line
function or file:function --- list that function
address --- list from that address
At most maxlines lines of source or asm are printed. -s produces source intermixed
with disassembly, and -d only disassembles.
Provided By
symtable
See Also
disassemble, whereis, pos, symval
list-attributes
Synopsis
list-attributes object [attribute-name]
Description
Print a list of all attributes that are registered in an object. For every attribute the
type, as well as additional flags are listed. See the SIM_register_typed_attribute()
documentation function for valid attribute types and flags. If an attribute name is
given, the description for that particular attribute will be displayed.
Provided By
Simics Core
list-bookmarks
614

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Alias
lb
Synopsis
list-bookmarks
Description
Lists time bookmarks.
Provided By
rev-execution
See Also
set-bookmark, delete-bookmark
list-breakpoints
Alias
ib, info-breakpoints
Synopsis
list-breakpoints [-all]
Description
Prints information about all breakpoints set. The following information is printed for
memory breakpoints: the id (used by other commands to refer to the breakpoint), if
the breakpoint is set on physical or virtual addresses and the access type (r = read, w
= write, or x = execute), if enabled (see the enable command), the address range of the
breakpoint, how many times the breakpoint has been triggered, and what memory
space or context object it is set in.
If prefix, substring and/or pattern conditions are set it will be printed as well (see
set-prefix, set-substr and set-pattern command).
Time breakpoints are also listed.
If -all is passed as argument, list-breakpoints will also list all internal breakpoints set
for simulation purposes.
Provided By
Simics Core
See Also
<breakpoint>.break, delete, enable, ignore, set-prefix, set-substr, set-pattern

list-classes
Synopsis
list-classes [-l]

615

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Print a list of all configuration classes. The -l flag will reduce the list to classes that has
been registered by loaded modules.
Provided By
Simics Core
list-components
Synopsis
list-components [component] [-s]
Description
List existing components with their names, types and and connectors. For each connector the destination component and connector is printed. If a top-level component
is specified, only components below it in the hierarchy are listed. The -s flags can be
used to get a short list.
Provided By
Simics Core
list-directories
Synopsis
list-directories
Description
Print a list of all directories in the Simics search path.
Provided By
Simics Core
list-failed-modules
Alias
module-list-failed
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.
616

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

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.
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
Prints a list of all callbacks installed for hap, or for all haps if the argument is omitted.
Provided By
Simics Core
list-haps
Alias
hl
Synopsis
list-haps [substring]
Description
Prints a description of all haps whose names contain substring. If the name is omitted
a list of all haps will be printed.
Provided By
Simics Core

list-modules

617

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Alias
module-list
Synopsis
list-modules [substr] [-l] [-v]
Description
Lists all modules that can be loaded into Simics. If the optional substr argument is
specified, only modules with a matching name will be printed. Use -v to get more
information on the modules, and -l to only list loaded modules. The ABI version of
modules is only printed if it differs from the current Simics ABI.
Provided By
Simics Core
See Also
list-failed-modules, module-list-refresh, load-module, add-module-directory
list-namespaces
Synopsis
list-namespaces [-n]
Description
Lists all namespaces (objects) and which classes or interfaces they belong to. A namespace is the same as a configuration object. Many objects implement commands local to
them. These commands are invoked by giving the object name followed by a period
and then the local command name; e.g., rec0.playback-start.
If the -n flag is given, the output will be sorted on the object name instead of the class
name, which is the default.
Some objects also implement command interfaces. A command interface is a collection
of commands that can be used by an object implementing this interface. For example,
breakpoint is an interface that is implemented by objects of the memory-space class.
This allows one to write phys_mem0.break 0xffc00 to set a breakpoint in the memory
interface.
Objects implementing command interfaces are listed in the second half of output from
this command.
Provided By
Simics Core
See Also
list-objects
list-objects

618

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
list-objects [type] [-n] [-a]
Description
Lists all configuration objects and the class they belong to.
You can specify a class or interface name as type. Only objects of that class or implementing that interface will then be listed.
The objects are sorted by class name by default. Use the -n flag to sort them by object
name instead.
Component objects are printed, first, and then all other objects. To mix all objects in
the same list, use the -a flag.
Provided By
Simics Core
See Also
list-namespaces
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, connectreal-network-port-out
list-script-branches
Synopsis
list-script-branches
Description
List all currently active script branches.
Provided By
Simics Core
See Also
script-branch, interrupt-script-branch

619

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

list-vars
Synopsis
list-vars
Description
Lists all Simics environment variables and their current values. Environment 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, or float. To access a
variable, prefix the name with a $, e.g., $variable. A variable can be put 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 name space simenv:
simics>
simics>
17
simics>
simics>
hello

$foo = 1 + 4 * 4
@print simenv.foo
@simenv.bar = "hello"
echo $bar

Provided By
Simics Core
load-binary
Synopsis
load-binary filename [offset] [-v] [-pa] [-l]
<memory-space>.load-binary filename [offset] [-v] [-pa]
<processor>.load-binary filename [offset] [-v] [-pa]
Description
Load a binary (executable) file into the given physical or virtual memory space. The
supported formats are ELF, Motorola S-Record, PE32 and PE32+. If an offset is supplied, it will be added to the load address taked from the file.
By default the virtual load address from the file is used, but the physical address can
be used instead by specifying the -pa flag.
The -v flag turns on verbose mode, printing information about the loaded file.
When used as a global command, it will use the currently selected processor to find
the memory space to load the binary into. If the -l flag is given, it will load it into the
virtual memory space, otherwise it will use the physical memory space.
When using the namespace command on a processor object, it will load the binary
into the virtual memory space of that processor.
620

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

When using the namespace command on a memory-space object, it will load the binary directly into that memory space.
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 Simicss Search Path and path markers (%simics%, %script%) to find
the file to load. Refer to Simics User Guide (CLI chapter) for more information on how
Simicss Search Path is used to locate files.
Provided By
Simics Core
See Also
add-directory

load-file
Synopsis
load-file filename [offset]
<memory-space>.load-file filename [offset]
Description
Loads a file with name filename into the memory space (defaulting to the current frontend processors physical memory space), starting at physical address offset. Default
offset is 0.
load-file uses Simicss Search Path and path markers (%simics%, %script%) to find the
file to load. Refer to Simics User Guide (CLI chapter) for more information on how
Simicss Search Path is used to locate files.
Provided By
Simics Core
See Also
add-directory

load-module
Synopsis
load-module module
Description
Load a module (Simics extension). Simics supports dynamically loadable modules.
Read the Simics Users Guide for more info on how to write modules.
Provided By
Simics Core

621

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

See Also
list-modules, list-failed-modules, module-list-refresh, unload-module, add-moduledirectory
load-persistent-state
Synopsis
load-persistent-state file [prefix]
Description
Load persistent simulator state from a 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-rom
Synopsis
load-rom rom-file address [-v]
Description
The load-rom command loads a rom image (e.g. the SRM console) from a file into
memory. The PC and the PAL base registers are set to the entry point as specified by
the ROM header. Information extracted from the ROM header is written to the console
if the verbose flag is set. Use -verbose to get more information during loading.
Provided By
alpha-ev5-turbo
log
Synopsis
log [count]
<log_object>.log [count]
Description
Display entries in log buffers. The namespace version displays the entries for a specific
object, while the global command lists the entries of all objects log buffers but sorted
by time. The optional argument is the number of entries to list. Only the last 10 entries
are listed by default.

622

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
See Also
<log_object>.log-group, log-level, log-size, log-type
log-level
Synopsis
log-level [level]
<log_object>.log-level [level]
Description
Objects in Simics can generate log messages on different log levels. These messages
will be show 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.
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 - highlevel informative messages. 3 - standard debug messages. 4 - detailed information,
such as register accesses.
Not all classes are converted to use this log level scheme.
Provided By
Simics Core
See Also
log, <log_object>.log-group, log-size, log-type
log-setup
Synopsis
log-setup [-time-stamp] [-no-time-stamp] [-file-only] [-no-file-only] [-no-log-file] [logfile]
Description
The -time-stamp flag will cause further log output to include a time stamp, i.e. the
name of the current processor together with the program counter and step count for
this CPU. Time stamp output is disabled with -no-time-stamp. A file that receives all
log output can be specified with the logfile argument. -no-log-file disables an existing
log file. Even if a log file is specified, all output is printed on the console, unless file-only is used. Use -no-file_only to re-enable output. Called without arguments, the
command will print the current setup.

623

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
See Also
log, <log_object>.log-group, log-size, log-type
log-size
Synopsis
log-size [size]
<log_object>.log-size [size]
Description
The namespace version of this command changes the buffer size (number of entries)
for log messages and I/O trace entries for an objects. The global command applies to
all log objects. When called with no arguments, the size of the log buffers are listed.
Provided By
Simics Core
See Also
log, <log_object>.log-group, log-level, log-type
log-type
Synopsis
log-type [-add] [-sub] [log-type]
<log_object>.log-type [-add] [-sub] [log-type]
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 -add and -sub can be used to add and
remove a single log type. The log types are documented with the log_type_t data
type, and are Info, Error, Undefined, Spec_Violation, Target_Error, Unimplemented.
All types can be enabled by setting log-type to all.
Provided By
Simics Core
See Also
log, <log_object>.log-group, log-level, log-size
logical-to-physical

624

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Alias
l2p
Synopsis
logical-to-physical [cpu-name] address
<processor>.logical-to-physical address
Description
Translate the given logical address to a physical one. The operation is performed as
read from processor cpu-name. On x86 a logical address can be given on the form
<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 occur, i.e. if the translation is not in the TLB. The method variant of this command
can also be used.
Provided By
Simics Core

ls
Synopsis
ls
Description
List files in working directory of Simics. Works like ls in a Unix shell, but does not
take any parameters.
Provided By
Simics Core
See Also
cd, pwd
magic-break-disable
Synopsis
magic-break-disable
magic-break-enable
magic-break-query
Description
Installs (magic-break-enable) or removes (magic-break-disable) the magic
breakpoint handler. A magic breakpoint is a magic instruction with argument 0, except on the SPARC target, where it is a magic instruction with the top 6 bits of the
22-bit parameter field set to 000100 (binary). Note that break-hap Core_Magic_
Instruction will break on all magic instructions.

625

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
magic-break-enable
Synopsis
magic-break-enable
magic-break-disable
magic-break-query
Description
Installs (magic-break-enable) or removes (magic-break-disable) the magic
breakpoint handler. A magic breakpoint is a magic instruction with argument 0, except on the SPARC target, where it is a magic instruction with the top 6 bits of the
22-bit parameter field set to 000100 (binary). Note that break-hap Core_Magic_
Instruction will break on all magic instructions.
Provided By
Simics Core
magic-break-query
Synopsis
magic-break-query
magic-break-disable
magic-break-enable
Description
Installs (magic-break-enable) or removes (magic-break-disable) the magic
breakpoint handler. A magic breakpoint is a magic instruction with argument 0, except on the SPARC target, where it is a magic instruction with the top 6 bits of the
22-bit parameter field set to 000100 (binary). Note that break-hap Core_Magic_
Instruction will break on all magic instructions.
Provided By
Simics Core
max
Synopsis
max arg1 arg2
Description
Returns the larger value of arg1 and arg2.
Provided By
Simics Core
626

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

memory-usage
Synopsis
memory-usage [-verbose]
Description
Print the memory map and usage info for the Simics session. With the -verbose flag,
individual mappings and the top dynamic allocation sites will also be shown.
Provided By
perfanalyze-client

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
native-path
Synopsis
native-path filename

627

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Converts a path to its host native form. On Unix, 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
network-helper
Synopsis
network-helper [-pcap] [helper]
Description
Sets the file name of the helper executable that opens the host network interface for
real-network connections using raw access. This helper, openif in the distribution,
needs privileges to run and should be installed in such a way that it is run as root,
typically by installing it as setuid root. Simics can use PCAP to read packets from the
network device instead of accessing it directly. Set the -pcap flag, and no handler to use
PCAP instead. Without arguments, displays the current setting.
This command has no effect under Windows.
Provided By
ethernet-link
new-arm-sa1110-system
Synopsis
new-arm-sa1110-system [name] cpu_frequency [memory_megs]
Description
Creates an instantiated component of the class arm-sa1110-system. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
arm-sa1110-components
See Also
create-arm-sa1110-system

new-branch-recorder
628

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

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
mips-4kc-turbo
new-central-server
Synopsis
new-central-server [port] [file] [min-latency]
Description
Create a Simics Central server object. The server will by default listen to Simics Central
client connections on TCP port 1909 and, on systems supporting it, UNIX file socket
/tmp/simics-central.user. It will also accept connections from a Central client in
the same Simics process.
The port argument can be used to change the TCP listen port. By setting it to -1, the
server will not listen for TCP connections. By setting it to 0, the server will choose an
available TCP port number. The used port number will be printed when the server
successfully opened the port.
The file argument can be used to change the file name for the UNIX file socket. And
empty string disables it.
The min-latency argument specifies the minimum latency in nanoseconds for intersimics communication enforced by Simics Central.
Provided By
central
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, <context>.symtable
629

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

new-context-switcher
Synopsis
new-context-switcher [name] tracker
Description
Create a new context switcher. It will change the current context of the processors to
match the currently active process. The tracker parameter specifies the tracker object it
should rely on for process information.
Provided By
context-switcher
new-cpu-mode-tracker
Synopsis
new-cpu-mode-tracker [name]
Description
Create a new cpu mode tracker. The trackers set of processors will initially be empty.
You can add the processors you want it to watch with its add-processors command.
Provided By
cpu-mode-tracker
See Also
new-context-switcher, <tracker>.add-processor
new-ddr-memory-module
Synopsis
new-ddr-memory-module [name] [rows] [columns] [ranks] [module_data_width] [primary_
width] [ecc_width] [banks] [rank_density] [module_type] [cas_latency] [speed]
Description
Creates an instantiated component of the class ddr-memory-module. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
memory-components
See Also
create-ddr-memory-module
new-ddr2-memory-module

630

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
new-ddr2-memory-module [name] [rows] [columns] [ranks] [module_data_width] [primary_
width] [ecc_width] [banks] [rank_density] [module_type] [cas_latency]
Description
Creates an instantiated component of the class ddr2-memory-module. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
memory-components
See Also
create-ddr2-memory-module
new-dummy-component
Synopsis
new-dummy-component [name]
Description
Creates an instantiated component of the class dummy-component. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
std-components
See Also
create-dummy-component
new-ebony-board
Synopsis
new-ebony-board [name] rtc_time cpu_frequency mac_address0 mac_address1
Description
Creates an instantiated component of the class ebony-board. If name is not specified,
the component will get a class-specific default name. The other arguments correspond
to class attributes.
Provided By
ppc440gp-components
See Also
create-ebony-board
new-etg
631

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
new-etg [name] link ip netmask target [gw] [idx] [pps] [size]
Description
Create a new etg object.
Provided By
etg

new-ethernet-link
Synopsis
new-ethernet-link [name] [latency]
Description
Creates a new ethernet-link object that can be used to connect Ethernet devices.
As of Simics 3.0 this command is deprecated. The new-std-ethernet-link command
should be used in component based configurations.
The latency argument specifies the latency in nanoseconds for communication over the
link.
Provided By
ethernet-link
See Also
new-std-ethernet-link, new-std-service-node

new-file-cdrom
Synopsis
new-file-cdrom file [name]
Description
Create a new file-cdrom object from file (which should be a valid CD-ROM (ISO)
image), named name. If name is not given, an object name is derived from the file
name. This object can then be inserted into a simulated CD-ROM device using the
<device>.insert command.
Provided By
file-cdrom
new-gdb-remote
Synopsis
new-gdb-remote [name] [port] [cpu] [architecture]

632

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

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 port specified
by port, or 9123 by default. If port is given as zero, a random port will be selected. The
GDB session will operate on the specified cpu, or the currently selected cpu by default.
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. If not given, the architecture of the CPU will be used.
Use the GDB command target remote host:port to connect to Simics.
Provided By
gdb-remote
new-host-cdrom
Synopsis
new-host-cdrom device [name]
Description
Create a new host-cdrom object from device (which should be a valid CD-ROM device,
e.g. /dev/cdrom on linux. If name is not given, an object name is derived from the
device name. This object can then be inserted into a simulated CD-ROM device using
the <device>.insert command.
Provided By
host-cdrom
new-ia64-460gx-system
Synopsis
new-ia64-460gx-system [name] memory_megs rtc_time
Description
Creates an instantiated component of the class ia64-460gx-system. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
ia64-components
See Also
create-ia64-460gx-system
new-leon2-simple
633

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
new-leon2-simple [name] cpu_frequency prom_size has_sram sram_size sdram_size num_
windows has_v8e_mac has_v8_mul has_v8_div
Description
Creates an instantiated component of the class leon2-simple. If name is not specified,
the component will get a class-specific default name. The other arguments correspond
to class attributes.
Provided By
leon2-components
See Also
create-leon2-simple
new-linux-process-tracker
Synopsis
new-linux-process-tracker [name] [kernel]
Description
Create a new Linux process tracker. You may choose a named set of parameters by
giving the kernel argument; otherwise, you must set the parameters manually, or use
the autodetect-parameters command.
The trackers set of processors will initially be empty. You can add the processors you
want it to watch with its add-processors command.
Provided By
linux-process-tracker
See Also
new-context-switcher, <tracker>.add-processor
new-niagara-simple-system
Synopsis
new-niagara-simple-system [name] cpu_frequency num_cores strands_per_core rtc_
time
Description
Creates an instantiated component of the class niagara-simple-system. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
niagara-simple-components

634

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

See Also
create-niagara-simple-system
new-pcie-pex8524
Synopsis
new-pcie-pex8524 [name] [ports] [up_port_number] [nt_port_number]
Description
Creates an instantiated component of the class pcie-pex8524. If name is not specified,
the component will get a class-specific default name. The other arguments correspond
to class attributes.
Provided By
pci-components
See Also
create-pcie-pex8524
new-pmppc-board
Synopsis
new-pmppc-board [name] cpu_class cpu_frequency timebase_frequency mac_address
rtc_time
Description
Creates an instantiated component of the class pmppc-board. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
pmppc-components
See Also
create-pmppc-board
new-ppc-simple
Synopsis
new-ppc-simple [name] cpu_class cpu_frequency memory_megs
Description
Creates an instantiated component of the class ppc-simple. If name is not specified,
the component will get a class-specific default name. The other arguments correspond
to class attributes.
Provided By
ppc-simple-components
635

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

See Also
create-ppc-simple
new-ppc32-linux-process-tracker
Synopsis
new-ppc32-linux-process-tracker [name] [thread_offset] [pid_offset] [kernel]
Description
Create a new ppc32-linux process tracker. You must either specify the thread_offset and
pid_offset integer parameters, or choose a named set of parameters by giving the kernel
argument.
The trackers set of processors will initially be empty. You can add the processors you
want it to watch with its add-processors command.
Provided By
ppc32-linux-process-tracker
See Also
new-context-switcher, <tracker>.add-processor
new-ppc64-linux-process-tracker
Synopsis
new-ppc64-linux-process-tracker [name] [task_struct_offset] [pid_offset] [kernel]
Description
Create a new ppc64-linux process tracker. You must either specify the task_struct_offset
and pid_offset integer parameters, or choose a named set of parameters by giving the
kernel argument.
The trackers set of processors will initially be empty. You can add the processors you
want it to watch with its add-processors command.
Provided By
ppc64-linux-process-tracker
See Also
new-context-switcher, <tracker>.add-processor
new-ppc970-simple
Synopsis
new-ppc970-simple [name] cpu_frequency memory_megs [map_offset] [time_of_day]
Description
Creates an instantiated component of the class ppc970-simple. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
636

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
ppc970fx-components
See Also
create-ppc970-simple
new-sample-gcache
Synopsis
new-sample-gcache [name]
Description
Creates an instantiated component of the class sample-gcache. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
timing-components
See Also
create-sample-gcache
new-sample-ma-model
Synopsis
new-sample-ma-model [name]
Description
Creates an instantiated component of the class sample-ma-model. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
timing-components
See Also
create-sample-ma-model
new-sample-ooo-model
Synopsis
new-sample-ooo-model [name]
Description
Creates an instantiated component of the class sample-ooo-model. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
637

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
timing-components
See Also
create-sample-ooo-model
new-sample-x86-ma-model
Synopsis
new-sample-x86-ma-model [name]
Description
Creates an instantiated component of the class sample-x86-ma-model. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
timing-components
See Also
create-sample-x86-ma-model
new-sdram-memory-module
Synopsis
new-sdram-memory-module [name] [rows] [columns] [ranks] [module_data_width] [primary_
width] [ecc_width] [banks] [rank_density] [module_type] [cas_latency]
Description
Creates an instantiated component of the class sdram-memory-module. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
memory-components
See Also
create-sdram-memory-module
new-serengeti-3800-chassis
Synopsis
new-serengeti-3800-chassis [name] hostid mac_address rtc_time
Description
Creates an instantiated component of the class serengeti-3800-chassis. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
638

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
serengeti-components
See Also
create-serengeti-3800-chassis
new-serengeti-4800-chassis
Synopsis
new-serengeti-4800-chassis [name] hostid mac_address rtc_time
Description
Creates an instantiated component of the class serengeti-4800-chassis. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
serengeti-components
See Also
create-serengeti-4800-chassis
new-serengeti-4810-chassis
Synopsis
new-serengeti-4810-chassis [name] hostid mac_address rtc_time
Description
Creates an instantiated component of the class serengeti-4810-chassis. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
serengeti-components
See Also
create-serengeti-4810-chassis
new-serengeti-6800-chassis
Synopsis
new-serengeti-6800-chassis [name] hostid mac_address rtc_time
Description
Creates an instantiated component of the class serengeti-6800-chassis. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
639

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
serengeti-components
See Also
create-serengeti-6800-chassis
new-serengeti-cluster-chassis
Synopsis
new-serengeti-cluster-chassis [name] hostid mac_address rtc_time
Description
Creates an instantiated component of the class serengeti-cluster-chassis. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
serengeti-components
See Also
create-serengeti-cluster-chassis

new-serial-link
Synopsis
new-serial-link [name] [throttle]
Description
Creates a new serial-link object that can be used to connect Serial devices. As of Simics
3.0 this command is deprecated. The new-std-serial-link command should be used in
component based configurations.
Provided By
serial-link
See Also
new-std-serial-link

new-service-node
Synopsis
new-service-node [name] [link] [ip] [netmask]
Description
Creates a new service-node object, and optionally connects it to an Ethernet link.
As of Simics 3.0 this command is deprecated. The new-std-service-node command
should be used in component based configurations.
640

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

If an link argument is provided, it should be the name of an existing ethernet-link


object. When a link is specified, the ip argument should give the IP address that the
service node will use on the link, and the netmask argument the netmask. Optionally,
the netmask may be given in the ip argument as a /bits suffix. The netmask may
also left out entirely, in which case it will default to 255.255.255.0.
Provided By
service-node
See Also
new-std-service-node, <service-node>.connect
new-south-bridge-6300esb
Synopsis
new-south-bridge-6300esb [name] bios [flash_size]
Description
Creates an instantiated component of the class south-bridge-6300esb. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
pci-components
See Also
create-south-bridge-6300esb
new-std-etg
Synopsis
new-std-etg [name] mac_address ip netmask dst_ip gateway_ip pps packet_
size
Description
Creates an instantiated component of the class std-etg. If name is not specified, the
component will get a class-specific default name. The other arguments correspond to
class attributes.
Provided By
std-components
See Also
create-std-etg

new-std-ethernet-link

641

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
new-std-ethernet-link [name] [link_name] [frame_echo]
Description
Creates an instantiated component of the class std-ethernet-link. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components
See Also
create-std-ethernet-link
new-std-graphics-console
Synopsis
new-std-graphics-console [name] [window]
Description
Creates an instantiated component of the class std-graphics-console. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
std-components
See Also
create-std-graphics-console

new-std-host-serial-console
Synopsis
new-std-host-serial-console [name]
Description
Creates an instantiated component of the class std-host-serial-console. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
std-components
See Also
create-std-host-serial-console

new-std-ms1553-link
642

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
new-std-ms1553-link [name]
Description
Creates an instantiated component of the class std-ms1553-link. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components
See Also
create-std-ms1553-link
new-std-pcmcia-flash-disk
Synopsis
new-std-pcmcia-flash-disk [name] size [file]
Description
Creates an instantiated component of the class std-pcmcia-flash-disk. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
std-components
See Also
create-std-pcmcia-flash-disk

new-std-serial-link
Synopsis
new-std-serial-link [name]
Description
Creates an instantiated component of the class std-serial-link. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components
See Also
create-std-serial-link

new-std-server-console
643

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
new-std-server-console [name] telnet_port
Description
Creates an instantiated component of the class std-server-console. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
std-components
See Also
create-std-server-console
new-std-service-node
Synopsis
new-std-service-node [name]
Description
Creates an instantiated component of the class std-service-node. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components
See Also
create-std-service-node
new-std-text-console
Synopsis
new-std-text-console [name] [title] [bg_color] [fg_color] [x11_font] [win32_
font] [width] [height]
Description
Creates an instantiated component of the class std-text-console. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components
See Also
create-std-text-console
new-std-text-graphics-console
644

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
new-std-text-graphics-console [name]
Description
Creates an instantiated component of the class std-text-graphics-console. If name is
not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
std-components
See Also
create-std-text-graphics-console
new-sun-type5-keyboard
Synopsis
new-sun-type5-keyboard [name]
Description
Creates an instantiated component of the class sun-type5-keyboard. If name is not
specified, the component will get a class-specific default name. The other arguments
correspond to class attributes.
Provided By
sun-components
See Also
create-sun-type5-keyboard
new-sun-type5-mouse
Synopsis
new-sun-type5-mouse [name]
Description
Creates an instantiated component of the class sun-type5-mouse. If name is not specified, the component will get a class-specific default name. The other arguments correspond to class attributes.
Provided By
sun-components
See Also
create-sun-type5-mouse
new-symtable
645

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
new-symtable [name] [file] [start] [-t]
Description
Creates a new symbol table, calling it name (or inventing a new name if omitted), and
optionally loads debug info from file, using the Simics search path to do so. If start
is given, it is the (absolute) starting address of the files code. If -t is specified, start
is interpreted as the address of the .text section (similarly to GDB); otherwise start
is taken to be the address of the first executable segment. If the current context of
the selected cpu does not have an associated symbol table, it will be set to the newly
created symbol table.
Provided By
symtable
See Also
<symtable>.load-symbols, set-context

new-telos-mote
Synopsis
new-telos-mote [name] cpu_frequency location_x location_y location_z
Description
Creates an instantiated component of the class telos-mote. If name is not specified,
the component will get a class-specific default name. The other arguments correspond
to class attributes.
Provided By
telos-mote-components
See Also
create-telos-mote
new-tracer
Synopsis
new-tracer
Description
Create a new tracer that connects to each CPUs memory space and traces instruction
and data accesses.
Provided By
trace
See Also
<base-trace-mem-hier>.start
646

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

new-x86-linux-process-tracker
Synopsis
new-x86-linux-process-tracker [name] [pid_offset] [kernel_stack_size] [kernel]
Description
Create a new x86-linux process tracker. You must either specify the kernel_stack_size
and pid_offset integer parameters, or choose a named set of parameters by giving the
kernel argument.
The trackers set of processors will initially be empty. You can add the processors you
want it to watch with its add-processors command.
Provided By
x86-linux-process-tracker
See Also
new-context-switcher, <tracker>.add-processor

next-instruction
Alias
nexti, ni
Synopsis
next-instruction
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
Provided By
Simics Core

647

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-line, <context>.reverse-next-line, <context>.reversenext-instruction, <context>.finish-function, <context>.uncall-function
next-line
Alias
next, n
Synopsis
next-line
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
Provided By
Simics Core
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-instruction, <context>.reverse-next-line, <context>.reversenext-instruction, <context>.finish-function, <context>.uncall-function
not
Synopsis
not arg
Description
Returns 1 if arg is zero, and 0 if not.
Provided By
Simics Core
648

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

or
Synopsis
arg1 or arg2
Description
Returns 1 if arg1 or arg2 is non-zero, and 0 if not.
Provided By
Simics Core
output-file-start
Synopsis
output-file-start filename
Description
Send output to filename. Any output displayed in the Simics console that goes through
the output handler API will be written to the file.
Provided By
Simics Core
See Also
output-file-stop
output-file-stop
Synopsis
output-file-stop [filename]
Description
Stop sending output to file. If no filename is given, then the command will disable all
file output.
Provided By
Simics Core
See Also
output-file-start
output-radix
Synopsis
output-radix [base] [group]

649

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Changes or displays the default output radix for numbers. It 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 (_).
Currently, this only affects the output of the print command, and how return values
of commands are displayed.
Without arguments, the current setting will be shown.
Provided By
Simics Core
See Also
digit-grouping, print
pcapdump
Synopsis
pcapdump filename [link] [device]
Description
A trace of network traffic is saved to a file, in the format implemented by libpcap, for
use with libpcap based applications such as tcpdump and ethereal.
Provided By
ethernet-link
pdisable
Synopsis
pdisable [(cpu-name|-all)]
<processor>.disable
<processor>.enable
penable [(cpu-name|-all)]
Description
Enables a processor. If no processor is specified, the current processor will be enabled.
If the flag -all is passed, all processors will be enabled.
pdisable takes processor as parameter. If no processor is given, it will list all enabled
processors. The method variant can also be used to disable a processor. A disabled
processor is simply stalled for an infinite amount of time. Make sure that you always
have at least one enabled processor.
Provided By
Simics Core

650

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

penable
Synopsis
penable [(cpu-name|-all)]
<processor>.disable
<processor>.enable
pdisable [(cpu-name|-all)]
Description
Enables a processor. If no processor is specified, the current processor will be enabled.
If the flag -all is passed, all processors will be enabled.
pdisable takes processor as parameter. If no processor is given, it will list all enabled
processors. The method variant can also be used to disable a processor. A disabled
processor is simply stalled for an infinite amount of time. Make sure that you always
have at least one enabled processor.
Provided By
Simics Core
pfregs
Synopsis
pfregs [cpu-name] [fr]
Description
Prints the floating point register file of the processor cpu-name. The output includes
the values formatted in both floating-point form and raw hexadecimal form.
Provided By
ia64-itanium
Note
The floating-point values printed may be inaccurate depending on differences in the
range and precision between Python floats and IA64 floating point values.
pfregs deprecated
Synopsis
pfregs [cpu-name] [fr]
Description
This command is deprecated, use pregs instead.
Print binary contents of the floating point registers in hexadecimal form.
Provided By
alpha-ev5-turbo

651

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Note
The values printed may be inaccurate on hosts that are not IEEE-754 compliant.
pfregs
Synopsis
pfregs [cpu-name] [fr]
Description
Prints the floating point register file of the processor cpu-name. The output includes
the values formatted in both floating-point form and raw hexadecimal form.
Provided By
ia64-itanium
Note
The floating-point values printed may be inaccurate depending on differences in the
range and precision between Python floats and IA64 floating point values.
pfregs deprecated
Synopsis
pfregs [cpu-name] [fr]
Description
This command is deprecated, use pregs instead.
Print binary contents of the floating point registers in hexadecimal form.
Provided By
alpha-ev5-turbo
Note
The values printed may be inaccurate on hosts that are not IEEE-754 compliant.
pid
Synopsis
pid
Description
Outputs the process identity of the Simics process itself, useful for various things (such
as attaching a remote debugger).
Provided By
Simics Core
pipe
652

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
pipe command pipe
Description
This command runs command at the Simics prompt and pipes the output (stdout)
through the external program pipes stdin. Available on UNIX hosts only.
Provided By
Simics Core
piprs
Synopsis
piprs [cpu-name] [-verbose]
Description
Print the contents of all internal registers of processor cpu-name. If no CPU is specified
the current CPU will be selected. With -verbose, piprs will also print the description of
each register.
Provided By
alpha-ev5-turbo
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
pos
Synopsis
pos (line|function)
Description
Finds the address of a source line or a function in a given file (e.g., myfile.c:4711
or myfile.c:myfunction). If only a line number is specified, the command looks
at the current value of the program counter to determine the current file. (If this command is called from the symtable namespace, no current file is defined.) It may be
necessary to put the argument inside double quotes for it to be parsed correctly.
653

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
symtable
See Also
stack-trace, psym, symval
pow
Synopsis
arg1 pow arg2
Description
Return the arg1 to the power of arg2.
Provided By
Simics Core
pregs
Synopsis
pregs [cpu-name] [-all]
<processor>.pregs [-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
pregs-all
Synopsis
pregs-all [cpu-name]
Description
SPARC V9 command. Displays the integer processor registers in all windows, as well
as some most control registers such as the program counter.
Provided By
sparc-niagara-turbo
pregs-altivec
Synopsis
pregs-altivec [cpu-name]
<ppc7400>.pregs-altivec
654

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Prints the altivec vector register file of the processor cpu_name. If no CPU is specified,
the current CPU will be selected.
Provided By
ppc7400-turbo
pregs-fpu
Synopsis
pregs-fpu [cpu-name] [-f] [-x] [-i] [-b]
<ppc603e>.pregs-fpu [-f] [-x] [-i] [-b]
Description
Prints the contents of the floating point registers.
This command can take one subregister size flag and one formatting flag.
The formatting flags -f, -x, and -i select the formatting of the output. The -f flag prints
the floating-point values of the registers. The -x flag prints the contents of the registers
as hexadecimal integers. The -i flag prints the contents of the registers as decimal
integers. With the -b flag, the registers are printed in binary floating point form.
Provided By
ppc603e-turbo
pregs-hyper
Synopsis
pregs-hyper [cpu-name] [-all]
<processor>.pregs-hyper [-all]
<processor>.pregs-hyper [-all]
Description
Prints the UltraSPARC T1 specific hypervisor registers for cpu cpu-name. -all will provide a complete listing. If no CPU is specified, the currently selected frontend processor will be used.
Provided By
sparc-niagara
See Also
pregs, pregs-all
pregs-hyper
Synopsis
pregs-hyper [cpu-name] [-all]

655

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Prints the UltraSPARC T1 specific hypervisor registers for cpu cpu-name. -all will provide a complete listing. If no CPU is specified, the currently selected frontend processor will be used.
Provided By
sparc-niagara-turbo
See Also
pregs, pregs-all
pregs-hyper
Synopsis
pregs-hyper [cpu-name] [-all]
<processor>.pregs-hyper [-all]
<processor>.pregs-hyper [-all]
Description
Prints the UltraSPARC T1 specific hypervisor registers for cpu cpu-name. -all will provide a complete listing. If no CPU is specified, the currently selected frontend processor will be used.
Provided By
sparc-niagara
See Also
pregs, pregs-all
pregs-hyper
Synopsis
pregs-hyper [cpu-name] [-all]
Description
Prints the UltraSPARC T1 specific hypervisor registers for cpu cpu-name. -all will provide a complete listing. If no CPU is specified, the currently selected frontend processor will be used.
Provided By
sparc-niagara-turbo
See Also
pregs, pregs-all
print

656

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Alias
p
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
print-directories deprecated
Synopsis
print-directories
Description
This command is deprecated, use list-directories instead.
Provided By
Simics Core
print-double-regs deprecated
Synopsis
print-double-regs
Description
This command is deprecated, use <sparc_v9>.pregs-fpu instead.
SPARC V9 command. Prints contents of the 32 double precision floating point registers. Note that the first 16 overlaps with the 32 single precision floating points registers.
Provided By
sparc-niagara-turbo
Note
The values printed may be inaccurate on hosts that are not IEEE-754 compliant
See Also
print-float-regs, print-float-regs-raw
657

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

print-dtlb deprecated
Synopsis
print-dtlb [cpu-name]
Description
This command is deprecated, use <ppc603e>.print-dtlb instead.
Prints the contents of the data TLB of the processor cpu_name. If no CPU is specified,
the current CPU will be selected.
Provided By
ppc603e-turbo
print-event-queue
Alias
peq
Synopsis
print-event-queue [cpu-name] [queue] [-i]
Description
The simulator keeps an event queue for each processor. Interrupts, exceptions, and
other events are posted on this event queue. For each event, the time to its execution
and a brief description of it are printed. The time unit depends on the timing model
of the queue; the default is the number of instructions before the event is trigged. If
no CPU is specified, the selected frontend CPU is used. A queue argument of 0 means
that only the step queue is printed, and for 1, only the time queue. Default is to print
both queues. The flag -i enables printing of Simics internal events.
Provided By
Simics Core
print-float-regs deprecated
Synopsis
print-float-regs
Description
This command is deprecated, use <sparc_v9>.pregs-fpu instead.
SPARC V9 command. Prints contents of the single-precision floating point registers in
exponent form (32 of them).
Provided By
sparc-niagara-turbo
Note
The values printed may be inaccurate on hosts that are not IEEE-754 compliant.
658

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

See Also
print-double-regs, print-float-regs-raw
print-float-regs-raw deprecated
Synopsis
print-float-regs-raw
Description
This command is deprecated, use <sparc_v9>.pregs-fpu instead.
The entire floating point register bank is printed as integers, each double-precision register as a 64-bit number. The first half corresponds to the 32 single precision floatingpoint registers and the first 16 double precision registers, the second half is the rest of
the doubles.
Provided By
sparc-niagara-turbo
See Also
print-float-regs, print-double-regs
print-itlb deprecated
Synopsis
print-itlb [cpu-name]
Description
This command is deprecated, use <ppc603e>.print-itlb instead.
Prints the contents of the instruction TLB of the processor cpu_name. If no CPU is
specified, the current CPU will be selected.
Provided By
ppc603e-turbo
print-statistics
Alias
pstats
Synopsis
print-statistics [(cpu-name|-all)]
<processor>.print-statistics
Description
Prints various statistics from the simulation. The print-statistics command prints
statistics for the currently selected CPU if no argument is given and for all CPUs if the
-all flag given. Any statistics that have been compiled into the simulator are printed,
as well as user-defined per-mode counters.
659

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
print-time
Alias
ptime
Synopsis
print-time [cpu-name] [-s] [-c] [-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 a processor namespace (e.g., cpu0.print-time), the time for that processor is printed. Otherwise, the time for the current processor is printed, or, if the -all
flag is given, the time for all processors.
if the -c flag used, the cycle count for the processor is returned and nothing is printed.
The -s flag is similar and returns the step count.
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
print-tlb deprecated
Synopsis
print-tlb [cpu-name]
Description
This command is deprecated, use <mips>.print-tlb instead.
Prints the contents of the TLB of the processor cpu_name. If no CPU is specified, the
current CPU will be selected.
Provided By
mips-4kc-turbo
pselect
Alias
psel
Synopsis
pselect [cpu-name]
660

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Use this command to select a default processor for the frontend. Many commands that
have a processor as argument operates on the default processor when the argument is
left out. Note that selecting processors does not affect in which order they are executed
when multiprocessing is simulated.
Without any argument, this command will print the currently selected processor.
Provided By
Simics Core
pstatus
Synopsis
pstatus
Description
Show the enabled/disabled status of all processors in the Simics session.
Provided By
Simics Core
psym
Synopsis
psym expression
Description
Evaluates expression in the current stack frame, and prints the result in a humanreadable form. The only C operators allowed are casts, indirection, member selection,
and sizeof (thus no arithmetic). You may need to surround the expression by double
quotes if it contains certain meta-characters.
Provided By
symtable
See Also
stack-trace, frame, symval
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.
661

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
See Also
dirs, popd
pwd
Synopsis
pwd
Description
Print the working directory of Simics. Similar to the shell command pwd (print working directory).
Provided By
Simics Core
See Also
cd, ls
python
Synopsis
python exp
Description
exp will be evaluated in the Python environment and the result returned to the frontend. This can also be done by enclosing the Python code within backquotes (); e.g.,
print -x SIM_step_count(SIM_current_processor()).
Both expressions and statements can be run, but for statements the @ command can
be used instead.
run-python-file uses Simicss Search Path and path markers (%simics%, %script%) to
find the script to run. Refer to Simics User Guide (CLI chapter) for more information.
Provided By
Simics Core
See Also
@, run-python-file
quit
Alias
q, exit

662

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
quit [status]
Description
Stop Simics gracefully. The optional argument is the exit status of Simics.
Provided By
Simics Core
read-configuration
Synopsis
read-configuration file
Description
Read configuration from file. The configuration can be either a checkpoint or an initial
configuration. For information about how to create or modify configurations, see the
Simics User Guide.
Provided By
Simics Core
See Also
write-configuration
read-fp-reg-i
Synopsis
read-fp-reg-i reg-num
Description
SPARC V9 command. Prints a specific floating point register, as integer. This command supports the 32 single precision registers.
Provided By
sparc-niagara-turbo
read-fp-reg-x
Synopsis
read-fp-reg-x reg-num
Description
SPARC V9 command. Prints a specific floating point register, as integer. This command supports the 32 double precision registers.
Provided By
sparc-niagara-turbo
663

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

read-ipr
Synopsis
read-ipr [cpu-name] [(index|name)]
write-ipr [cpu-name] (index|name) value
Description
The Alpha microprocessor contains a file of internal processor registers (available only
to privileged software through PALcode routines) that allow the operating system to
interrogate and modify system state.
The read-ipr command reads the value of a single register. The register is specified
either by its name (e.g. pal_base) or its index (e.g. 0x10E).
The write_ipr commands writes the given value to the specified register.
Note that register names and indices differs between different Alpha implementations
(EV5, EV6, etc).
Provided By
alpha-ev5-turbo
read-reg
Synopsis
read-reg [cpu-name] reg-name
<processor>.read-reg reg-name
Description
This command reads a CPU register. For example, to read the eax register in an x86
processor called cpu0, write read-reg cpu0 eax. You can also use the method variant:
cpu0.read-reg eax, or the more convenient variant %eax that reads a register from the
selected frontend CPU.
If no cpu-name is supplied, the current frontend processor is used.
Provided By
Simics Core
See Also
%, write-reg, pregs, pselect

readme
Synopsis
readme
Description
Prints various useful information (README) about Simics.

664

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core

resolve-file
Alias
lookup-file
Synopsis
resolve-file filename
Description
Looks for the file filename in the Simics search path. If it is found, its complete path is
returned.
Provided By
Simics Core
reverse
Alias
rev
Synopsis
reverse [count]
Description
Runs the simulation in reverse. The simulation will stop at any breakpoints or after at
most count instructions (if specified).
Before the machine can be reversed, at least one time bookmark has to be set. Reverse
operations are possible in the region following the first (oldest) time bookmark.
Provided By
rev-execution
See Also
set-bookmark, skip-to

reverse-next-instruction
Alias
rnexti, rni
Synopsis
reverse-next-instruction

665

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
Provided By
Simics Core
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-line, <context>.next-instruction, <context>.reversenext-line, <context>.finish-function, <context>.uncall-function
reverse-next-line
Alias
rnext, rn
Synopsis
reverse-next-line
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
666

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

step-line, in which case the command will operate on the current context of the
current processor.
Provided By
Simics Core
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-line, <context>.next-instruction, <context>.reversenext-instruction, <context>.finish-function, <context>.uncall-function
reverse-step-instruction
Alias
ui, unstep-instruction, rstepi, rsi
Synopsis
reverse-step-instruction [count]
Description
Executes count instructions in reverse, printing each instruction at each step. count
defaults to one.
The reverse-next-instruction command is similar except that it does not reverse into
called functions.
Provided By
rev-execution
See Also
reverse-next-instruction, reverse-next-line, uncall-function, reverse-step-line
reverse-step-line
Alias
rstep, rs
Synopsis
reverse-step-line
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
667

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
Provided By
Simics Core
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-instruction,
<context>.next-line, <context>.next-instruction, <context>.reverse-next-line, <context>.reversenext-instruction, <context>.finish-function, <context>.uncall-function
reverse-to
Alias
revto
Synopsis
reverse-to (bookmark|instructions)
Description
Runs the simulation in reverse. The simulation will stop at any breakpoints or at the
specified (absolute) point in time if no breakpoints occurred.
At least one time bookmark has to be set before any reverse operations are possible.
Provided By
rev-execution
See Also
set-bookmark
rexec-limit
Alias
rlimit
Synopsis
rexec-limit [size_mb] [steps]
Description
Tunes various overall resource limits for reverse execution which affect both forward
and reverse performance.
size_mb limits the amount of memory used for reverse execution.
steps limits the scope of reversability to the specified number of steps.
668

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
rev-execution
rse-status
Synopsis
rse-status [cpu-name]
Description
Displays the current status of the Register Stack Engine and its backing store.
Provided By
ia64-itanium
run
Alias
continue, c, r
Synopsis
run [count]
Description
Tells Simics to start or continue executing instructions. If a count argument is provided,
Simics will execute count number of instructions and stop.
Provided By
Simics Core
See Also
step-instruction, run-cycles
run-command-file
Alias
include
Synopsis
run-command-file file
Description
This command starts executing a Simics script. A Simics script is an ordinary text
file that contains Simics commands. One command on each line. The syntax used is
exactly the same as when commands are typed at the Simics prompt. The # character
is used as the start of a comment and applies to the rest of the line.
Python code can also by executed by prefixing the line with @. Multi-line Python
statements can be used by leaving a blank line at the end of the statement. Only the
first line should have an @ in this case.
669

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Simics scripts usually ends with the suffix .simics but this is only a convention. The
suffix is ignored by Simics.
This is an example of a Simics script:
# This is a Simics script
break 0xffc000 # set a breakpoint
run
echo "breakpoint reached"
run-command-file another-script.simics
Simics scripts can be executed directly when Simics has started by using the -x command line option.
If a command fails or the user presses Control-C the Simics script is interrupted and
control returns to the Simics prompt.
run-command-file uses Simicss Search Path and path markers (%simics%, %script%)
to find the script to run. Refer to Simics User Guide (CLI chapter) for more information.
Provided By
Simics Core
See Also
run-python-file, add-directory
run-cycles
Alias
continue-cycles, cc, rc
Synopsis
run-cycles [count]
Description
Tells Simics to start or continue executing instructions. If a count argument is provided,
Simics will execute count number of cycles and stop. Note that running count cycles
may or may not be equivalent to running count instructions depending on the way
Simics is configured. Refer to the chapter Understanding Simics Timing in the Simics
User Guide for more information.
Provided By
Simics Core
See Also
step-cycle, run

670

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

run-python-file
Alias
source
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.
Provided By
Simics Core
See Also
python, @, run-command-file, add-directory
save-component-template
Synopsis
save-component-template file
Description
Save a configuration file with only component objects and their connection information. This template corresponds to an empty machine configuration, without any software setup. The saved component template can be loaded into Simics using the readconfiguration command, producing a collection of non-instantiated components.
Provided By
Simics Core
See Also
read-configuration, write-configuration, list-components
save-persistent-state
Synopsis
save-persistent-state file [-z] [-u]
Description
Save the persistent simulator state to a 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 file.
Use the -z flag for compressed images, or -u for uncompressed. The default is taken
from the preference object.

671

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
See Also
load-persistent-state, write-configuration
script-branch
Synopsis
script-branch
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.
script-branch { commands }
Provided By
Simics Core
See Also
list-script-branches, interrupt-script-branch, wait-for-variable, wait-for-hap, <text-console>.waitfor-string, <processor>.wait-for-cycle, <processor>.wait-for-step
select-profiles
Synopsis
select-profiles [ profiler . . . ]
Description
Specifies what profiles, if any, should be shown in subsequent source code listings,
and in what order. Use without argument to show none.
Provided By
symtable
set
Synopsis
set address value [size] [-l] [-b]
<memory-space>.set address value [size] [-l] [-b]
Description
Set the size bytes of physical memory at location 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, behavior is undefined.
672

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

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.
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-bookmark
Alias
bookmark, bo
Synopsis
set-bookmark [bookmark]
Description
Associates a time bookmark with the current point in the simulation. The bookmark
can be used as a target to the skip-to command.
Reverse operations are possible in the region following the first (i.e. oldest) time bookmark.
Setting a time bookmark can cause a certain reduction in forward simulation performance (deleting all bookmarks will restore the original performance).
Provided By
rev-execution
See Also
delete-bookmark, reverse, skip-to
set-component-prefix
Synopsis
set-component-prefix prefix
Description
Sets a string prefix that will be added to the names of all component objects that are
created after the invocation of this command.
Provided By
Simics Core
See Also
get-component-prefix
673

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

set-context
Synopsis
set-context context
<processor>.set-context context
Description
Sets the current context of the processor cpu (or the selected cpu) to context. If the
context does not exist, it is created.
Provided By
Simics Core
See Also
new-context, <context>.symtable
set-memory-limit
Synopsis
set-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 Simicss 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,
and number of processors, on the host system.
Provided By
Simics Core
set-pattern
Synopsis
set-pattern id pattern mask
Description
When set for breakpoint id Simics will only break on instructions with a certain bitpattern. First the mask will be applied to the instruction and then the result will be
compared with the pattern. For example set-pattern 1 0x0100 0x0101 will specialize breakpoint 1 to break on instructions whose first byte has the lowest bit set and the
second not.
Since an instruction may be longer than the longest supported integer in the frontend,
both pattern and mask must be supplied as strings.
Set pattern and mask to the empty string () to remove this extra condition.
674

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
Note
Only supported for execution breakpoints.
See Also
set-prefix, set-substr
set-pc
Synopsis
set-pc address
<processor>.set-pc address
Description
Set program counter (instruction pointer) of the CPU (defaults to the current frontend
processor) to address.
Provided By
Simics Core
set-prefix
Synopsis
set-prefix id prefix
Description
Set a syntax prefix for a breakpoint. When set Simics will only break on instructions
with a certain syntax prefix. For example set-prefix 1 add will cause breakpoint 1
only to 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.
Set prefix to the empty string () to remove this extra condition.
Provided By
Simics Core
Note
Only supported for execution breakpoints.
See Also
set-substr, set-pattern
set-simics-id deprecated
Synopsis
set-simics-id id
675

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
This command is deprecated, use the new central system instead.
Provided By
Simics Core

set-substr
Synopsis
set-substr id substr
Description
When set Simics will only break on instructions with a certain syntax substring. For
example set-substr 1 r31 will make breakpoint 1 only stop if the instruction has a
substring r31.
Set sub-string to the empty string () to remove this extra condition.
Provided By
Simics Core
Note
Only supported for execution breakpoints.
See Also
set-prefix, set-pattern
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
signed16

676

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
signed16 int
signed 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
signed32
Synopsis
signed32 int
signed int
signed16 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
signed64
Synopsis
signed64 int
signed int
signed16 int
signed32 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
signed8
677

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
signed8 int
signed int
signed16 int
signed32 int
signed64 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
simics-module-symbols
Synopsis
simics-module-symbols [name]
Description
Populate symbol table with symbols corresponding to the memory mappings.
Provided By
perfanalyze-client
skip-to
Alias
st
Synopsis
skip-to (bookmark|instructions)
Description
Skips to the specified point in time. The target position can either be a label previously
defined by set-bookmark or an absolute instruction count.
Provided By
rev-execution

stack-trace
Alias
bt, where
Synopsis
stack-trace [maxdepth]
678

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

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
symtable
See Also
frame
start-logical-memory-translator
Synopsis
start-logical-memory-translator
Description
Create a logical memory translator and plug it to all cpus available in the system.
Provided By
logical-memory-translator

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
- port port number on which the receiver is waiting for a connection
- compression is the compression used (none, bz2, gz)
- 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
- compression is the compression used (none, bz2, gz)
- name is the name of the object to be created. Default is saX where X is a number. 679

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

align is the alignment of the structures inside the file. It can be useful to set it so that
objects saving their state are sure to get correctly aligned structures. Default is 8 which
is sufficient for most hosts. - 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 it to the current execution.
- name is the name of the object. A default name in saX is provided if none is given.
- file is the name of the state assertion file
- compression is the compression used on the file (none, bz2, gz) - post_events
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
- compression is the compression used on the file (none, bz2, gz) - name is the name of
the object. A default name in saX is provided if none is given.
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.

680

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
state-assertion
state-assertion-simple-record
Synopsis
state-assertion-simple-record [file] [compression] [object-name] [steps] [type]
Description
Create a file (by default /tmp/state-assertion-$USER.gz) and save the state of object
every steps steps. You just have to run c afterwards to begin the recording.
object is the simics object whose state will be recorded. steps is the number of steps
between each state recording (default is 1).
Provided By
state-assertion
stc-status
Synopsis
stc-status
dstc-disable
dstc-enable
istc-disable
istc-enable
Description
These commands are for advanced users 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), while the I-STC caches instruction translations of taken jumps.
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 otherwise 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 faulty. 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
step-break
Alias
sb, sim-break

681

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
step-break [cpu-name] instructions
<processor>.step-break instructions
Description
Sets a breakpoint so that the CPU will stop after executing instructions number of steps
from the time the command was issued. If the CPU is not specified the selected frontend processor will be used (see pselect).
To list all breakpoints set use the command list-breakpoints.
Provided By
Simics Core
See Also
step-break-absolute, cycle-break, cycle-break-absolute, list-breakpoints
step-break-absolute
Alias
sba, sim-break-absolute
Synopsis
step-break-absolute [cpu-name] instructions
<processor>.step-break-absolute instructions
Description
Set a breakpoint so that the selected CPU will stop after its step counter has reached
the instructions value. If the CPU is not specified the selected frontend processor will
be used (see pselect).
To list all breakpoints set use the command list-breakpoints.
Provided By
Simics Core
See Also
step-break-absolute, cycle-break, cycle-break-absolute, list-breakpoints
step-cycle
Alias
sc
Synopsis
step-cycle [count]
Description
Executes count cycles, printing the next instruction to be executed at each cycle. count
defaults to one.
682

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
See Also
step-cycle-single, run, step-instruction
step-cycle-single
Alias
scs
Synopsis
step-cycle-single [-n]
Description
Used with the Micro Architectural Interface only. step-cycle-single executes one cycle
on the current processor, switches to the next processor and prints the next instruction to be committed. Repeated use will thus advance each processor in a round robin
fashion. -n will prevent step-cycle-single from printing the next instruction after executing.
Provided By
Simics Core
See Also
step-cycle, step-instruction, run
step-instruction
Alias
si, stepi
Synopsis
step-instruction [count] [-r]
Description
Executes count instructions, printing the next instruction to be executed at each step.
count defaults to one. With the -r flag, register changes will also be printed.
Provided By
Simics Core
See Also
run, step-cycle, step-cycle-single
step-line

683

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Alias
step, s
Synopsis
step-line
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
Provided By
Simics Core
See Also
<context>.step-instruction, <context>.reverse-step-line, <context>.reverse-step-instruction,
<context>.next-line, <context>.next-instruction, <context>.reverse-next-line, <context>.reversenext-instruction, <context>.finish-function, <context>.uncall-function
stop
Synopsis
stop [-a] [message]
Description
Stop simulation as soon as possible. If the -a argument is give, any command script
running will also be interrupted. A message to be printed on the console when the
simulation stops can also be specified.
Provided By
Simics Core
See Also
run

684

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

sum deprecated
Synopsis
sum [cpu-name] address size [-w8] [-w16] [-w32]
<processor>.sum address size [-w8] [-w16] [-w32]
Description
This command is deprecated, use python instead.
Sum a memory range. The width of the running sum is specified with the -w8 (default), -w16, or -w32 flag, standing for 8, 16, and 32 bits respectively.
Provided By
Simics Core
symval
Alias
sym
Synopsis
symval expression
Description
Evaluates expression in the current stack frame. The only C operators allowed are
casts, indirection, member selection, and sizeof (thus no arithmetic). You may need
to surround the expression by double quotes if it contains certain meta-characters. In
contrast to psym, the result is returned as an unadorned value that can be used in CLI
expressions.
Provided By
symtable
See Also
stack-trace, frame, psym
tcpdump
Synopsis
tcpdump [link] [device] [tcpdump-flags]
Description
Runs the tcpdump program in a separate console, with network traffic captured from
simulated ethernet networks. The tcpdump-flags are passed on unmodified to tcpdump.
Provided By
ethernet-link

685

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

tlb-status
Synopsis
tlb-status [cpu-name]
Description
Displays the current status of the two TLBs.
Provided By
ia64-itanium
trace-breakpoint
Synopsis
trace-breakpoint (breakpoint|-all|-list)
untrace-breakpoint (breakpoint|-all|-list)
Description
Enables and disables tracing of breakpoints. When enabled, breakpoint hits will be
traced to the console instead of stopping the simulation.
The id parameter specifies the breakpoint to trace.
Instead of an id, the -all flag may be given. This will enable or disable tracing of all
breakpoints.
Provided By
Simics Core
trace-cr
Synopsis
trace-cr (register|-all|-list)
<processor>.trace-cr (register|-all|-list)
<processor>.untrace-cr (register|-all|-list)
untrace-cr (register|-all|-list)
Description
Enables and disables 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 reg-name parameter specifies which control register should be traced. The available control registers depends on the simulated target.
Instead of a register name, the -all flag may be given. This will enable or disable
tracing of all control register.
Provided By
Simics Core
686

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

See Also
break-cr
trace-exception
Synopsis
trace-exception (number|name|-all|-list)
untrace-exception (number|name|-all|-list)
Description
Enables and disables tracing of exceptions. When this is enabled, every time the specified exception occurs during simulation a message is printed.
The exception parameter specifies which exception should be traced. The available
exceptions depends on the simulated target.
Instead of an exception, the -all flag may be given. This will enable or disable tracing
of all exceptions.
Provided By
Simics Core
See Also
break-exception
trace-hap
Synopsis
trace-hap (hap|-all|-list)
untrace-hap (hap|-all|-list)
Description
Enables and disables tracing of haps. When this is enabled, every time the specified
hap is triggered a message is printed.
The hap parameter specifies the hap.
Instead of a hap, the -all flag may be given. This will enable or disable tracing of all
haps.
Provided By
Simics Core
See Also
break-hap, list-haps
trace-io
Synopsis
trace-io (device|-all|-list)
untrace-io (device|-all|-list)
687

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Enables and disables tracing of device accesses. When this is enabled, every time the
specified device is accessed during simulation a message is printed.
The device parameter specifies the device object that should be traced.
Instead of an object name, the -all flag may be given. This will enable or disable
tracing of all devices.
Provided By
Simics Core
See Also
break-io
trap-info
Synopsis
trap-info
Description
Print information about current traps. This includes info such as trap type, time of
trap, and source reference to trap PC for all trap levels.
Provided By
sparc-niagara-turbo

unbreak
Synopsis
unbreak (id|-all) address length [-r] [-w] [-x]
Description
Removes an address range from a breakpoint, splitting the breakpoint if necessary.
-r (read), -w (write) and -x (execute) specify the type of breakpoint that should be
removed in the given address range. It defaults to execute if no flag is given. id is the
id number of the breakpoint to operate on. To operate on all breakpoints at once, use
the -all flag. list-breakpoints prints all breakpoints id.
Provided By
Simics Core
See Also
<breakpoint>.break, delete

unbreak-cr

688

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
unbreak-cr (register|-all|-list)
<processor>.break-cr (register|-all|-list)
<processor>.unbreak-cr (register|-all|-list)
break-cr (register|-all|-list)
Description
Enables and disables breaking simulation on 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 reg-name parameter specifies which control register should be traced. The available control registers depends on the simulated target.
Instead of a register name, the -all flag may be given. This will enable or disable
tracing of all control register.
Provided By
Simics Core
See Also
trace-cr, <breakpoint>.break
unbreak-exception
Synopsis
unbreak-exception (number|name|-all|-list)
break-exception (number|name|-all|-list)
Description
Enables and disables breaking simulation on exceptions. When this is enabled, every
time the specified exception occurs uring simulation a message is printed.
The exception parameter specifies which exception should be traced. The available
exceptions depends on the simulated target.
Instead of an exception, the -all flag may be given. This will enable or disable tracing
of all exceptions.
Provided By
Simics Core
See Also
trace-exception, <breakpoint>.break
unbreak-hap
Synopsis
unbreak-hap (hap|-all|-list)
break-hap (hap|-all|-list)
689

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Enables and disables breaking simulation on haps. When this is enabled, every time
the specified hap is triggered a message is printed and simulation is stopped.
The hap parameter specifies the hap.
Instead of a hap, the -all flag may be given. This will enable or disable breaking on
all haps.
Provided By
Simics Core
See Also
trace-hap, list-haps
unbreak-io
Synopsis
unbreak-io (device|-all|-list)
break-io (device|-all|-list)
Description
Enables and disables breaking simulation on device accesses. When this is enabled,
every time the specified device is accessed during simulation a message is printed and
the simulation stops.
The device parameter specifies which device object should be traced.
Instead of an object name, the -all flag may be given. This will enable or disable
breaking on accesses to all device.
Provided By
Simics Core
See Also
trace-io, <breakpoint>.break
uncall-function
Alias
uncall
Synopsis
uncall-function
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
690

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

running backwards. next-instruction and reverse-next-instruction are like next-line


and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
Provided By
Simics Core
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-line, <context>.next-instruction, <context>.reversenext-line, <context>.reverse-next-instruction, <context>.finish-function
undisplay
Synopsis
undisplay expression-id
Description
Remove a Python expression, or a frontend statement that was previously installed
with the display command. The argument is the id number of the expression, as listed
by display -l.
Provided By
Simics Core
See Also
display
unload-module
Synopsis
unload-module module
Description
Unload a module (Simics extension). Note that not all modules can be unloaded.
Provided By
Simics Core
See Also
load-module
691

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

unset
Synopsis
unset [-a] [ variables . . . ]
Description
Removes (unsets) a Simics environment variable. The -a flag causes all variables to be
removed, except the ones specified as variables.
Provided By
Simics Core
untrace-breakpoint
Synopsis
untrace-breakpoint (breakpoint|-all|-list)
trace-breakpoint (breakpoint|-all|-list)
Description
Enables and disables tracing of breakpoints. When enabled, breakpoint hits will be
traced to the console instead of stopping the simulation.
The id parameter specifies the breakpoint to trace.
Instead of an id, the -all flag may be given. This will enable or disable tracing of all
breakpoints.
Provided By
Simics Core
untrace-cr
Synopsis
untrace-cr (register|-all|-list)
<processor>.trace-cr (register|-all|-list)
<processor>.untrace-cr (register|-all|-list)
trace-cr (register|-all|-list)
Description
Enables and disables 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 reg-name parameter specifies which control register should be traced. The available control registers depends on the simulated target.
Instead of a register name, the -all flag may be given. This will enable or disable
tracing of all control register.

692

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Provided By
Simics Core
See Also
break-cr
untrace-exception
Synopsis
untrace-exception (number|name|-all|-list)
trace-exception (number|name|-all|-list)
Description
Enables and disables tracing of exceptions. When this is enabled, every time the specified exception occurs during simulation a message is printed.
The exception parameter specifies which exception should be traced. The available
exceptions depends on the simulated target.
Instead of an exception, the -all flag may be given. This will enable or disable tracing
of all exceptions.
Provided By
Simics Core
See Also
break-exception
untrace-hap
Synopsis
untrace-hap (hap|-all|-list)
trace-hap (hap|-all|-list)
Description
Enables and disables tracing of haps. When this is enabled, every time the specified
hap is triggered a message is printed.
The hap parameter specifies the hap.
Instead of a hap, the -all flag may be given. This will enable or disable tracing of all
haps.
Provided By
Simics Core
See Also
break-hap, list-haps
untrace-io
693

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
untrace-io (device|-all|-list)
trace-io (device|-all|-list)
Description
Enables and disables tracing of device accesses. When this is enabled, every time the
specified device is accessed during simulation a message is printed.
The device parameter specifies the device object that should be traced.
Instead of an object name, the -all flag may be given. This will enable or disable
tracing of all devices.
Provided By
Simics Core
See Also
break-io
up
Synopsis
up [N]
Description
Moves N frames up the stack (towards the outermost frame). N defaults to one.
Provided By
symtable
See Also
frame, down, stack-trace
v9-sol9-idle-opt
Synopsis
v9-sol9-idle-opt memory-space [-multi-pro]
Description
Adds idle loop optimization to a simulated SPARC machine running Solaris 9. The
memory_space argument must specify the physical memory space of the simulated machine. The -multi-pro flag must be specified for simulated multi-pro machines.
Provided By
v9-sol9-idle-opt

version

694

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
version [-v]
Description
Prints the Simics version. With the -v flag, compiler version and compile dates are
printed as well.
Provided By
Simics Core
wait-for-hap
Synopsis
wait-for-hap hap [object] [idx0] [idx1] [ret]
Description
Postpones execution of a script branch until hap occurs. The optional argument obj
limits the haps to a specific object, and idx0, idx1 can be used for indexed and range
haps. The data associated with the hap can be saved into the named variable specified
by ret. This variable will be indexed, with local scope.
Provided By
Simics Core
See Also
script-branch, wait-for-variable, <text-console>.wait-for-string, <processor>.wait-forcycle, <processor>.wait-for-step
wait-for-variable
Synopsis
wait-for-variable variable
Description
Postpones execution of a script branch until a CLI variable is written by some other
script branch or the main thread.
Provided By
Simics Core
See Also
script-branch, wait-for-hap, <text-console>.wait-for-string, <processor>.wait-for-cycle,
<processor>.wait-for-step
whereis
Synopsis
whereis [-d] address
695

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Description
Displays the function or variable and (if possible) the source file and line number
corresponding to address. If -d is specified, searches only data symbols. Does not look
for stack-allocated variables.
Provided By
symtable
See Also
pos, psym

while
Synopsis
while
Description
Runs a block of commands while condition is true.
while <condition> { commands }
Provided By
Simics Core
See Also
if
write-configuration
Synopsis
write-configuration file [-z] [-u]
Description
Write configuration to disk. In addition to the main text configuration file, objects may
create additional files with names starting with file. Note that some classes save their
state incrementally meaning that files from earlier checkpoints (or from the starting
configuration) may be referenced in the new checkpoint.
Use the -z flag for compressed images, or -u for uncompressed. The default is taken
from the preference object.
Provided By
Simics Core
See Also
read-configuration, save-persistent-state

696

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

write-fp-reg-i
Synopsis
write-fp-reg-i reg-num value
Description
SPARC V9 command. Writes floating point register (as integer).
Allows you to selectively modify a floating point register. Note: takes new value in 32
bit integer format.
Provided By
sparc-niagara-turbo
write-fp-reg-x
Synopsis
write-fp-reg-x reg-num value
Description
SPARC V9 command. Writes floating point register (as 64 bit integer).
Allows you to selectively modify a floating point register.
Note: takes new value in 64 bit integer format.
Provided By
sparc-niagara-turbo
write-ipr
Synopsis
write-ipr [cpu-name] (index|name) value
read-ipr [cpu-name] [(index|name)]
Description
The Alpha microprocessor contains a file of internal processor registers (available only
to privileged software through PALcode routines) that allow the operating system to
interrogate and modify system state.
The read-ipr command reads the value of a single register. The register is specified
either by its name (e.g. pal_base) or its index (e.g. 0x10E).
The write_ipr commands writes the given value to the specified register.
Note that register names and indices differs between different Alpha implementations
(EV5, EV6, etc).
Provided By
alpha-ev5-turbo
write-reg
697

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
write-reg [cpu-name] reg-name value
<processor>.write-reg reg-name value
Description
Use this command to set the value of a CPU register. For example, to set the eax
register on the x86 processor cpu0 to 3, write write-reg cpu0 eax 3. You can also use
the method variant: cpu0.write-reg eax 3.
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, pregs, pselect
x
Synopsis
x [cpu-name] address [size]
<memory-space>.x address [size]
<processor>.x address [size]
Description
Display the contents of a memory space starting at address. Either the memory space
is explicitly specified as in <memory-space>.x or the CPU connected to the memory space can be specified; e.g., <processor>.x. By itself, x operates on the memory
connected to the current frontend processor.
If the memory is accessed via a CPU, 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 it will be interpreted as a virtual address. On x86 the default is
ds:address (data segment addressing).
The size argument specifies the number of bytes to examine. When examining virtual
memory, only addresses which can be found in the TLB or hardware page tables (if
any) are shown. Unmapped addresses are shown as --, undefined physical addresses as **.
Provided By
Simics Core
See Also
disassemble, get, set

698

VIRTUTECH CONFIDENTIAL

4.3. Global Command Descriptions

Synopsis
arg1
Description
Bitwise not.
Provided By
Simics Core

699

VIRTUTECH CONFIDENTIAL

Chapter 5

Modules
405gp-devices
Filename
405gp-devices.so
Classes
ppc405gp-cpc
ppc405gp-ebc
ppc405gp-emac
ppc405gp-gpio
ppc405gp-iic
ppc405gp-mal
ppc405gp-mc
ppc405gp-pci
ppc405gp-uic

440gp-devices
Filename
440gp-devices.so
Classes

ppc440gp-cpc
ppc440gp-dma
ppc440gp-ebc
ppc440gp-emac
ppc440gp-gpio
ppc440gp-iic
ppc440gp-mal
ppc440gp-mc
ppc440gp-pci

700

VIRTUTECH CONFIDENTIAL
ppc440gp-plb
ppc440gp-sram
ppc440gp-uic
ppc440gp-zmii
440gx-devices
Filename
440gx-devices.so
Classes

ppc440gx-cpc
ppc440gx-cpr
ppc440gx-dma
ppc440gx-ebc
ppc440gx-emac
ppc440gx-gpio
ppc440gx-iic
ppc440gx-l2c
ppc440gx-mal
ppc440gx-opb
ppc440gx-pci
ppc440gx-plb
ppc440gx-rgmii
ppc440gx-sdr
ppc440gx-sdram
ppc440gx-sram
ppc440gx-uic
ppc440gx-zmii

460GX
Filename
460GX.so
Classes
i82461GX
i82468GX_0
uPD66566S1016

8042
Filename
8042.so
701

VIRTUTECH CONFIDENTIAL
Classes
i8042

82077
Filename
82077.so
Classes
floppy-drive
i82077

8237x2
Filename
8237x2.so
Classes
i8237x2

82443BX
Filename
82443BX.so
Classes
i82443bx
i82443bx_agp

8254
Filename
8254.so
Classes
i8254

8259x2
Filename
8259x2.so
702

VIRTUTECH CONFIDENTIAL
Classes
i8259x2

ADM1031
Filename
ADM1031.so
Classes
ADM1031

alpha-components
Filename
alpha_components.py
Classes
alpha-lx164-system
south-bridge-saturn

Global Commands
create-alpha-lx164-system
create-south-bridge-saturn
import-alpha-components

create a non-instantiated alpha-lx164-system


create a non-instantiated south-bridge-saturn
import a component collection

alpha-ev5
Filename
alpha-ev5.so
Classes
alpha-ev5

alpha-ev5-turbo
Filename
alpha-ev5-turbo.so
Classes
alpha-ev5

703

VIRTUTECH CONFIDENTIAL
Haps
Turbo_New_Code_Block

Global Commands
load-rom load a ROM image into memory.
pfregs
deprecated print floating point registers
piprs
print internal processor registers
read-ipr
read/write internal processor register
write-ipr write internal processor register

AM29F016
Filename
AM29F016.so
Classes
AM29F016

AM79C960
Filename
AM79C960.so
Classes
AM79C960

AM79C960-dml
Filename
AM79C960-dml.so
Classes
AM79C960-dml

AM79C973
Filename
AM79C973.so
Classes
AM79C973

704

VIRTUTECH CONFIDENTIAL
apic
Filename
apic.so
Classes
apic
apic-bus

apm
Filename
apm.so
Classes
apm

arm-sa1110-components
Filename
sa1110_components.py
Classes
arm-sa1110-system

Global Commands
create-arm-sa1110-system
import-arm-sa1110-components
new-arm-sa1110-system

create a non-instantiated arm-sa1110-system


import a component collection
create an instantiated arm-sa1110-system

armv5te
Filename
armv5te.so
Classes
armv5te

armv5te-turbo
Filename
armv5te-turbo.so
705

VIRTUTECH CONFIDENTIAL
Classes
armv5te

artesyn-pm-ppc
Filename
artesyn-pm-ppc.so
Classes
artesyn-pm-ppc

AT24C164
Filename
AT24C164.so
Classes
AT24C164

AT24CS256
Filename
AT24CS256.so
Classes
AT24CS256

BCM5703C
Filename
BCM5703C.so
Classes
BCM5703C

BCM5704C
Filename
BCM5704C.so

706

VIRTUTECH CONFIDENTIAL
Classes
BCM5704C

bitmask-translator
Filename
bitmask-translator.so
Classes
bitmask-translator

cassini
Filename
cassini.so
Classes
cassini
cassini_sub

central
Filename
central.so
Classes
central-client
central-server

Global Commands
connect-central
new-central-server

connect to Simics Central


create a Simics Central server

cheerio-e2bus
Filename
cheerio-e2bus.so
Classes
cheerio-e2bus

707

VIRTUTECH CONFIDENTIAL
cheerio-hme
Filename
cheerio-hme.so
Classes
cheerio-hme

cheetah+mmu
Filename
cheetah+mmu.so
Classes
cheetah-plus-mmu

Haps
MMU_Context_Register_Write
MMU_Data_TLB_Demap
MMU_Data_TLB_Map
MMU_Data_TLB_Overwrite
MMU_Data_TLB_Replace
MMU_Instruction_TLB_Demap
MMU_Instruction_TLB_Map
MMU_Instruction_TLB_Overwrite
MMU_Instruction_TLB_Replace
MMU_Register_Write

cheetah-mmu
Filename
cheetah-mmu.so
Classes
cheetah-mmu

708

VIRTUTECH CONFIDENTIAL
Haps
MMU_Context_Register_Write
MMU_Data_TLB_Demap
MMU_Data_TLB_Map
MMU_Data_TLB_Overwrite
MMU_Data_TLB_Replace
MMU_Instruction_TLB_Demap
MMU_Instruction_TLB_Map
MMU_Instruction_TLB_Overwrite
MMU_Instruction_TLB_Replace
MMU_Register_Write

CL-PD6729
Filename
CL-PD6729.so
Classes
CL-PD6729

clock
Filename
clock.so
Classes
clock

consistency-controller
Filename
consistency-controller.so
Classes
consistency-controller

context-switcher
Filename
context_switcher.py

709

VIRTUTECH CONFIDENTIAL
Classes
context-switcher

Global Commands
new-context-switcher

create new context switcher

cpc700
Filename
cpc700.so
Classes
cpc700-gpt
cpc700-iic
cpc700-mc
cpc700-pci
cpc700-pi
cpc700-uic

cpu-group
Filename
cpu-group.so
Classes
cpu-group

cpu-mode-tracker
Filename
cpu_mode_tracker.py
Classes
cpu-mode-tracker

Global Commands
new-cpu-mode-tracker

create new cpu mode tracker

CS8900A
710

VIRTUTECH CONFIDENTIAL
Filename
CS8900A.so
Classes
CS8900A

CY82C693
Filename
CY82C693.so
Classes
CY82C693_0
CY82C693_1
CY82C693_2

DEC21041
Filename
DEC21041.so
Classes
DEC21041

DEC21140A
Filename
DEC21140A.so
Classes
DEC21140A

DEC21140A-dml
Filename
DEC21140A-dml.so
Classes
DEC21140A-dml

DEC21143
711

VIRTUTECH CONFIDENTIAL
Filename
DEC21143.so
Classes
DEC21143

DS12887
Filename
DS12887.so
Classes
DS12887

Haps
RTC_Nvram_Update

DS12887-dml
Filename
DS12887-dml.so
Classes
DS12887-dml

DS1621
Filename
DS1621.so
Classes
DS1621

DS1743P
Filename
DS1743P.so
Classes
DS1743P

712

VIRTUTECH CONFIDENTIAL
DS17485
Filename
DS17485.so
Classes
DS17485

Haps
RTC_Nvram_Update

ebony-fpga
Filename
ebony-fpga.so
Classes
ebony-fpga

empty-device
Filename
empty-device.so
Classes
empty-device

etg
Filename
etg.so
Classes
etg

Haps
ETG_New_Arp_Entry

713

VIRTUTECH CONFIDENTIAL
Global Commands
new-etg Create an Ethernet traffic generator

eth-transceiver
Filename
eth-transceiver.so
Classes
eth-transceiver

ethernet-link
Filename
ethernet-link.so
Classes
ethernet-link

Haps
Ethernet_Frame

Global Commands
connect-real-network-bridge
connect-real-network-host
connect-real-network-router
disconnect-real-network
ethereal
network-helper
new-ethernet-link
pcapdump
tcpdump

connect bridge between real and simulated network


connect real host to the simulated network
connect router between real and simulated network
disconnect from the real network
run the ethereal program
set/show name of host network helper
create a new ethernet link
save traffic in libpcap format
run the tcpdump program

FAS366U
Filename
FAS366U.so
Classes
FAS366U

714

VIRTUTECH CONFIDENTIAL
fc-disk
Filename
fc-disk.so
Classes
fc-disk

Haps
FC_SCSI_Command

fiesta-components
Filename
fiesta_components.py
Classes
enchilada-system
south-bridge-sun-md1535d
taco-system

Global Commands
create-enchilada-system
create-south-bridge-sun-md1535d
create-taco-system

create a non-instantiated enchilada-system


create a non-instantiated south-bridge-sun-md1535d
create a non-instantiated taco-system

fiesta-system
Filename
fiesta_system.py
Classes
fiesta-system

fiesta-tomatillo
Filename
fiesta-tomatillo.so
Classes
fiesta-tomatillo

715

VIRTUTECH CONFIDENTIAL
file-cdrom
Filename
file-cdrom.so
Classes
file-cdrom

Global Commands
new-file-cdrom

create new file-cdrom object

flash-memory
Filename
flash-memory.so
Classes
flash-memory

fourport
Filename
fourport.so
Classes
fourport

frontend-server
Filename
frontend-server.so
Classes
frontend-server

ftp_alg
Filename
ftp_alg.so

716

VIRTUTECH CONFIDENTIAL
Classes
ftp-alg

g-cache
Filename
g-cache.so
Classes
g-cache
trans-sorter
trans-splitter

g-cache-ooo
Filename
g-cache-ooo.so
Classes
g-cache-ooo
trans-sorter
trans-splitter-ooo

gdb-remote
Filename
gdb-remote.so
Classes
gdb-remote

Haps
GDB_Stopped

Global Commands
gdb-remote
new-gdb-remote

start gdb-remote
create a gdb session

GT64120
717

VIRTUTECH CONFIDENTIAL
Filename
GT64120.so
Classes
GT64120
GT64120-pci

host-cdrom
Filename
host-cdrom.so
Classes
host-cdrom

Global Commands
new-host-cdrom

create new host-cdrom object

hostfs
Filename
hostfs.so
Classes
hostfs

i21150
Filename
i21150.so
Classes
i21150

i21152
Filename
i21152.so
Classes
i21152

718

VIRTUTECH CONFIDENTIAL
i21554
Filename
i21554.so
Classes
i21554-prim
i21554-scnd

i21555
Filename
i21555.so
Classes
i21555-prim
i21555-scnd

i2c-bus
Filename
i2c-bus.so
Classes
i2c-bus

ia64-components
Filename
ia64_components.py
Classes
ia64-460gx-system
itanium-cpu

Global Commands
create-ia64-460gx-system
create-itanium-cpu
import-ia64-components
new-ia64-460gx-system

create a non-instantiated ia64-460gx-system


create a non-instantiated itanium-cpu
import a component collection
create an instantiated ia64-460gx-system

ia64-itanium
719

VIRTUTECH CONFIDENTIAL
Filename
ia64-itanium.so
Classes
ia64-itanium

Global Commands
fpsr
interrupt-status
pfregs
rse-status
tlb-status

print floating point status register


display interrupt status
print floating point registers
display RSE status
display tlb status

ia64-itanium2
Filename
ia64-itanium2.so
Classes
ia64-itanium2

ICS951601
Filename
ICS951601.so
Classes
ICS951601

id-splitter
Filename
id-splitter.so
Classes
id-splitter

ide
Filename
ide.so
720

VIRTUTECH CONFIDENTIAL
Classes
ide
ide-cdrom
ide-disk

io-apic
Filename
io-apic.so
Classes
io-apic

isa
Filename
isa.so
Classes
ISA

isa-components
Filename
isa_components.py
Classes
isa-lance
isa-vga
pc-dual-serial-ports
pc-floppy-controller
pc-quad-serial-ports
pc-single-parallel-port
ps2-keyboard-mouse
sio-lpc47m172
sio-w83627hf
std-super-io

721

VIRTUTECH CONFIDENTIAL
Global Commands
create-isa-lance
create-isa-vga
create-pc-dual-serial-ports
create-pc-floppy-controller
create-pc-quad-serial-ports
create-pc-single-parallel-port
create-ps2-keyboard-mouse
create-sio-lpc47m172
create-sio-w83627hf
create-std-super-io

create a non-instantiated isa-lance


create a non-instantiated isa-vga
create a non-instantiated pc-dual-serial-ports
create a non-instantiated pc-floppy-controller
create a non-instantiated pc-quad-serial-ports
create a non-instantiated pc-single-parallel-port
create a non-instantiated ps2-keyboard-mouse
create a non-instantiated sio-lpc47m172
create a non-instantiated sio-w83627hf
create a non-instantiated std-super-io

ISP1040
Filename
ISP1040.so
Classes
ISP1040

ISP2200
Filename
ISP2200.so
Classes
ISP2200

jaguar-mmu
Filename
jaguar-mmu.so
Classes
jaguar-mmu

722

VIRTUTECH CONFIDENTIAL
Haps
MMU_Context_Register_Write
MMU_Data_TLB_Demap
MMU_Data_TLB_Map
MMU_Data_TLB_Overwrite
MMU_Data_TLB_Replace
MMU_Instruction_TLB_Demap
MMU_Instruction_TLB_Map
MMU_Instruction_TLB_Overwrite
MMU_Instruction_TLB_Replace
MMU_Register_Write

jalapeno-mmu
Filename
jalapeno-mmu.so
Classes
jalapeno-mmu

Haps
MMU_Context_Register_Write
MMU_Data_TLB_Demap
MMU_Data_TLB_Map
MMU_Data_TLB_Overwrite
MMU_Data_TLB_Replace
MMU_Instruction_TLB_Demap
MMU_Instruction_TLB_Map
MMU_Instruction_TLB_Overwrite
MMU_Instruction_TLB_Replace
MMU_Register_Write

leon2-components
Filename
leon2_components.py
Classes
leon2-simple

723

VIRTUTECH CONFIDENTIAL
Global Commands
create-leon2-simple
import-leon2-components
new-leon2-simple

create a non-instantiated leon2-simple


import a component collection
create an instantiated leon2-simple

leon2-devices
Filename
leon2-devices.so
Classes
leon2_cfg
leon2_ioport
leon2_irq
leon2_timer
leon2_uart
opencores_eth

linux-process-tracker
Filename
linux_process_tracker.py
Classes
linux-process-tracker

Global Commands
new-linux-process-tracker

create new Linux process tracker

local-space-mapper
Filename
local-space-mapper.so
Classes
local-space-mapper

logical-memory-translator
Filename
logical_memory_translator.py
724

VIRTUTECH CONFIDENTIAL
Classes
logical-memory-translator

Global Commands
start-logical-memory-translator

start the logical memory translator on all cpus

LX164-IRQ-PLD
Filename
LX164-IRQ-PLD.so
Classes
LX164-IRQ-PLD

LX164-NVRAM
Filename
LX164-NVRAM.so
Classes
LX164-NVRAM

M5823
Filename
M5823.so
Classes
M5823

Haps
RTC_Nvram_Update

malta
Filename
malta.so

725

VIRTUTECH CONFIDENTIAL
Classes
malta

malta-components
Filename
malta_components.py
Classes
malta-system

Global Commands
create-malta-system
import-malta-components

create a non-instantiated malta-system


import a component collection

MD1535D
Filename
MD1535D.so
Classes
MD1535D-acpi
MD1535D-cfg
MD1535D-ide
MD1535D-isa
MD1535D-power
MD1535D-smb
MD1535D-unknown

memory-components
Filename
memory_components.py
Classes
ddr-memory-module
ddr2-memory-module
sdram-memory-module

726

VIRTUTECH CONFIDENTIAL
Global Commands
create-and-connect-ddr-memory
create-ddr-memory-module
create-ddr2-memory-module
create-sdram-memory-module
new-ddr-memory-module
new-ddr2-memory-module
new-sdram-memory-module

create and connect memory modules to the system


create a non-instantiated ddr-memory-module
create a non-instantiated ddr2-memory-module
create a non-instantiated sdram-memory-module
create an instantiated ddr-memory-module
create an instantiated ddr2-memory-module
create an instantiated sdram-memory-module

microwire-eeprom
Filename
microwire-eeprom.so
Classes
microwire-eeprom

mii-management-bus
Filename
mii-management-bus.so
Classes
mii-management-bus

mii-transceiver
Filename
mii-transceiver.so
Classes
mii-transceiver

mips-4kc
Filename
mips-4kc.so
Classes
mips-4kc

727

VIRTUTECH CONFIDENTIAL
mips-4kc-turbo
Filename
mips-4kc-turbo.so
Classes
mips-4kc

Haps
MIPS_Processor_Reset

Global Commands
new-branch-recorder
print-tlb

create a new branch recorder


deprecated print TLB contents

mips-5kc
Filename
mips-5kc.so
Classes
mips-5kc

mips-5kc-turbo
Filename
mips-5kc-turbo.so
Classes
mips-5kc

Haps
MIPS_Processor_Reset

MK48T08
Filename
MK48T08.so

728

VIRTUTECH CONFIDENTIAL
Classes
MK48T08

msp430
Filename
msp430.so
Classes
msp430

new-flash-memory
Filename
new-flash-memory.so
Classes
generic-flash-memory

niagara-devices
Filename
niagara-devices.so
Classes
niagara-dram-ctl
niagara-iob
niagara-l2c

niagara-simple-components
Filename
niagara_simple_components.py
Classes
niagara-simple-system

Global Commands
create-niagara-simple-system
new-niagara-simple-system

create a non-instantiated niagara-simple-system


create an instantiated niagara-simple-system

729

VIRTUTECH CONFIDENTIAL
NS16450
Filename
NS16450.so
Classes
NS16450

NS16550
Filename
NS16550.so
Classes
NS16550

ooo-micro-arch
Filename
ooo-micro-arch.so
Classes
ooo_micro_arch

open-pic
Filename
openpic.py
Classes
open-pic

panther-mmu
Filename
panther-mmu.so
Classes
panther-mmu

730

VIRTUTECH CONFIDENTIAL
Haps
MMU_Context_Register_Write
MMU_Data_TLB_Demap
MMU_Data_TLB_Map
MMU_Data_TLB_Overwrite
MMU_Data_TLB_Replace
MMU_Instruction_TLB_Demap
MMU_Instruction_TLB_Map
MMU_Instruction_TLB_Overwrite
MMU_Instruction_TLB_Replace
MMU_Register_Write

pc-config
Filename
pc-config.so
Classes
pc-config

pc-shadow
Filename
pc-shadow.so
Classes
pc-shadow

PCF8582C
Filename
PCF8582C.so
Classes
PCF8582C

PCF8584
Filename
PCF8584.so

731

VIRTUTECH CONFIDENTIAL
Classes
PCF8584

PCF8587
Filename
PCF8587.so
Classes
PCF8587

pci-bus
Filename
pci-bus.so
Classes
pci-bus

pci-components
Filename
pci_components.py
Classes

agp-voodoo3
pci-am79c973
pci-backplane
pci-bcm5703c
pci-bcm5704c
pci-dec21041
pci-dec21140a
pci-dec21140a-dml
pci-dec21143
pci-i21152
pci-i82543gc
pci-i82546bg
pci-isp1040
pci-isp2200
pci-pd6729
pci-pmc1553-bc

732

VIRTUTECH CONFIDENTIAL
pci-rage-pm-mobility-pci
pci-ragexl
pci-sil680a
pci-sym53c810
pci-sym53c875
pci-sym53c876
pci-vga
pci-voodoo3
pcie-pex8524
south-bridge-6300esb
south-bridge-amd8111
south-bridge-md1535d
south-bridge-piix4
Global Commands
create-agp-voodoo3
create-pci-am79c973
create-pci-backplane
create-pci-bcm5703c
create-pci-bcm5704c
create-pci-dec21041
create-pci-dec21140a
create-pci-dec21140a-dml
create-pci-dec21143
create-pci-i21152
create-pci-i82543gc
create-pci-i82546bg
create-pci-isp1040
create-pci-isp2200
create-pci-pd6729
create-pci-pmc1553-bc
create-pci-rage-pm-mobility-pci
create-pci-ragexl
create-pci-sil680a
create-pci-sym53c810
create-pci-sym53c875
create-pci-sym53c876
create-pci-vga
create-pci-voodoo3
create-pcie-pex8524
create-south-bridge-6300esb
create-south-bridge-amd8111

create a non-instantiated agp-voodoo3


create a non-instantiated pci-am79c973
create a non-instantiated pci-backplane
create a non-instantiated pci-bcm5703c
create a non-instantiated pci-bcm5704c
create a non-instantiated pci-dec21041
create a non-instantiated pci-dec21140a
create a non-instantiated pci-dec21140a-dml
create a non-instantiated pci-dec21143
create a non-instantiated pci-i21152
create a non-instantiated pci-i82543gc
create a non-instantiated pci-i82546bg
create a non-instantiated pci-isp1040
create a non-instantiated pci-isp2200
create a non-instantiated pci-pd6729
create a non-instantiated pci-pmc1553-bc
create a non-instantiated pci-rage-pm-mobility-pci
create a non-instantiated pci-ragexl
create a non-instantiated pci-sil680a
create a non-instantiated pci-sym53c810
create a non-instantiated pci-sym53c875
create a non-instantiated pci-sym53c876
create a non-instantiated pci-vga
create a non-instantiated pci-voodoo3
create a non-instantiated pcie-pex8524
create a non-instantiated south-bridge-6300esb
create a non-instantiated south-bridge-amd8111

733

VIRTUTECH CONFIDENTIAL
create-south-bridge-md1535d
create-south-bridge-piix4
new-pcie-pex8524
new-south-bridge-6300esb

create a non-instantiated south-bridge-md1535d


create a non-instantiated south-bridge-piix4
create an instantiated pcie-pex8524
create an instantiated south-bridge-6300esb

PCI0646
Filename
PCI0646.so
Classes
PCI0646

pcie-switch
Filename
pcie-switch.so
Classes
pcie-switch

perfanalyze-client
Filename
perfanalyze-client.so
Classes
perfanalyze-client

Global Commands
memory-usage
simics-module-symbols

memory usage
load module symbols from Simics

phy-components
Filename
phy_components.py
Classes
phy-mii-transceiver

734

VIRTUTECH CONFIDENTIAL
Global Commands
create-phy-mii-transceiver

create a non-instantiated phy-mii-transceiver

piix4
Filename
piix4.so
Classes
piix4_ide
piix4_isa
piix4_power
piix4_usb
piix4_usb_dummy

pmppc-components
Filename
pmppc_components.py
Classes
pmppc-board

Global Commands
create-pmppc-board
import-pmppc-components
new-pmppc-board

create a non-instantiated pmppc-board


import a component collection
create an instantiated pmppc-board

ppc-broadcast-bus
Filename
ppc-broadcast-bus.so
Classes
ppc-broadcast-bus

ppc-of
Filename
ppc_of.py

735

VIRTUTECH CONFIDENTIAL
Classes
ppc-of

ppc-simple-components
Filename
ppc_simple_components.py
Classes
ppc-simple

Global Commands
create-ppc-simple
import-ppc-simple-components
new-ppc-simple

create a non-instantiated ppc-simple


import a component collection
create an instantiated ppc-simple

ppc32-linux-process-tracker
Filename
ppc32_linux_process_tracker.py
Classes
ppc32-linux-process-tracker

Global Commands
new-ppc32-linux-process-tracker

create new ppc32-linux process tracker

ppc405gp
Filename
ppc405gp.so
Classes
ppc405gp

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

736

VIRTUTECH CONFIDENTIAL
ppc405gp-turbo
Filename
ppc405gp-turbo.so
Classes
ppc405gp

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc440gp
Filename
ppc440gp.so
Classes
ppc440gp

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc440gp-components
Filename
ppc440gp_components.py
Classes
ebony-board

Global Commands
create-ebony-board
import-ppc440gp-components
new-ebony-board

create a non-instantiated ebony-board


import a component collection
create an instantiated ebony-board

737

VIRTUTECH CONFIDENTIAL
ppc440gp-turbo
Filename
ppc440gp-turbo.so
Classes
ppc440gp

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc440gx
Filename
ppc440gx.so
Classes
ppc440gx

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc440gx-turbo
Filename
ppc440gx-turbo.so
Classes
ppc440gx

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

738

VIRTUTECH CONFIDENTIAL
ppc603e
Filename
ppc603e.so
Classes
ppc603e

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc603e-turbo
Filename
ppc603e-turbo.so
Classes
ppc603e

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

Global Commands
pregs-fpu print the floating point registers
print-dtlb deprecated print data tlb contents
print-itlb deprecated print instruction tlb contents

ppc64-linux-process-tracker
Filename
ppc64_linux_process_tracker.py
Classes
ppc64-linux-process-tracker

739

VIRTUTECH CONFIDENTIAL
Global Commands
new-ppc64-linux-process-tracker

create new ppc64-linux process tracker

ppc7400
Filename
ppc7400.so
Classes
ppc7400

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc7400-turbo
Filename
ppc7400-turbo.so
Classes
ppc7400

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

Global Commands
pregs-altivec print cpu altivec registers

ppc7447
Filename
ppc7447.so
Classes
ppc7447

740

VIRTUTECH CONFIDENTIAL
Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc7447-turbo
Filename
ppc7447-turbo.so
Classes
ppc7447

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc7450
Filename
ppc7450.so
Classes
ppc7450

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc7450-turbo
Filename
ppc7450-turbo.so
Classes
ppc7450

741

VIRTUTECH CONFIDENTIAL
Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc7457
Filename
ppc7457.so
Classes
ppc7457

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc7457-turbo
Filename
ppc7457-turbo.so
Classes
ppc7457

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc750
Filename
ppc750.so
Classes
ppc750

742

VIRTUTECH CONFIDENTIAL
Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc750-turbo
Filename
ppc750-turbo.so
Classes
ppc750

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc750fx
Filename
ppc750fx.so
Classes
ppc750fx

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc750fx-turbo
Filename
ppc750fx-turbo.so
Classes
ppc750fx

743

VIRTUTECH CONFIDENTIAL
Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc750gx
Filename
ppc750gx.so
Classes
ppc750gx

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc750gx-turbo
Filename
ppc750gx-turbo.so
Classes
ppc750gx

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry

ppc970fx
Filename
ppc970fx.so
Classes
ppc970fx

744

VIRTUTECH CONFIDENTIAL
Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry
ppc64_sfmode_change

ppc970fx-components
Filename
ppc970fx_components.py
Classes
ppc970-simple

Global Commands
create-ppc970-simple
import-ppc970fx-components
new-ppc970-simple

create a non-instantiated ppc970-simple


import a component collection
create an instantiated ppc970-simple

ppc970fx-turbo
Filename
ppc970fx-turbo.so
Classes
ppc970fx

Haps
PPC_Attention
PPC_Processor_Reset
PPC_TLB_Invalidate_Entry
ppc64_sfmode_change

pyxis
Filename
pyxis.so
Classes
pyxis

745

VIRTUTECH CONFIDENTIAL
ragexl
Filename
ragexl.so
Classes
ragexl

real-network
Filename
real-network.so
Classes
rn-eth-bridge-raw
rn-eth-bridge-tap
rn-eth-proxy-raw
rn-eth-proxy-tap
rn-ip-router-raw
rn-ip-tunnel-tun

Global Commands
close-tun-tap-interface

close an unused persistent TUN/TAP interface

recorder
Filename
recorder.so
Classes
recorder

rev-execution
Filename
rev-execution.so
Classes
rev-execution

746

VIRTUTECH CONFIDENTIAL
Haps
Rexec_Limit_Exceeded

Global Commands
clear-recorder
delete-bookmark
list-bookmarks
reverse
reverse-step-instruction
reverse-to
rexec-limit
set-bookmark
skip-to

clear recorded events


delete a time bookmark
list time bookmarks
run simulation backwards
reverse step one or more instruction
set a temporary time breakpoint and run backwards
tune reverse execution performance parameters
set a bookmark at the current point in time
skip to the specified point in the simulation

rom-device
Filename
rom-device.so
Classes
rom-device

SA1110
Filename
SA1110.so
Classes
SA1110-device

sample-device
Filename
sample-device.so
Classes
sample-device

sample-device-python

747

VIRTUTECH CONFIDENTIAL
Filename
sample_device_python.py
Classes
sample-device-python

sample-i2c-device
Filename
sample-i2c-device.so
Classes
sample-i2c-device

sample-memhier
Filename
sample-memhier.so
Classes
sample-memhier

sample-micro-arch
Filename
sample-micro-arch.so
Classes
sample_micro_arch

sample-micro-arch-x86
Filename
sample-micro-arch-x86.so
Classes
sample_micro_arch_x86

sample-pci-device
Filename
sample-pci-device.so
748

VIRTUTECH CONFIDENTIAL
Classes
sample-pci-device

sample-user-decoder
Filename
sample-user-decoder.so
sapic-bus
Filename
sapic-bus.so
Classes
sapic-bus

sb16
Filename
sb16.so
Classes
sb16

sbbc-pci
Filename
sbbc-pci.so
Classes
sbbc-pci

sbus-hme
Filename
sbus-hme.so
Classes
sbus-hme

scsi-bus
749

VIRTUTECH CONFIDENTIAL
Filename
scsi-bus.so
Classes
scsi-bus

scsi-cdrom
Filename
scsi-cdrom.so
Classes
scsi-cdrom

Haps
SCSI_CDROM_Command

scsi-disk
Filename
scsi-disk.so
Classes
scsi-disk

Haps
SCSI_Disk_Command

serengeti-components
Filename
serengeti_components.py
Classes

serengeti-3800-chassis
serengeti-4800-chassis
serengeti-4810-chassis
serengeti-6800-chassis
serengeti-cluster-chassis

750

VIRTUTECH CONFIDENTIAL
serengeti-cpci4-board
serengeti-pci8-board
serengeti-sp-cpci6-board
serengeti-us-iii-cpu-board
serengeti-us-iii-plus-cpu-board
serengeti-us-iv-cpu-board
serengeti-us-iv-plus-cpu-board
sun-cpci-hme-isp
sun-cpci-isp-isp
sun-cpci-qlc-qlc
Global Commands
create-serengeti-3800-chassis
create-serengeti-4800-chassis
create-serengeti-4810-chassis
create-serengeti-6800-chassis
create-serengeti-cluster-chassis
create-serengeti-cpci4-board
create-serengeti-pci8-board
create-serengeti-sp-cpci6-board
create-serengeti-us-iii-cpu-board
create-serengeti-us-iii-plus-cpu-board
create-serengeti-us-iv-cpu-board
create-serengeti-us-iv-plus-cpu-board
create-sun-cpci-hme-isp
create-sun-cpci-isp-isp
create-sun-cpci-qlc-qlc
new-serengeti-3800-chassis
new-serengeti-4800-chassis
new-serengeti-4810-chassis
new-serengeti-6800-chassis
new-serengeti-cluster-chassis

serengeti-console
Filename
serengeti-console.so
Classes
nvci
serengeti-console
serengeti-console-old

751

create a non-instantiated serengeti-3800-chassis


create a non-instantiated serengeti-4800-chassis
create a non-instantiated serengeti-4810-chassis
create a non-instantiated serengeti-6800-chassis
create a non-instantiated serengeti-cluster-chassis
create a non-instantiated serengeti-cpci4-board
create a non-instantiated serengeti-pci8-board
create a non-instantiated serengeti-sp-cpci6-board
create a non-instantiated serengeti-us-iii-cpu-board
create a non-instantiated serengeti-us-iii-plus-cpu-board
create a non-instantiated serengeti-us-iv-cpu-board
create a non-instantiated serengeti-us-iv-plus-cpu-board
create a non-instantiated sun-cpci-hme-isp
create a non-instantiated sun-cpci-isp-isp
create a non-instantiated sun-cpci-qlc-qlc
create an instantiated serengeti-3800-chassis
create an instantiated serengeti-4800-chassis
create an instantiated serengeti-4810-chassis
create an instantiated serengeti-6800-chassis
create an instantiated serengeti-cluster-chassis

VIRTUTECH CONFIDENTIAL
serengeti-schizo
Filename
serengeti-schizo.so
Classes
serengeti-schizo

serengeti-system
Filename
serengeti_system.py
Classes
serengeti-system

serial-link
Filename
serial-link.so
Classes
serial-link

Global Commands
new-serial-link

create a new serial link

server-console-c
Filename
server-console-c.so
Classes
server-console

Haps
Xterm_Break_String

service-node
752

VIRTUTECH CONFIDENTIAL
Filename
service-node.so
Classes
port-forward-incoming-server
port-forward-outgoing-server
service-node
service-node-device

Global Commands
connect-real-network
connect-real-network-napt
connect-real-network-port-in
connect-real-network-port-out
default-port-forward-target
disconnect-real-network-port-in
disconnect-real-network-port-out
list-port-forwarding-setup
new-service-node

connect a simulated machine to the real network


enable NAPT from simulated network
setup port forwarding to a simulated machine
setup port forwarding to real machine
set default port forwarding target
remove port forwarding to a simulated machine
remove port forwarding to real machine
view the port forwarding setup
create a new service node

set-memory
Filename
set-memory.so
Classes
set-memory

signal-bus
Filename
signal-bus.so
Classes
signal-bus

Simics Core
Filename
libsimics-common.so
Classes

753

VIRTUTECH CONFIDENTIAL
branch_recorder
component
conf-object
context
data-profiler
image
log-object
memory-space
persistent-ram
port-space
preferences
python
ram
rom
sim
top-component
unresolved_object_class
Haps
CLI_Variable_Write
Core_Address_Not_Mapped
Core_Asynchronous_Trap
Core_At_Exit
Core_Back_To_Front
Core_Breakpoint
Core_Breakpoint_Memop
Core_Conf_Class_Register
Core_Conf_Class_Unregister
Core_Conf_Object_Create
Core_Conf_Object_Delete
Core_Conf_Object_Pre_Delete
Core_Configuration_Loaded
Core_Connect_Central
Core_Console_Owner_Changed
Core_Context_Activate
Core_Context_Change
Core_Context_Deactivate
Core_Continuation
Core_Control_Register_Read
Core_Control_Register_Write
Core_Cpu_Switch_Time_Changed
Core_Cycle_Count
Core_DSTC_Flush_Counter

754

VIRTUTECH CONFIDENTIAL
Core_Device_Access_Memop
Core_Device_Access_Read
Core_Device_Access_Write
Core_Disable_Breakpoints
Core_Discard_Future
Core_Disconnect_Central
Core_Exception
Core_Exception_Return
Core_External_Interrupt
Core_Fence
Core_Frontend_Line_Done
Core_Hap_Callback_Installed
Core_Hap_Callback_Removed
Core_Hap_Type_Added
Core_Initial_Configuration
Core_Instruction_Squashed
Core_Log_Message
Core_MC_Loaded
Core_Magic_Instruction
Core_Memory_Barrier
Core_Misplaced_Rex
Core_Mode_Change
Core_Module_Loaded
Core_Not_Implemented
Core_Periodic_Event
Core_Pre_Central_Configuration
Core_Preferences_Changed
Core_Processor_Schedule_Changed
Core_Profiling_Mode_Change
Core_Prompt_Changed
Core_Recent_Files_Changed
Core_Rexec_Active
Core_Screen_Resized
Core_Simulation_Stopped
Core_Source_Step
Core_Step_Count
Core_Sync_Instruction
Core_TD_Changed
Core_Time_Transition
Core_Trackee_Active
Core_Trackee_Exec

755

VIRTUTECH CONFIDENTIAL
Core_Workspace_Changed
Core_Write_Configuration
Ethernet_Link
Ethernet_Receive
Ethernet_Transmit
Python_Tab_Completion
Global Commands
!
!=
$
%
&

+
+=
-=
->
/
<
<<
<=
=
==
>
>=
>>
@
[

add-directory
add-module-directory
and
api-apropos
api-help
apropos
break
break-cr
break-exception
break-hap
break-io

execute a shell command


not equal
get the value of an environment variable
read register by name
bitwise AND operation
arithmetic multiplication
arithmetic addition
set an environment variable
arithmetic subtraction
set an environment variable
access object attribute
arithmetic division
less than
bitwise left shift
less or equal
set an environment variable
equal
greater than
greater or equal
bitwise right shift
evaluate a Python statement
bitwise XOR operation
add a directory to the Simics search path
add a directory to the module search path
logical and
search API help
get API help
search for text in documentation
set breakpoint on current processor
break on control register updates
break on CPU exceptions
break on haps
break on device accesses

756

VIRTUTECH CONFIDENTIAL
break-log
cd
clear-directories
command-list
connect-components
copyright
cpu-switch-time
current-processor
cycle-break
cycle-break-absolute
date
defined
delete
devs
digit-grouping
dirs
disable
disable-real-time-mode
disassemble
disassemble-settings
display
dstc-disable
dstc-enable
echo
else
enable
enable-real-time-mode
expect
finish-function
get
get-component-prefix
help
hex
if
ignore
instantiate-components
instruction-fetch-mode
instruction-profile-mode
interrupt-script-branch
istc-disable
istc-enable

break on log message


change working directory
clear the Simics search path
generate html document describing commands
connect components
print full Simics copyright information
get/set CPU switch time
return current processor
set cycle breakpoint
set absolute cycle breakpoint
host time and date
variable defined
remove a breakpoint
list all devices in Simics
set output formatting for numbers
display directory stack
enable/disable breakpoint
disable real time mode for Simics
disassemble instructions
change disassembly output settings
print expression at prompt
disable D-STC
enable D-STC
echo a value to screen
enable/disable breakpoint
set real time mode for Simics
fail if not equal
finish the current function
get value of physical address
get current component name prefix
help command
display integer in hexadecimal notation
set ignore count for a breakpoint
instantiate components
set or get current mode for instruction fetching
deprecated set or get current mode for instruction profiling
disable I-STC
enable I-STC

757

VIRTUTECH CONFIDENTIAL
license
list-attributes
list-breakpoints
list-classes
list-components
list-directories
list-failed-modules
list-hap-callbacks
list-haps
list-modules
list-namespaces
list-objects
list-script-branches
list-vars
load-binary
load-file
load-module
load-persistent-state
log
log-level
log-setup
log-size
log-type
logical-to-physical
ls
magic-break-disable
magic-break-enable
magic-break-query
max
min
module-list-refresh
native-path
new-context
next-instruction
next-line
not
or
output-file-start
output-file-stop
output-radix
pdisable

print simics license


list all attributes
print information about breakpoints
list all configuration classes
list components
list directories in Simics search path
list the modules that are not loadable
print list of hap callbacks
print list of haps
list loadable modules
list all namespaces
list all objects
list environment variables
load binary (executable) file into memory
load file into memory
load module into Simics
load persistent state
print log entries for all objects
set or get the global log level
configure log behavior
set log buffer size
set or get the current log types
translate logical address to physical
list files
remove magic instruction hap handler
install magic instruction hap handler
returns 1 if magic instruction handler is installed
max
min
create a new list of loadable modules
convert a filename to host native form
create a new context
run to the next instruction, skipping subroutine calls
run to the next source line, skipping subroutine calls
logical not
logical or
send output to file
stop sending output to file
change the default output radix
switch processor off

758

VIRTUTECH CONFIDENTIAL
penable
pid
pipe
popd
pow
pregs
print
print-directories
print-event-queue
print-statistics
print-time
pselect
pstatus
pushd
pwd
python
quit
read-configuration
read-reg
readme
resolve-file
reverse-next-instruction
reverse-next-line
reverse-step-line
run
run-command-file
run-cycles
run-python-file
save-component-template
save-persistent-state
script-branch
set
set-component-prefix
set-context
set-memory-limit
set-pattern
set-pc
set-prefix
set-simics-id
set-substr
signed

switch processor on
print pid of Simics process
run commands through a pipe
pop directory from directory stack
power of
print cpu registers
display integer in various bases
deprecated print the directory Simics search path
print event queue for processor
print various statistics
print number of steps and cycles executed
select a processor
show processors status
push directory on directory stack
print working directory
evaluate an expression in python
quit from Simics
restore configuration
read a register
print information about Simics
resolve a filename
back to the previous instruction, skipping subroutine calls
back to the previous source line, skipping subroutine calls
back to the previous source line
start execution
execute a simics script
start execution
execute Python file
save a component configuration template
save persistent simulator state
set physical address to specified value
set a prefix for all component names
set the current context of a CPU
limit memory usage
set an instruction pattern for a breakpoint
set the current processors program counter
set a syntax prefix for a breakpoint
deprecated set the global Simics ID number
set a syntax substring for a breakpoint
interpret unsigned integer as signed

759

VIRTUTECH CONFIDENTIAL
signed16
signed32
signed64
signed8
stc-status
step-break
step-break-absolute
step-cycle
step-cycle-single
step-instruction
step-line
stop
sum
trace-breakpoint
trace-cr
trace-exception
trace-hap
trace-io
unbreak
unbreak-cr
unbreak-exception
unbreak-hap
unbreak-io
uncall-function
undisplay
unload-module
unset
untrace-breakpoint
untrace-cr
untrace-exception
untrace-hap
untrace-io
version
wait-for-hap
wait-for-variable
while
write-configuration
write-reg
x
|

interpret unsigned integer as signed


interpret unsigned integer as signed
interpret unsigned integer as signed
interpret unsigned integer as signed
show I- and D-STC status
set time breakpoint
set absolute time breakpoint
step one or more cycles
step one cycle and switch to the next cpu
step one or more instructions
run to the next source line
interrupt simulation
deprecated sum a memory range
trace breakpoints
trace control register updates
trace exceptions
trace haps
trace device accesses
remove breakpoint range
break on control register updates
break on CPU exceptions
break on haps
break on device accesses
go back to when the current function was called
remove expression installed by display
unload module
remove a environment variable
trace breakpoints
trace control register updates
trace exceptions
trace haps
trace device accesses
display Simics version
wait until hap occurs
wait for a variable to change
save configuration
write to register
examine raw memory contents
bitwise OR operation
bitwise not

760

VIRTUTECH CONFIDENTIAL

simple-byte-dump
Filename
simple-byte-dump.so
Classes
simple-byte-dump

SIO82378ZB
Filename
SIO82378ZB.so
Classes
SIO82378ZB

sparc-irq-bus
Filename
sparc-irq-bus.so
Classes
sparc-irq-bus

sparc-l2
Filename
sparc-l2.so
Classes
leon2

sparc-l2-turbo
Filename
sparc-l2-turbo.so
Classes
leon2

761

VIRTUTECH CONFIDENTIAL
sparc-niagara
Filename
sparc-niagara.so
Classes
ultrasparc-t1

Global Commands
pregs-hyper print hypervisor registers

sparc-niagara-turbo
Filename
sparc-niagara-turbo.so
Classes
ultrasparc-t1

Global Commands
pregs-all
pregs-hyper
print-double-regs
print-float-regs
print-float-regs-raw
read-fp-reg-i
read-fp-reg-x
trap-info
write-fp-reg-i
write-fp-reg-x

print all cpu registers


print hypervisor registers
deprecated print floating point registers as doubles
deprecated print floating point registers
deprecated print raw floating point register contents
print floating point single register as integer
print floating point double register as integer
print information about current traps
write floating point single register as integer
write floating point double register as integer

sparc-u2
Filename
sparc-u2.so
Classes
ultrasparc-ii

sparc-u2-ma
762

VIRTUTECH CONFIDENTIAL
Filename
sparc-u2-ma.so
Classes
store_queue
ultrasparc-ii

sparc-u2-turbo
Filename
sparc-u2-turbo.so
Classes
ultrasparc-ii

sparc-u3
Filename
sparc-u3.so
Classes
ultrasparc-iii
ultrasparc-iii-i
ultrasparc-iii-plus

sparc-u3-ma
Filename
sparc-u3-ma.so
Classes
store_queue
ultrasparc-iii
ultrasparc-iii-i
ultrasparc-iii-plus

sparc-u3-turbo
Filename
sparc-u3-turbo.so

763

VIRTUTECH CONFIDENTIAL
Classes
ultrasparc-iii
ultrasparc-iii-i
ultrasparc-iii-plus

sparc-u4
Filename
sparc-u4.so
Classes
ultrasparc-iv
ultrasparc-iv-plus

sparc-u4-turbo
Filename
sparc-u4-turbo.so
Classes
ultrasparc-iv
ultrasparc-iv-plus

spitfire-mmu
Filename
spitfire-mmu.so
Classes
spitfire-mmu

Haps
MMU_Context_Register_Write
MMU_Data_TLB_Demap
MMU_Data_TLB_Map
MMU_Data_TLB_Overwrite
MMU_Data_TLB_Replace
MMU_Instruction_TLB_Demap
MMU_Instruction_TLB_Map
MMU_Instruction_TLB_Overwrite
MMU_Instruction_TLB_Replace
MMU_Register_Write

764

VIRTUTECH CONFIDENTIAL
state-assertion
Filename
state-assertion.so
Classes
state-assertion

Global Commands
state-assertion-connect
state-assertion-create-file
state-assertion-open-file
state-assertion-receive
state-assertion-simple-assert
state-assertion-simple-record

connect to a state-assertion receiver


record a state assertion file
open a state assertion file for comparing
wait for a connection from a state assertion sender
assert the file
record the state of an object every x steps

std-components
Filename
std_components.py
Classes

dummy-component
simple-fc-disk
std-etg
std-ethernet-link
std-graphics-console
std-host-serial-console
std-ide-cdrom
std-ide-disk
std-ms1553-link
std-pcmcia-flash-disk
std-scsi-bus
std-scsi-cdrom
std-scsi-disk
std-serial-link
std-server-console
std-service-node
std-text-console
std-text-graphics-console

Global Commands

765

VIRTUTECH CONFIDENTIAL
create-dummy-component
create-simple-fc-disk
create-std-etg
create-std-ethernet-link
create-std-graphics-console
create-std-host-serial-console
create-std-ide-cdrom
create-std-ide-disk
create-std-ms1553-link
create-std-pcmcia-flash-disk
create-std-scsi-bus
create-std-scsi-cdrom
create-std-scsi-disk
create-std-serial-link
create-std-server-console
create-std-service-node
create-std-text-console
create-std-text-graphics-console
import-isa-components
import-memory-components
import-pci-components
import-phy-components
import-std-components
import-timing-components
import-usb-components
new-dummy-component
new-std-etg
new-std-ethernet-link
new-std-graphics-console
new-std-host-serial-console
new-std-ms1553-link
new-std-pcmcia-flash-disk
new-std-serial-link
new-std-server-console
new-std-service-node
new-std-text-console
new-std-text-graphics-console

create a non-instantiated dummy-component


create a non-instantiated simple-fc-disk
create a non-instantiated std-etg
create a non-instantiated std-ethernet-link
create a non-instantiated std-graphics-console
create a non-instantiated std-host-serial-console
create a non-instantiated std-ide-cdrom
create a non-instantiated std-ide-disk
create a non-instantiated std-ms1553-link
create a non-instantiated std-pcmcia-flash-disk
create a non-instantiated std-scsi-bus
create a non-instantiated std-scsi-cdrom
create a non-instantiated std-scsi-disk
create a non-instantiated std-serial-link
create a non-instantiated std-server-console
create a non-instantiated std-service-node
create a non-instantiated std-text-console
create a non-instantiated std-text-graphics-console
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
create an instantiated dummy-component
create an instantiated std-etg
create an instantiated std-ethernet-link
create an instantiated std-graphics-console
create an instantiated std-host-serial-console
create an instantiated std-ms1553-link
create an instantiated std-pcmcia-flash-disk
create an instantiated std-serial-link
create an instantiated std-server-console
create an instantiated std-service-node
create an instantiated std-text-console
create an instantiated std-text-graphics-console

strata-flash
Filename
strata-flash.so
Classes
strata-flash

766

VIRTUTECH CONFIDENTIAL
sun-components
Filename
sun_components.py
Classes
sun-pci-ce
sun-pci-hme
sun-pci-hme-isp
sun-pci-pgx64
sun-pci-qlc
sun-pci-qlc-qlc
sun-type5-keyboard
sun-type5-mouse

Global Commands
create-sun-pci-ce
create-sun-pci-hme
create-sun-pci-hme-isp
create-sun-pci-pgx64
create-sun-pci-qlc
create-sun-pci-qlc-qlc
create-sun-type5-keyboard
create-sun-type5-mouse
import-fiesta-components
import-niagara-simple-components
import-serengeti-components
import-sun-components
import-sunfire-components
new-sun-type5-keyboard
new-sun-type5-mouse

create a non-instantiated sun-pci-ce


create a non-instantiated sun-pci-hme
create a non-instantiated sun-pci-hme-isp
create a non-instantiated sun-pci-pgx64
create a non-instantiated sun-pci-qlc
create a non-instantiated sun-pci-qlc-qlc
create a non-instantiated sun-type5-keyboard
create a non-instantiated sun-type5-mouse
import a component collection
import a component collection
import a component collection
import a component collection
import a component collection
create an instantiated sun-type5-keyboard
create an instantiated sun-type5-mouse

sun-keyboard
Filename
sun-keyboard.so
Classes
sun-keyboard

sun-mouse
Filename
sun-mouse.so
767

VIRTUTECH CONFIDENTIAL
Classes
sun-mouse

sun4u-fasdma
Filename
sun4u-fasdma.so
Classes
sun4u-fasdma

sun4v-rtc
Filename
sun4v_rtc.py
Classes
sun4v-rtc

sunfire-components
Filename
sunfire_components.py
Classes
sun-sbus-fas-hme
sunfire-3500-backplane
sunfire-4500-backplane
sunfire-6500-backplane
sunfire-cpu-board
sunfire-pci-board
sunfire-sbus-board

Global Commands
create-sun-sbus-fas-hme
create-sunfire-3500-backplane
create-sunfire-4500-backplane
create-sunfire-6500-backplane
create-sunfire-cpu-board
create-sunfire-pci-board
create-sunfire-sbus-board

create a non-instantiated sun-sbus-fas-hme


create a non-instantiated sunfire-3500-backplane
create a non-instantiated sunfire-4500-backplane
create a non-instantiated sunfire-6500-backplane
create a non-instantiated sunfire-cpu-board
create a non-instantiated sunfire-pci-board
create a non-instantiated sunfire-sbus-board

768

VIRTUTECH CONFIDENTIAL
sunfire-devices
Filename
sunfire-devices.so
Classes
sun4u-ac
sun4u-clockregs
sun4u-counter
sun4u-fhc
sun4u-sbus-speed
sun4u-simm-status
sun4u-systemregs
sun4u-temperature
sun4u-trans2

sunfire-psycho
Filename
sunfire-psycho.so
Classes
sunfire-psycho

sunfire-sysio
Filename
sunfire-sysio.so
Classes
sunfire-sysio

sunfire-system
Filename
sunfire_system.py
Classes
sunfire-system

swerver-proc-mmu

769

VIRTUTECH CONFIDENTIAL
Filename
swerver-proc-mmu.so
Classes
niagara-core-mmu

swerver-thread-mmu
Filename
swerver-thread-mmu.so
Classes
niagara-strand-mmu

Haps
MMU_Context_Register_Write
MMU_Data_TLB_Demap
MMU_Data_TLB_Map
MMU_Instruction_TLB_Demap
MMU_Instruction_TLB_Map
MMU_Register_Write

SYM53C810
Filename
SYM53C810.so
Classes
SYM53C810

SYM53C875
Filename
SYM53C875.so
Classes
SYM53C875

symtable
Filename
symtable.so
770

VIRTUTECH CONFIDENTIAL
Classes
perfanalyze
symtable

Global Commands
down
frame
function-profile
list
new-symtable
pos
psym
select-profiles
stack-trace
symval
up
whereis

go down N stack frames


change current stack frame
list functions sorted by profile counts
list source and/or disassemble
create new symbol table
address of line or function
print value of symbolic expression
set profilers to display in source listing
display stack trace
evaluate symbolic expression
go up N stack frames
find symbol by address

telos-devices
Filename
telos-devices.so
Classes
telos-basic-clock
telos-button
telos-environment
telos-io-ports
telos-sfr
telos-timer
telos-usart

telos-mote-components
Filename
telos_mote_components.py
Classes
telos-mote

771

VIRTUTECH CONFIDENTIAL
Global Commands
create-telos-mote
import-telos-mote-components
new-telos-mote

create a non-instantiated telos-mote


import a component collection
create an instantiated telos-mote

timing-components
Filename
timing_components.py
Classes
sample-gcache
sample-ma-model
sample-ooo-model
sample-x86-ma-model

Global Commands
create-sample-gcache
create-sample-ma-model
create-sample-ooo-model
create-sample-x86-ma-model
new-sample-gcache
new-sample-ma-model
new-sample-ooo-model
new-sample-x86-ma-model

create a non-instantiated sample-gcache


create a non-instantiated sample-ma-model
create a non-instantiated sample-ooo-model
create a non-instantiated sample-x86-ma-model
create an instantiated sample-gcache
create an instantiated sample-ma-model
create an instantiated sample-ooo-model
create an instantiated sample-x86-ma-model

trace
Filename
trace.so
Classes
base-trace-mem-hier
trace-mem-hier

Global Commands
new-tracer create a new tracer

trans-staller

772

VIRTUTECH CONFIDENTIAL
Filename
trans-staller.so
Classes
trans-staller

v9-sol9-idle-opt
Filename
v9-sol9-idle-opt.so
Classes
v9-sol9-idle-opt

Global Commands
v9-sol9-idle-opt

enable idle loop optimization

vga
Filename
vga.so
Classes
vga

vga-pci
Filename
vga-pci.so
Classes
vga_pci

voodoo3
Filename
voodoo3.so
Classes
voodoo3

773

VIRTUTECH CONFIDENTIAL
voodoo3-agp
Filename
voodoo3-agp.so
Classes
voodoo3-agp

wire
Filename
wire.so
Classes
wire

x11-console
Filename
x11-console.so
Classes
gfx-console

Haps
Gfx_Break_String

x86-486sx
Filename
x86-486sx.so
Classes
x86-486sx

x86-486sx-turbo
Filename
x86-486sx-turbo.so

774

VIRTUTECH CONFIDENTIAL
Classes
x86-486sx

Haps
Core_Interrupt_Status
Core_Mode_Switch
Core_Pseudo_Exception
X86_Descriptor_Change
X86_Enter_SMM
X86_Leave_SMM
X86_Processor_Reset

x86-components
Filename
x86_components.py
Classes

i386-cpu
i486dx2-cpu
i486sx-cpu
legacy-pc-devices
north-bridge-443bx
north-bridge-443bx-agp
north-bridge-875p
north-bridge-e7520
north-bridge-k8
opteron-cpu
pentium-4-cpu
pentium-4e-2ht-cpu
pentium-4e-4ht-cpu
pentium-4e-cpu
pentium-cpu
pentium-ii-cpu
pentium-iii-cpu
pentium-m-cpu
pentium-mmx-cpu
pentium-pro-cpu
x86-apic-bus-system
x86-apic-system
x86-e7520-system

775

VIRTUTECH CONFIDENTIAL
x86-hammer-cpu
x86-separate-mem-io-system
x86-system
xeon-prestonia-cpu
Global Commands
create-i386-cpu
create-i486dx2-cpu
create-i486sx-cpu
create-legacy-pc-devices
create-north-bridge-443bx
create-north-bridge-443bx-agp
create-north-bridge-875p
create-north-bridge-e7520
create-north-bridge-k8
create-opteron-cpu
create-pentium-4-cpu
create-pentium-4e-2ht-cpu
create-pentium-4e-4ht-cpu
create-pentium-4e-cpu
create-pentium-cpu
create-pentium-ii-cpu
create-pentium-iii-cpu
create-pentium-m-cpu
create-pentium-mmx-cpu
create-pentium-pro-cpu
create-x86-apic-bus-system
create-x86-apic-system
create-x86-e7520-system
create-x86-hammer-cpu
create-x86-separate-mem-io-system
create-x86-system
create-xeon-prestonia-cpu
import-x86-components

create a non-instantiated i386-cpu


create a non-instantiated i486dx2-cpu
create a non-instantiated i486sx-cpu
create a non-instantiated legacy-pc-devices
create a non-instantiated north-bridge-443bx
create a non-instantiated north-bridge-443bx-agp
create a non-instantiated north-bridge-875p
create a non-instantiated north-bridge-e7520
create a non-instantiated north-bridge-k8
create a non-instantiated opteron-cpu
create a non-instantiated pentium-4-cpu
create a non-instantiated pentium-4e-2ht-cpu
create a non-instantiated pentium-4e-4ht-cpu
create a non-instantiated pentium-4e-cpu
create a non-instantiated pentium-cpu
create a non-instantiated pentium-ii-cpu
create a non-instantiated pentium-iii-cpu
create a non-instantiated pentium-m-cpu
create a non-instantiated pentium-mmx-cpu
create a non-instantiated pentium-pro-cpu
create a non-instantiated x86-apic-bus-system
create a non-instantiated x86-apic-system
create a non-instantiated x86-e7520-system
create a non-instantiated x86-hammer-cpu
create a non-instantiated x86-separate-mem-io-system
create a non-instantiated x86-system
create a non-instantiated xeon-prestonia-cpu
import a component collection

x86-hammer
Filename
x86-hammer.so
Classes
x86-hammer

776

VIRTUTECH CONFIDENTIAL
x86-hammer-ma
Filename
x86-hammer-ma.so
Classes
store_queue
x86-hammer

Haps
Core_Interrupt_Status
Core_Mode_Switch
Core_Pseudo_Exception
X86_Descriptor_Change
X86_Enter_SMM
X86_Leave_SMM
X86_Processor_Reset

x86-hammer-turbo
Filename
x86-hammer-turbo.so
Classes
x86-hammer

x86-linux-process-tracker
Filename
x86_linux_process_tracker.py
Classes
x86-linux-process-tracker

Global Commands
new-x86-linux-process-tracker

create new x86-linux process tracker

x86-p2
Filename
x86-p2.so
777

VIRTUTECH CONFIDENTIAL
Classes
x86-p2

x86-p2-turbo
Filename
x86-p2-turbo.so
Classes
x86-p2

Haps
Core_Interrupt_Status
Core_Mode_Switch
Core_Pseudo_Exception
X86_Descriptor_Change
X86_Enter_SMM
X86_Leave_SMM
X86_Processor_Reset

x86-p4
Filename
x86-p4.so
Classes
x86-p4

x86-p4-ma
Filename
x86-p4-ma.so
Classes
store_queue
x86-p4

778

VIRTUTECH CONFIDENTIAL
Haps
Core_Interrupt_Status
Core_Mode_Switch
Core_Pseudo_Exception
X86_Descriptor_Change
X86_Enter_SMM
X86_Leave_SMM
X86_Processor_Reset

x86-p4-turbo
Filename
x86-p4-turbo.so
Classes
x86-p4

x86-reset-bus
Filename
x86-reset-bus.so
Classes
x86-reset-bus

x86_tlb
Filename
x86_tlb.so
Classes
x86-tlb

Haps
TLB_Fill_Data
TLB_Fill_Instruction
TLB_Invalidate_Data
TLB_Invalidate_Instruction
TLB_Miss_Data
TLB_Miss_Instruction
TLB_Replace_Data
TLB_Replace_Instruction

779

VIRTUTECH CONFIDENTIAL
x87_exception
Filename
x87_exception.so
Classes
x87_exception

xterm-console
Filename
xterm-console.so
Classes
text-console

Haps
Xterm_Break_String

Z8530
Filename
Z8530.so
Classes
Z8530
Z8530-port

780

VIRTUTECH CONFIDENTIAL

Chapter 6

Classes

781

VIRTUTECH CONFIDENTIAL

ADM1031
Provided by
ADM1031
Class Hierarchy
conf-object log-object ADM1031
Interfaces Implemented
log_object
Description
The ADM1031 class implements an I2C based fan controller.

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
Required attribute; read/write access; type: Integer.
The address of the device on the I2C bus excluding the LSB (i.e. shifted 1 bit
right).
i2c_bus
Required attribute; read/write access; type: Object.
The I2C bus that the device is connected to.
operation
Optional attribute; read/write access; type: String.
Internal: Device access state.
registers
Optional attribute; read/write access; type: [i{35}].
List of internal device registers.
state
Optional attribute; read/write access; type: Integer.
Internal: The I2C state for the device.

782

VIRTUTECH CONFIDENTIAL

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

783

VIRTUTECH CONFIDENTIAL

agp-voodoo3
Provided by
pci-components
Class Hierarchy
conf-object log-object component agp-voodoo3
Interfaces Implemented
log_object, component
Description
The pci-voodoo3 component represents a 3dfx Voodoo3 AGP based VGA compatible graphics adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<agp-voodoo3>.info
Synopsis
<agp-voodoo3>.info
Description
Print detailed information about the configuration of the device.

784

VIRTUTECH CONFIDENTIAL

<agp-voodoo3>.status
Synopsis
<agp-voodoo3>.status
Description
Print detailed information about the current status of the device.

785

VIRTUTECH CONFIDENTIAL

alpha-ev5
Provided by
alpha-ev5, alpha-ev5-turbo
Class Hierarchy
conf-object log-object alpha-ev5
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, processor, event_poster
Description
This class models an Alpha 21164 CPU.

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

786

VIRTUTECH CONFIDENTIAL
branch_prof_support
Pseudo attribute; read-only access; type: b.
True if this processor supports branch profiling in -stall mode, false otherwise.
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_groupinterface.
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dtlb_asn
Optional attribute; read/write access; type: [i].
(asn) is a list of address space numbers corresponding to entries in the DTB.
dtlb_current_asn
Optional attribute; read/write access; type: Integer.
Current address space number of the DTB.
dtlb_pte
Optional attribute; read/write access; type: [i].
(pte) is a list of page table entries in the DTB.
787

VIRTUTECH CONFIDENTIAL
dtlb_tag
Optional attribute; read/write access; type: [i].
No documentation available.
dtlb_while_tag
Optional attribute; read/write access; type: [i].
(tag) is a list of complete 64-bit tag entries in the DTB.
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).
fpcr
Optional attribute; read/write access; type: Integer.
The floating-point control register.
fregs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(f0 . . . f31) floating-point registers.
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
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
intr_flag
Optional attribute; read/write access; type: Integer.
This flag signals whether a sequence of instructions where executed with or without interruption (and is used by RS and RC instructions).
intr_requests
Optional attribute; read/write access; type: Integer.
Pending interrupt requests.
788

VIRTUTECH CONFIDENTIAL
ipr_va_lock
Optional attribute; read/write access; type: Integer.
When set to 1, the VA register is locked against further updates until read by
software.
iprs
Optional attribute; read/write access; type: [i].
(ipr0 . . . iprN) internal processor registers.
iregs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0 . . . r31) integer registers.
is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
itlb_asn
Optional attribute; read/write access; type: [i].
(asn) is a list of address space numbers corresponding to entries in the ITB.
itlb_current_asn
Optional attribute; read/write access; type: Integer.
Current address space number of the ITB.
itlb_pte
Optional attribute; read/write access; type: [i].
(pte) is a list of page table entries in the ITB.
itlb_tag
Optional attribute; read/write access; type: [i].
(tag) is a list of tag entries in the ITB.
itlb_while_tag
Optional attribute; read/write access; type: [i].
(tag) is a list of complete 64-bit tag entries in the ITB.
lock_flag
Optional attribute; read/write access; type: Integer.
Lock flag, used by LDx_L (load-locked) and STx_C (store-conditional) instructions.
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions
789

VIRTUTECH CONFIDENTIAL
locked_address_space
Optional attribute; read/write access; type: Integer.
Address spaced locked by previous LDx_L (load-locked) instruction.
locked_virtual_address
Optional attribute; read/write access; type: Integer.
The virtual address associated with LDx_L (load-locked) and STx_C (store-conditional)
instructions.
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
mode
Optional attribute; read/write access; type: Integer.
Current privilege mode (kernel, executive, supervisor, or user) represented by
integers 0 to 3 respectively.
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pal_mode
Optional attribute; read/write access; type: Integer.
Set to 1 when the processor executes in PAL mode.
pc
Optional attribute; read/write access; type: Integer.
Current program counter (PC).
790

VIRTUTECH CONFIDENTIAL
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.
shadow_regs
Optional attribute; read/write access; type: [i{8}].
(pt0 . . . pt7) is a list of PALshadow registers, used as an overlay of the integer
register file when operating in PALmode.
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.
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.
791

VIRTUTECH CONFIDENTIAL
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.
792

VIRTUTECH CONFIDENTIAL
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.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

793

VIRTUTECH CONFIDENTIAL

alpha-lx164-system
Provided by
alpha-components
Class Hierarchy
conf-object log-object component top-component alpha-lx164-system
Interfaces Implemented
log_object, component
Description
The alpha-lx164-system component represents a single-processor Alpha LX164 system with a Pyxis PCI north bridge.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
bios
Optional attribute; read/write access; type: String.
The boot BIOS file to use.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in mega-bytes in the machine.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.
794

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<alpha-lx164-system>.info
Synopsis
<alpha-lx164-system>.info
Description
Print detailed information about the configuration of the device.

<alpha-lx164-system>.status
Synopsis
<alpha-lx164-system>.status
Description
Print detailed information about the current status of the device.

795

VIRTUTECH CONFIDENTIAL

AM29F016
Provided by
AM29F016
Class Hierarchy
conf-object log-object AM29F016
Interfaces Implemented
log_object, io_memory
Description
This device models a AM29F016 flash memory module. Note that this device is deprecated. Please use the flash-memory class instead.

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
command_state
Optional attribute; read/write access; type: unknown type.
Current value of the command set state machine.
image
Required attribute; read/write access; type: unknown type.
Image object to hold the memory contents.

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

796

VIRTUTECH CONFIDENTIAL

AM79C960
Provided by
AM79C960
Class Hierarchy
conf-object log-object AM79C960
Interfaces Implemented
log_object, ethernet_device, event_poster, io_memory
Description
The AM79C960 device is a 10Mbit/s Ethernet controller, also known as LANCE, or
le on Sun machines. The AM79C960 can be connected to a real network using Simics
central. Limitations: The device does not support ethernet frames that are larger than
the memory buffer size, and internal loopback is not implemented.

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
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
csr0
Optional attribute; read/write access; type: Integer.
Control and status register 0.
csr1
Optional attribute; read/write access; type: Integer.
Control and status register 1.
csr2
Optional attribute; read/write access; type: Integer.
Control and status register 2.

797

VIRTUTECH CONFIDENTIAL
csr3
Optional attribute; read/write access; type: Integer.
Control and status register 3.
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
initialized
Optional attribute; read/write access; type: Integer.
Set to non-zero when the device instance is initialized (boolean).
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
irq_dev
Required attribute; read/write access; type: Object.
Interrupt device implementing the simple-interrupt interface.
irq_issued
Optional attribute; read/write access; type: b.
Keeps track of whether an interrupt is currently issued or not.
irq_level
Required attribute; read/write access; type: Integer.
Interrupt level.
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
last_rx
Optional attribute; read/write access; type: Integer.
Last receive descriptor.
798

VIRTUTECH CONFIDENTIAL
last_tx
Optional attribute; read/write access; type: Integer.
Last transmit descriptor.
link
Optional attribute; read/write access; type: Object or Nil.
The Ethernet link that the network device is connected to.
log_addr
Optional attribute; read/write access; type: i|d.
64-bit logical address mask.
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n.
Ethernet (MAC) address of the network interface.
mac_read_only
Optional attribute; read/write access; type: Integer.
If set to 1, the mac address cannot be changed by the target software, i.e. it is set
in the ROM.
memory
Required attribute; read/write access; type: Object.
Memory space object used for DMA memory access.
mode
Optional attribute; read/write access; type: Integer.
Mode register.
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
pkt_rec
Session attribute; read/write access; type: Integer.
Number of received packets.
pkt_snt
Session attribute; read/write access; type: Integer.
Number of sent packets.
799

VIRTUTECH CONFIDENTIAL
poll_delay
Optional attribute; read/write access; type: Float.
Specifies how often (in seconds) that the device polls for new packets from the
host to send out on the network.
rap
Optional attribute; read/write access; type: Integer.
Register address port (RAP), selecting one of the control and status registers.
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
rx_len
Optional attribute; read/write access; type: Integer.
Receive descriptor ring length.
rx_ptr
Optional attribute; read/write access; type: Integer.
Receive descriptor ring address.
send_delay
Optional attribute; read/write access; type: Float.
The time (in seconds) between a packet is sent from the device until the processor
is notified with an interrupt.
tx_len
Optional attribute; read/write access; type: Integer.
Transmit descriptor ring length.
tx_ptr
Optional attribute; read/write access; type: Integer.
Transmit descriptor ring address.

800

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print status of the device

Command Descriptions
<AM79C960>.connect
Synopsis
<AM79C960>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<AM79C960>.disconnect

<AM79C960>.disconnect
Synopsis
<AM79C960>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<AM79C960>.connect

<AM79C960>.info
Synopsis
<AM79C960>.info
Description
Print detailed information about the configuration of the device.

<AM79C960>.status
801

VIRTUTECH CONFIDENTIAL
Synopsis
<AM79C960>.status
Description
Print detailed information about the current status of the device.

802

VIRTUTECH CONFIDENTIAL

AM79C960-dml
Provided by
AM79C960-dml
Class Hierarchy
conf-object log-object AM79C960-dml
Interfaces Implemented
log_object, io_memory, ethernet_device, event_poster
Description
AM79C960 Ethernet controller.

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
csr_csr0
Optional attribute; read/write access; type: Integer.
Controller Status
csr_csr1
Optional attribute; read/write access; type: Integer.
Init Block Address [15:0]
csr_csr10
Pseudo attribute; read/write access; type: Integer.
Logical Address Filter [47:32]
csr_csr11
Pseudo attribute; read/write access; type: Integer.
Logical Address Filter [63:48]
csr_csr112
Optional attribute; read/write access; type: Integer.
Missed Frame Count
csr_csr12
Pseudo attribute; read/write access; type: Integer.
Physical (MAC) Address [15:0]
803

VIRTUTECH CONFIDENTIAL
csr_csr13
Pseudo attribute; read/write access; type: Integer.
Physical (MAC) Address [31:16]
csr_csr14
Pseudo attribute; read/write access; type: Integer.
Physical (MAC) Address [47:32]
csr_csr15
Optional attribute; read/write access; type: Integer.
Mode
csr_csr2
Optional attribute; read/write access; type: Integer.
Init Block Address [23:16]
csr_csr3
Optional attribute; read/write access; type: Integer.
Interrupt Mask and Deferral Control
csr_csr4
Optional attribute; read/write access; type: Integer.
Misc
csr_csr8
Pseudo attribute; read/write access; type: Integer.
Logical Address Filter [15:0]
csr_csr88
Optional attribute; read/write access; type: Integer.
Chip ID lsw
csr_csr89
Optional attribute; read/write access; type: Integer.
Chip ID msw
csr_csr9
Pseudo attribute; read/write access; type: Integer.
Logical Address Filter [31:16]
curr_rxd
Optional attribute; read/write access; type: Integer.
Index of the current receive descriptor
curr_txd
Optional attribute; read/write access; type: Integer.
Index of the current transmit descriptor
804

VIRTUTECH CONFIDENTIAL
ioreg_aprom_0
Pseudo attribute; read/write access; type: Integer.
Address PROM (MAC address)
ioreg_aprom_1
Pseudo attribute; read/write access; type: Integer.
Address PROM (MAC address)
ioreg_aprom_2
Pseudo attribute; read/write access; type: Integer.
Address PROM (MAC address)
ioreg_aprom_3
Pseudo attribute; read/write access; type: Integer.
Address PROM (MAC address)
ioreg_aprom_4
Pseudo attribute; read/write access; type: Integer.
Address PROM (MAC address)
ioreg_aprom_5
Pseudo attribute; read/write access; type: Integer.
Address PROM (MAC address)
ioreg_aprom_e
Optional attribute; read/write access; type: Integer.
Address PROM (unknown)
ioreg_aprom_f
Optional attribute; read/write access; type: Integer.
Address PROM (unknown)
ioreg_idp
Optional attribute; read/write access; type: Integer.
ISA Bus Configuration Register Data Port
ioreg_rap
Optional attribute; read/write access; type: Integer.
Address Port (shared between RDP, IDP)
ioreg_rdp
Optional attribute; read/write access; type: Integer.
Ethernet Controller Register Data Port
ioreg_reset
Optional attribute; read/write access; type: Integer.
Reset (read to trigger)
805

VIRTUTECH CONFIDENTIAL
irq_dev
Required attribute; read/write access; type: Object.
The device that interrupts are sent to.
irq_level
Required attribute; read/write access; type: Integer.
The level at which interrupts are sent.
irq_raised
Optional attribute; read/write access; type: Integer.
Interrupt is currently raised by device
isa_led0
Optional attribute; read/write access; type: Integer.
LED0 Status (Link Integrity)
isa_led1
Optional attribute; read/write access; type: Integer.
LED1 Status (Default: RCV)
isa_led2
Optional attribute; read/write access; type: Integer.
LED2 Status (Default: RCVPOL)
isa_led3
Optional attribute; read/write access; type: Integer.
LED3 Status (Default: XMT)
isa_mc
Optional attribute; read/write access; type: Integer.
Miscellaneous Configuration
isa_msrda
Optional attribute; read/write access; type: Integer.
Master Mode Read Active
isa_mswra
Optional attribute; read/write access; type: Integer.
Master Mode Write Active
isa_reserved
Optional attribute; read/write access; type: Integer.
register isa.reserved
link
Optional attribute; read/write access; type: Object or Nil.
The ethernet-link the device is connected to.
806

VIRTUTECH CONFIDENTIAL
logical_address_filter
Optional attribute; read/write access; type: Integer.
The logical address filter
mac_address
Optional attribute; read/write access; type: String.
The MAC address
memory
Required attribute; read/write access; type: Object.
The memory-space the device uses to access the initialization data and descriptor
rings.
poll_interval
Optional attribute; read/write access; type: Float.
Interval between transmit descriptor polls
rcv_descr_tbl_addr
Optional attribute; read/write access; type: Integer.
The base address of the receive descriptor ring
rcv_descr_tbl_length
Optional attribute; read/write access; type: Integer.
The length of the receive descriptor ring
transmit_time
Optional attribute; read/write access; type: Float.
Time it takes to transmit a packet.
xmt_descr_tbl_addr
Optional attribute; read/write access; type: Integer.
The base address of the transmit descriptor ring
xmt_descr_tbl_length
Optional attribute; read/write access; type: Integer.
The length of the transmit descriptor ring

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print status of the device

807

VIRTUTECH CONFIDENTIAL

Command Descriptions
<AM79C960-dml>.connect
Synopsis
<AM79C960-dml>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<AM79C960-dml>.disconnect

<AM79C960-dml>.disconnect
Synopsis
<AM79C960-dml>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<AM79C960-dml>.connect

<AM79C960-dml>.info
Synopsis
<AM79C960-dml>.info
Description
Print detailed information about the configuration of the device.

<AM79C960-dml>.status
Synopsis
<AM79C960-dml>.status
Description
Print detailed information about the current status of the device.

808

VIRTUTECH CONFIDENTIAL

AM79C973
Provided by
AM79C973
Class Hierarchy
conf-object log-object AM79C973
Interfaces Implemented
log_object, io_memory, pci_device, ieee_802_3_mac, event_poster
Description
AM79C973 Ethernet controller.

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
bcr_bcr18
Optional attribute; read/write access; type: Integer.
Burst and Bus control
bcr_bcr19
Optional attribute; read/write access; type: Integer.
EEPROM control and status
bcr_bcr22
Optional attribute; read/write access; type: Integer.
PCI latency register
bcr_bcr27
Optional attribute; read/write access; type: Integer.
SRAM interface control
bcr_bcr32
Optional attribute; read/write access; type: Integer.
PHY control and status
bcr_bcr9
Optional attribute; read/write access; type: Integer.
Full-duplex control
809

VIRTUTECH CONFIDENTIAL
bcr_led0
Optional attribute; read/write access; type: Integer.
LED0 Status (Link Integrity)
bcr_led1
Optional attribute; read/write access; type: Integer.
LED1 Status (Default: RCV)
bcr_led2
Optional attribute; read/write access; type: Integer.
LED2 Status (Default: RCVPOL)
bcr_led3
Optional attribute; read/write access; type: Integer.
LED3 Status (Default: XMT)
bcr_mc
Optional attribute; read/write access; type: Integer.
Miscellaneous Configuration
bcr_msrda
Optional attribute; read/write access; type: Integer.
Master Mode Read Active
bcr_mswra
Optional attribute; read/write access; type: Integer.
Master Mode Write Active
bcr_phy_addr
Optional attribute; read/write access; type: Integer.
register bcr.phy_addr
bcr_phy_data
Optional attribute; read/write access; type: Integer.
register bcr.phy_data
bcr_reserved
Optional attribute; read/write access; type: Integer.
register bcr.reserved
bcr_sram_bnd
Optional attribute; read/write access; type: Integer.
SRAM boundary
bcr_sram_size
Optional attribute; read/write access; type: Integer.
SRAM size
810

VIRTUTECH CONFIDENTIAL
bcr_swstyle
Optional attribute; read/write access; type: Integer.
register bcr.swstyle
config_registers
Pseudo attribute; read/write access; type: [i].
The PCI configuration registers, each 32 bits in size.
csr_csr0
Optional attribute; read/write access; type: Integer.
Controller Status
csr_csr1
Optional attribute; read/write access; type: Integer.
Init Block Address [15:0]
csr_csr112
Optional attribute; read/write access; type: Integer.
Missed Frame Count
csr_csr116
Optional attribute; read/write access; type: Integer.
OnNow misc config
csr_csr15
Optional attribute; read/write access; type: Integer.
Mode
csr_csr2
Optional attribute; read/write access; type: Integer.
Init Block Address [23:16]
csr_csr3
Optional attribute; read/write access; type: Integer.
Interrupt Mask and Deferral Control
csr_csr4
Optional attribute; read/write access; type: Integer.
Misc
csr_csr7
Optional attribute; read/write access; type: Integer.
Extended Control and Interrupt 2
csr_csr88
Optional attribute; read/write access; type: Integer.
Chip ID lsw
811

VIRTUTECH CONFIDENTIAL
csr_csr89
Optional attribute; read/write access; type: Integer.
Chip ID msw
curr_rxd
Optional attribute; read/write access; type: Integer.
Index of the current receive descriptor
curr_txd
Optional attribute; read/write access; type: Integer.
Index of the current transmit descriptor
expansion_rom
Optional attribute; read/write access; type: Object or Nil.
Undocumented
ioreg_aprom
Optional attribute; read/write access; type: [i{16}].
Address PROM (MAC address + checksum)
ioreg_idp
Pseudo attribute; read/write access; type: Integer.
Bus Configuration Register Data Port
ioreg_rap
Optional attribute; read/write access; type: Integer.
Address Port (shared between RDP, IDP)
ioreg_rdp
Pseudo attribute; read/write access; type: Integer.
Ethernet Controller Register Data Port
ioreg_reset
Optional attribute; read/write access; type: Integer.
Reset (read to trigger)
irq_raised
Optional attribute; read/write access; type: Integer.
Interrupt is currently raised by device
logical_address_filter
Optional attribute; read/write access; type: Integer.
The logical address filter
mac_address
Optional attribute; read/write access; type: Integer.
The MAC address
812

VIRTUTECH CONFIDENTIAL
pci_bus
Required attribute; read/write access; type: Object.
The PCI bus this device is connected to, implementing the pci-bus interface.
pci_config_base_address_0
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_0
pci_config_base_address_1
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_1
pci_config_base_address_2
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_2
pci_config_base_address_3
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_3
pci_config_base_address_4
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_4
pci_config_base_address_5
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_5
pci_config_bist
Optional attribute; read/write access; type: Integer.
register pci_config.bist
pci_config_bus_address
Pseudo attribute; read/write access; type: Integer.
register pci_config.bus_address
pci_config_cache_line_size
Optional attribute; read/write access; type: Integer.
register pci_config.cache_line_size
pci_config_capabilities_ptr
Optional attribute; read/write access; type: Integer.
register pci_config.capabilities_ptr
pci_config_cardbus_cis_ptr
Optional attribute; read/write access; type: Integer.
register pci_config.cardbus_cis_ptr
813

VIRTUTECH CONFIDENTIAL
pci_config_class_code
Optional attribute; read/write access; type: Integer.
register pci_config.class_code
pci_config_command
Optional attribute; read/write access; type: Integer.
The PCI command register.
pci_config_device_id
Optional attribute; read/write access; type: Integer.
The Device ID of the PCI device
pci_config_expansion_rom_base
Pseudo attribute; read/write access; type: Integer.
Expansion ROM base address
pci_config_header_type
Optional attribute; read/write access; type: Integer.
register pci_config.header_type
pci_config_interrupt_line
Optional attribute; read/write access; type: Integer.
register pci_config.interrupt_line
pci_config_interrupt_pin
Optional attribute; read/write access; type: Integer.
register pci_config.interrupt_pin
pci_config_interrupts
Optional attribute; read/write access; type: Integer.
register pci_config.interrupts
pci_config_latency_timer
Optional attribute; read/write access; type: Integer.
register pci_config.latency_timer
pci_config_max_lat
Optional attribute; read/write access; type: Integer.
register pci_config.max_lat
pci_config_min_gnt
Optional attribute; read/write access; type: Integer.
register pci_config.min_gnt
pci_config_pm_capabilities
Optional attribute; read/write access; type: Integer.
PM Capabilities
814

VIRTUTECH CONFIDENTIAL
pci_config_pm_capability_id
Optional attribute; read/write access; type: Integer.
Capability ID
pci_config_pm_data
Optional attribute; read/write access; type: Integer.
PM Data
pci_config_pm_next_ptr_r
Optional attribute; read/write access; type: Integer.
Next PTR
pci_config_pm_sc_bridge
Optional attribute; read/write access; type: Integer.
PM Bridge S/C
pci_config_pm_status_control
Optional attribute; read/write access; type: Integer.
PM Status/Control
pci_config_reserved1
Optional attribute; read/write access; type: Integer.
register pci_config.reserved1
pci_config_reserved2
Optional attribute; read/write access; type: Integer.
register pci_config.reserved2
pci_config_revision_id
Optional attribute; read/write access; type: Integer.
register pci_config.revision_id
pci_config_status
Optional attribute; read/write access; type: Integer.
register pci_config.status
pci_config_subsystem_id
Optional attribute; read/write access; type: Integer.
register pci_config.subsystem_id
pci_config_subsystem_vendor_id
Optional attribute; read/write access; type: Integer.
register pci_config.subsystem_vendor_id
pci_config_vendor_id
Optional attribute; read/write access; type: Integer.
The Vendor ID of the PCI device
815

VIRTUTECH CONFIDENTIAL
phy
Optional attribute; read/write access; type: Object or Nil.
The PHY the device is connected to.
poll_interval
Optional attribute; read/write access; type: Float.
Interval between transmit descriptor polls
rcv_descr_tbl_addr
Optional attribute; read/write access; type: Integer.
The base address of the receive descriptor ring
rcv_descr_tbl_length
Optional attribute; read/write access; type: Integer.
The length of the receive descriptor ring
xmt_descr_tbl_addr
Optional attribute; read/write access; type: Integer.
The base address of the transmit descriptor ring
xmt_descr_tbl_length
Optional attribute; read/write access; type: Integer.
The length of the transmit descriptor ring

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
pci-header
status

print information about the device


print PCI device header
print status of the device

Command Descriptions
<AM79C973>.info
Synopsis
<AM79C973>.info
Description
Print detailed information about the configuration of the device.

<AM79C973>.pci-header
816

VIRTUTECH CONFIDENTIAL
Synopsis
<AM79C973>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<AM79C973>.status
Synopsis
<AM79C973>.status
Description
Print detailed information about the current status of the device.

817

VIRTUTECH CONFIDENTIAL

apic
Provided by
apic
Class Hierarchy
conf-object log-object apic
Interfaces Implemented
log_object, event_poster, interrupt_cpu, apic_cpu, io_memory
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 Developers Manual
Volume 3.

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
apic_bus
Required attribute; read/write access; type: unknown type.
Bus implementing the apic-bus interface.
apic_id
Required attribute; read/write access; type: unknown type.
APIC ID.
apic_type
Optional attribute; read/write access; type: String.
APIC Type (P6 or P4)
arbitration_id
Optional attribute; read/write access; type: unknown type.
Arbitration ID.
count_in_progress
Optional attribute; read/write access; type: unknown type.
Count is in progress.
818

VIRTUTECH CONFIDENTIAL
count_initial
Optional attribute; read/write access; type: unknown type.
Initial count when timer was started.
count_start
Optional attribute; read/write access; type: unknown type.
Local CPU time when count was started.
cpu
Required attribute; read/write access; type: unknown type.
Target processor implementing the processor interface.
cpu_bus_divisor
Optional attribute; read/write access; type: Float.
Divisor between CPU frequency and bus frequency used by the APIC timer.
destination_format
Optional attribute; read/write access; type: unknown type.
Destination format register.
divisor_ln_2
Optional attribute; read/write access; type: unknown type.
Log2 of timer divisor. Note that this is not the format used in the divide configuration register.
error_status
Optional attribute; read/write access; type: unknown type.
Error status.
initial_count
Optional attribute; read/write access; type: unknown type.
Initial count register for timer.
interrupt_command
Optional attribute; read/write access; type: unknown type.
Interrupt command register (all 64 bits).
interrupt_posted
Optional attribute; read/write access; type: unknown type.
Interrupt signal raised.
logical_destination
Optional attribute; read/write access; type: unknown type.
Logical destination register.

819

VIRTUTECH CONFIDENTIAL
lvt_error
Optional attribute; read/write access; type: unknown type.
Local vector table, error.
lvt_lint0
Optional attribute; read/write access; type: unknown type.
Local vector table, local interrupt 0.
lvt_lint1
Optional attribute; read/write access; type: unknown type.
Local vector table, local interrupt 1.
lvt_performance_counter
Optional attribute; read/write access; type: unknown type.
Local vector table, performance counter.
lvt_thermal_sensor
Optional attribute; read/write access; type: unknown type.
Local vector table, thermal sensor.
lvt_timer
Optional attribute; read/write access; type: unknown type.
Local vector table, timer.
physical_broadcast_address
Optional attribute; read/write access; type: unknown type.
Broadcast address for interprocessor interrupts and interrupts from the I/O-APIC.
Should be kept at its default value of FFh for unless connected to a Pentium (classic) family or P6 family processor, in which case the value should be 0Fh.
priority
Optional attribute; read/write access; type: unknown type.
(((state, delivery-mode, vector, ack-obj){2}){16}). Interrupt slots.
remote_read
Optional attribute; read/write access; type: unknown type.
Remote read.
spurious_interrupt_vector
Optional attribute; read/write access; type: unknown type.
Spurious interrupt vector register.
status
Optional attribute; read/write access; type: unknown type.
((tm0, ir0, is0), . . . , (tm255, ir255, is255)). Status registers.
820

VIRTUTECH CONFIDENTIAL
task_priority
Optional attribute; read/write access; type: unknown type.
Task priority register.
version
Optional attribute; read/write access; type: unknown type.
APIC Version.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<apic>.info
Synopsis
<apic>.info
Description
Print detailed information about the configuration of the device.

<apic>.status
Synopsis
<apic>.status
Description
Print detailed information about the current status of the device.

821

VIRTUTECH CONFIDENTIAL

apic-bus
Provided by
apic
Class Hierarchy
conf-object log-object apic-bus
Interfaces Implemented
log_object, interrupt_ack, io_memory
Description
The apic-bus class handles traffic on the APIC bus. At most one I/O-APIC and at least
one APIC can be connected to each apic-bus instance.

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

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

822

VIRTUTECH CONFIDENTIAL

Command Descriptions
<apic-bus>.info
Synopsis
<apic-bus>.info
Description
Print detailed information about the configuration of the device.

<apic-bus>.status
Synopsis
<apic-bus>.status
Description
Print detailed information about the current status of the device.

823

VIRTUTECH CONFIDENTIAL

apm
Provided by
apm
Class Hierarchy
conf-object log-object apm
Interfaces Implemented
log_object, io_memory
Description
The apm device handles the advanced power management control and status ports
(typically B2h and B3h).

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
control
Optional attribute; read/write access; type: unknown type.
Advanced Power Management Control Port.
pm
Required attribute; read/write access; type: unknown type.
Power management device that the apm device sends commands to.
status
Optional attribute; read/write access; type: unknown type.
Advanced Power Management Status Port.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print status of the device

824

VIRTUTECH CONFIDENTIAL

Command Descriptions
<apm>.status
Synopsis
<apm>.status
Description
Print detailed information about the current status of the device.

825

VIRTUTECH CONFIDENTIAL

arm-sa1110-system
Provided by
arm-sa1110-components
Class Hierarchy
conf-object log-object component top-component arm-sa1110-system
Interfaces Implemented
log_object, component
Description
The arm-sa1110-system component represents a simple ARM SA1110 system with
a single processor and a serial device.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
memory_megs
Optional attribute; read/write access; type: Integer.
Size of RAM (mapped from 0xc0000000) in MB.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

826

VIRTUTECH CONFIDENTIAL

Command Descriptions
<arm-sa1110-system>.info
Synopsis
<arm-sa1110-system>.info
Description
Print detailed information about the configuration of the device.

<arm-sa1110-system>.status
Synopsis
<arm-sa1110-system>.status
Description
Print detailed information about the current status of the device.

827

VIRTUTECH CONFIDENTIAL

armv5te
Provided by
armv5te, armv5te-turbo
Class Hierarchy
conf-object log-object armv5te
Interfaces Implemented
log_object, arm, simple_interrupt, exception, int_register, processor, event_poster
Description
ARMv5TE 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.
alt_vector_select
Optional attribute; read/write access; type: Integer.
A 1-bit field indicating the whether the alternative reset vector (at 0xffff00000xffff001c) should be used instead of the vector at 0x00000000-0x0000001c.
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 (arm)

828

VIRTUTECH CONFIDENTIAL
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.
cache_type
Optional attribute; read/write access; type: Integer.
Cache type
control
Optional attribute; read/write access; type: Integer.
Control
coprocessors
Optional attribute; read/write access; type: [o|n{15}].
A list of objects (or None) representing coprocessors 0 to 14. (Coprocessor 15
(SCC) is implemented internally by the ARM CPU.) Each coprocessor should
implement arm_coprocessor_interface.
cpsr
Optional attribute; read/write access; type: [i{6}].
The current program status register of each mode. The order of the modes is usr,
svc, abt, und, irq, fiq.
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_groupinterface.
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
829

VIRTUTECH CONFIDENTIAL
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.
domain_access_control
Optional attribute; read/write access; type: Integer.
Domain access control
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).
fault_address
Optional attribute; read/write access; type: Integer.
Fault address
fault_status
Optional attribute; read/write access; type: Integer.
Fault status
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gprs
Optional attribute; read/write access; type: [[i{16}]{6}].
The general purpose registers of each mode. The order of the modes is usr, svc,
abt, und, irq, fiq.
instruction_fetch_line_size
Session attribute; read/write access; type: Integer.
Instruction fetch line size for this processor.
830

VIRTUTECH CONFIDENTIAL
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 ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
main_id
Optional attribute; read/write access; type: Integer.
Main ID
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).
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pending_exception
Pseudo attribute; read-only access; type: Integer.
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).
831

VIRTUTECH CONFIDENTIAL
pending_exceptions
Optional attribute; read/write access; type: Integer.
Pending exceptions.
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.
scc_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
spsr
Optional attribute; read/write access; type: [i{6}].
The saved program status register of each mode. The order of the modes is usr,
svc, abt, und, irq, fiq. The user mode saved program status register is always
read as 0 and ignores writes.
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.
832

VIRTUTECH CONFIDENTIAL
steps
Optional attribute; read/write access; type: Integer.
Number steps executed since machine start.
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.
translation_table_base
Optional attribute; read/write access; type: Integer.
Translation table base
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.

833

VIRTUTECH CONFIDENTIAL
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.

834

VIRTUTECH CONFIDENTIAL
turbo_use_off_page_chaining
Session class attribute; read/write access; type: unknown type.
Off page chaining enable.
wait_for_interrupt
Optional attribute; read/write access; type: b.
True if the processor is in wait for interrupt state.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface arm
pscc-regs
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

835

VIRTUTECH CONFIDENTIAL

artesyn-pm-ppc
Provided by
artesyn-pm-ppc
Class Hierarchy
conf-object log-object artesyn-pm-ppc
Interfaces Implemented
log_object, pci_interrupt, io_memory
Description
Artesyns chip on the PM/PPC card. Handles board config, LEDs, reset 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
board_config_reg0
Required attribute; read/write access; type: Integer.
Board Configuration 0 at 0x7ff40001
board_config_reg1
Required attribute; read/write access; type: Integer.
Board Configuration 1 at 0x7ff40000
irq_base_level
Required attribute; read/write access; type: Integer.
First interrupt number used
irq_dev
Required attribute; read/write access; type: Object.
The boards interrupt device (a cpc700-uic), implementing the simple-interrupt
interface
led_board_id_reg
Required attribute; read/write access; type: Integer.
LED and Board ID Register at 0x7ff40002

836

VIRTUTECH CONFIDENTIAL
linux_quirk
Optional attribute; read/write access; type: Integer.
Enable remapping of interrupts to please broken Linux
pmc_interrupt_control_reg
Optional attribute; read/write access; type: Integer.
PMC Interrupt Control Register at 0x7ff40004
reset_control_reg
Optional attribute; read/write access; type: Integer.
Reset Control Register at 0x7ff40003

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

837

VIRTUTECH CONFIDENTIAL

AT24C164
Provided by
AT24C164
Class Hierarchy
conf-object log-object AT24C164
Interfaces Implemented
log_object
Description
2048 x 8 bit serial EEPROMs with I2C bus interface.

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
a210
Required attribute; read/write access; type: unknown type.
States of the A2, A1, and A0 address pins. N.b., A1s logic is reversed by the chip
current_address
Optional attribute; read/write access; type: unknown type.
The current address being read from
device_state
Optional attribute; read/write access; type: unknown type.
The state of the device. 0 for clear, 1 for got start, and 2 for got start and address
i2c_bus
Required attribute; read/write access; type: unknown type.
The I2C bus the EEPROM is connected to
i2c_state
Optional attribute; read/write access; type: unknown type.
The state of the I2C interface of the device. 0 for idle, 1 for master transmit, 2 for
master receive, 3 for slave transmit, and 4 for slave receive.
memory
Optional attribute; read/write access; type: unknown type.
The on-chip memory bank
838

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<AT24C164>.info
Synopsis
<AT24C164>.info
Description
Print detailed information about the configuration of the device.

<AT24C164>.status
Synopsis
<AT24C164>.status
Description
Print detailed information about the current status of the device.

839

VIRTUTECH CONFIDENTIAL

AT24CS256
Provided by
AT24CS256
Class Hierarchy
conf-object log-object AT24CS256
Interfaces Implemented
log_object
Description
32768 x 8 bit serial EEPROMs with I2C bus interface

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
device_state
Optional attribute; read/write access; type: unknown type.
The current device state (i.e., pending read/write operation).
i2c_address
Required attribute; read/write access; type: unknown type.
The i2c_addr field.
i2c_bus
Required attribute; read/write access; type: unknown type.
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_state
Optional attribute; read/write access; type: unknown type.
The state of the i2c interface.
memory
Optional attribute; read/write access; type: unknown type.
The on-chip memory bank
840

VIRTUTECH CONFIDENTIAL
memory_address
Optional attribute; read/write access; type: unknown type.
The current memory address

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

841

VIRTUTECH CONFIDENTIAL

base-trace-mem-hier
Provided by
trace
Class Hierarchy
conf-object base-trace-mem-hier
Interfaces Implemented
None
Description
The base class for the trace mode. This module provides an easy way of generating
traces from Simics. Actions traced are executed instructions, memory accesses and,
occurred exceptions. Traces will by default be printed as text to the terminal but can
also be directed to a file in which case a binary format is available as well. It is also
possible to control what will be traced by setting a few of the provided attributes.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
consumer
Session attribute; read/write access; type: Object or Nil.
Optional consumer object. Must implement trace_consume.
data_intervals_p
Session attribute; read/write access; type: [[ii]].
List of physical address intervals for data tracing. If no intervals are specified, all
addresses are traced.
data_intervals_v
Session attribute; read/write access; type: [[ii]].
List of virtual address intervals for data tracing. If no intervals are specified, all
addresses are traced.
enabled
Session attribute; read/write access; type: Integer.
1|0 Set to 1 to enable tracing, 0 to disable.
file
Session attribute; read/write access; type: s|n.
Name of output file that the trace is written to. If the name ends in .gz, the
output will be gzipped.
842

VIRTUTECH CONFIDENTIAL
filter_duplicates
Session attribute; read/write access; type: Integer.
1|0 Set to 1 to filter out duplicate trace entries. Useful to filter out multiple steps
in looping or repeating instructions.
print_access_type
Session attribute; read/write access; type: Integer.
1|0 Set to 1 to enable printing of the memory access type, 0 to disable.
print_data
Session attribute; read/write access; type: Integer.
1|0 Set to 1 to enable printing of data and instruction op codes, 0 to disable.
print_linear_address
Session attribute; read/write access; type: Integer.
1|0 Set to 1 to enable printing of the linear address, 0 to disable.
print_memory_type
Session attribute; read/write access; type: Integer.
1|0 Set to 1 to enable printing of the linear address, 0 to disable.
print_physical_address
Session attribute; read/write access; type: Integer.
1|0 Set to 1 to enable printing of the physical address, 0 to disable.
print_virtual_address
Session attribute; read/write access; type: Integer.
1|0 Set to 1 to enable printing of the virtual address, 0 to disable.
raw_mode
Session attribute; read/write access; type: Integer.
1|0 Set to 1 for raw output format, and 0 for ascii. Raw output format is only
supported when writing to a file.
trace_data
Session attribute; read/write access; type: Integer.
1|0 Set to 1 to enable tracing of data, 0 to disable.
trace_exceptions
Session attribute; read/write access; type: Integer.
1|0 Set to 1 to enable tracing of exceptions, 0 to disable.
trace_instructions
Session attribute; read/write access; type: Integer.
1|0 Set to 1 to enable instruction tracing, 0 to disable.
843

VIRTUTECH CONFIDENTIAL

Command List
Commands
start control default tracer
stop stop default tracer

Command Descriptions
<base-trace-mem-hier>.start
Alias
<base-trace-mem-hier>.trace-start
Synopsis
<base-trace-mem-hier>.start [file] [-raw] [-same]
<base-trace-mem-hier>.stop
Description
An installed tracer is required for this commands to work. Use the command newtracer to get a default tracer.
The start command turns on the tracer. The tracer logs all executed instructions, memory accesses and exceptions. The output is written to file (appended) if given, otherwise to standard output. If the -raw flag is used, each trace entry is written in binary
form; i.e., a struct trace_entry. This structure can be found in trace_api.h. Raw
format can only be written to file.
If the -same flag is used, you will get the same output file and mode as the last time.
stop switches off the tracer and closes the file. Until you have given the stop command, you can not be sure that the entire trace has been written to the file.
See Also
new-tracer

<base-trace-mem-hier>.stop
Alias
<base-trace-mem-hier>.trace-stop
Synopsis
<base-trace-mem-hier>.stop
<base-trace-mem-hier>.start [file] [-raw] [-same]
Description
An installed tracer is required for this commands to work. Use the command newtracer to get a default tracer.

844

VIRTUTECH CONFIDENTIAL
The start command turns on the tracer. The tracer logs all executed instructions, memory accesses and exceptions. The output is written to file (appended) if given, otherwise to standard output. If the -raw flag is used, each trace entry is written in binary
form; i.e., a struct trace_entry. This structure can be found in trace_api.h. Raw
format can only be written to file.
If the -same flag is used, you will get the same output file and mode as the last time.
stop switches off the tracer and closes the file. Until you have given the stop command, you can not be sure that the entire trace has been written to the file.
See Also
new-tracer

845

VIRTUTECH CONFIDENTIAL

BCM5703C
Provided by
BCM5703C
Class Hierarchy
conf-object log-object BCM5703C
Interfaces Implemented
log_object, event_poster, ethernet_device, io_memory, pci_device
Description
The BCM5703C class models the Broadcom BCM5703C triple-speed 10/100/1000BaseT Ethernet LAN controller.

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
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
anar
Optional attribute; read/write access; type: unknown type.
Internal Register
aner
Optional attribute; read/write access; type: unknown type.
Internal Register
anlpar
Optional attribute; read/write access; type: unknown type.
Internal Register
arbiter_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
846

VIRTUTECH CONFIDENTIAL
arbiter_trap_addr_h
Optional attribute; read/write access; type: unknown type.
Internal register.
arbiter_trap_addr_l
Optional attribute; read/write access; type: unknown type.
Internal register.
asf_control
Optional attribute; read/write access; type: unknown type.
Internal register.
bmcr
Optional attribute; read/write access; type: unknown type.
Internal Register
bmsr
Optional attribute; read/write access; type: unknown type.
Internal Register
buf_manager_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
cs_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
847

VIRTUTECH CONFIDENTIAL
desc_high_mark
Optional attribute; read/write access; type: unknown type.
Internal register.
desc_low_mark
Optional attribute; read/write access; type: unknown type.
Internal register.
dma_completion_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
dma_desc_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
dma_desc_size
Optional attribute; read/write access; type: unknown type.
Internal register.
dma_low_mark
Optional attribute; read/write access; type: unknown type.
Internal register.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
firmware_loaded
Pseudo attribute; read/write access; type: unknown type.
Set to 1 to fake the firmware load.
general_mailbox
Optional attribute; read/write access; type: unknown type.
List of 7 general mailbox registers
gigabit_pcs_test
Optional attribute; read/write access; type: unknown type.
Internal register.
host_coalescing_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
host_config
Optional attribute; read/write access; type: unknown type.
Internal register.
848

VIRTUTECH CONFIDENTIAL
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
interrupt_state
Optional attribute; read/write access; type: unknown type.
Internal interrupt state.
irq_mailbox_0
Optional attribute; read/write access; type: unknown type.
Internal register.
irq_mailbox_1
Optional attribute; read/write access; type: unknown type.
Internal register.
irq_mailbox_2
Optional attribute; read/write access; type: unknown type.
Internal register.
irq_mailbox_3
Optional attribute; read/write access; type: unknown type.
Internal register.
jumb_rx_replenish
Optional attribute; read/write access; type: unknown type.
Internal register.
jumb_rx_ring_flags
Optional attribute; read/write access; type: unknown type.
Internal register.
jumb_rx_ring_host_addr_h
Optional attribute; read/write access; type: unknown type.
Internal register.
jumb_rx_ring_host_addr_l
Optional attribute; read/write access; type: unknown type.
Internal register.
849

VIRTUTECH CONFIDENTIAL
jumb_rx_ring_length
Optional attribute; read/write access; type: unknown type.
Internal register.
jumb_rx_ring_nic_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
led_control
Optional attribute; read/write access; type: unknown type.
Internal register.
link
Optional attribute; read/write access; type: Object or Nil.
The Ethernet link that the network device is connected to.
local_control
Optional attribute; read/write access; type: unknown type.
Internal register.
low_water_max_receive
Optional attribute; read/write access; type: unknown type.
Internal register.
mac0
Optional attribute; read/write access; type: unknown type.
MAC 0 Address.
mac1
Optional attribute; read/write access; type: unknown type.
MAC 1 Address.
mac10
Optional attribute; read/write access; type: unknown type.
MAC 10 Address.
mac11
Optional attribute; read/write access; type: unknown type.
MAC 11 Address.
850

VIRTUTECH CONFIDENTIAL
mac12
Optional attribute; read/write access; type: unknown type.
MAC 12 Address.
mac13
Optional attribute; read/write access; type: unknown type.
MAC 13 Address.
mac14
Optional attribute; read/write access; type: unknown type.
MAC 14 Address.
mac15
Optional attribute; read/write access; type: unknown type.
MAC 15 Address.
mac2
Optional attribute; read/write access; type: unknown type.
MAC 2 Address.
mac3
Optional attribute; read/write access; type: unknown type.
MAC 3 Address.
mac4
Optional attribute; read/write access; type: unknown type.
MAC 4 Address.
mac5
Optional attribute; read/write access; type: unknown type.
MAC 5 Address.
mac6
Optional attribute; read/write access; type: unknown type.
MAC 6 Address.
mac7
Optional attribute; read/write access; type: unknown type.
MAC 7 Address.
mac8
Optional attribute; read/write access; type: unknown type.
MAC 8 Address.
mac9
Optional attribute; read/write access; type: unknown type.
MAC 9 Address.
851

VIRTUTECH CONFIDENTIAL
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n.
Ethernet (MAC) address of the network interface.
mac_event
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_hash_0
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_hash_1
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_hash_2
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_hash_3
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_status
Optional attribute; read/write access; type: unknown type.
Internal register.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
mbuf_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
mbuf_cluster_free_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
mbuf_high_mark
Optional attribute; read/write access; type: unknown type.
Internal register.
852

VIRTUTECH CONFIDENTIAL
mbuf_size
Optional attribute; read/write access; type: unknown type.
Internal register.
mdi_control
Optional attribute; read/write access; type: unknown type.
Internal register.
memory
Optional attribute; read/write access; type: Data.
Onboard memory image.
mi_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
mi_status
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_1000_base_t_ctrl
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_aux_10base_t
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_aux_misc_ctrl
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_aux_misc_test1
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_aux_misc_test2
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_aux_normal
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_aux_power
Optional attribute; read/write access; type: unknown type.
Internal register.
853

VIRTUTECH CONFIDENTIAL
mii_crc_counter
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_dsp_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_dsp_data
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_ext_ctrl
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_false_carr_cnt
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_irq_mask
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_phy_test1
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_rec_err_cnt
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_unknown_16
Optional attribute; read/write access; type: unknown type.
Internal register.
mini_rx_replenish
Optional attribute; read/write access; type: unknown type.
Internal register.
mini_rx_ring_flags
Optional attribute; read/write access; type: unknown type.
Internal register.
mini_rx_ring_host_addr_h
Optional attribute; read/write access; type: unknown type.
Internal register.
854

VIRTUTECH CONFIDENTIAL
mini_rx_ring_host_addr_l
Optional attribute; read/write access; type: unknown type.
Internal register.
mini_rx_ring_length
Optional attribute; read/write access; type: unknown type.
Internal register.
mini_rx_ring_nic_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
mode
Optional attribute; read/write access; type: unknown type.
Internal Register
mode_control
Optional attribute; read/write access; type: unknown type.
Internal register.
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
msi_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
mtu_size
Optional attribute; read/write access; type: unknown type.
Internal register.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
next_mii_val
Optional attribute; read/write access; type: unknown type.
Internal register.
next_page_transmit
Optional attribute; read/write access; type: unknown type.
Internal register.

855

VIRTUTECH CONFIDENTIAL
nvram
Optional attribute; read/write access; type: Data.
Onboard NVRAM image.
nvram_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
nvram_command
Optional attribute; read/write access; type: unknown type.
Internal register.
nvram_config1
Optional attribute; read/write access; type: unknown type.
Internal register.
nvram_sw_arb
Optional attribute; read/write access; type: unknown type.
Internal register.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
poll_reg
Optional attribute; read/write access; type: unknown type.
Internal Register
random_backoff
Optional attribute; read/write access; type: unknown type.
Internal register.
read_dma_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
read_fifo_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
receive_rules_control
Optional attribute; read/write access; type: unknown type.
List of 16 receive rules control registers
receive_rules_value
Optional attribute; read/write access; type: unknown type.
List of 16 receive rules value/mask registers
856

VIRTUTECH CONFIDENTIAL
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
reload_statistics
Optional attribute; read/write access; type: unknown type.
Internal register.
rules_conf
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_bd_completion_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_bd_data_initiator_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_bd_initiator_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_coalesced_bd_count
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_coalesced_bd_count_irq
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_coalescing_tick
Optional attribute; read/write access; type: unknown type.
Internal register.
857

VIRTUTECH CONFIDENTIAL
rx_coalescing_tick_irq
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_data_completion_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_flow_threshold
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_jumbo_ring_consumer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_jumbo_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_list_place
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_list_place_lock
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_list_place_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_list_place_stat_ctrl
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_list_place_stat_en
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_list_selector_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_low_mark
Optional attribute; read/write access; type: unknown type.
Internal register.
858

VIRTUTECH CONFIDENTIAL
rx_mac_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_mbuf_alloc_request
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_mini_ring_consumer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_mini_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_return_ring_consumer_idx
Optional attribute; read/write access; type: unknown type.
List of 16 return ring consumer index registers
rx_return_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
List of 16 return ring producer index registers
rx_risc_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_standard_ring_consumer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_standard_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
seeprom1
Optional attribute; read/write access; type: Data.
Onboard SEEPROM device 1 image.
seeprom_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
seeprom_control
Optional attribute; read/write access; type: unknown type.
Internal register.
859

VIRTUTECH CONFIDENTIAL
seeprom_data
Optional attribute; read/write access; type: unknown type.
Internal register.
send_bd_completion_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
send_bd_initiator_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
send_bd_ring_selector_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
send_data_completion_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
send_data_initiator_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
send_data_stat_ctrl
Optional attribute; read/write access; type: unknown type.
Internal register.
send_data_stat_en
Optional attribute; read/write access; type: unknown type.
Internal register.
send_host_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
List of 16 send host ring producer index registers
send_nic_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
List of 16 send NIC ring producer index registers
send_ring_consumer_idx
Optional attribute; read/write access; type: unknown type.
List of 16 send ring consumer index registers
smbus_input
Optional attribute; read/write access; type: unknown type.
Internal register.
860

VIRTUTECH CONFIDENTIAL
smbus_output
Optional attribute; read/write access; type: unknown type.
Internal register.
snd_coalesced_bd_count
Optional attribute; read/write access; type: unknown type.
Internal register.
snd_coalesced_bd_count_irq
Optional attribute; read/write access; type: unknown type.
Internal register.
snd_coalescing_tick
Optional attribute; read/write access; type: unknown type.
Internal register.
snd_coalescing_tick_irq
Optional attribute; read/write access; type: unknown type.
Internal register.
statistics_host_address_h
Optional attribute; read/write access; type: unknown type.
Internal register.
statistics_host_address_l
Optional attribute; read/write access; type: unknown type.
Internal register.
statistics_nic_address
Optional attribute; read/write access; type: unknown type.
Internal register.
statistics_tick
Optional attribute; read/write access; type: unknown type.
Internal register.
status_host_address_h
Optional attribute; read/write access; type: unknown type.
Internal register.
status_host_address_l
Optional attribute; read/write access; type: unknown type.
Internal register.
status_nic_address
Optional attribute; read/write access; type: unknown type.
Internal register.
861

VIRTUTECH CONFIDENTIAL
stnd_rx_replenish
Optional attribute; read/write access; type: unknown type.
Internal register.
stnd_rx_ring_flags
Optional attribute; read/write access; type: unknown type.
Internal register.
stnd_rx_ring_host_addr_h
Optional attribute; read/write access; type: unknown type.
Internal register.
stnd_rx_ring_host_addr_l
Optional attribute; read/write access; type: unknown type.
Internal register.
stnd_rx_ring_length
Optional attribute; read/write access; type: unknown type.
Internal register.
stnd_rx_ring_nic_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
tp10_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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_mac_lengths
Optional attribute; read/write access; type: unknown type.
Internal register.
tx_mac_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
tx_mbuf_alloc_request
Optional attribute; read/write access; type: unknown type.
Internal register.
862

VIRTUTECH CONFIDENTIAL
tx_next_time
Optional attribute; read/write access; type: Float.
The earliest time at which that the network interface may send another packet.
Used for transmit bandwidth limitation.
tx_pc
Optional attribute; read/write access; type: unknown type.
Internal register.
tx_risc_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
wol_pattern_pointer
Optional attribute; read/write access; type: unknown type.
Internal register.
write_dma_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
write_fifo_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).
xmit_auto_negotiation
Optional attribute; read/write access; type: unknown type.
Internal register.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
pci-header
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print PCI device header
print status of the device

863

VIRTUTECH CONFIDENTIAL

Command Descriptions
<BCM5703C>.connect
Synopsis
<BCM5703C>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<BCM5703C>.disconnect

<BCM5703C>.disconnect
Synopsis
<BCM5703C>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<BCM5703C>.connect

<BCM5703C>.info
Synopsis
<BCM5703C>.info
Description
Print detailed information about the configuration of the device.

<BCM5703C>.pci-header
Synopsis
<BCM5703C>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<BCM5703C>.status
Synopsis
<BCM5703C>.status
Description
Print detailed information about the current status of the device.

864

VIRTUTECH CONFIDENTIAL

BCM5704C
Provided by
BCM5704C
Class Hierarchy
conf-object log-object BCM5704C
Interfaces Implemented
log_object, event_poster, ethernet_device, io_memory, pci_device
Description
The BCM5704C class models the Broadcom BCM5704C triple-speed 10/100/1000BaseT Ethernet LAN controller.

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
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
anar
Optional attribute; read/write access; type: unknown type.
Internal Register
aner
Optional attribute; read/write access; type: unknown type.
Internal Register
anlpar
Optional attribute; read/write access; type: unknown type.
Internal Register
arbiter_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
865

VIRTUTECH CONFIDENTIAL
arbiter_trap_addr_h
Optional attribute; read/write access; type: unknown type.
Internal register.
arbiter_trap_addr_l
Optional attribute; read/write access; type: unknown type.
Internal register.
asf_control
Optional attribute; read/write access; type: unknown type.
Internal register.
bmcr
Optional attribute; read/write access; type: unknown type.
Internal Register
bmsr
Optional attribute; read/write access; type: unknown type.
Internal Register
buf_manager_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
cs_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
866

VIRTUTECH CONFIDENTIAL
desc_high_mark
Optional attribute; read/write access; type: unknown type.
Internal register.
desc_low_mark
Optional attribute; read/write access; type: unknown type.
Internal register.
dma_completion_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
dma_desc_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
dma_desc_size
Optional attribute; read/write access; type: unknown type.
Internal register.
dma_low_mark
Optional attribute; read/write access; type: unknown type.
Internal register.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
firmware_loaded
Pseudo attribute; read/write access; type: unknown type.
Set to 1 to fake the firmware load.
general_mailbox
Optional attribute; read/write access; type: unknown type.
List of 7 general mailbox registers
gigabit_pcs_test
Optional attribute; read/write access; type: unknown type.
Internal register.
host_coalescing_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
host_config
Optional attribute; read/write access; type: unknown type.
Internal register.
867

VIRTUTECH CONFIDENTIAL
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
interrupt_state
Optional attribute; read/write access; type: unknown type.
Internal interrupt state.
irq_mailbox_0
Optional attribute; read/write access; type: unknown type.
Internal register.
irq_mailbox_1
Optional attribute; read/write access; type: unknown type.
Internal register.
irq_mailbox_2
Optional attribute; read/write access; type: unknown type.
Internal register.
irq_mailbox_3
Optional attribute; read/write access; type: unknown type.
Internal register.
is_mac1
Required attribute; read/write access; type: Integer.
Set to 1 if the device is the MAC1 in a dual MAC device
jumb_rx_replenish
Optional attribute; read/write access; type: unknown type.
Internal register.
jumb_rx_ring_flags
Optional attribute; read/write access; type: unknown type.
Internal register.
jumb_rx_ring_host_addr_h
Optional attribute; read/write access; type: unknown type.
Internal register.
868

VIRTUTECH CONFIDENTIAL
jumb_rx_ring_host_addr_l
Optional attribute; read/write access; type: unknown type.
Internal register.
jumb_rx_ring_length
Optional attribute; read/write access; type: unknown type.
Internal register.
jumb_rx_ring_nic_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
led_control
Optional attribute; read/write access; type: unknown type.
Internal register.
link
Optional attribute; read/write access; type: Object or Nil.
The Ethernet link that the network device is connected to.
local_control
Optional attribute; read/write access; type: unknown type.
Internal register.
low_water_max_receive
Optional attribute; read/write access; type: unknown type.
Internal register.
mac0
Optional attribute; read/write access; type: unknown type.
MAC 0 Address.
mac1
Optional attribute; read/write access; type: unknown type.
MAC 1 Address.
mac10
Optional attribute; read/write access; type: unknown type.
MAC 10 Address.
869

VIRTUTECH CONFIDENTIAL
mac11
Optional attribute; read/write access; type: unknown type.
MAC 11 Address.
mac12
Optional attribute; read/write access; type: unknown type.
MAC 12 Address.
mac13
Optional attribute; read/write access; type: unknown type.
MAC 13 Address.
mac14
Optional attribute; read/write access; type: unknown type.
MAC 14 Address.
mac15
Optional attribute; read/write access; type: unknown type.
MAC 15 Address.
mac2
Optional attribute; read/write access; type: unknown type.
MAC 2 Address.
mac3
Optional attribute; read/write access; type: unknown type.
MAC 3 Address.
mac4
Optional attribute; read/write access; type: unknown type.
MAC 4 Address.
mac5
Optional attribute; read/write access; type: unknown type.
MAC 5 Address.
mac6
Optional attribute; read/write access; type: unknown type.
MAC 6 Address.
mac7
Optional attribute; read/write access; type: unknown type.
MAC 7 Address.
mac8
Optional attribute; read/write access; type: unknown type.
MAC 8 Address.
870

VIRTUTECH CONFIDENTIAL
mac9
Optional attribute; read/write access; type: unknown type.
MAC 9 Address.
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n.
Ethernet (MAC) address of the network interface.
mac_event
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_hash_0
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_hash_1
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_hash_2
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_hash_3
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
mac_status
Optional attribute; read/write access; type: unknown type.
Internal register.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
mbuf_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
mbuf_cluster_free_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
871

VIRTUTECH CONFIDENTIAL
mbuf_high_mark
Optional attribute; read/write access; type: unknown type.
Internal register.
mbuf_size
Optional attribute; read/write access; type: unknown type.
Internal register.
mdi_control
Optional attribute; read/write access; type: unknown type.
Internal register.
memory
Optional attribute; read/write access; type: Data.
Onboard memory image.
mi_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
mi_status
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_1000_base_t_ctrl
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_aux_10base_t
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_aux_misc_ctrl
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_aux_misc_test1
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_aux_misc_test2
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_aux_normal
Optional attribute; read/write access; type: unknown type.
Internal register.
872

VIRTUTECH CONFIDENTIAL
mii_aux_power
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_crc_counter
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_dsp_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_dsp_data
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_ext_ctrl
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_false_carr_cnt
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_irq_mask
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_phy_test1
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_rec_err_cnt
Optional attribute; read/write access; type: unknown type.
Internal register.
mii_unknown_16
Optional attribute; read/write access; type: unknown type.
Internal register.
mini_rx_replenish
Optional attribute; read/write access; type: unknown type.
Internal register.
mini_rx_ring_flags
Optional attribute; read/write access; type: unknown type.
Internal register.
873

VIRTUTECH CONFIDENTIAL
mini_rx_ring_host_addr_h
Optional attribute; read/write access; type: unknown type.
Internal register.
mini_rx_ring_host_addr_l
Optional attribute; read/write access; type: unknown type.
Internal register.
mini_rx_ring_length
Optional attribute; read/write access; type: unknown type.
Internal register.
mini_rx_ring_nic_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
mode
Optional attribute; read/write access; type: unknown type.
Internal Register
mode_control
Optional attribute; read/write access; type: unknown type.
Internal register.
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
msi_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
mtu_size
Optional attribute; read/write access; type: unknown type.
Internal register.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
next_mii_val
Optional attribute; read/write access; type: unknown type.
Internal register.

874

VIRTUTECH CONFIDENTIAL
next_page_transmit
Optional attribute; read/write access; type: unknown type.
Internal register.
nvram
Optional attribute; read/write access; type: Data.
Onboard NVRAM image.
nvram_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
nvram_command
Optional attribute; read/write access; type: unknown type.
Internal register.
nvram_config1
Optional attribute; read/write access; type: unknown type.
Internal register.
nvram_sw_arb
Optional attribute; read/write access; type: unknown type.
Internal register.
other_bcm
Required attribute; read/write access; type: Object.
The other object forming a dual BCM device.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
poll_reg
Optional attribute; read/write access; type: unknown type.
Internal Register
random_backoff
Optional attribute; read/write access; type: unknown type.
Internal register.
read_dma_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
read_fifo_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
875

VIRTUTECH CONFIDENTIAL
receive_rules_control
Optional attribute; read/write access; type: unknown type.
List of 16 receive rules control registers
receive_rules_value
Optional attribute; read/write access; type: unknown type.
List of 16 receive rules value/mask registers
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
reload_statistics
Optional attribute; read/write access; type: unknown type.
Internal register.
rules_conf
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_bd_completion_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_bd_data_initiator_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_bd_initiator_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_coalesced_bd_count
Optional attribute; read/write access; type: unknown type.
Internal register.
876

VIRTUTECH CONFIDENTIAL
rx_coalesced_bd_count_irq
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_coalescing_tick
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_coalescing_tick_irq
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_data_completion_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_flow_threshold
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_jumbo_ring_consumer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_jumbo_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_list_place
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_list_place_lock
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_list_place_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_list_place_stat_ctrl
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_list_place_stat_en
Optional attribute; read/write access; type: unknown type.
Internal register.
877

VIRTUTECH CONFIDENTIAL
rx_list_selector_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_low_mark
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_mac_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_mbuf_alloc_request
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_mini_ring_consumer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_mini_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_return_ring_consumer_idx
Optional attribute; read/write access; type: unknown type.
List of 16 return ring consumer index registers
rx_return_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
List of 16 return ring producer index registers
rx_risc_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_standard_ring_consumer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
rx_standard_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
Internal register.
seeprom1
Optional attribute; read/write access; type: Data.
Onboard SEEPROM device 1 image.
878

VIRTUTECH CONFIDENTIAL
seeprom_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
seeprom_control
Optional attribute; read/write access; type: unknown type.
Internal register.
seeprom_data
Optional attribute; read/write access; type: unknown type.
Internal register.
send_bd_completion_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
send_bd_initiator_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
send_bd_ring_selector_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
send_data_completion_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
send_data_initiator_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
send_data_stat_ctrl
Optional attribute; read/write access; type: unknown type.
Internal register.
send_data_stat_en
Optional attribute; read/write access; type: unknown type.
Internal register.
send_host_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
List of 16 send host ring producer index registers
send_nic_ring_producer_idx
Optional attribute; read/write access; type: unknown type.
List of 16 send NIC ring producer index registers
879

VIRTUTECH CONFIDENTIAL
send_ring_consumer_idx
Optional attribute; read/write access; type: unknown type.
List of 16 send ring consumer index registers
smbus_input
Optional attribute; read/write access; type: unknown type.
Internal register.
smbus_output
Optional attribute; read/write access; type: unknown type.
Internal register.
snd_coalesced_bd_count
Optional attribute; read/write access; type: unknown type.
Internal register.
snd_coalesced_bd_count_irq
Optional attribute; read/write access; type: unknown type.
Internal register.
snd_coalescing_tick
Optional attribute; read/write access; type: unknown type.
Internal register.
snd_coalescing_tick_irq
Optional attribute; read/write access; type: unknown type.
Internal register.
statistics_host_address_h
Optional attribute; read/write access; type: unknown type.
Internal register.
statistics_host_address_l
Optional attribute; read/write access; type: unknown type.
Internal register.
statistics_nic_address
Optional attribute; read/write access; type: unknown type.
Internal register.
statistics_tick
Optional attribute; read/write access; type: unknown type.
Internal register.
status_host_address_h
Optional attribute; read/write access; type: unknown type.
Internal register.
880

VIRTUTECH CONFIDENTIAL
status_host_address_l
Optional attribute; read/write access; type: unknown type.
Internal register.
status_nic_address
Optional attribute; read/write access; type: unknown type.
Internal register.
stnd_rx_replenish
Optional attribute; read/write access; type: unknown type.
Internal register.
stnd_rx_ring_flags
Optional attribute; read/write access; type: unknown type.
Internal register.
stnd_rx_ring_host_addr_h
Optional attribute; read/write access; type: unknown type.
Internal register.
stnd_rx_ring_host_addr_l
Optional attribute; read/write access; type: unknown type.
Internal register.
stnd_rx_ring_length
Optional attribute; read/write access; type: unknown type.
Internal register.
stnd_rx_ring_nic_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
tp10_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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_mac_lengths
Optional attribute; read/write access; type: unknown type.
Internal register.
881

VIRTUTECH CONFIDENTIAL
tx_mac_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
tx_mbuf_alloc_request
Optional attribute; read/write access; type: unknown type.
Internal register.
tx_next_time
Optional attribute; read/write access; type: Float.
The earliest time at which that the network interface may send another packet.
Used for transmit bandwidth limitation.
tx_pc
Optional attribute; read/write access; type: unknown type.
Internal register.
tx_risc_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
wol_pattern_pointer
Optional attribute; read/write access; type: unknown type.
Internal register.
write_dma_mode
Optional attribute; read/write access; type: unknown type.
Internal register.
write_fifo_addr
Optional attribute; read/write access; type: unknown type.
Internal register.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).
xmit_auto_negotiation
Optional attribute; read/write access; type: unknown type.
Internal register.

882

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
pci-header
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print PCI device header
print status of the device

Command Descriptions
<BCM5704C>.connect
Synopsis
<BCM5704C>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<BCM5704C>.disconnect

<BCM5704C>.disconnect
Synopsis
<BCM5704C>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<BCM5704C>.connect

<BCM5704C>.info
Synopsis
<BCM5704C>.info
Description
Print detailed information about the configuration of the device.

<BCM5704C>.pci-header
883

VIRTUTECH CONFIDENTIAL
Synopsis
<BCM5704C>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<BCM5704C>.status
Synopsis
<BCM5704C>.status
Description
Print detailed information about the current status of the device.

884

VIRTUTECH CONFIDENTIAL

bitmask-translator
Provided by
bitmask-translator
Class Hierarchy
conf-object log-object bitmask-translator
Interfaces Implemented
log_object, io_memory, translate, event_poster
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.

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_mask
Required attribute; read/write access; type: Integer.
This mask will be applied to all accesses

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<bitmask-translator>.info
Synopsis
<bitmask-translator>.info
885

VIRTUTECH CONFIDENTIAL
Description
Print detailed information about the configuration of the device.

<bitmask-translator>.status
Synopsis
<bitmask-translator>.status
Description
Print detailed information about the current status of the device.

886

VIRTUTECH CONFIDENTIAL

branch_recorder
Provided by
Simics Core
Class Hierarchy
conf-object branch_recorder
Interfaces Implemented
branch_arc, address_profiler
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.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
address_type
Required attribute; read/write access; type: Integer.
Record physical or virtual addresses?
clean
Pseudo attribute; write-only access; type: Nil.
Write nil to this attribute to erase all recorded branch arcs.
cpu_type
Pseudo attribute; read-only access; type: String.
Type of processor this branch recorder can handle.
num_arcs
Pseudo attribute; read-only access; type: Integer.
Number of branch arcs in this recorder.
processors
Optional attribute; read/write access; type: [o].
Processors this branch recorder is attached to.

887

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface address_profiler
address-profile-data, address-profile-info, address-profile-toplist
Commands
clean
info
print-branch-arcs
status

delete all branch arcs in the branch recorder


print information about the device
print branch arcs
print status of the device

Command Descriptions
<branch_recorder>.clean
Synopsis
<branch_recorder>.clean
Description
Delete all branch arcs stored in the branch recorder.

<branch_recorder>.info
Synopsis
<branch_recorder>.info
Description
Print detailed information about the configuration of the device.

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

<branch_recorder>.status
Synopsis
<branch_recorder>.status
Description
Print detailed information about the current status of the device.

888

VIRTUTECH CONFIDENTIAL

cassini
Provided by
cassini
Class Hierarchy
conf-object log-object cassini
Interfaces Implemented
log_object, ethernet_device, io_memory, pci_device, event_poster
Description
The cassini class implements a Cassini+ GBit Ethernet device, also called GigaSwift
Ethernet. The device supports stalling, i.e. timing models can stall DMA operations
initiated by Cassini, but the reissue field in the generic_transaction_t may not be cleared
by the timing model. Features not implemented include TCP reassembly, jumbo packets, multiple MAC addresses, multicast address hashing, receive ring 2 (encrypted
packets) and statistics counters.

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
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
address_filter_0_mask
Optional attribute; read/write access; type: Integer.
Internal register.
address_filter_0_register
Optional attribute; read/write access; type: Integer.
Internal register.
address_filter_1_register
Optional attribute; read/write access; type: Integer.
Internal register.
889

VIRTUTECH CONFIDENTIAL
address_filter_2_1_mask
Optional attribute; read/write access; type: Integer.
Internal register.
address_filter_2_register
Optional attribute; read/write access; type: Integer.
Internal register.
alias_clear_mask_register
Optional attribute; read/write access; type: Integer.
Internal register.
alias_clear_mask_register2
Optional attribute; read/write access; type: Integer.
Internal register.
alias_clear_mask_register3
Optional attribute; read/write access; type: Integer.
Internal register.
alias_clear_mask_register4
Optional attribute; read/write access; type: Integer.
Internal register.
anar
Optional attribute; read/write access; type: unknown type.
Internal Register
aner
Optional attribute; read/write access; type: unknown type.
Internal Register
anlpar
Optional attribute; read/write access; type: unknown type.
Internal Register
attempt_limit_register
Optional attribute; read/write access; type: Integer.
Internal register.
bim_buffer_address
Optional attribute; read/write access; type: Integer.
Internal register.
bim_buffer_data_high
Optional attribute; read/write access; type: Integer.
Internal register.
890

VIRTUTECH CONFIDENTIAL
bim_buffer_data_low
Optional attribute; read/write access; type: Integer.
Internal register.
bim_configuration_register
Optional attribute; read/write access; type: Integer.
Internal register.
bim_local_device_output_en
Optional attribute; read/write access; type: Integer.
Internal register.
bmcr
Optional attribute; read/write access; type: unknown type.
Internal Register
bmsr
Optional attribute; read/write access; type: unknown type.
Internal Register
cas_alignment_error_counter
Optional attribute; read/write access; type: Integer.
Internal register.
cas_fcs_error_counter
Optional attribute; read/write access; type: Integer.
Internal register.
cas_length_error_counter
Optional attribute; read/write access; type: Integer.
Internal register.
cas_receive_frame_counter
Optional attribute; read/write access; type: Integer.
Internal register.
cas_rx_code_viol_error_counter
Optional attribute; read/write access; type: Integer.
Internal register.
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).

891

VIRTUTECH CONFIDENTIAL
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
core_arbitration_weight
Optional attribute; read/write access; type: Integer.
Internal register.
cs_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
datapath_mode_register
Optional attribute; read/write access; type: Integer.
Internal register.
descriptor_base_low_4
Optional attribute; read/write access; type: Integer.
Internal register.
excessive_collision_counter
Optional attribute; read/write access; type: Integer.
Internal register.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
first_collision_counter
Optional attribute; read/write access; type: Integer.
Internal register.
header_buffer_index
Optional attribute; read/write access; type: Integer.
Internal register.

892

VIRTUTECH CONFIDENTIAL
header_buffer_valid
Optional attribute; read/write access; type: Integer.
Internal register.
hp_configuration_register
Optional attribute; read/write access; type: Integer.
Internal register.
hp_instruction_ram_address
Optional attribute; read/write access; type: Integer.
Internal register.
hp_instructions
Optional attribute; read/write access; type: [[iii]{64}].
Header Parser instruction words.
infinite_burst_en_register
Optional attribute; read/write access; type: Integer.
Internal register.
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
interpacketgap0_register
Optional attribute; read/write access; type: Integer.
Internal register.
interpacketgap1_register
Optional attribute; read/write access; type: Integer.
Internal register.
interpacketgap2_register
Optional attribute; read/write access; type: Integer.
Internal register.
interrupt_mask_register
Optional attribute; read/write access; type: Integer.
Internal register.
interrupt_mask_register2
Optional attribute; read/write access; type: Integer.
Internal register.
893

VIRTUTECH CONFIDENTIAL
interrupt_mask_register3
Optional attribute; read/write access; type: Integer.
Internal register.
interrupt_mask_register4
Optional attribute; read/write access; type: Integer.
Internal register.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
interrupt_status_register
Optional attribute; read/write access; type: Integer.
Internal register.
interrupt_status_register2
Optional attribute; read/write access; type: Integer.
Internal register.
interrupt_status_register3
Optional attribute; read/write access; type: Integer.
Internal register.
interrupt_status_register4
Optional attribute; read/write access; type: Integer.
Internal register.
jam_size_register
Optional attribute; read/write access; type: Integer.
Internal register.
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
late_collision_counter
Optional attribute; read/write access; type: Integer.
Internal register.
link
Optional attribute; read/write access; type: Object or Nil.
The Ethernet link that the network device is connected to.
894

VIRTUTECH CONFIDENTIAL
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n.
Ethernet (MAC) address of the network interface.
mac_control_configuration_register
Optional attribute; read/write access; type: Integer.
Internal register.
mac_control_mask_register
Optional attribute; read/write access; type: Integer.
Internal register.
mac_control_type_register
Optional attribute; read/write access; type: Integer.
Internal register.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
max_framesize_register
Optional attribute; read/write access; type: Integer.
Internal register.
mif_bit_bang_clock
Optional attribute; read/write access; type: Integer.
Internal register.
mif_bit_bang_data
Optional attribute; read/write access; type: Integer.
Internal register.
mif_bit_bang_output_enable
Optional attribute; read/write access; type: Integer.
Internal register.
mif_configuration_register
Optional attribute; read/write access; type: Integer.
Internal register.
mif_mask_register
Optional attribute; read/write access; type: Integer.
Internal register.
mif_status_register
Optional attribute; read/write access; type: Integer.
Internal register.
895

VIRTUTECH CONFIDENTIAL
mii_value
Optional attribute; read/write access; type: Integer.
Internal register.
min_framesize_register
Optional attribute; read/write access; type: Integer.
Internal register.
mode
Optional attribute; read/write access; type: unknown type.
Internal Register
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
mtu_buffer_index
Optional attribute; read/write access; type: Integer.
Internal register.
mtu_buffer_valid
Optional attribute; read/write access; type: Integer.
Internal register.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
normal_collision_counter
Optional attribute; read/write access; type: Integer.
Internal register.
num_header_bufs
Optional attribute; read/write access; type: Integer.
Internal register.
num_mtu_bufs
Optional attribute; read/write access; type: Integer.
Internal register.
pa_size_register
Optional attribute; read/write access; type: Integer.
Internal register.

896

VIRTUTECH CONFIDENTIAL
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pci_error_mask_register
Optional attribute; read/write access; type: Integer.
Internal register.
pio_latency
Optional attribute; read/write access; type: Integer.
Internal register.
poll_reg
Optional attribute; read/write access; type: unknown type.
Internal Register
random_number_seed_register
Optional attribute; read/write access; type: Integer.
Internal register.
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
rx_almost_empty_threshold
Optional attribute; read/write access; type: Integer.
Internal register.
rx_blanking_reg_for_isr
Optional attribute; read/write access; type: Integer.
Internal register.
rx_cached_compl
Optional attribute; read/write access; type: Integer.
Internal register.
897

VIRTUTECH CONFIDENTIAL
rx_completion2_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_head2_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_head3_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_head4_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_head_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_ring2_base_high
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_ring2_base_low
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_ring3_base_high
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_ring3_base_low
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_ring4_base_high
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_ring4_base_low
Optional attribute; read/write access; type: Integer.
Internal register.
898

VIRTUTECH CONFIDENTIAL
rx_completion_ring_base_high
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_ring_base_low
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_tail2_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_tail3_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_tail4_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_completion_tail_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_configuration_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_counter
Optional attribute; read/write access; type: Integer.
Internal register.
rx_descriptor_ring2_base_high
Optional attribute; read/write access; type: Integer.
Internal register.
rx_descriptor_ring2_base_low
Optional attribute; read/write access; type: Integer.
Internal register.
rx_descriptor_ring_base_high
Optional attribute; read/write access; type: Integer.
Internal register.
rx_descriptor_ring_base_low
Optional attribute; read/write access; type: Integer.
Internal register.
899

VIRTUTECH CONFIDENTIAL
rx_fifo
Optional attribute; read/write access; type: [[dii]].
Receive packet FIFO.
rx_fifo_read_pointer
Optional attribute; read/write access; type: Integer.
Internal register.
rx_fifo_write_pointer
Optional attribute; read/write access; type: Integer.
Internal register.
rx_header_page_pointer_high
Optional attribute; read/write access; type: Integer.
Internal register.
rx_header_page_pointer_low
Optional attribute; read/write access; type: Integer.
Internal register.
rx_ipp_fifo_read_pointer
Optional attribute; read/write access; type: Integer.
Internal register.
rx_ipp_fifo_shadow_write_pointer
Optional attribute; read/write access; type: Integer.
Internal register.
rx_ipp_fifo_write_pointer
Optional attribute; read/write access; type: Integer.
Internal register.
rx_kick2_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_kick_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_mac_configuration_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_mac_mask_register
Optional attribute; read/write access; type: Integer.
Internal register.
900

VIRTUTECH CONFIDENTIAL
rx_mac_status_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_mtu_page_pointer_high
Optional attribute; read/write access; type: Integer.
Internal register.
rx_mtu_page_pointer_low
Optional attribute; read/write access; type: Integer.
Internal register.
rx_page_size_register
Optional attribute; read/write access; type: Integer.
Internal register.
rx_pause_thresholds
Optional attribute; read/write access; type: Integer.
Internal register.
rx_random_early_detection_en
Optional attribute; read/write access; type: Integer.
Internal register.
rx_reassembly_dma_address
Optional attribute; read/write access; type: Integer.
Internal register.
rx_reassembly_dma_high
Optional attribute; read/write access; type: Integer.
Internal register.
rx_reassembly_dma_low
Optional attribute; read/write access; type: Integer.
Internal register.
rx_reassembly_dma_mid
Optional attribute; read/write access; type: Integer.
Internal register.
rx_state_state
Optional attribute; read/write access; type: String.
State of receive machine.
rx_state_tx_stall
Optional attribute; read/write access; type: Integer.
Internal register.
901

VIRTUTECH CONFIDENTIAL
send_pause_command_register
Optional attribute; read/write access; type: Integer.
Internal register.
slottime_register
Optional attribute; read/write access; type: Integer.
Internal register.
software_reset_register
Optional attribute; read/write access; type: Integer.
Internal register.
tp10_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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_completion_register_1
Optional attribute; read/write access; type: Integer.
Internal register.
tx_completion_register_2
Optional attribute; read/write access; type: Integer.
Internal register.
tx_completion_register_3
Optional attribute; read/write access; type: Integer.
Internal register.
tx_completion_register_4
Optional attribute; read/write access; type: Integer.
Internal register.
tx_completion_wb_base_high
Optional attribute; read/write access; type: Integer.
Internal register.
tx_completion_wb_base_low
Optional attribute; read/write access; type: Integer.
Internal register.
902

VIRTUTECH CONFIDENTIAL
tx_configuration_register
Optional attribute; read/write access; type: Integer.
Internal register.
tx_data_pointer_high
Optional attribute; read/write access; type: Integer.
Internal register.
tx_data_pointer_low
Optional attribute; read/write access; type: Integer.
Internal register.
tx_descriptor_base_high_1
Optional attribute; read/write access; type: Integer.
Internal register.
tx_descriptor_base_high_2
Optional attribute; read/write access; type: Integer.
Internal register.
tx_descriptor_base_high_3
Optional attribute; read/write access; type: Integer.
Internal register.
tx_descriptor_base_high_4
Optional attribute; read/write access; type: Integer.
Internal register.
tx_descriptor_base_low_1
Optional attribute; read/write access; type: Integer.
Internal register.
tx_descriptor_base_low_2
Optional attribute; read/write access; type: Integer.
Internal register.
tx_descriptor_base_low_3
Optional attribute; read/write access; type: Integer.
Internal register.
tx_fifo_address
Optional attribute; read/write access; type: Integer.
Internal register.
tx_fifo_read_pointer
Optional attribute; read/write access; type: Integer.
Internal register.
903

VIRTUTECH CONFIDENTIAL
tx_fifo_shadow_read_pointer
Optional attribute; read/write access; type: Integer.
Internal register.
tx_fifo_shadow_write_pointer
Optional attribute; read/write access; type: Integer.
Internal register.
tx_fifo_write_pointer
Optional attribute; read/write access; type: Integer.
Internal register.
tx_kick_register_1
Optional attribute; read/write access; type: Integer.
Internal register.
tx_kick_register_2
Optional attribute; read/write access; type: Integer.
Internal register.
tx_kick_register_3
Optional attribute; read/write access; type: Integer.
Internal register.
tx_kick_register_4
Optional attribute; read/write access; type: Integer.
Internal register.
tx_mac_configuration_register
Optional attribute; read/write access; type: Integer.
Internal register.
tx_mac_mask_register
Optional attribute; read/write access; type: Integer.
Internal register.
tx_mac_status_register
Optional attribute; read/write access; type: Integer.
Internal register.
tx_maxburst_1
Optional attribute; read/write access; type: Integer.
Internal register.
tx_maxburst_2
Optional attribute; read/write access; type: Integer.
Internal register.
904

VIRTUTECH CONFIDENTIAL
tx_maxburst_3
Optional attribute; read/write access; type: Integer.
Internal register.
tx_maxburst_4
Optional attribute; read/write access; type: Integer.
Internal register.
tx_next_time
Optional attribute; read/write access; type: Float.
The earliest time at which that the network interface may send another packet.
Used for transmit bandwidth limitation.
tx_packet
Optional attribute; read/write access; type: Data.
Incomplete packet to be transmitted.
tx_state_addr
Optional attribute; read/write access; type: Integer.
Internal register.
tx_state_cksum_en
Optional attribute; read/write access; type: Integer.
Internal register.
tx_state_cksum_off
Optional attribute; read/write access; type: Integer.
Internal register.
tx_state_cksum_stuf
Optional attribute; read/write access; type: Integer.
Internal register.
tx_state_eof
Optional attribute; read/write access; type: Integer.
Internal register.
tx_state_first_pt
Optional attribute; read/write access; type: Integer.
Internal register.
tx_state_int_me
Optional attribute; read/write access; type: Integer.
Internal register.

905

VIRTUTECH CONFIDENTIAL
tx_state_len
Optional attribute; read/write access; type: Integer.
Internal register.
tx_state_no_crc
Optional attribute; read/write access; type: Integer.
Internal register.
tx_state_ring
Optional attribute; read/write access; type: Integer.
Internal register.
tx_state_rx_stall
Optional attribute; read/write access; type: Integer.
Internal register.
tx_state_state
Optional attribute; read/write access; type: String.
State of transmit machine.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).
xif_configuration_register
Optional attribute; read/write access; type: Integer.
Internal register.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
pci-header
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print PCI device header
print status of the device

906

VIRTUTECH CONFIDENTIAL

Command Descriptions
<cassini>.connect
Synopsis
<cassini>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<cassini>.disconnect

<cassini>.disconnect
Synopsis
<cassini>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<cassini>.connect

<cassini>.info
Synopsis
<cassini>.info
Description
Print detailed information about the configuration of the device.

<cassini>.pci-header
Synopsis
<cassini>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<cassini>.status
Synopsis
<cassini>.status
Description
Print detailed information about the current status of the device.

907

VIRTUTECH CONFIDENTIAL

cassini_sub
Provided by
cassini
Class Hierarchy
conf-object log-object cassini_sub
Interfaces Implemented
log_object, io_memory, pci_device
Description
The cassini_sub class implements the PCI functions 1, 2 and 3 of a Cassini GBit Ethernet device. Three objects of this class is required for each cassini object to form a
complete device.

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
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
main_object
Required attribute; read/write access; type: Object.
The main device object.
908

VIRTUTECH CONFIDENTIAL
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pci_function
Required attribute; read/write access; type: Integer.
PCI function number.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

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

909

VIRTUTECH CONFIDENTIAL

central-client
Provided by
central
Class Hierarchy
conf-object log-object central-client
Interfaces Implemented
log_object, event_poster
Description
This class handles communication and synchronization for distributed simulation.

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
central_host
Pseudo class attribute; read/write access; type: s|n.
Internal attribute.
connect_at_startup
Pseudo class attribute; read/write access; type: Integer.
Internal attribute.
connected
Pseudo attribute; read/write access; type: Integer.
Is this object connected to the Central server? This attribute is 1 if a connection has been established, and 0 if no connection is configured, or the connection
failed. The server attribute contains the address of the server to connect to. This
attribute can be set to 0 to disconnect to server, or to 1 to reconnect to the server
if the connection was lost or the initial connection attempt failed. Setting it to 1
when the server attribute is nil is not allowed.
description
Optional attribute; read/write access; type: String.
A description string that can be used to identify this Simics instance.

910

VIRTUTECH CONFIDENTIAL
links
Pseudo attribute; read-only access; type: [[io]].
The link objects that have registered in this Simics process. This is a list where
each element is a list (id, obj). The id is the global ID number for the link, and obj
is the link object in this Simics instance. If the Central client is not connected to a
server, a local ID number will be given instead of global ID number.
reconnect
Optional attribute; read/write access; type: Integer.
This attribute controls whether the Central client will automatically try to reconnect to the Central server if the connection is lost, or if it fails to establish an initial
connection. A value of 0 means that reconnection is disabled, and a value greater
than 0 means that the client will retry after this many seconds.
server
Optional attribute; read/write access; type: s|o|n.
The Central server to connect to. When set, the client will attempt to connect
to the server immediately, but even if the connection fails, setting this attribute
wont fail. The connected attribute can be used to check if the connection was
successful. Also see the reconnect attribute.
syncstate
Optional attribute; read/write access; type: [i[ii][ii][ii]]|n.
The synchronization state.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
links

connect to Simics Central


disconnect from Simics Central
print information about the device
list connected links

Command Descriptions
<central-client>.connect
Synopsis
<central-client>.connect (server|obj)
Description
Connect Simics to a Simics Central server.
911

VIRTUTECH CONFIDENTIAL
The server argument specifies the server to connect to. It is either of the form <addr>
[:<port>] if a TCP connection should be used, or a file name if a file socket should
be used.
To connect to a server object in the same Simics, use the obj argument instead.
See Also
connect-central, new-central-server, <central-client>.disconnect

<central-client>.disconnect
Synopsis
<central-client>.disconnect
Description
Disconnect from the Simics Central server.
This will make this Simics process standalone, and no longer part of a distributed
simulation session.
See Also
connect-central, new-central-server, <central-client>.connect

<central-client>.info
Synopsis
<central-client>.info
Description
Print detailed information about the configuration of the device.

<central-client>.links
Synopsis
<central-client>.links
Description
List the link objects in this process that are shared in a distributed session.
When connected to a Simics Central, the link object in this list will be distributed.

912

VIRTUTECH CONFIDENTIAL

central-server
Provided by
central
Class Hierarchy
conf-object log-object central-server
Interfaces Implemented
log_object
Description
This class handles communication and synchronization for distributed simulation.

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
connections
Pseudo attribute; read-only access; type: [[iis|nss]].
[[id, protocol-version, addr, version, description], . . . ] The clients that have connected to this server.
frequency
Optional attribute; read/write access; type: Integer.
The frequency of the server clock. This defines the granularity of time stamps.
links
Pseudo attribute; read-only access; type: [[issi]].
[[id, name, class, master], . . . ] The known links.
min_latency
Optional attribute; read/write access; type: Integer.
The minimum latency when communicating between time domains. The latency
is expressed in the clock cycles defined by the frequency attribute.
tcp_port
Optional attribute; read/write access; type: i|n.
TCP port that Central will listen to. When set to nil, or an invalid value, such as
-1, Central will not listen to any port at all. When set to 0, Central will pick an
available TCP port.
913

VIRTUTECH CONFIDENTIAL
unix_socket
Optional attribute; read/write access; type: s|n.
Unix domain socket that Central will listen to. When an empty file name is given,
Central will not listen to any Unix domain socket at all. This is only available on
Unix hosts.
unix_socket_mode
Optional attribute; read/write access; type: Integer.
File mode for Unix domain sockets (see the attribute unix-socket).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connections
info

list current connections


print information about the device

Command Descriptions
<central-server>.connections
Synopsis
<central-server>.connections
Description
List all available connections, including the target, the type, and the current status of
the connection.
See Also
new-central-server

<central-server>.info
Synopsis
<central-server>.info
Description
Print detailed information about the configuration of the device.

914

VIRTUTECH CONFIDENTIAL

cheerio-e2bus
Provided by
cheerio-e2bus
Class Hierarchy
conf-object log-object cheerio-e2bus
Interfaces Implemented
log_object, io_memory, pci_device
Description
The cheerio-e2bus is a dummy pci device that pretends to be a Cheerio EBus2 device
(used in Sun machines to access legacy ISA devices). This implementation only identifies correctly as an EBus2 device, but has no other functionality. This device is useful
to mimic setups where the cheerio pci board in used, since the hme part of this board
is implemented by the cheerio-hme module in Simics.

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
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.

915

VIRTUTECH CONFIDENTIAL
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
pci-header
status

print information about the device


print PCI device header
print status of the device

Command Descriptions
<cheerio-e2bus>.info
Synopsis
<cheerio-e2bus>.info
Description
Print detailed information about the configuration of the device.

<cheerio-e2bus>.pci-header
Synopsis
<cheerio-e2bus>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<cheerio-e2bus>.status
Synopsis
<cheerio-e2bus>.status
Description
Print detailed information about the current status of the device.
916

VIRTUTECH CONFIDENTIAL

cheerio-hme
Provided by
cheerio-hme
Class Hierarchy
conf-object log-object conf-object log-object cheerio-hme
Interfaces Implemented
log_object, io_memory, pci_device, ethernet_device, event_poster
Description
The cheerio-hme Network Adapter.

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
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
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
align_error_counter
Optional attribute; read/write access; type: Integer.
Internal Register
anar
Optional attribute; read/write access; type: unknown type.
Internal Register

917

VIRTUTECH CONFIDENTIAL
aner
Optional attribute; read/write access; type: unknown type.
Internal Register
anlpar
Optional attribute; read/write access; type: unknown type.
Internal Register
attempt_limit
Optional attribute; read/write access; type: unknown type.
Internal Register
bmcr
Optional attribute; read/write access; type: unknown type.
Internal Register
bmsr
Optional attribute; read/write access; type: unknown type.
Internal Register
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
cs_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
defer_timer
Optional attribute; read/write access; type: unknown type.
Internal Register
918

VIRTUTECH CONFIDENTIAL
exc_collision
Optional attribute; read/write access; type: unknown type.
Internal Register
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
fcs_error_counter
Optional attribute; read/write access; type: Integer.
Internal Register
first_collision
Optional attribute; read/write access; type: unknown type.
Internal Register
glob_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
glob_stat
Optional attribute; read/write access; type: unknown type.
Internal Register
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
ipg1
Optional attribute; read/write access; type: unknown type.
Internal Register
ipg2
Optional attribute; read/write access; type: unknown type.
Internal Register
irq_mask
Optional attribute; read/write access; type: unknown type.
Internal Register
919

VIRTUTECH CONFIDENTIAL
jam_size
Optional attribute; read/write access; type: unknown type.
Internal Register
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
last_rx_descriptor
Optional attribute; read/write access; type: unknown type.
Internal Register
last_tx_descriptor
Optional attribute; read/write access; type: unknown type.
Internal Register
late_collision
Optional attribute; read/write access; type: unknown type.
Internal Register
len_error_counter
Optional attribute; read/write access; type: Integer.
Internal Register
link
Optional attribute; read/write access; type: Object or Nil.
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.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
mif_config
Optional attribute; read/write access; type: unknown type.
Internal Register
mif_mask
Optional attribute; read/write access; type: unknown type.
Internal Register
920

VIRTUTECH CONFIDENTIAL
mif_status
Optional attribute; read/write access; type: unknown type.
Internal Register
mode
Optional attribute; read/write access; type: unknown type.
Internal Register
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
next_mii_val
Optional attribute; read/write access; type: unknown type.
Internal Register
normal_collision
Optional attribute; read/write access; type: unknown type.
Internal Register
pa_pattern
Optional attribute; read/write access; type: unknown type.
Internal Register
pa_size
Optional attribute; read/write access; type: unknown type.
Internal Register
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pkt_rec
Session attribute; read/write access; type: unknown type.
Number of packets received
pkt_snt
Session attribute; read/write access; type: unknown type.
Number of packets sent

921

VIRTUTECH CONFIDENTIAL
poll_reg
Optional attribute; read/write access; type: unknown type.
Internal Register
random_seed
Optional attribute; read/write access; type: unknown type.
Internal Register
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
rx_byte_offset
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_checksum_offset
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_desc_base
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_desc_disp
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_dma_enable
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_frame_counter
Optional attribute; read/write access; type: Integer.
Internal Register
922

VIRTUTECH CONFIDENTIAL
rx_mac_config
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_max_frame
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_min_frame
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_ring_size_idx
Optional attribute; read/write access; type: unknown type.
Internal Register
serial_clock
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_num_cycles
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
sfd_pattern
Optional attribute; read/write access; type: unknown type.
Internal Register
slot_time
Optional attribute; read/write access; type: unknown type.
Internal Register
tp10_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
923

VIRTUTECH CONFIDENTIAL
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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_config
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_desc_base
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_desc_disp
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_mac_config
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_max_frame
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_min_frame
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_next_time
Optional attribute; read/write access; type: Float.
The earliest time at which that the network interface may send another packet.
Used for transmit bandwidth limitation.
tx_ring_size
Optional attribute; read/write access; type: unknown type.
Internal Register
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).
xif_config
Optional attribute; read/write access; type: unknown type.
Internal Register
924

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
pci-header
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print PCI device header
print status of the device

Command Descriptions
<cheerio-hme>.connect
Synopsis
<cheerio-hme>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<cheerio-hme>.disconnect

<cheerio-hme>.disconnect
Synopsis
<cheerio-hme>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<cheerio-hme>.connect

<cheerio-hme>.info
Synopsis
<cheerio-hme>.info
Description
Print detailed information about the configuration of the device.

<cheerio-hme>.pci-header
925

VIRTUTECH CONFIDENTIAL
Synopsis
<cheerio-hme>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<cheerio-hme>.status
Synopsis
<cheerio-hme>.status
Description
Print detailed information about the current status of the device.

926

VIRTUTECH CONFIDENTIAL

cheetah-mmu
Provided by
cheetah-mmu
Class Hierarchy
conf-object log-object cheetah-mmu
Interfaces Implemented
log_object, io_memory, mmu
Description
The cheetah-mmu models the MMU in UltraSPARC-III (Cheetah) processors.

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
cpu
Pseudo attribute; read-only access; type: Object.
Processor that the MMU is connected to.
ctxt_nucleus
Optional attribute; read/write access; type: unknown type.
Nucleus context register (hardwired to zero).
ctxt_primary
Optional attribute; read/write access; type: unknown type.
Context identifier for the primary address space.
ctxt_secondary
Optional attribute; read/write access; type: unknown type.
Context identifier for the secondary address space.
d_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).

927

VIRTUTECH CONFIDENTIAL
dcu_ctrl
Optional attribute; read/write access; type: unknown type.
Load/Store Unit (DCU) control register.
dsfar
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault address register (SFAR).
dsfsr
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault status register (SFSR).
dtag_access
Optional attribute; read/write access; type: unknown type.
D-TLB tag access register.
dtag_target
Optional attribute; read/write access; type: unknown type.
D-TSB tag target register.
dtlb_2w_daccess
Optional attribute; read/write access; type: [i{512}].
DTLB Data Access Register (2-way set-associative TLB)
dtlb_2w_tagread
Optional attribute; read/write access; type: [i{512}].
DTLB Tag Read Register (2-way set-associative TLB)
dtlb_fa_daccess
Optional attribute; read/write access; type: [i{16}].
DTLB Data Access Register (fully associative TLB)
dtlb_fa_tagread
Optional attribute; read/write access; type: [i{16}].
DTLB Tag Read Register (fully associative TLB)
dtsb
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) register.
dtsb_nx
Optional attribute; read/write access; type: Integer.
DTSB Nucleus Extension Register
dtsb_px
Optional attribute; read/write access; type: Integer.
DTSB Primary Extension Register
928

VIRTUTECH CONFIDENTIAL
dtsb_sx
Optional attribute; read/write access; type: Integer.
DTSB Secondary Extension Register
dtsbp64k
Optional attribute; read/write access; type: unknown type.
D-TSB 64Kb pointer register.
dtsbp8k
Optional attribute; read/write access; type: unknown type.
D-TSB 8Kb pointer register.
dtsbpd
Optional attribute; read/write access; type: unknown type.
D-TSB direct pointer register.
ec_control
Optional attribute; read/write access; type: Integer.
E Cache Control Register
i_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).
isfsr
Optional attribute; read/write access; type: unknown type.
I-MMU synchronous fault status register (SFSR).
itag_access
Optional attribute; read/write access; type: unknown type.
I-TLB tag access register.
itag_target
Optional attribute; read/write access; type: unknown type.
I-TSB tag target register.
itlb_2w_daccess
Optional attribute; read/write access; type: [i{128}].
ITLB Data Access Register (2-way set-associative TLB)
itlb_2w_tagread
Optional attribute; read/write access; type: [i{128}].
ITLB Tag Read Register (2-way set-associative TLB)

929

VIRTUTECH CONFIDENTIAL
itlb_fa_daccess
Optional attribute; read/write access; type: [i{16}].
ITLB Data Access Register (fully associative TLB)
itlb_fa_tagread
Optional attribute; read/write access; type: [i{16}].
ITLB Tag Read Register (fully associative TLB)
itsb
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) register.
itsb_nx
Optional attribute; read/write access; type: Integer.
ITSB Nucleus Extension Register
itsb_px
Optional attribute; read/write access; type: Integer.
ITSB Primary Extension Register
itsbp64k
Optional attribute; read/write access; type: unknown type.
I-TSB 64Kb pointer register.
itsbp8k
Optional attribute; read/write access; type: unknown type.
I-TSB 8Kb pointer register.
last_etag_write
Optional attribute; read/write access; type: Integer.
Internal: Last etag value written
lfsr
Optional attribute; read/write access; type: Integer.
LFSR register used to select replacement entry in set
lsu_ctrl
Pseudo attribute; read/write access; type: unknown type.
Alias for the DCU register (backward compatibility attribute).
madr_1
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 1
madr_2
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 2
930

VIRTUTECH CONFIDENTIAL
madr_3
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 3
madr_4
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 4
mem_address_control
Optional attribute; read/write access; type: Integer.
Memory Address Control Register
mem_tmg_1
Optional attribute; read/write access; type: Integer.
Memory Timing Register 1
mem_tmg_2
Optional attribute; read/write access; type: Integer.
Memory Timing Register 2
mem_tmg_3
Optional attribute; read/write access; type: Integer.
Memory Timing Register 3
mem_tmg_4
Optional attribute; read/write access; type: Integer.
Memory Timing Register 4
mem_tmg_5
Optional attribute; read/write access; type: Integer.
Memory Timing Register 5
pa_watchpoint
Optional attribute; read/write access; type: unknown type.
PA Watchpoint Address
registers
Pseudo attribute; read-only access; type: unknown type; integer or string indexed; indexed type: unknown type.
Used to translate between register index and register name for all MMU registers
that can generate haps when written. When indexed with an integer, the name is
returned, and vice versa. When not indexed, an array with all names is returned
in (register index) order.
trace
Session attribute; read/write access; type: unknown type.
No documentation available.
931

VIRTUTECH CONFIDENTIAL
va_watchpoint
Optional attribute; read/write access; type: unknown type.
VA Watchpoint Address

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
d-probe
d-tlb
i-probe
i-tlb
info
regs
reverse-lookup
trace

check data TLB for translation


print data TLB contents
check instruction TLB for translation
print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality

Command Descriptions
<cheetah-mmu>.d-probe
Synopsis
<cheetah-mmu>.d-probe address
<cheetah-mmu>.i-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<cheetah-mmu>.d-tlb

<cheetah-mmu>.d-tlb
Synopsis
<cheetah-mmu>.d-tlb
<cheetah-mmu>.i-tlb
Description
print the content of the data TLB
See Also
<cheetah-mmu>.d-probe
932

VIRTUTECH CONFIDENTIAL

<cheetah-mmu>.i-probe
Synopsis
<cheetah-mmu>.i-probe address
<cheetah-mmu>.d-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<cheetah-mmu>.d-tlb

<cheetah-mmu>.i-tlb
Synopsis
<cheetah-mmu>.i-tlb
<cheetah-mmu>.d-tlb
Description
print the content of the data TLB
See Also
<cheetah-mmu>.d-probe

<cheetah-mmu>.info
Synopsis
<cheetah-mmu>.info
Description
Print detailed information about the configuration of the device.

<cheetah-mmu>.regs
Synopsis
<cheetah-mmu>.regs
Description
Print the content of the cheetah-mmu MMU registers

<cheetah-mmu>.reverse-lookup

933

VIRTUTECH CONFIDENTIAL
Synopsis
<cheetah-mmu>.reverse-lookup address
Description
List mappings in all TLBs that matches the specified physical address
See Also
<cheetah-mmu>.d-probe

<cheetah-mmu>.trace
Synopsis
<cheetah-mmu>.trace
Description
Toggles trace mode
When active, lists all changes to TLB entries and to MMU registers.

934

VIRTUTECH CONFIDENTIAL

cheetah-plus-mmu
Provided by
cheetah+mmu
Class Hierarchy
conf-object log-object cheetah-plus-mmu
Interfaces Implemented
log_object, io_memory, mmu
Description
The cheetah+mmu models the MMU in UltraSPARC-III Cu (Cheetah+) processors.

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
cpu
Pseudo attribute; read-only access; type: Object.
Processor that the MMU is connected to.
ctxt_nucleus
Optional attribute; read/write access; type: unknown type.
Nucleus context register (hardwired to zero).
ctxt_primary
Optional attribute; read/write access; type: unknown type.
Context identifier for the primary address space.
ctxt_secondary
Optional attribute; read/write access; type: unknown type.
Context identifier for the secondary address space.
d_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).

935

VIRTUTECH CONFIDENTIAL
dcu_ctrl
Optional attribute; read/write access; type: unknown type.
Load/Store Unit (DCU) control register.
dsfar
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault address register (SFAR).
dsfsr
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault status register (SFSR).
dtag_access
Optional attribute; read/write access; type: unknown type.
D-TLB tag access register.
dtag_access_ex
Optional attribute; read/write access; type: Integer.
D-TLB Tag Access Extension Register.
dtag_target
Optional attribute; read/write access; type: unknown type.
D-TSB tag target register.
dtlb_2w_daccess
Optional attribute; read/write access; type: [i{1024}].
DTLB Data Access Register (2-way set-associative TLB)
dtlb_2w_tagread
Optional attribute; read/write access; type: [i{1024}].
DTLB Tag Read Register (2-way set-associative TLB)
dtlb_fa_daccess
Optional attribute; read/write access; type: [i{16}].
DTLB Data Access Register (fully associative TLB)
dtlb_fa_tagread
Optional attribute; read/write access; type: [i{16}].
DTLB Tag Read Register (fully associative TLB)
dtsb
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) register.
dtsb_nx
Optional attribute; read/write access; type: Integer.
DTSB Nucleus Extension Register
936

VIRTUTECH CONFIDENTIAL
dtsb_px
Optional attribute; read/write access; type: Integer.
DTSB Primary Extension Register
dtsb_sx
Optional attribute; read/write access; type: Integer.
DTSB Secondary Extension Register
dtsbp64k
Optional attribute; read/write access; type: unknown type.
D-TSB 64Kb pointer register.
dtsbp8k
Optional attribute; read/write access; type: unknown type.
D-TSB 8Kb pointer register.
dtsbpd
Optional attribute; read/write access; type: unknown type.
D-TSB direct pointer register.
ec_control
Optional attribute; read/write access; type: Integer.
E Cache Control Register
i_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).
isfsr
Optional attribute; read/write access; type: unknown type.
I-MMU synchronous fault status register (SFSR).
itag_access
Optional attribute; read/write access; type: unknown type.
I-TLB tag access register.
itag_target
Optional attribute; read/write access; type: unknown type.
I-TSB tag target register.
itlb_2w_daccess
Optional attribute; read/write access; type: [i{128}].
ITLB Data Access Register (2-way set-associative TLB)

937

VIRTUTECH CONFIDENTIAL
itlb_2w_tagread
Optional attribute; read/write access; type: [i{128}].
ITLB Tag Read Register (2-way set-associative TLB)
itlb_fa_daccess
Optional attribute; read/write access; type: [i{16}].
ITLB Data Access Register (fully associative TLB)
itlb_fa_tagread
Optional attribute; read/write access; type: [i{16}].
ITLB Tag Read Register (fully associative TLB)
itsb
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) register.
itsb_nx
Optional attribute; read/write access; type: Integer.
ITSB Nucleus Extension Register
itsb_px
Optional attribute; read/write access; type: Integer.
ITSB Primary Extension Register
itsbp64k
Optional attribute; read/write access; type: unknown type.
I-TSB 64Kb pointer register.
itsbp8k
Optional attribute; read/write access; type: unknown type.
I-TSB 8Kb pointer register.
last_etag_write
Optional attribute; read/write access; type: Integer.
Internal: Last etag value written
lfsr
Optional attribute; read/write access; type: Integer.
LFSR register used to select replacement entry in set
lsu_ctrl
Pseudo attribute; read/write access; type: unknown type.
Alias for the DCU register (backward compatibility attribute).
madr_1
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 1
938

VIRTUTECH CONFIDENTIAL
madr_2
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 2
madr_3
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 3
madr_4
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 4
mem_address_control
Optional attribute; read/write access; type: Integer.
Memory Address Control Register
mem_tmg_1
Optional attribute; read/write access; type: Integer.
Memory Timing Register 1
mem_tmg_2
Optional attribute; read/write access; type: Integer.
Memory Timing Register 2
mem_tmg_3
Optional attribute; read/write access; type: Integer.
Memory Timing Register 3
mem_tmg_4
Optional attribute; read/write access; type: Integer.
Memory Timing Register 4
mem_tmg_5
Optional attribute; read/write access; type: Integer.
Memory Timing Register 5
pa_watchpoint
Optional attribute; read/write access; type: unknown type.
PA Watchpoint Address
registers
Pseudo attribute; read-only access; type: unknown type; integer or string indexed; indexed type: unknown type.
Used to translate between register index and register name for all MMU registers
that can generate haps when written. When indexed with an integer, the name is
returned, and vice versa. When not indexed, an array with all names is returned
in (register index) order.
939

VIRTUTECH CONFIDENTIAL
trace
Session attribute; read/write access; type: unknown type.
No documentation available.
va_watchpoint
Optional attribute; read/write access; type: unknown type.
VA Watchpoint Address

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
d-probe
d-tlb
i-probe
i-tlb
info
regs
reverse-lookup
trace

check data TLB for translation


print data TLB contents
check instruction TLB for translation
print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality

Command Descriptions
<cheetah-plus-mmu>.d-probe
Synopsis
<cheetah-plus-mmu>.d-probe address
<cheetah-plus-mmu>.i-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<cheetah-plus-mmu>.d-tlb

<cheetah-plus-mmu>.d-tlb
Synopsis
<cheetah-plus-mmu>.d-tlb
<cheetah-plus-mmu>.i-tlb

940

VIRTUTECH CONFIDENTIAL
Description
print the content of the data TLB
See Also
<cheetah-plus-mmu>.d-probe

<cheetah-plus-mmu>.i-probe
Synopsis
<cheetah-plus-mmu>.i-probe address
<cheetah-plus-mmu>.d-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<cheetah-plus-mmu>.d-tlb

<cheetah-plus-mmu>.i-tlb
Synopsis
<cheetah-plus-mmu>.i-tlb
<cheetah-plus-mmu>.d-tlb
Description
print the content of the data TLB
See Also
<cheetah-plus-mmu>.d-probe

<cheetah-plus-mmu>.info
Synopsis
<cheetah-plus-mmu>.info
Description
Print detailed information about the configuration of the device.

<cheetah-plus-mmu>.regs
Synopsis
<cheetah-plus-mmu>.regs
941

VIRTUTECH CONFIDENTIAL
Description
Print the content of the cheetah-plus-mmu MMU registers

<cheetah-plus-mmu>.reverse-lookup
Synopsis
<cheetah-plus-mmu>.reverse-lookup address
Description
List mappings in all TLBs that matches the specified physical address
See Also
<cheetah-plus-mmu>.d-probe

<cheetah-plus-mmu>.trace
Synopsis
<cheetah-plus-mmu>.trace
Description
Toggles trace mode
When active, lists all changes to TLB entries and to MMU registers.

942

VIRTUTECH CONFIDENTIAL

CL-PD6729
Provided by
CL-PD6729
Class Hierarchy
conf-object log-object CL-PD6729
Interfaces Implemented
log_object, io_memory, pci_device, simple_interrupt
Description
The CL-PD6729 class models a Cirrus Logic PD6729 PCI to PCMCIA bridge.

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
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.

943

VIRTUTECH CONFIDENTIAL
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pending_interrupts
Optional attribute; read/write access; type: [bb].
Pending card interrupts for slot 0 and slot 1.
register_index
Optional attribute; read/write access; type: Integer.
Current register index
slot0_extended_registers
Optional attribute; read/write access; type: [i{60}].
Extended registers of slot 0
slot0_io_windows
Optional attribute; read/write access; type: [[i]{2}].
List of i/o space windows of slot 0.
slot0_memory_windows
Optional attribute; read/write access; type: [[ii]{5}].
List of memory/attribute space windows of slot 0.
slot0_registers
Optional attribute; read/write access; type: [i{64}].
Registers of slot 0
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_extended_registers
Optional attribute; read/write access; type: [i{60}].
Extended registers of slot 1
slot1_io_windows
Optional attribute; read/write access; type: [[i]{2}].
List of i/o space windows of slot 1.
slot1_memory_windows
Optional attribute; read/write access; type: [[ii]{5}].
List of memory/attribute space windows of slot 1.

944

VIRTUTECH CONFIDENTIAL
slot1_registers
Optional attribute; read/write access; type: [i{64}].
Registers of slot 1
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.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
pci-header
status

print information about the device


print PCI device header
print status of the device

Command Descriptions
<CL-PD6729>.info
Synopsis
<CL-PD6729>.info
Description
Print detailed information about the configuration of the device.

<CL-PD6729>.pci-header
Synopsis
<CL-PD6729>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<CL-PD6729>.status
Synopsis
<CL-PD6729>.status
Description
Print detailed information about the current status of the device.
945

VIRTUTECH CONFIDENTIAL

clock
Provided by
clock
Class Hierarchy
conf-object log-object clock
Interfaces Implemented
log_object, event_poster, exception, int_register, processor
Description
generic clock

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
big_endian
Pseudo attribute; read-only access; type: Integer.
This attribute is 1 if the processor uses big-endian byte order and 0 if it uses littleendian.
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.
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).
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.

946

VIRTUTECH CONFIDENTIAL
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.
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.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

947

VIRTUTECH CONFIDENTIAL

component
Provided by
Simics Core
Class Hierarchy
conf-object log-object component
Interfaces Implemented
log_object, component
Description
Base component class, should not be instantiated.

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
connections
Optional attribute; read/write access; type: [[sos]].
List of connections for the component. The format is a list of lists, each containing the name of the connector, the connected component, and the name of the
connector on the other component.
connectors
Pseudo class attribute; read-only access; type: D.
Dictionary of dictionaries with connectors defined by this component class, indexed by name. Each connector contains the name of the connector type, a
direction (up, down or any), a flag indicating if the connector can be
empty, another flag that is set if the connector is hotplug capable, and finally
a flag that is TRUE if muliple connections to this connector is allowed.
instantiated
Optional attribute; read/write access; type: b.
Set to TRUE if the component has been instantiated.
object_list
Optional attribute; read/write access; type: D.
Dictionary with objects that the component consists of.

948

VIRTUTECH CONFIDENTIAL
object_prefix
Optional attribute; read/write access; type: String.
Object prefix string used by the component. The prefix is typically set by the
set-component-prefix command before the component is created.
top_component
Optional attribute; read/write access; type: Object.
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.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
get-component-object
info
status

connect components
disconnect component connector
get named object from components
print information about the device
print status of the device

Command Descriptions
<component>.connect
Synopsis
<component>.connect [connector] [component] [dst-connector] [-f]
Description
Connects the connector of this component to the dst-connector connector of component.
If only a single connector pair on the two components have maching types, then the
connector arguments to the command can be left out. Similarly it is possible to give
a connector name for only one of the components if there is a single matching connector on the other component. The -f flag tells the command to use the first unused
connector (in alphabetic order) if several ones match.

<component>.disconnect
Synopsis
<component>.disconnect [connector] [component] [dst-connector]
949

VIRTUTECH CONFIDENTIAL
Description
Disconnects the connector from another component connector. Connectors can only be
disconnected if they support hotplugging.

<component>.get-component-object
Synopsis
<component>.get-component-object object
Description
Get the configuration object with name object from the component. The objects that a
component consists of are listed in the object_list attribute.

<component>.info
Synopsis
<component>.info
Description
Print detailed information about the configuration of the device.

<component>.status
Synopsis
<component>.status
Description
Print detailed information about the current status of the device.

950

VIRTUTECH CONFIDENTIAL

conf-object
Provided by
Simics Core
Class Hierarchy
conf-object
Interfaces Implemented
None
Description
Base class from which all other objects inherit.

Attributes
Attribute List
attributes
Pseudo attribute; read-only access; type: [[sis]].
((name, attr, doc, type), . . . ). The list of attributes registered for the object. The list
consists of name that is the name of the attribute, attr is its attr_attr_t value,
doc is the documentation of the attribute, and type is the attribute type format.
classname
Pseudo attribute; read-only access; type: String.
Name of object class.
component
Session attribute; read/write access; type: Object or Nil.
The component that the object is part of, or NIL.
iface
Pseudo attribute; read-only access; type: [s].
(name, . . . ). The list of interfaces exported by this object.
name
Pseudo attribute; read-only access; type: String.
Unique object name.
object_id
Pseudo attribute; read-only access; type: Integer.
Unique object identifier.

951

VIRTUTECH CONFIDENTIAL
queue
Session attribute; read/write access; type: Object or Nil.
Object used as event queue when posting events. If no value is provided, queue
will default to the first processor defined in the configuration when the first event
is posted.

952

VIRTUTECH CONFIDENTIAL

consistency-controller
Provided by
consistency-controller
Class Hierarchy
conf-object log-object consistency-controller
Interfaces Implemented
log_object, timing_model
Description
The consistency controller class implements a memory hierarchy that communicates
with the instruction tree (in an out of order Simics) to enforce the architecturally defined consistency model. This is done by stalling loads and stores that would violate
the consistency model but are otherwise ready to issue to the memory system. The
reason for not integrating the consistency controller into the Simics core is to allow the
user to experiment with relaxed consistency model implementations. The user can
replace the consistency controller or modify the default one to meet their needs (the
source code is available in the distribution).
The default consistency controller can be constrained through attributes

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
load_load
Optional attribute; read/write access; type: unknown type.
If set to non-zero load-load memory consistency will be enforced.
load_store
Optional attribute; read/write access; type: unknown type.
If set to non-zero load-store memory consistency will be enforced.
prefetch
Optional attribute; read/write access; type: unknown type.
If set to non-zero prefetch memory transaction will be sent to the rest of the memory hierarchy for transactions that breaks the memory consistency. Zero is default.
953

VIRTUTECH CONFIDENTIAL
store_load
Optional attribute; read/write access; type: unknown type.
If set to non-zero store-load memory consistency will be enforced. This is the
default
store_store
Optional attribute; read/write access; type: unknown type.
If set to non-zero store-store memory consistency will be enforced. This is the
default.
timing_model
Optional attribute; read/write access; type: unknown type.
The next memory hierarchy object

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

954

VIRTUTECH CONFIDENTIAL

context
Provided by
Simics Core
Class Hierarchy
conf-object context
Interfaces Implemented
breakpoint
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.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
active
Session attribute; read/write access; type: Integer.
Context currently active.
breakpoints
Session attribute; read/write access; type: [[i+]]; integer indexed; indexed type:
[i].
((id, start, stop)) Tells which breakpoints (identified by their id) are set for the
space object. start and stop specifies the interval for the breakpoint.
gdb_remote_variant
Session attribute; read/write access; type: s|n.
Preferred gdb-remote variant.
symtable
Session attribute; read/write access; type: Object or Nil.
Symbol table for the context.

Command List
Commands defined by interface breakpoint
break, tbreak

955

VIRTUTECH CONFIDENTIAL
Commands

956

VIRTUTECH CONFIDENTIAL
finish-function
info
next-instruction
next-line
off
on
reverse-next-instruction
reverse-next-line
reverse-step-instruction
reverse-step-line
reverse-until-active
run-until-active
status
step-instruction
step-line
symtable
uncall-function

finish the current function


print information about the device
run to the next instruction, skipping subroutine calls
run to the next source line, skipping subroutine calls
switch off context object
switch on context object
back to the previous instruction, skipping subroutine calls
back to the previous source line, skipping subroutine calls
back to the previous instruction
back to the previous source line
reverse until context becomes active
run until context becomes active
print status of the device
run to the next instruction
run to the next source line
set the symbol table of a context
go back to when the current function was called

Command Descriptions
<context>.finish-function
Alias
<context>.finish, <context>.fin
Synopsis
<context>.finish-function
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.

957

VIRTUTECH CONFIDENTIAL
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-line, <context>.next-instruction, <context>.reversenext-line, <context>.reverse-next-instruction, <context>.uncall-function

<context>.info
Synopsis
<context>.info
Description
Print detailed information about the configuration of the device.

<context>.next-instruction
Alias
<context>.nexti, <context>.ni
Synopsis
<context>.next-instruction
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-line, <context>.reverse-next-line, <context>.reversenext-instruction, <context>.finish-function, <context>.uncall-function

<context>.next-line
Alias
<context>.next, <context>.n
958

VIRTUTECH CONFIDENTIAL
Synopsis
<context>.next-line
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-instruction, <context>.reverse-next-line, <context>.reversenext-instruction, <context>.finish-function, <context>.uncall-function

<context>.off
Synopsis
<context>.off
<context>.on
Description
<context>.on activates the effects of a context object, i.e., breakpoints on virtual addresses. <context>.off deactivates a context object.

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

<context>.reverse-next-instruction
959

VIRTUTECH CONFIDENTIAL
Alias
<context>.rnexti, <context>.rni
Synopsis
<context>.reverse-next-instruction
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-line, <context>.next-instruction, <context>.reversenext-line, <context>.finish-function, <context>.uncall-function

<context>.reverse-next-line
Alias
<context>.rnext, <context>.rn
Synopsis
<context>.reverse-next-line
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
960

VIRTUTECH CONFIDENTIAL
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-line, <context>.next-instruction, <context>.reversenext-instruction, <context>.finish-function, <context>.uncall-function

<context>.reverse-step-instruction
Alias
<context>.rstepi, <context>.rsi, <context>.unstep-instruction, <context>.ui
Synopsis
<context>.reverse-step-instruction
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.nextline, <context>.next-instruction, <context>.reverse-next-line, <context>.reverse-nextinstruction, <context>.finish-function, <context>.uncall-function

<context>.reverse-step-line
Alias
<context>.rstep, <context>.rs
Synopsis
<context>.reverse-step-line
961

VIRTUTECH CONFIDENTIAL
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-instruction,
<context>.next-line, <context>.next-instruction, <context>.reverse-next-line, <context>.reversenext-instruction, <context>.finish-function, <context>.uncall-function

<context>.reverse-until-active
Synopsis
<context>.reverse-until-active
Description
Reverse until context become active.

<context>.run-until-active
Synopsis
<context>.run-until-active
Description
Run until context become active.

<context>.status
Synopsis
<context>.status
Description
Print detailed information about the current status of the device.

962

VIRTUTECH CONFIDENTIAL

<context>.step-instruction
Alias
<context>.stepi, <context>.si
Synopsis
<context>.step-instruction
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
See Also
<context>.step-line, <context>.reverse-step-line, <context>.reverse-step-instruction,
<context>.next-line, <context>.next-instruction, <context>.reverse-next-line, <context>.reversenext-instruction, <context>.finish-function, <context>.uncall-function

<context>.step-line
Alias
<context>.step, <context>.s
Synopsis
<context>.step-line
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.

963

VIRTUTECH CONFIDENTIAL
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
step-line, in which case the command will operate on the current context of the
current processor.
See Also
<context>.step-instruction, <context>.reverse-step-line, <context>.reverse-step-instruction,
<context>.next-line, <context>.next-instruction, <context>.reverse-next-line, <context>.reversenext-instruction, <context>.finish-function, <context>.uncall-function

<context>.symtable
Synopsis
<context>.symtable [symtable]
Description
Sets the symbol table of the context to symtable, or displays the name of the symtable
currently bound to the context. The symbol table is created if it does not already exist.
See Also
set-context, new-symtable

<context>.uncall-function
Alias
<context>.uncall
Synopsis
<context>.uncall-function
Description
step-line causes the simulation to run until it reaches another source line. reversestep-line does the same thing, except for running backwards.
next-line causes the simulation to run until it reaches another source line, but will
not stop in subroutine calls. reverse-next-line is the same as next-line, except for
running backwards. next-instruction and reverse-next-instruction are like next-line
and reverse-next-line, respectively, except for stepping just one instruction instead of
an entire source line.
finish-function causes the simulation to run until the current function has returned.
uncall-function causes the simulation to run backwards until just before the current
function was called.
These commands can either be called as context namespace commands, e.g., context.step-line, in which case the command will apply to that context; or not, e.g.,
964

VIRTUTECH CONFIDENTIAL
step-line, in which case the command will operate on the current context of the
current processor.
See Also
<context>.step-line, <context>.step-instruction, <context>.reverse-step-line, <context>.reversestep-instruction, <context>.next-line, <context>.next-instruction, <context>.reversenext-line, <context>.reverse-next-instruction, <context>.finish-function

965

VIRTUTECH CONFIDENTIAL

context-switcher
Provided by
context-switcher
Class Hierarchy
conf-object log-object context-switcher
Interfaces Implemented
log_object
Description
This object makes sure that certain context objects are active when certain simulated
processes are active.

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
contexts
Session attribute; read/write access; type: [[i,o]]; integer indexed; indexed type:
Object or Nil.
Context to use for each tid. tids that are not mapped to a context here use the
default context. Mapping a tid to Nil deletes any mapping from that tid to a
context.
default_context
Session attribute; read/write access; type: [[o|s,o|n]]; string indexed; indexed
type: Object or Nil.
List of (cpu, context) pairs, specifying what context to use for a processor when no
interesting process is active.
exec_watch
Session attribute; read/write access; type: [[s,[o,i|n]|n]]; string indexed; indexed type: [o,i|n]|n.
Watch list for the exec syscall. This is a map from binary name to context object
and a counter. When a process calls exec with a binary that is in this watch
list, its pid is mapped to the context in the contexts attribute, so that the context
will follow that process. The counter is decremented; when it reaches zero, the

966

VIRTUTECH CONFIDENTIAL
mapping is deleted from this watch list. (A Nil counter makes the mapping last
forever.)
Mapping a binary name to Nil deletes any mapping from that binary to a context.
tracker
Session attribute; read/write access; type: Object or Nil.
Tracker that keeps track of simulated processes.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status
track-bin
track-pid

print status of the device


track first use of a given binary
track the process with a given pid

Command Descriptions
<context-switcher>.status
Synopsis
<context-switcher>.status
Description
Print detailed information about the current status of the device.

<context-switcher>.track-bin
Synopsis
<context-switcher>.track-bin binary [context] [-persistent] [-remove]
Description
After this command is given, the first process that makes an exec syscall with the
given binary as argument will be associated to the given context just as if the trackpid command had been used. If no context is specified, a new one will be created.
If the -persistent flag is given, all processes not just the first that exec the
binary will be associated with the context.
If the -remove flag is given, any existing mapping from this binary will be removed.
This command requires the attached tracker to be a UNIX process tracker.
See Also
<context-switcher>.track-pid

967

VIRTUTECH CONFIDENTIAL

<context-switcher>.track-pid
Synopsis
<context-switcher>.track-pid pid [context] [-remove]
Description
Causes the given context to be active when a process with the given pid is active; if no
context is specified, a new one will be created for this purpose.
If the -remove flag is given, any existing mapping from this pid will be removed.
This command requires the attached tracker to be a UNIX process tracker.
See Also
<context-switcher>.track-bin

968

VIRTUTECH CONFIDENTIAL

cpc700-gpt
Provided by
cpc700
Class Hierarchy
conf-object log-object cpc700-gpt
Interfaces Implemented
log_object, event_poster, io_memory
Description
The cpc700-gpt device implements the functionality of the General Purpose Timers on
the CPC700 chip

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
capture_enable
Optional attribute; read/write access; type: unknown type.
The GPT Capture Enable (GPTCE) register
compare_masks
Optional attribute; read/write access; type: unknown type.
(i0, i1, . . . , i4) The compare-masks registers, one per timer
compare_timers
Optional attribute; read/write access; type: unknown type.
(i0, i1, . . . , i4) The compare-timers registers, one per timer
interrupt_enable
Optional attribute; read/write access; type: unknown type.
The GPT Interrupt Enable (GPTIE) register
interrupt_mask
Optional attribute; read/write access; type: unknown type.
The GPT Interrupt Mask (GPTIM) register

969

VIRTUTECH CONFIDENTIAL
interrupt_status
Optional attribute; read/write access; type: unknown type.
The GPT Interrupt Status (GPTIS) register
irq_base_level
Required attribute; read/write access; type: unknown type.
The lowest IRQ used by the timers
irq_dev
Required attribute; read/write access; type: Object.
Device to send IRQ to, implementing simple-interrupt and interruptquery.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<cpc700-gpt>.info
Synopsis
<cpc700-gpt>.info
Description
Print detailed information about the configuration of the device.

<cpc700-gpt>.status
Synopsis
<cpc700-gpt>.status
Description
Print detailed information about the current status of the device.

970

VIRTUTECH CONFIDENTIAL

cpc700-iic
Provided by
cpc700
Class Hierarchy
conf-object log-object cpc700-iic
Interfaces Implemented
log_object, io_memory
Description
The cpc700-iic device implements the functionality of the IIC bus interface on the
CPC700 chip

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
clkdiv
Optional attribute; read/write access; type: unknown type.
The clkdiv register at offset 0x0c
cntl
Optional attribute; read/write access; type: unknown type.
The cntl register at offset 0x06
extsts
Optional attribute; read/write access; type: unknown type.
The extsts register at offset 0x09
hmadr
Optional attribute; read/write access; type: unknown type.
The hmadr register at offset 0x05
hsadr
Optional attribute; read/write access; type: unknown type.
The hsadr register at offset 0x0b

971

VIRTUTECH CONFIDENTIAL
i2c_bus
Required attribute; read/write access; type: unknown type.
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
intrmsk
Optional attribute; read/write access; type: unknown type.
The intrmsk register at offset 0x0d
lmadr
Optional attribute; read/write access; type: unknown type.
The lmadr register at offset 0x04
lsadr
Optional attribute; read/write access; type: unknown type.
The lsadr register at offset 0x0a
master_fifo
Optional attribute; read/write access; type: unknown type.
The data in the master FIFO
mdcntl
Optional attribute; read/write access; type: unknown type.
The mdcntl register at offset 0x07
slave_fifo
Optional attribute; read/write access; type: unknown type.
The data in the slave FIFO
sts
Optional attribute; read/write access; type: unknown type.
The sts register at offset 0x08
xfrcnt
Optional attribute; read/write access; type: unknown type.
The xfrcnt register at offset 0x0e
xtcntlss
Optional attribute; read/write access; type: unknown type.
The xtcntlss register at offset 0x0f

972

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<cpc700-iic>.info
Synopsis
<cpc700-iic>.info
Description
Print detailed information about the configuration of the device.

<cpc700-iic>.status
Synopsis
<cpc700-iic>.status
Description
Print detailed information about the current status of the device.

973

VIRTUTECH CONFIDENTIAL

cpc700-mc
Provided by
cpc700
Class Hierarchy
conf-object log-object cpc700-mc
Interfaces Implemented
log_object, io_memory
Description
The cpc700-mc device implements the functionality of the Memory Controller on the
CPC700 chip

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
config_register
Optional attribute; read/write access; type: unknown type.
The current configuration offset
dram_addressing_mode
Optional attribute; read/write access; type: unknown type.
The DAM configuration register at offset 0x34
ecc_configuration
Optional attribute; read/write access; type: unknown type.
The ECCCF configuration register at offset 0x94
ecc_error
Optional attribute; read/write access; type: unknown type.
The ECCERR configuration register at offset 0x98
flash_write_enable
Optional attribute; read/write access; type: unknown type.
The FWEN configuration register at offset 0x90

974

VIRTUTECH CONFIDENTIAL
memory_bank_0_ending_address
Optional attribute; read/write access; type: unknown type.
The MB0EA configuration register at offset 0x58
memory_bank_0_starting_address
Optional attribute; read/write access; type: unknown type.
The MB0SA configuration register at offset 0x38
memory_bank_1_ending_address
Optional attribute; read/write access; type: unknown type.
The MB1EA configuration register at offset 0x5c
memory_bank_1_starting_address
Optional attribute; read/write access; type: unknown type.
The MB1SA configuration register at offset 0x3c
memory_bank_2_ending_address
Optional attribute; read/write access; type: unknown type.
The MB2EA configuration register at offset 0x60
memory_bank_2_starting_address
Optional attribute; read/write access; type: unknown type.
The MB2SA configuration register at offset 0x40
memory_bank_3_ending_address
Optional attribute; read/write access; type: unknown type.
The MB3EA configuration register at offset 0x64
memory_bank_3_starting_address
Optional attribute; read/write access; type: unknown type.
The MB3SA configuration register at offset 0x44
memory_bank_4_ending_address
Optional attribute; read/write access; type: unknown type.
The MB4EA configuration register at offset 0x68
memory_bank_4_starting_address
Optional attribute; read/write access; type: unknown type.
The MB4SA configuration register at offset 0x48
memory_bank_enable
Optional attribute; read/write access; type: unknown type.
The MBEN configuration register at offset 0x24
memory_controller_options_1
Optional attribute; read/write access; type: unknown type.
The MCOPT1 configuration register at offset 0x20
975

VIRTUTECH CONFIDENTIAL
memory_type
Optional attribute; read/write access; type: unknown type.
The MEMTYPE configuration register at offset 0x28
peripheral_bank_0_parameters
Optional attribute; read/write access; type: unknown type.
The RPB0P configuration register at offset 0xe0
peripheral_bank_1_parameters
Optional attribute; read/write access; type: unknown type.
The RPB1P configuration register at offset 0xe4
peripheral_bank_2_parameters
Optional attribute; read/write access; type: unknown type.
The RPB2P configuration register at offset 0xe8
peripheral_bank_3_parameters
Optional attribute; read/write access; type: unknown type.
The RPB3P configuration register at offset 0xec
peripheral_bank_4_parameters
Optional attribute; read/write access; type: unknown type.
The RPB4P configuration register at offset 0xf0
refresh_timer_reg
Optional attribute; read/write access; type: unknown type.
The RTR configuration register at offset 0x30
rom_bank_width
Optional attribute; read/write access; type: unknown type.
The RBW configuration register at offset 0x88
sdram_timing_reg_1
Optional attribute; read/write access; type: unknown type.
The SDTR1 configuration register at offset 0x80

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

976

VIRTUTECH CONFIDENTIAL

Command Descriptions
<cpc700-mc>.info
Synopsis
<cpc700-mc>.info
Description
Print detailed information about the configuration of the device.

<cpc700-mc>.status
Synopsis
<cpc700-mc>.status
Description
Print detailed information about the current status of the device.

977

VIRTUTECH CONFIDENTIAL

cpc700-pci
Provided by
cpc700
Class Hierarchy
conf-object log-object cpc700-pci
Interfaces Implemented
log_object, bridge, pci_bridge, io_memory, pci_device
Description
The cpc700-pci device implements the pci bridge functionality of the CPC700 chip

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
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
memory
Required attribute; read/write access; type: unknown type.
Physical memory on the PLB
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.
pcicfgadr
Optional attribute; read/write access; type: unknown type.
The PCICFGADR local configuration register
pmm0la
Optional attribute; read/write access; type: unknown type.
The PMM0LA local configuration register

978

VIRTUTECH CONFIDENTIAL
pmm0ma
Optional attribute; read/write access; type: unknown type.
The PMM0MA local configuration register
pmm0pciha
Optional attribute; read/write access; type: unknown type.
The PMM0PCIHA local configuration register
pmm0pcila
Optional attribute; read/write access; type: unknown type.
The PMM0PCILA local configuration register
pmm1la
Optional attribute; read/write access; type: unknown type.
The PMM1LA local configuration register
pmm1ma
Optional attribute; read/write access; type: unknown type.
The PMM1MA local configuration register
pmm1pciha
Optional attribute; read/write access; type: unknown type.
The PMM1PCIHA local configuration register
pmm1pcila
Optional attribute; read/write access; type: unknown type.
The PMM1PCILA local configuration register
pmm2la
Optional attribute; read/write access; type: unknown type.
The PMM2LA local configuration register
pmm2ma
Optional attribute; read/write access; type: unknown type.
The PMM2MA local configuration register
pmm2pciha
Optional attribute; read/write access; type: unknown type.
The PMM2PCIHA local configuration register
pmm2pcila
Optional attribute; read/write access; type: unknown type.
The PMM2PCILA local configuration register
ptm1la
Optional attribute; read/write access; type: unknown type.
The PTM1LA local configuration register
979

VIRTUTECH CONFIDENTIAL
ptm1ms
Optional attribute; read/write access; type: unknown type.
The PTM1MS local configuration register
ptm2la
Optional attribute; read/write access; type: unknown type.
The PTM2LA local configuration register
ptm2ms
Optional attribute; read/write access; type: unknown type.
The PTM2MS local configuration register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<cpc700-pci>.info
Synopsis
<cpc700-pci>.info
Description
Print detailed information about the configuration of the device.

<cpc700-pci>.status
Synopsis
<cpc700-pci>.status
Description
Print detailed information about the current status of the device.

980

VIRTUTECH CONFIDENTIAL

cpc700-pi
Provided by
cpc700
Class Hierarchy
conf-object log-object cpc700-pi
Interfaces Implemented
log_object, io_memory
Description
The cpc700-pi device implements the functionality of the Processor Interface on the
CPC700 chip

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

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<cpc700-pi>.info
Synopsis
<cpc700-pi>.info
Description
Print detailed information about the configuration of the device.

<cpc700-pi>.status

981

VIRTUTECH CONFIDENTIAL
Synopsis
<cpc700-pi>.status
Description
Print detailed information about the current status of the device.

982

VIRTUTECH CONFIDENTIAL

cpc700-uic
Provided by
cpc700
Class Hierarchy
conf-object log-object cpc700-uic
Interfaces Implemented
log_object, simple_interrupt, io_memory
Description
The cpc700-uic device implements the functionality of the Universal Interrupt Controller on the cpc700 chip

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
irq_dev
Required attribute; read/write access; type: unknown type.
Interrupt device to use, implementing the simple-interrupt interface.
uiccr
Optional attribute; read/write access; type: unknown type.
Interrupt critical register.
uicer
Optional attribute; read/write access; type: unknown type.
Interrupt enable register.
uicsr
Optional attribute; read/write access; type: unknown type.
Interrupt status register.
uicvcr
Optional attribute; read/write access; type: unknown type.
Vector configuration register.

983

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<cpc700-uic>.info
Synopsis
<cpc700-uic>.info
Description
Print detailed information about the configuration of the device.

<cpc700-uic>.status
Synopsis
<cpc700-uic>.status
Description
Print detailed information about the current status of the device.

984

VIRTUTECH CONFIDENTIAL

cpu-group
Provided by
cpu-group
Class Hierarchy
conf-object log-object cpu-group
Interfaces Implemented
log_object
Description
The cpu-group class groups processors together. For example processors that share
memory and/or can interrupt each other.

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

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

Command Descriptions
<cpu-group>.info
Synopsis
<cpu-group>.info
Description
Print detailed information about the configuration of the device.

985

VIRTUTECH CONFIDENTIAL

cpu-mode-tracker
Provided by
cpu-mode-tracker
Class Hierarchy
conf-object log-object cpu-mode-tracker
Interfaces Implemented
log_object, tracker
Description
This is a process tracker that is only able to track the processor mode (user or supervisor), and not individual processes.

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
processors
Session attribute; read/write access; type: [o].
Processors whose modes are being tracked.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface tracker
activate, add-processor, deactivate, remove-processor
Commands
status print status of the device

986

VIRTUTECH CONFIDENTIAL

Command Descriptions
<cpu-mode-tracker>.status
Synopsis
<cpu-mode-tracker>.status
Description
Print detailed information about the current status of the device.

987

VIRTUTECH CONFIDENTIAL

CS8900A
Provided by
CS8900A
Class Hierarchy
conf-object log-object CS8900A
Interfaces Implemented
log_object, event_poster, ethernet_device, io_memory
Description
The CS8900A device simulates the embedded ethernet controller from Cirrus Logic

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
ISQ
Optional attribute; read/write access; type: unknown type.
Interrupt status queue values
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
address_shift
Optional attribute; read/write access; type: unknown type.
For address calculation. This attribute specifies how many bits the offset should
be shifted right to, for building appropriate addresses. Used by architectures
which maps this 16 bit device as a 64 bit device.
ctrl_regs
Optional attribute; read/write access; type: unknown type.
Status and control registers

988

VIRTUTECH CONFIDENTIAL
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
eeprom_data
Optional attribute; read/write access; type: unknown type.
Data for current eeprom transaction
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
interrupt_number
Optional attribute; read/write access; type: unknown type.
Register, Packetpage base + 0x22
io_base
Optional attribute; read/write access; type: unknown type.
Register, Packetpage base + 0x20
irq_dev
Required attribute; read/write access; type: unknown type.
Device to send IRQ to, implementingsimple-interrupt.
irq_level
Required attribute; read/write access; type: unknown type.
Level at which IRQs are sent.
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
link
Optional attribute; read/write access; type: Object or Nil.
The Ethernet link that the network device is connected to.
989

VIRTUTECH CONFIDENTIAL
logical_address_filter
Optional attribute; read/write access; type: unknown type.
Registers, Packetpage base + 0x150
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n.
Ethernet (MAC) address of the network interface.
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
packet_page_ptr
Optional attribute; read/write access; type: unknown type.
Packet page pointer
receive_buffer
Optional attribute; read/write access; type: unknown type.
The receive buffer for incoming ethernet packets
receive_data_port0_ptr
Optional attribute; read/write access; type: unknown type.
Current location when reading the receive buffer
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
transmit_buffer
Optional attribute; read/write access; type: Data.
The transmit buffer for outgoing ethernet packets
990

VIRTUTECH CONFIDENTIAL
transmit_data_port0_ptr
Optional attribute; read/write access; type: unknown type.
Current location when reading the transmit buffer
txlength
Optional attribute; read/write access; type: unknown type.
Register, length of package to send

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print status of the device

Command Descriptions
<CS8900A>.connect
Synopsis
<CS8900A>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<CS8900A>.disconnect

<CS8900A>.disconnect
Synopsis
<CS8900A>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<CS8900A>.connect

<CS8900A>.info
991

VIRTUTECH CONFIDENTIAL
Synopsis
<CS8900A>.info
Description
Print detailed information about the configuration of the device.

<CS8900A>.status
Synopsis
<CS8900A>.status
Description
Print detailed information about the current status of the device.

992

VIRTUTECH CONFIDENTIAL

CY82C693_0
Provided by
CY82C693
Class Hierarchy
conf-object log-object CY82C693_0
Interfaces Implemented
log_object, io_memory, pci_device, interrupt_ack
Description
This class simulates PCI function 0 of the CY82C693 peripheral controller.

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
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
control_register_index
Optional attribute; read/write access; type: unknown type.
Index of next control register to be read/written (currently unused).
irq_dev
Required attribute; read/write access; type: unknown type.
Target object to receive interrupts.
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.

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

993

VIRTUTECH CONFIDENTIAL

CY82C693_1
Provided by
CY82C693
Class Hierarchy
conf-object log-object CY82C693_1
Interfaces Implemented
log_object, simple_interrupt, io_memory, pci_device
Description
This class simulates PCI function 1 of the CY82C693 peripheral controller.

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
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.

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

994

VIRTUTECH CONFIDENTIAL

CY82C693_2
Provided by
CY82C693
Class Hierarchy
conf-object log-object CY82C693_2
Interfaces Implemented
log_object, io_memory, pci_device
Description
This class simulates PCI function 2 of the CY82C693 peripheral controller.

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
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.

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

995

VIRTUTECH CONFIDENTIAL

data-profiler
Provided by
Simics Core
Class Hierarchy
conf-object log-object data-profiler
Interfaces Implemented
log_object, address_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.

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
counter
Pseudo attribute; read/write access; ; integer indexed; indexed type: Integer.
Access the counter at an address.
data
Pseudo attribute; read-only access; type: [[ii]].
list of (address, counter) pairs
description
Session attribute; read/write access; type: String.
Description of what data the profiler represents
granularity
Session attribute; read/write access; type: Integer.
Granularity of the profiler, in address bits.
physical_addresses
Session attribute; read/write access; type: Integer.
True if the profiler uses physical addresses, false if it uses virtual addresses.

996

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface address_profiler
address-profile-data, address-profile-info, address-profile-toplist
Commands
clear clear data profiler

Command Descriptions
<data-profiler>.clear
Synopsis
<data-profiler>.clear
Description
Reset all counters of the data profiler to zero.

997

VIRTUTECH CONFIDENTIAL

ddr-memory-module
Provided by
memory-components
Class Hierarchy
conf-object log-object component ddr-memory-module
Interfaces Implemented
log_object, component
Description
The ddr-memory-module component represents a DDR memory module.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
banks
Optional attribute; read/write access; type: Integer.
Number of banks.
cas_latency
Optional attribute; read/write access; type: Integer.
CAS-latency; each set bit corresponds to a latency the memory can handle
columns
Optional attribute; read/write access; type: Integer.
Number of columns.
ecc_width
Optional attribute; read/write access; type: Integer.
The error correction width.
memory_megs
Pseudo attribute; read-only access; type: Integer.
Total about of memory in MB.
998

VIRTUTECH CONFIDENTIAL
module_data_width
Optional attribute; read/write access; type: Integer.
The module SDRAM width.
module_type
Optional attribute; read/write access; type: String.
Type of memory.
primary_width
Optional attribute; read/write access; type: Integer.
Primary SDRAM width.
rank_density
Optional attribute; read/write access; type: Integer.
The rank density.
ranks
Optional attribute; read/write access; type: Integer.
Number of ranks (logical banks).
rows
Optional attribute; read/write access; type: Integer.
Number of rows.
speed
Optional attribute; read/write access; type: String.
PC standard speed. Supported values are PC2700 and none.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<ddr-memory-module>.info
Synopsis
<ddr-memory-module>.info
Description
Print detailed information about the configuration of the device.
999

VIRTUTECH CONFIDENTIAL

<ddr-memory-module>.status
Synopsis
<ddr-memory-module>.status
Description
Print detailed information about the current status of the device.

1000

VIRTUTECH CONFIDENTIAL

ddr2-memory-module
Provided by
memory-components
Class Hierarchy
conf-object log-object component ddr2-memory-module
Interfaces Implemented
log_object, component
Description
The ddr2-memory-module component represents a DDR2 memory module.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
banks
Optional attribute; read/write access; type: Integer.
Number of banks.
cas_latency
Optional attribute; read/write access; type: Integer.
CAS-latency; each set bit corresponds to a latency the memory can handle
columns
Optional attribute; read/write access; type: Integer.
Number of columns.
ecc_width
Optional attribute; read/write access; type: Integer.
The error correction width.
memory_megs
Pseudo attribute; read-only access; type: Integer.
Total about of memory in MB.
1001

VIRTUTECH CONFIDENTIAL
module_data_width
Optional attribute; read/write access; type: Integer.
The module SDRAM width.
module_type
Optional attribute; read/write access; type: String.
Type of memory.
primary_width
Optional attribute; read/write access; type: Integer.
Primary SDRAM width.
rank_density
Optional attribute; read/write access; type: Integer.
The rank density.
ranks
Optional attribute; read/write access; type: Integer.
Number of ranks (logical banks).
rows
Optional attribute; read/write access; type: Integer.
Number of rows.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<ddr2-memory-module>.info
Synopsis
<ddr2-memory-module>.info
Description
Print detailed information about the configuration of the device.

<ddr2-memory-module>.status
1002

VIRTUTECH CONFIDENTIAL
Synopsis
<ddr2-memory-module>.status
Description
Print detailed information about the current status of the device.

1003

VIRTUTECH CONFIDENTIAL

DEC21041
Provided by
DEC21041
Class Hierarchy
conf-object log-object DEC21041
Interfaces Implemented
log_object, event_poster, ethernet_device, io_memory, pci_device
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 unsing onchip control
and status registers (CSRs) and a shared host memory area, set up mainly during
initialization.

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
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
anar
Optional attribute; read/write access; type: unknown type.
Internal Register
aner
Optional attribute; read/write access; type: unknown type.
Internal Register
anlpar
Optional attribute; read/write access; type: unknown type.
Internal Register

1004

VIRTUTECH CONFIDENTIAL
bmcr
Optional attribute; read/write access; type: unknown type.
Internal Register
bmsr
Optional attribute; read/write access; type: unknown type.
Internal Register
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
cs_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
csrs
Optional attribute; read/write access; type: unknown type.
Control and status registers.
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
current_rx_descriptor
Optional attribute; read/write access; type: unknown type.
Receive address.
current_tx_descriptor
Optional attribute; read/write access; type: unknown type.
Transmit address.
ether
Pseudo attribute; write-only access; type: unknown type.
Ethernet (MAC) address.
1005

VIRTUTECH CONFIDENTIAL
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
link
Optional attribute; read/write access; type: Object or Nil.
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.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
mode
Optional attribute; read/write access; type: unknown type.
Internal Register
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
1006

VIRTUTECH CONFIDENTIAL
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pending_irq
Optional attribute; read/write access; type: unknown type.
Whether and interrupt is pending or not.
poll_reg
Optional attribute; read/write access; type: unknown type.
Internal Register
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
send_delay
Optional attribute; read/write access; type: unknown type.
How often (in seconds) that packets are send out to the network.
serial_clock
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_num_cycles
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
1007

VIRTUTECH CONFIDENTIAL
serial_port_status
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
srom_address_width
Optional attribute; read/write access; type: Integer.
Number of address bits when communicating with the serial ROM.
srom_info
Optional attribute; read/write access; type: unknown type.
State information of the serial ROM.
tp10_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
pci-header
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print PCI device header
print status of the device

Command Descriptions
<DEC21041>.connect
Synopsis
<DEC21041>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<DEC21041>.disconnect
1008

VIRTUTECH CONFIDENTIAL

<DEC21041>.disconnect
Synopsis
<DEC21041>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<DEC21041>.connect

<DEC21041>.info
Synopsis
<DEC21041>.info
Description
Print detailed information about the configuration of the device.

<DEC21041>.pci-header
Synopsis
<DEC21041>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<DEC21041>.status
Synopsis
<DEC21041>.status
Description
Print detailed information about the current status of the device.

1009

VIRTUTECH CONFIDENTIAL

DEC21140A
Provided by
DEC21140A
Class Hierarchy
conf-object log-object DEC21140A
Interfaces Implemented
log_object, event_poster, ethernet_device, io_memory, pci_device
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 unsing onchip control
and status registers (CSRs) and a shared host memory area, set up mainly during
initialization.

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
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
anar
Optional attribute; read/write access; type: unknown type.
Internal Register
aner
Optional attribute; read/write access; type: unknown type.
Internal Register
anlpar
Optional attribute; read/write access; type: unknown type.
Internal Register

1010

VIRTUTECH CONFIDENTIAL
bmcr
Optional attribute; read/write access; type: unknown type.
Internal Register
bmsr
Optional attribute; read/write access; type: unknown type.
Internal Register
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
cs_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
csrs
Optional attribute; read/write access; type: unknown type.
Control and status registers.
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
current_rx_descriptor
Optional attribute; read/write access; type: unknown type.
Receive address.
current_tx_descriptor
Optional attribute; read/write access; type: unknown type.
Transmit address.
ether
Pseudo attribute; write-only access; type: unknown type.
Ethernet (MAC) address.
1011

VIRTUTECH CONFIDENTIAL
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
link
Optional attribute; read/write access; type: Object or Nil.
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.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
mode
Optional attribute; read/write access; type: unknown type.
Internal Register
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
1012

VIRTUTECH CONFIDENTIAL
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pending_irq
Optional attribute; read/write access; type: unknown type.
Whether and interrupt is pending or not.
poll_reg
Optional attribute; read/write access; type: unknown type.
Internal Register
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
send_delay
Optional attribute; read/write access; type: unknown type.
How often (in seconds) that packets are send out to the network.
serial_clock
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_num_cycles
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
1013

VIRTUTECH CONFIDENTIAL
serial_port_status
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
srom_address_width
Optional attribute; read/write access; type: Integer.
Number of address bits when communicating with the serial ROM.
srom_info
Optional attribute; read/write access; type: unknown type.
State information of the serial ROM.
tp10_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
pci-header
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print PCI device header
print status of the device

Command Descriptions
<DEC21140A>.connect
Synopsis
<DEC21140A>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<DEC21140A>.disconnect
1014

VIRTUTECH CONFIDENTIAL

<DEC21140A>.disconnect
Synopsis
<DEC21140A>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<DEC21140A>.connect

<DEC21140A>.info
Synopsis
<DEC21140A>.info
Description
Print detailed information about the configuration of the device.

<DEC21140A>.pci-header
Synopsis
<DEC21140A>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<DEC21140A>.status
Synopsis
<DEC21140A>.status
Description
Print detailed information about the current status of the device.

1015

VIRTUTECH CONFIDENTIAL

DEC21140A-dml
Provided by
DEC21140A-dml
Class Hierarchy
conf-object log-object DEC21140A-dml
Interfaces Implemented
log_object, io_memory, pci_device, ieee_802_3_mac, event_poster
Description
DEC21140A ethernet controller.

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
config_registers
Pseudo attribute; read/write access; type: [i].
The PCI configuration registers, each 32 bits in size.
csr_csr0
Optional attribute; read/write access; type: Integer.
Bus mode
csr_csr1
Optional attribute; read/write access; type: Integer.
Transmit Poll Demand
csr_csr10
Optional attribute; read/write access; type: Integer.
Boot ROM programming address
csr_csr11
Optional attribute; read/write access; type: Integer.
General-purpose timer
csr_csr12
Optional attribute; read/write access; type: Integer.
General-purpose port
1016

VIRTUTECH CONFIDENTIAL
csr_csr13
Optional attribute; read/write access; type: Integer.
Reserved
csr_csr14
Optional attribute; read/write access; type: Integer.
Reserved
csr_csr15
Optional attribute; read/write access; type: Integer.
Watchdog timer
csr_csr2
Optional attribute; read/write access; type: Integer.
Receive Poll Demand
csr_csr3
Optional attribute; read/write access; type: Integer.
Receive List Base Address
csr_csr4
Optional attribute; read/write access; type: Integer.
Transmit List Base Address
csr_csr5
Optional attribute; read/write access; type: Integer.
Status
csr_csr6
Optional attribute; read/write access; type: Integer.
Operation Mode
csr_csr7
Optional attribute; read/write access; type: Integer.
Interrupt enable
csr_csr8
Optional attribute; read/write access; type: Integer.
Missed frames and overflow counter
csr_csr9
Optional attribute; read/write access; type: Integer.
Boot ROM, serial ROM and MII management
csr_current_rx_address
Optional attribute; read/write access; type: Integer.
register csr.current_rx_address
1017

VIRTUTECH CONFIDENTIAL
csr_current_tx_address
Optional attribute; read/write access; type: Integer.
register csr.current_tx_address
expansion_rom
Optional attribute; read/write access; type: Object or Nil.
Undocumented
mii_bus
Required attribute; read/write access; type: Object.
MII Management Bus
pci_bus
Required attribute; read/write access; type: Object.
The PCI bus this device is connected to, implementing the pci-bus interface.
pci_config_base_address_0
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_0
pci_config_base_address_1
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_1
pci_config_base_address_2
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_2
pci_config_base_address_3
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_3
pci_config_base_address_4
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_4
pci_config_base_address_5
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_5
pci_config_bist
Optional attribute; read/write access; type: Integer.
register pci_config.bist
pci_config_bus_address
Pseudo attribute; read/write access; type: Integer.
register pci_config.bus_address
1018

VIRTUTECH CONFIDENTIAL
pci_config_cache_line_size
Optional attribute; read/write access; type: Integer.
register pci_config.cache_line_size
pci_config_capabilities_ptr
Optional attribute; read/write access; type: Integer.
register pci_config.capabilities_ptr
pci_config_cardbus_cis_ptr
Optional attribute; read/write access; type: Integer.
register pci_config.cardbus_cis_ptr
pci_config_cfdd
Optional attribute; read/write access; type: Integer.
Device and driver area
pci_config_class_code
Optional attribute; read/write access; type: Integer.
register pci_config.class_code
pci_config_command
Optional attribute; read/write access; type: Integer.
The PCI command register.
pci_config_device_id
Optional attribute; read/write access; type: Integer.
The Device ID of the PCI device
pci_config_expansion_rom_base
Pseudo attribute; read/write access; type: Integer.
Expansion ROM base address
pci_config_header_type
Optional attribute; read/write access; type: Integer.
register pci_config.header_type
pci_config_interrupt_line
Optional attribute; read/write access; type: Integer.
register pci_config.interrupt_line
pci_config_interrupt_pin
Optional attribute; read/write access; type: Integer.
register pci_config.interrupt_pin
pci_config_interrupts
Optional attribute; read/write access; type: Integer.
register pci_config.interrupts
1019

VIRTUTECH CONFIDENTIAL
pci_config_latency_timer
Optional attribute; read/write access; type: Integer.
register pci_config.latency_timer
pci_config_max_lat
Optional attribute; read/write access; type: Integer.
register pci_config.max_lat
pci_config_min_gnt
Optional attribute; read/write access; type: Integer.
register pci_config.min_gnt
pci_config_reserved1
Optional attribute; read/write access; type: Integer.
register pci_config.reserved1
pci_config_reserved2
Optional attribute; read/write access; type: Integer.
register pci_config.reserved2
pci_config_revision_id
Optional attribute; read/write access; type: Integer.
register pci_config.revision_id
pci_config_status
Optional attribute; read/write access; type: Integer.
register pci_config.status
pci_config_subsystem_id
Optional attribute; read/write access; type: Integer.
register pci_config.subsystem_id
pci_config_subsystem_vendor_id
Optional attribute; read/write access; type: Integer.
register pci_config.subsystem_vendor_id
pci_config_vendor_id
Optional attribute; read/write access; type: Integer.
The Vendor ID of the PCI device
phy
Required attribute; read/write access; type: Object.
Phy object
serial_eeprom
Required attribute; read/write access; type: Object.
Serial EEPROM
1020

VIRTUTECH CONFIDENTIAL

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

1021

VIRTUTECH CONFIDENTIAL

DEC21143
Provided by
DEC21143
Class Hierarchy
conf-object log-object DEC21143
Interfaces Implemented
log_object, event_poster, ethernet_device, io_memory, pci_device
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 unsing onchip control
and status registers (CSRs) and a shared host memory area, set up mainly during
initialization.

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
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
anar
Optional attribute; read/write access; type: unknown type.
Internal Register
aner
Optional attribute; read/write access; type: unknown type.
Internal Register
anlpar
Optional attribute; read/write access; type: unknown type.
Internal Register

1022

VIRTUTECH CONFIDENTIAL
bmcr
Optional attribute; read/write access; type: unknown type.
Internal Register
bmsr
Optional attribute; read/write access; type: unknown type.
Internal Register
cfdd
Optional attribute; read/write access; type: unknown type.
CFDD.
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
cs_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
csrs
Optional attribute; read/write access; type: unknown type.
Control and status registers.
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
current_rx_descriptor
Optional attribute; read/write access; type: unknown type.
Receive address.
current_tx_descriptor
Optional attribute; read/write access; type: unknown type.
Transmit address.
1023

VIRTUTECH CONFIDENTIAL
ether
Pseudo attribute; write-only access; type: unknown type.
Ethernet (MAC) address.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
link
Optional attribute; read/write access; type: Object or Nil.
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.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
mode
Optional attribute; read/write access; type: unknown type.
Internal Register
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
1024

VIRTUTECH CONFIDENTIAL
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pending_irq
Optional attribute; read/write access; type: unknown type.
Whether and interrupt is pending or not.
poll_reg
Optional attribute; read/write access; type: unknown type.
Internal Register
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
send_delay
Optional attribute; read/write access; type: unknown type.
How often (in seconds) that packets are send out to the network.
serial_clock
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
1025

VIRTUTECH CONFIDENTIAL
serial_num_cycles
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
srom_address_width
Optional attribute; read/write access; type: Integer.
Number of address bits when communicating with the serial ROM.
srom_info
Optional attribute; read/write access; type: unknown type.
State information of the serial ROM.
tp10_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
pci-header
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print PCI device header
print status of the device

Command Descriptions
<DEC21143>.connect
Synopsis
<DEC21143>.connect [-auto] (link|link-name)

1026

VIRTUTECH CONFIDENTIAL
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<DEC21143>.disconnect

<DEC21143>.disconnect
Synopsis
<DEC21143>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<DEC21143>.connect

<DEC21143>.info
Synopsis
<DEC21143>.info
Description
Print detailed information about the configuration of the device.

<DEC21143>.pci-header
Synopsis
<DEC21143>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<DEC21143>.status
Synopsis
<DEC21143>.status
Description
Print detailed information about the current status of the device.

1027

VIRTUTECH CONFIDENTIAL

DS12887
Provided by
DS12887
Class Hierarchy
conf-object log-object DS12887
Interfaces Implemented
log_object, event_poster, io_memory
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.

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
hour
Pseudo attribute; read/write access; type: Integer.
Current hour [0,23].
interrupt_pin
Optional attribute; read/write access; type: Integer.
Status of the interrupt pin.
irq_dev
Required attribute; read/write access; type: Object.
Device to send interrupts to, implementing the simple-interrupt.
irq_level
Required attribute; read/write access; type: Integer.
Level at which interrupts are sent.
last_pie
Optional attribute; read/write access; type: Float.
Time of last PIE interrupt in simulator time.
1028

VIRTUTECH CONFIDENTIAL
mday
Pseudo attribute; read/write access; type: Integer.
Current day of the month [1,31].
minute
Pseudo attribute; read/write access; type: Integer.
Current minute [0,59].
month
Pseudo attribute; read/write access; type: Integer.
Current month [1,12].
next_addr
Optional attribute; read/write access; type: Integer.
Next NVRAM address to be accessed.
nvram
Optional attribute; read/write access; type: [i{128}]; integer indexed; indexed
type: Integer; persistent attribute.
The contents of the non-volatile storage, as a list of 128 bytes.
period_in_us
Pseudo attribute; read-only access; type: [i{16}].
Time between periodic interrupts, in microseconds
second
Pseudo attribute; read/write access; type: Integer.
Current second [0,59].
seconds_last
Optional attribute; read/write access; type: Integer; persistent attribute.
Current time-of-day, counted in seconds.
time_last
Optional attribute; read/write access; type: Float.
Simulated time in seconds at last update.
time_regs_changed
Optional attribute; read/write access; type: Integer.
Set to 1 if time register were modified while SET = 1.
year
Pseudo attribute; read/write access; type: Integer.
Current year (full four-digit format).

1029

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
cmos-base-mem
cmos-boot-dev
cmos-century
cmos-extended-mem
cmos-floppy
cmos-hd
cmos-info
cmos-init
get-date-time
info
set-date-time
status
trace-nvram

deprecated set base memory size


deprecated set boot drive
deprecated set date century
deprecated set extended memory size
deprecated set floppy parameters
deprecated set fixed disk parameters
deprecated print information about the CMOS area
deprecated initialize some CMOS values
get date and time
print information about the device
set date and time
print status of the device
trace nvram updates

Command Descriptions
<DS12887>.cmos-base-mem deprecated
Synopsis
<DS12887>.cmos-base-mem kilobytes
Description
This command is deprecated, use <x86-system>.cmos-base-mem instead.

<DS12887>.cmos-boot-dev deprecated
Synopsis
<DS12887>.cmos-boot-dev drive
Description
This command is deprecated, use <x86-system>.cmos-boot-dev instead.

<DS12887>.cmos-century deprecated
Synopsis
<DS12887>.cmos-century century
Description
This command is deprecated, use <DS12887>.set-date-time instead.

1030

VIRTUTECH CONFIDENTIAL

<DS12887>.cmos-extended-mem deprecated
Synopsis
<DS12887>.cmos-extended-mem megabytes
Description
This command is deprecated, use <x86-system>.cmos-extended-mem instead.

<DS12887>.cmos-floppy deprecated
Synopsis
<DS12887>.cmos-floppy drive type
Description
This command is deprecated, use <x86-system>.cmos-floppy instead.

<DS12887>.cmos-hd deprecated
Synopsis
<DS12887>.cmos-hd drive cylinders heads sectors_per_track
Description
This command is deprecated, use <x86-system>.cmos-hd instead.

<DS12887>.cmos-info deprecated
Synopsis
<DS12887>.cmos-info
Description
This command is deprecated, use <x86-system>.cmos-info instead.

<DS12887>.cmos-init deprecated
Synopsis
<DS12887>.cmos-init
Description
This command is deprecated, use <x86-system>.cmos-init instead.

<DS12887>.get-date-time
Synopsis
<DS12887>.get-date-time

1031

VIRTUTECH CONFIDENTIAL
Description
Return the date and time of the real-time clock.

<DS12887>.info
Synopsis
<DS12887>.info
Description
Print detailed information about the configuration of the device.

<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 real-time clock. Both month and mday start counting
at one, the other at zero. Year should be in the full four-digit format. The 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.

<DS12887>.status
Synopsis
<DS12887>.status
Description
Print detailed information about the current status of the device.

<DS12887>.trace-nvram
Synopsis
<DS12887>.trace-nvram
Description
Trace all nvram updates.

1032

VIRTUTECH CONFIDENTIAL

DS12887-dml
Provided by
DS12887-dml
Class Hierarchy
conf-object log-object DS12887-dml
Interfaces Implemented
log_object, io_memory, event_poster
Description
DS12887 real-time clock.

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
base_rtc_time
Optional attribute; read/write access; type: Integer.
The real-time clock time when the oscillator was enabled, in seconds since 197001-01 00:00:00.
base_time
Optional attribute; read/write access; type: Float.
The simulated time when the oscillator was enabled, in seconds since the start of
the simulation.
irq_dev
Required attribute; read/write access; type: Object.
The device that interrupts are sent to.
irq_level
Required attribute; read/write access; type: Integer.
The level at which interrupts are sent.
port_registers_address
Optional attribute; read/write access; type: Integer.
Port space address register. Specifies the DS12887 register that reads and writes
to the port space data register are forwarded to.
1033

VIRTUTECH CONFIDENTIAL
registers_a
Optional attribute; read/write access; type: Integer.
Register A.
registers_b
Optional attribute; read/write access; type: Integer.
Register B.
registers_c
Optional attribute; read/write access; type: Integer.
Register C.
registers_d
Optional attribute; read/write access; type: Integer.
Register D.
registers_date_of_the_month
Optional attribute; read/write access; type: Integer.
Day of the month register. In binary format in the range 1-31, regardless of the
current register mode.
registers_day_of_the_week
Optional attribute; read/write access; type: Integer.
Day of the week register. In binary format in the range 1-7, regardless of the
current register mode.
registers_hours
Optional attribute; read/write access; type: Integer.
Hours register. In binary format in the range 0-23, regardless of the current register mode.
registers_hours_alarm
Optional attribute; read/write access; type: Integer.
Hours alarm register. In binary format in the range 0-23, regardless of the current
register mode.
registers_minutes
Optional attribute; read/write access; type: Integer.
Minutes register. In binary format in the range 0-59, regardless of the current
register mode.
registers_minutes_alarm
Optional attribute; read/write access; type: Integer.
Minutes alarm register. In binary format in therange 0-59, regardless of the current register mode.
1034

VIRTUTECH CONFIDENTIAL
registers_month
Optional attribute; read/write access; type: Integer.
Month register. In binary format in the range 1-12, regardless of the current register mode.
registers_nvram
Optional attribute; read/write access; type: [i{114}].
NVRAM registers, corresponding to the offsets 14 to 127.
registers_seconds
Optional attribute; read/write access; type: Integer.
Seconds register. In binary format in the range 0-59, regardless of the current
register mode.
registers_seconds_alarm
Optional attribute; read/write access; type: Integer.
Seconds alarm register. In binary format in the range 0-59, regardless of the current register mode.
registers_year
Optional attribute; read/write access; type: Integer.
Year register. In binary format in the range 0-99, regardless of the current register
mode.
time
Pseudo attribute; read/write access; type: String.
The internal time of the real-time clock on the format YY-MM-DD hh:mm:ss.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
cmos-base-mem
cmos-boot-dev
cmos-century
cmos-extended-mem
cmos-floppy
cmos-hd
cmos-info
cmos-init
get-date-time
info

deprecated set base memory size


deprecated set boot drive
deprecated set date century
deprecated set extended memory size
deprecated set floppy parameters
deprecated set fixed disk paramters
deprecated print information about the CMOS area
deprecated initialize some CMOS values
get date and time
print information about the device

1035

VIRTUTECH CONFIDENTIAL
set-date-time
status

set date and time


print status of the device

Command Descriptions
<DS12887-dml>.cmos-base-mem deprecated
Synopsis
<DS12887-dml>.cmos-base-mem kilobytes
Description
This command is deprecated, use <x86-system>.cmos-base-mem or <x86-apic-system>.cmosbase-mem instead.

<DS12887-dml>.cmos-boot-dev deprecated
Synopsis
<DS12887-dml>.cmos-boot-dev drive
Description
This command is deprecated, use <x86-system>.cmos-boot-dev or <x86-apic-system>.cmosboot-dev instead.

<DS12887-dml>.cmos-century deprecated
Synopsis
<DS12887-dml>.cmos-century century
Description
This command is deprecated, use <DS12887-dml>.set-date-time instead.

<DS12887-dml>.cmos-extended-mem deprecated
Synopsis
<DS12887-dml>.cmos-extended-mem megabytes
Description
This command is deprecated, use <x86-system>.cmos-extended-mem or <x86-apicsystem>.cmos-extended-mem instead.

<DS12887-dml>.cmos-floppy deprecated
Synopsis
<DS12887-dml>.cmos-floppy drive type

1036

VIRTUTECH CONFIDENTIAL
Description
This command is deprecated, use <x86-system>.cmos-floppy or <x86-apic-system>.cmosfloppy instead.

<DS12887-dml>.cmos-hd deprecated
Synopsis
<DS12887-dml>.cmos-hd drive cylinders heads sectors_per_track
Description
This command is deprecated, use <x86-system>.cmos-hd or <x86-apic-system>.cmoshd instead.

<DS12887-dml>.cmos-info deprecated
Synopsis
<DS12887-dml>.cmos-info
Description
This command is deprecated, use <x86-system>.cmos-info or <x86-apic-system>.cmosinfo instead.

<DS12887-dml>.cmos-init deprecated
Synopsis
<DS12887-dml>.cmos-init
Description
This command is deprecated, use <x86-system>.cmos-init or <x86-apic-system>.cmosinit instead.

<DS12887-dml>.get-date-time
Synopsis
<DS12887-dml>.get-date-time
Description
Return the date and time of the realtime clock.

<DS12887-dml>.info
Synopsis
<DS12887-dml>.info

1037

VIRTUTECH CONFIDENTIAL
Description
Print detailed information about the configuration of the device.

<DS12887-dml>.set-date-time
Synopsis
<DS12887-dml>.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, the other at zero. Year should be in the full four-digit format. The 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.

<DS12887-dml>.status
Synopsis
<DS12887-dml>.status
Description
Print detailed information about the current status of the device.

1038

VIRTUTECH CONFIDENTIAL

DS1621
Provided by
DS1621
Class Hierarchy
conf-object log-object DS1621
Interfaces Implemented
log_object
Description
This class models the DS1621 device, an i2c based digital thermometer and thermostat.

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
a210
Required attribute; read/write access; type: unknown type.
The value hard-wired to address pins 0, 1, and 2.
i2c_bus
Required attribute; read/write access; type: unknown type.
The i2c bus to which this device is connected.

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

1039

VIRTUTECH CONFIDENTIAL

DS1743P
Provided by
DS1743P
Class Hierarchy
conf-object log-object DS1743P
Interfaces Implemented
log_object, io_memory
Description
The DS1743P device implements real time clock and 8K of non-volatile storage (NVRAM).

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
hour
Pseudo attribute; read/write access; type: unknown type.
Current hour [0,23].
mday
Pseudo attribute; read/write access; type: unknown type.
Current day of the month [1,31].
minute
Pseudo attribute; read/write access; type: unknown type.
Current minute [0,59].
month
Pseudo attribute; read/write access; type: unknown type.
Current month [1,12].
nvram
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type; persistent attribute.
The contents of the 8K non-volatile storage.

1040

VIRTUTECH CONFIDENTIAL
second
Pseudo attribute; read/write access; type: unknown type.
Current second [0,59].
year
Pseudo attribute; read/write access; type: unknown type.
Current year (full four-digit format).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-date-time
set-date-time

get date and time


set date and time

Command Descriptions
<DS1743P>.get-date-time
Synopsis
<DS1743P>.get-date-time
Description
Return the date and time of the realtime clock.

<DS1743P>.set-date-time
Synopsis
<DS1743P>.set-date-time year month mday hour minute second
Description
Set the date and time of the realtime clock. Both month and mday start at one. Year
should be in the full four-digit format. The cmos-init command must be issued before
this command (unless the simulation was started from a checkpoint).

1041

VIRTUTECH CONFIDENTIAL

DS17485
Provided by
DS17485
Class Hierarchy
conf-object log-object DS17485
Interfaces Implemented
log_object, event_poster, io_memory
Description
The DS17485 device implements real time clock functionality and non-volatile storage
(NVRAM). The device is often referred to as CMOS Clock. The DS17485 include timeof-day alarm, both 12 and 24 hour time format, periodic interrupts and 114 bytes +
4 kbytes of general purpose RAM. Limitations: Alarm interrupt not implemented.
Daylight Savings Time not implemented.

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
extended_ram
Optional attribute; read/write access; type: Data.
The contents of the (4 1024) bytes of extended RAM.
hour
Pseudo attribute; read/write access; type: Integer.
Current hour [0,23].
interrupt_pin
Optional attribute; read/write access; type: Integer.
Status of the interrupt pin.
irq_dev
Required attribute; read/write access; type: Object.
Device to send interrupts to, implementing the simple-interrupt.
irq_level
Required attribute; read/write access; type: Integer.
Level at which interrupts are sent.
1042

VIRTUTECH CONFIDENTIAL
last_pie
Optional attribute; read/write access; type: Float.
Time of last PIE interrupt in simulator time.
mday
Pseudo attribute; read/write access; type: Integer.
Current day of the month [1,31].
minute
Pseudo attribute; read/write access; type: Integer.
Current minute [0,59].
month
Pseudo attribute; read/write access; type: Integer.
Current month [1,12].
next_addr
Optional attribute; read/write access; type: Integer.
Next NVRAM address to be accessed.
nvram
Optional attribute; read/write access; type: [i{128}]; integer indexed; indexed
type: Integer; persistent attribute.
The contents of the non-volatile storage, as a list of 128 bytes.
nvram_bank1
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: unknown type; persistent attribute.
The contents of the non-volatile storage in bank1, as a list of 64 bytes.
period_in_us
Pseudo attribute; read-only access; type: [i{16}].
Time between periodic interrupts, in microseconds
second
Pseudo attribute; read/write access; type: Integer.
Current second [0,59].
seconds_last
Optional attribute; read/write access; type: Integer; persistent attribute.
Current time-of-day, counted in seconds.
time_last
Optional attribute; read/write access; type: Float.
Simulated time in seconds at last update.
1043

VIRTUTECH CONFIDENTIAL
time_regs_changed
Optional attribute; read/write access; type: Integer.
Set to 1 if time register were modified while SET = 1.
year
Pseudo attribute; read/write access; type: Integer.
Current year (full four-digit format).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
cmos-base-mem
cmos-boot-dev
cmos-century
cmos-extended-mem
cmos-floppy
cmos-hd
cmos-info
cmos-init
get-date-time
info
set-date-time
status
trace-nvram

deprecated set base memory size


deprecated set boot drive
deprecated set date century
deprecated set extended memory size
deprecated set floppy parameters
deprecated set fixed disk parameters
deprecated print information about the CMOS area
deprecated initialize some CMOS values
get date and time
print information about the device
set date and time
print status of the device
trace nvram updates

Command Descriptions
<DS17485>.cmos-base-mem deprecated
Synopsis
<DS17485>.cmos-base-mem kilobytes
Description
This command is deprecated, use <x86-system>.cmos-base-mem instead.

<DS17485>.cmos-boot-dev deprecated
Synopsis
<DS17485>.cmos-boot-dev drive
Description
This command is deprecated, use <x86-system>.cmos-boot-dev instead.
1044

VIRTUTECH CONFIDENTIAL

<DS17485>.cmos-century deprecated
Synopsis
<DS17485>.cmos-century century
Description
This command is deprecated, use <DS17485>.set-date-time instead.

<DS17485>.cmos-extended-mem deprecated
Synopsis
<DS17485>.cmos-extended-mem megabytes
Description
This command is deprecated, use <x86-system>.cmos-extended-mem instead.

<DS17485>.cmos-floppy deprecated
Synopsis
<DS17485>.cmos-floppy drive type
Description
This command is deprecated, use <x86-system>.cmos-floppy instead.

<DS17485>.cmos-hd deprecated
Synopsis
<DS17485>.cmos-hd drive cylinders heads sectors_per_track
Description
This command is deprecated, use <x86-system>.cmos-hd instead.

<DS17485>.cmos-info deprecated
Synopsis
<DS17485>.cmos-info
Description
This command is deprecated, use <x86-system>.cmos-info instead.

<DS17485>.cmos-init deprecated
Synopsis
<DS17485>.cmos-init
Description
This command is deprecated, use <x86-system>.cmos-init instead.
1045

VIRTUTECH CONFIDENTIAL

<DS17485>.get-date-time
Synopsis
<DS17485>.get-date-time
Description
Return the date and time of the real-time clock.

<DS17485>.info
Synopsis
<DS17485>.info
Description
Print detailed information about the configuration of the device.

<DS17485>.set-date-time
Synopsis
<DS17485>.set-date-time year month mday hour minute second [-binary] [-bcd]
Description
Set the date and time of the real-time clock. Both month and mday start counting
at one, the other at zero. Year should be in the full four-digit format. The 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.

<DS17485>.status
Synopsis
<DS17485>.status
Description
Print detailed information about the current status of the device.

<DS17485>.trace-nvram
Synopsis
<DS17485>.trace-nvram
Description
Trace all nvram updates.

1046

VIRTUTECH CONFIDENTIAL

dummy-component
Provided by
std-components
Class Hierarchy
conf-object log-object component dummy-component
Interfaces Implemented
log_object, component
Description
Dummy component used for configurations that are not component based.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<dummy-component>.info
Synopsis
<dummy-component>.info
Description
Print detailed information about the configuration of the device.

<dummy-component>.status
1047

VIRTUTECH CONFIDENTIAL
Synopsis
<dummy-component>.status
Description
Print detailed information about the current status of the device.

1048

VIRTUTECH CONFIDENTIAL

ebony-board
Provided by
ppc440gp-components
Class Hierarchy
conf-object log-object component top-component ebony-board
Interfaces Implemented
log_object, component
Description
The ebony-board component represents the ebony board including the CPU.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
mac_address0
Required attribute; read/write access; type: String.
The MAC address of the first Ethernet adapter.
mac_address1
Required attribute; read/write access; type: String.
The MAC address of the second Ethernet adapter.
rtc_time
Required attribute; read/write access; type: String.
The data and time of the Real-Time clock.

1049

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<ebony-board>.info
Synopsis
<ebony-board>.info
Description
Print detailed information about the configuration of the device.

<ebony-board>.status
Synopsis
<ebony-board>.status
Description
Print detailed information about the current status of the device.

1050

VIRTUTECH CONFIDENTIAL

ebony-fpga
Provided by
ebony-fpga
Class Hierarchy
conf-object log-object ebony-fpga
Interfaces Implemented
log_object, io_memory
Description
The ebony-fpga device is a model of the FPGA for the ebony evaluation board.

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

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

1051

VIRTUTECH CONFIDENTIAL

empty-device
Provided by
empty-device
Class Hierarchy
conf-object log-object empty-device
Interfaces Implemented
log_object, io_memory
Description
This is a descriptive description describing the empty-device class descriptively.

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
value
Optional attribute; read/write access; type: Integer.
Value containing a valid valuable valuation.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
increment
info
status

increment value
print information about the device
print status of the device

Command Descriptions
<empty-device>.increment
Synopsis
<empty-device>.increment

1052

VIRTUTECH CONFIDENTIAL
Description
Increments the value by adding 1 to it.

<empty-device>.info
Synopsis
<empty-device>.info
Description
Print detailed information about the configuration of the device.

<empty-device>.status
Synopsis
<empty-device>.status
Description
Print detailed information about the current status of the device.

1053

VIRTUTECH CONFIDENTIAL

enchilada-system
Provided by
fiesta-components
Class Hierarchy
conf-object log-object component top-component enchilada-system
Interfaces Implemented
log_object, component
Description
The enchilada-system component represents a Sun Blade 2500 dual processor workstation mother-board with all on-board devices except the south-bridge and PCI devices. The enchilada-system component is currently NOT supported in Simics

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
hostid
Required attribute; read/write access; type: Integer.
The hostid of the machine.
mac_address
Required attribute; read/write access; type: String.
The main MAC address is the machine.
memory_megs
Pseudo attribute; read-only access; type: Integer.
The amount of RAM in mega-bytes in the machine.
1054

VIRTUTECH CONFIDENTIAL
num_cpus
Required attribute; read/write access; type: Integer.
Number of processors in the sytem.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-nvram-hostid
get-nvram-mac
get-prom-env
info
set-nvram-hostid
set-nvram-mac
set-prom-defaults
set-prom-env
status

get the Sun hostid from NVRAM


get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Restore all OBP variables
Set an OBP environment variable
print status of the device

Command Descriptions
<enchilada-system>.get-nvram-hostid
Synopsis
<enchilada-system>.get-nvram-hostid
Description
Reads the Sun hostid from the NVRAM.
See Also
<enchilada-system>.set-nvram-hostid, <enchilada-system>.get-nvram-mac, <enchiladasystem>.set-nvram-mac

<enchilada-system>.get-nvram-mac
Synopsis
<enchilada-system>.get-nvram-mac
Description
Reads the default MAC address from the NVRAM.

1055

VIRTUTECH CONFIDENTIAL
See Also
<enchilada-system>.get-nvram-hostid, <enchilada-system>.set-nvram-hostid, <enchiladasystem>.set-nvram-mac

<enchilada-system>.get-prom-env
Synopsis
<enchilada-system>.get-prom-env [variable]
Description
Prints an OBP variable with its value, or all variables if no argument is specified. Only
variables with string, integer, boolean and enumeration types are supported.
See Also
<enchilada-system>.set-prom-env

<enchilada-system>.info
Synopsis
<enchilada-system>.info
Description
Print detailed information about the configuration of the device.

<enchilada-system>.set-nvram-hostid
Synopsis
<enchilada-system>.set-nvram-hostid hostid
Description
Writes the Sun hostid into the NVRAM.
See Also
<enchilada-system>.get-nvram-hostid, <enchilada-system>.get-nvram-mac, <enchiladasystem>.set-nvram-mac

<enchilada-system>.set-nvram-mac
Synopsis
<enchilada-system>.set-nvram-mac mac
Description
Writes the default MAC address into the NVRAM.
See Also
<enchilada-system>.get-nvram-hostid, <enchilada-system>.set-nvram-hostid, <enchiladasystem>.get-nvram-mac
1056

VIRTUTECH CONFIDENTIAL

<enchilada-system>.set-prom-defaults
Synopsis
<enchilada-system>.set-prom-defaults
Description
Restores all OBP variables to their default values.
See Also
<enchilada-system>.set-prom-env, <enchilada-system>.get-prom-env

<enchilada-system>.set-prom-env
Synopsis
<enchilada-system>.set-prom-env variable (int|string)
Description
Sets the value of an OBP variable in the NVRAM. Only variables with string, integer,
boolean and enumeration types are supported.
See Also
<enchilada-system>.get-prom-env

<enchilada-system>.status
Synopsis
<enchilada-system>.status
Description
Print detailed information about the current status of the device.

1057

VIRTUTECH CONFIDENTIAL

etg
Provided by
etg
Class Hierarchy
conf-object log-object etg
Interfaces Implemented
log_object, event_poster, ethernet_device
Description
The ethernet-traffic-generator (etg) device emulates a network adapter and generates
traffic . . . todo

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
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
arp_table
Optional attribute; read/write access; type: [[ss]].
Internal state.
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.
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
1058

VIRTUTECH CONFIDENTIAL
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
dst_ip
Required attribute; read/write access; type: String.
IP address to send packets to.
enabled
Optional attribute; read/write access; type: Integer.
Set to 1 to enable traffic generation.
gateway
Required attribute; read/write access; type: String.
IP address of gateway.
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
ip
Required attribute; read/write access; type: String.
IP address assigned to the device.
ip_id
Optional attribute; read/write access; type: Integer.
Internal state.
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
link
Optional attribute; read/write access; type: Object or Nil.
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.

1059

VIRTUTECH CONFIDENTIAL
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
netmask
Required attribute; read/write access; type: String.
Netmask defining the subnet for the device.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
packet_size
Required attribute; read/write access; type: Integer.
The size of data packets to send.
pps
Required attribute; read/write access; type: Integer.
Number of packets per second to send.
receive_stats
Optional attribute; read/write access; type: Integer.
Internal state.
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
rx_bytes
Optional attribute; read/write access; type: Integer.
Internal state.
rx_packets
Optional attribute; read/write access; type: Integer.
Internal state.
1060

VIRTUTECH CONFIDENTIAL
started
Optional attribute; read/write access; type: Integer.
Internal state.
state
Optional attribute; read/write access; type: Integer.
Current state of traffic generator.
total_rx_packets
Optional attribute; read/write access; type: Integer.
Total number of UDP packets received on the test port.
total_tx_packets
Optional attribute; read/write access; type: Integer.
Total number of UDP packets transmitted on the test port.
use_gateway
Optional attribute; read/write access; type: Integer.
Internal state.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
packet-rate
packet-size
start
status
stop

print information about the device


Set or display the packets per second rate
Set or display the packet size
Start generating traffic
print status of the device
Stop generating traffic

Command Descriptions
<etg>.info
Synopsis
<etg>.info
Description
Print detailed information about the configuration of the device.

<etg>.packet-rate

1061

VIRTUTECH CONFIDENTIAL
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.

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

<etg>.start
Synopsis
<etg>.start [count]
Description
Start the traffic generator.

<etg>.status
Synopsis
<etg>.status
Description
Print detailed information about the current status of the device.

<etg>.stop
Synopsis
<etg>.stop
Description
Stop the traffic generator.

1062

VIRTUTECH CONFIDENTIAL

eth-transceiver
Provided by
eth-transceiver
Class Hierarchy
conf-object log-object eth-transceiver
Interfaces Implemented
log_object
Ports
MDIO (signal), MDC (signal)
Description
eth-transceiver is an IEEE 802.3 physical layer device with MII interface

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
full_duplex
Optional attribute; read/write access; type: Integer.
Set to 1 for full duplex, and 0 for half duplex.
gmii
Optional attribute; read/write access; type: Integer.
Set to 1 if the transceiver supports GMII.
link_up
Optional attribute; read/write access; type: Integer.
Set to 1 when the link is up.
mdio_target
Optional attribute; read/write access; type: n|o|[os].
Describes where the outgoing MDIO signal should be connected
phyidr1
Required attribute; read/write access; type: Integer.
Value of the PHYIDR1 register.
1063

VIRTUTECH CONFIDENTIAL
phyidr2
Required attribute; read/write access; type: Integer.
Value of the PHYIDR2 register.
registers
Optional attribute; read/write access; type: [i{32}].
The register file as described in 802.3 (32 registers).
serial_clock
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_num_cycles
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
speed
Optional attribute; read/write access; type: Integer.
Link speed (10, 100, or 1000).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print status of the device

1064

VIRTUTECH CONFIDENTIAL

Command Descriptions
<eth-transceiver>.connect
Synopsis
<eth-transceiver>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<eth-transceiver>.disconnect

<eth-transceiver>.disconnect
Synopsis
<eth-transceiver>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<eth-transceiver>.connect

<eth-transceiver>.info
Synopsis
<eth-transceiver>.info
Description
Print detailed information about the configuration of the device.

<eth-transceiver>.status
Synopsis
<eth-transceiver>.status
Description
Print detailed information about the current status of the device.

1065

VIRTUTECH CONFIDENTIAL

ethernet-link
Provided by
ethernet-link
Class Hierarchy
conf-object log-object ethernet-link
Interfaces Implemented
log_object, ethernet_link, event_poster
Description
ethernet_link device

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
central
Optional attribute; read/write access; type: Object or Nil.
The Simics Central client object used for distributing the simulation.
devices
Optional attribute; read/write access; type: [[i|n,i,s,o|n,[[[ss]],i]]].
The connected devices. It is a list of entries, where each entry is a list [global
id,local id,name,obj,info]. The obj is either a reference to the device object for local
devices, or nil if the device was in another Simics process. The info field is a list
[macs,promisc], where macs is a a list of pairs [addr,mask].
filter_enable
Optional attribute; read/write access; type: Integer.
A flag controlling whether the MAC information is used to only deliver frames
to devices that will handle them. A change in this flag might change the result of
the simulation in some corner cases, but is usually transparent. If it is enabled, it
may help simulation efficiency.
frame_echo
Optional attribute; read/write access; type: Integer.
This flag defines if the link will echo frames back to the sender. Default is not to
echo frames.
1066

VIRTUTECH CONFIDENTIAL
frequency
Optional attribute; read/write access; type: Integer.
The frequency of the clock used by the link to time stamp traffic and state changes.
This defines the granularity of the time of any event on the link. The frequency
is given as number of ticks per second.
last_frame
Pseudo attribute; read/write access; type: d|n.
This attribute contains the next frame to deliver, when read from an Ethernet_
Frame hap handler. It can also be set from the hap handler, which will modify
the packet being sent. If it is set to nil or to an empty buffer, the packet will be
dropped. From anywhere else than an Ethernet_Frame hap handler, this attribute
is nil and cant be set.
latency
Optional attribute; read/write access; type: f|i.
The latency on the link. Every packet that is sent over this link is delayed by
at least the time specified in this attribute. Other simulated state changes, such
as auto-negotiation and registered MAC addresses also propagate over the link
with the same delay. The type of this attribute is either an integer number of
clock ticks in the time base specified in the frequency attribute, or a floating point
number which defines the latency in seconds.
link_id
Pseudo attribute; read/write access; type: Integer.
The ID number of the link this link object belongs to.
link_obj_id
Pseudo attribute; read/write access; type: Integer.
The local ID number of this link object on the link.
master_obj_id
Pseudo attribute; read/write access; type: Integer.
The local ID number of the master link object on the link.
min_latency
Pseudo attribute; read/write access; type: Integer.
The minimum latency allowed. This is an integer number of clock ticks in the
time base specified in the frequency attribute. In a distributed the value is given
by Simics Central server. This attribute can not be changed.
nbytes
Optional attribute; read/write access; type: Integer.
The number of bytes transmitted over the network. This does not include any
frames still in transfer.
1067

VIRTUTECH CONFIDENTIAL
next_seq
Optional attribute; read/write access; type: Integer.
The sequence number assigned to the next frame sent over the link
nframes
Optional attribute; read/write access; type: Integer.
The number of frames transmitted over the network. This does not include any
frames still in transfer.
pending_frames
Optional attribute; read/write access; type: [[iiiiid]].
Frames in transfer
promisc_default
Optional attribute; read/write access; type: Integer.
This attribute is internal and may go away in the future

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect-real-network-bridge
connect-real-network-host
connect-real-network-napt
connect-real-network-router
disconnect-real-network
info
status

connect to the real network


connect to the real network
enable NAPT from simulated network
connect to the real network
disconnect from the real network
print information about the device
print status of the device

Command Descriptions
<ethernet-link>.connect-real-network-bridge
Synopsis
<ethernet-link>.connect-real-network-bridge [interface] [host-access] [-no-macxlate] [-persistent] [-propagate-link-status]
connect-real-network-bridge [interface] [host-access] [-no-mac-xlate] [-persistent]
[-propagate-link-status]
Description
Creates an Ethernet bridge between a simulated Ethernet link and a real network
through an Ethernet interface of the simulation host.

1068

VIRTUTECH CONFIDENTIAL
The optional interface argument specifies the Ethernet or TAP interface of the host to
use.
By default a TAP interface is used, but if the host-access argument is raw, raw access to
an Ethernet interface is used.
MAC address translation can be disabled with the -no-mac-xlate flag.
The -persistent is for backward compatibility and should not be used.
If -propagate-link-status is specified, link status changes on the host interface will be
propagated to all devices on the link that implements the link-status interface. For
TUN/TAP, only up and down status will be propagated (and not unconnected).
Link status propagation is only supported on Linux.
See the Connecting to a Real Network chapter of the Simics User Guide for more information about how to connect to a real network.
See Also
connect-real-network, <ethernet-link>.connect-real-network-bridge, connect-real-networkhost, connect-real-network-router

<ethernet-link>.connect-real-network-host
Synopsis
<ethernet-link>.connect-real-network-host [interface] [-persistent]
connect-real-network-host [interface] [-persistent]
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.
The -persistent is for backward compatibility and should not be used.
See the Connecting to a Real Network chapter of the Simics User Guide for more information about how to connect to a real network.
This command is currently not supported on Solaris hosts.
See Also
connect-real-network, <ethernet-link>.connect-real-network-host, connect-real-networkbridge, connect-real-network-router

<ethernet-link>.connect-real-network-napt
Synopsis
<ethernet-link>.connect-real-network-napt
connect-real-network-napt ethernet-link

1069

VIRTUTECH CONFIDENTIAL
Description
Enables machines on the simulated network 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.
See Also
connect-real-network, connect-real-network-port-in, connect-real-network-port-out, connectreal-network-host, connect-real-network-bridge, connect-real-network-router

<ethernet-link>.connect-real-network-router
Synopsis
<ethernet-link>.connect-real-network-router ip [netmask] [gateway] [interface]
connect-real-network-router ip [netmask] [gateway] [interface]
Description
Creates a routed connection between a simulated Ethernet link and a real network
through an Ethernet interface of the simulation host.
The optional interface argument specifies the Ethernet interface of the host to use.
The ip and netmask arguments specify the IP address and netmask that the router
should use on the simulated Ethernet link.
The gateway argument specifies the gateway on the simulated Ethernet link that router
should use for packets from the real network that are not in the routers subnet.
See the Connecting to a Real Network chapter of the Simics User Guide for more information about how to connect to a real network.
See Also
connect-real-network, <ethernet-link>.connect-real-network-router, connect-real-networkhost, connect-real-network-bridge

<ethernet-link>.disconnect-real-network
Synopsis
<ethernet-link>.disconnect-real-network
disconnect-real-network
Description
Closes all connections to real networks except port forwarding and NAPT.
See Also
<ethernet-link>.disconnect-real-network, connect-real-network-host, connect-real-networkbridge, connect-real-network-router
1070

VIRTUTECH CONFIDENTIAL

<ethernet-link>.info
Synopsis
<ethernet-link>.info
Description
Print detailed information about the configuration of the device.

<ethernet-link>.status
Synopsis
<ethernet-link>.status
Description
Print detailed information about the current status of the device.

1071

VIRTUTECH CONFIDENTIAL

FAS366U
Provided by
FAS366U
Class Hierarchy
conf-object log-object FAS366U
Interfaces Implemented
log_object, event_poster, io_memory
Description
The FAS366U is a SCSI-2 controller.

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
allow_resel
Optional attribute; read/write access; type: unknown type.
Set to 1 if reselection is currently allowed.
bd_buffer
Optional attribute; read/write access; type: unknown type.
Backdoor access: Pointer to buffer in simulated memory.
bd_length
Optional attribute; read/write access; type: unknown type.
Backdoor access: Length of access.
bd_sector
Optional attribute; read/write access; type: unknown type.
Backdoor access: Sector to access.
bd_target
Optional attribute; read/write access; type: unknown type.
Backdoor access: Target id.
bus_id
Optional attribute; read/write access; type: unknown type.
SCSI ID of selected target.
1072

VIRTUTECH CONFIDENTIAL
clock
Optional attribute; read/write access; type: unknown type.
The Clock Conversion Register
command
Optional attribute; read/write access; type: unknown type.
The current SCSI command executing.
command_name
Pseudo attribute; read-only access; ; integer indexed; indexed type: String.
Supplies conversion between SCSI command number and name.
command_state
Optional attribute; read/write access; type: unknown type.
The current Command State
conf1
Optional attribute; read/write access; type: unknown type.
The Conf1 Register
conf2
Optional attribute; read/write access; type: unknown type.
The Conf2 Register
conf3
Optional attribute; read/write access; type: unknown type.
The Conf3 Register
data_prerequest
Optional attribute; read/write access; type: unknown type.
Set if the target has requested data before the controller is ready to send it
dma_callback
Optional attribute; read/write access; type: unknown type.
Number (internal) of the callback to use next time
dma_channel
Required attribute; read/write access; type: unknown type.
The number of the DMA channel that is sent to the DMA device.
dma_command
Optional attribute; read/write access; type: unknown type.
Set to 1 if the current command uses DMA, else 0.

1073

VIRTUTECH CONFIDENTIAL
dma_dev
Required attribute; read/write access; type: unknown type.
Name of a DMA device. This object must implement the common-dma interface.
encodid
Optional attribute; read/write access; type: unknown type.
Set to 1 if reselection value should be encoded when put in the fifo.
fifo
Optional attribute; read/write access; type: unknown type.
The contents of the FIFO.
fifo_h_odd_byte
Optional attribute; read/write access; type: unknown type.
Value of the fifo odd head byte
fifo_have_h_odd
Optional attribute; read/write access; type: unknown type.
Set to 1 if fifo contains odd byte at head.
fifo_have_t_odd
Optional attribute; read/write access; type: unknown type.
Set to 1 if fifo contains odd byte at tail.
fifo_head
Optional attribute; read/write access; type: unknown type.
Position of the head in the fifo.
fifo_t_odd_byte
Optional attribute; read/write access; type: unknown type.
Value of the fifo odd tail byte
fifo_tail
Optional attribute; read/write access; type: unknown type.
Position of the tail in the fifo.
first_msg
Optional attribute; read/write access; type: unknown type.
Set to 1 if controller has received only one message
interrupt
Optional attribute; read/write access; type: unknown type.
The Interrupt Register

1074

VIRTUTECH CONFIDENTIAL
interrupt_pin
Optional attribute; read/write access; type: Integer.
The external interrupt level.
irq_dev
Required attribute; read/write access; type: unknown type.
Name of an interrupt device. This object must implement the simple-interrupt
interface.
irq_level
Required attribute; read/write access; type: unknown type.
The interrupt level that is sent to the interrupt device.
out_buffer
Optional attribute; read/write access; type: unknown type.
Value in the out buffer.
queued_command
Optional attribute; read/write access; type: unknown type.
Any queued SCSI command
rec_counter
Optional attribute; read/write access; type: unknown type.
The Recommand Counter Registers
recommand_used
Optional attribute; read/write access; type: unknown type.
Set to 1 of recommand counter is used, or set to 0 if it still contains device id after
reset.
req_len
Optional attribute; read/write access; type: unknown type.
Length of requested data.
reselected
Optional attribute; read/write access; type: unknown type.
Set to 1 of the device was reselected.
scsi_bus
Required attribute; read/write access; type: unknown type.
The name of the SCSI bus that the device is connected to. This object must implement the scsi-bus interface.
scsi_target
Required attribute; read/write access; type: unknown type.
The SCSI target id of the device itself.
1075

VIRTUTECH CONFIDENTIAL
seq_step
Optional attribute; read/write access; type: unknown type.
The Sequence Step Register
stat_gross_err
Optional attribute; read/write access; type: unknown type.
Set to 1 if a Gross Error has occurred.
stat_interrupt
Optional attribute; read/write access; type: unknown type.
Set to 1 if any interrupt is raised.
stat_tc
Optional attribute; read/write access; type: unknown type.
Set to 1 if Terminal Count was reached.
sync_offset
Optional attribute; read/write access; type: unknown type.
The Sync Offset Reguster
sync_period
Optional attribute; read/write access; type: unknown type.
The Sync Period Register
test
Optional attribute; read/write access; type: unknown type.
The Test Register
threshold
Optional attribute; read/write access; type: unknown type.
Not used
timeout
Optional attribute; read/write access; type: unknown type.
The Timeout Register
transfer_count
Optional attribute; read/write access; type: unknown type.
The current transfer count.
transfer_counter
Optional attribute; read/write access; type: unknown type.
The Transfer Counter Register

1076

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info information about current state of the device

Command Descriptions
<FAS366U>.info
Synopsis
<FAS366U>.info
Description
Print information about the state of the SCSI controller.

1077

VIRTUTECH CONFIDENTIAL

fc-disk
Provided by
fc-disk
Class Hierarchy
conf-object log-object fc-disk
Interfaces Implemented
log_object, event_poster
Description
Simple model of a Fibre Channel SCSI disk for use with the ISP2200 controller. This
device and the controller do not actually use the FC protocol since it is hidden by the
controller from the host.

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
active_queue_id
Optional attribute; read/write access; type: unknown type.
Index in command queue for next command to issue.
command_queue
Optional attribute; read/write access; type: unknown type.
List of commands that are queued for the disk.
data_buffer
Optional attribute; read/write access; type: unknown type.
Buffer with data to transfer.
data_len
Optional attribute; read/write access; type: unknown type.
The length of data to transfer.
fc_controller
Required attribute; read/write access; type: unknown type.
Name of the Fibre Channel controller that this disk is connected to.

1078

VIRTUTECH CONFIDENTIAL
free_queue_id
Optional attribute; read/write access; type: unknown type.
Index in command queue for next free slot.
geometry
Required attribute; read/write access; type: unknown type.
The geometry of the disk. ()
image
Required attribute; read/write access; type: unknown type.
Name of the image object holding the actual data of the disk. This object must
implement the image interface.
last_command
Pseudo attribute; read-only access; type: Integer.
The last SCSI command sent to the disk
loop_id
Required attribute; read/write access; type: unknown type.
Loop ID on the FC-AL.
mode_pages
Optional attribute; read/write access; type: unknown type.
Mode pages for the disk.
model
Optional attribute; read/write access; type: unknown type.
Model name of the disk.
node_name
Required attribute; read/write access; type: unknown type.
Unique name of the node, as 48 bit IEEE address
ns_per_transfer
Optional attribute; read/write access; type: unknown type.
The constant delay, in nanoseconds, for a disk transfer. This delay will be added
to the size-dependent delay set by the ns_per_unit attribute. Note that this is
not the same as average seek time for random accesses. (This attribute will be
replaced by a more detailed timing model in the future.)
ns_per_unit
Optional attribute; read/write access; type: unknown type.
The number of nanoseconds it takes to transfer data of the size set in the timing_
unit_size attribute. This delay will be added to the constant delay set in the
ns_per_transfer attribute. (This attribute will be replaced by a more detailed
timing model in the future.)
1079

VIRTUTECH CONFIDENTIAL
port_name
Required attribute; read/write access; type: unknown type.
Unique name of the port, as 48 bit IEEE address
queue_length
Optional attribute; read/write access; type: unknown type.
Length of SCSI command queue (not implemented).
revision
Optional attribute; read/write access; type: unknown type.
Revision string of the disk.
scsi_commands
Pseudo attribute; read-only access; ; integer indexed; indexed type: String.
Pseudo attribute returning the SCSI command name (as a string) given an integer
index representing the command.
sector_data
Pseudo attribute; read/write access; ; integer indexed; indexed type: Data.
Can be used to access a sector (512 bytes) on the disk.
sectors_read
Session attribute; read-only access; type: Integer.
Number of sectors read in the current simulation session.
sectors_written
Session attribute; read-only access; type: Integer.
Number of sectors written in the current simulation session.
sense_key
Optional attribute; read/write access; type: unknown type.
Current Sense Key code.
timing_unit_size
Optional attribute; read/write access; type: unknown type.
The amount of data (in bytes) that makes up a unit. A unit is used to calculate disk delays together with the ns_per_unit attribute. (This attribute will be
replaced by a more detailed timing model in the future.)
transfer
Optional attribute; read/write access; type: unknown type.
List of active transfer buffers for data message and status.
vendor
Optional attribute; read/write access; type: unknown type.
Vendor name of the disk.
1080

VIRTUTECH CONFIDENTIAL
vendor_specific_id
Optional attribute; read/write access; type: unknown type.
Vendor Specific string for the disk - often used as serial id.
vpd_pages
Optional attribute; read/write access; type: unknown type.
VPD pages for the disk.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
add-sun-partition
create-sun-vtoc-header
create-sun-vtoc-partition
delete-sun-vtoc-partition
dump-sun-partition
info
print-sun-vtoc

add partition from a file


write a new VTOC to a Sun disk
write partition data in the VTOC on a Sun disk
delete partition data from the VTOC on a Sun disk
write partition as a file
information about current state of the fibre-channel disk
print the VTOC for a Sun disk

Command Descriptions
<fc-disk>.add-sun-partition
Synopsis
<fc-disk>.add-sun-partition number file
Description
Adds an image or diff as a sun partition to the current disk.
See Also
<fc-disk>.dump-sun-partition

<fc-disk>.create-sun-vtoc-header
Synopsis
<fc-disk>.create-sun-vtoc-header [C] [H] [S] [-quiet]
Description
Create and write a new VTOC to a Sun disk. The geometry information written is
taken from the configuration attribute geometry of the disk, unless specified with
the C, H and S parameters. A new empty partition table is also created, with only the
standard backup partition as number 2. -quiet makes the command silent in case of
success.
1081

VIRTUTECH CONFIDENTIAL
See Also
<fc-disk>.print-sun-vtoc, <fc-disk>.create-sun-vtoc-partition, <fc-disk>.delete-sunvtoc-partition

<fc-disk>.create-sun-vtoc-partition
Synopsis
<fc-disk>.create-sun-vtoc-partition number tag flag start-block num-blocks [-quiet]
Description
Write partition information to the VTOC on a Sun disk. This command does not
change the format of the disk, and it does not create any file system on the partition.
Only the Volume Table Of Contents is modified. No checking is performed to make
sure that partitions do not overlap, or that they do not exceed the disk size. -quiet
makes the command silent in case of success.
See Also
<fc-disk>.print-sun-vtoc, <fc-disk>.create-sun-vtoc-header, <fc-disk>.delete-sun-vtocpartition

<fc-disk>.delete-sun-vtoc-partition
Synopsis
<fc-disk>.delete-sun-vtoc-partition number [-quiet]
Description
Delete the information in the VTOC on a Sun disk for the specified partition. No other
modification on the disk is performed. -quiet makes the command silent in case of
success.
See Also
<fc-disk>.print-sun-vtoc, <fc-disk>.create-sun-vtoc-header, <fc-disk>.create-sun-vtocpartition

<fc-disk>.dump-sun-partition
Synopsis
<fc-disk>.dump-sun-partition number file
Description
Write all data from a Sun disk partition to the specified file in raw format.
See Also
<fc-disk>.print-sun-vtoc, <fc-disk>.add-sun-partition

<fc-disk>.info
1082

VIRTUTECH CONFIDENTIAL
Synopsis
<fc-disk>.info
Description
Print information about the state of the fibre-channel disk.

<fc-disk>.print-sun-vtoc
Synopsis
<fc-disk>.print-sun-vtoc
Description
Print the contents of the VTOC (volume table of contents) for a Sun disk. This is similar
to the Solaris prtvtoc command.
See Also
<fc-disk>.create-sun-vtoc-header, <fc-disk>.create-sun-vtoc-partition, <fc-disk>.deletesun-vtoc-partition

1083

VIRTUTECH CONFIDENTIAL

fiesta-system
Provided by
fiesta-system
Class Hierarchy
conf-object log-object fiesta-system
Interfaces Implemented
log_object
Description
The fiesta-system class is deprecated and only distributed for compatibility with old
configurations.

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
all_cpus
Required attribute; read/write access; type: [o].
List of all processors in the machine.
master_cpu
Required attribute; read/write access; type: Object.
The master processor in the machine.
nvram_image
Required attribute; read/write access; type: Object.
The nvram image object, holding OBP variables.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-prom-env
info
set-prom-defaults
set-prom-env

deprecated Get an OBP environment variable


print information about the device
deprecated Restore all OBP variables
deprecated Set an OBP environment variable

1084

VIRTUTECH CONFIDENTIAL

Command Descriptions
<fiesta-system>.get-prom-env deprecated
Synopsis
<fiesta-system>.get-prom-env [variable]
Description
This command is deprecated, use <taco-system>.get-prom-env instead.

<fiesta-system>.info
Synopsis
<fiesta-system>.info
Description
Print detailed information about the configuration of the device.

<fiesta-system>.set-prom-defaults deprecated
Synopsis
<fiesta-system>.set-prom-defaults
Description
This command is deprecated, use <taco-system>.set-prom-defaults instead.

<fiesta-system>.set-prom-env deprecated
Synopsis
<fiesta-system>.set-prom-env variable (int|string)
Description
This command is deprecated, use <taco-system>.set-prom-env instead.

1085

VIRTUTECH CONFIDENTIAL

fiesta-tomatillo
Provided by
fiesta-tomatillo
Class Hierarchy
conf-object log-object fiesta-tomatillo
Interfaces Implemented
log_object, simple_interrupt, bridge, pci_bridge, event_poster, io_memory
Description
Tomatillo is the host-to-PCI bridge found in Fiesta systems. The following mapping
numbers are used: 0 - Device register mapping. 11, 111 - Bridge mapping for PCI A
configuration space. 12, 112 - Bridge mapping for PCI A I/O space. 13, 113 - Bridge
mapping for PCI A memory space. 21, 121 - Bridge mapping for PCI B configuration
space. 22, 122 - Bridge mapping for PCI B I/O space. 23, 123 - Bridge mapping for
PCI B memory space. 30 - DVMA mapping in the PCI A memory space. 40 - DVMA
mapping in the PCI B memory space. 254 - PCI A configuration space mapping. 255 PCI B configuration space mapping.

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
PCI_A_IOMMU_translation
Pseudo attribute; read-only access; ; integer indexed; indexed type: Integer.
Returns the IOMMU translation of PCI address. The attribute must be indexed
with the address to translate.
PCI_A_array_regs
Optional attribute; read/write access; type: unknown type.
A list of PCI CSR array registers for bus A; mainly for saving the simulator state.
PCI_A_irq_level
Optional attribute; read/write access; type: unknown type.
A list of interrupt levels for bus A; mainly for saving simulator state.
PCI_A_irq_state
Optional attribute; read/write access; type: unknown type.
A list of interrupt states for bus A; mainly for saving simulator state.
1086

VIRTUTECH CONFIDENTIAL
PCI_A_pbm_regs
Optional attribute; read/write access; type: unknown type.
(PCI-command, PCI-latency, bus-number, sub-bus-number); PCI CSR registers for
bus A.
PCI_A_regs
Optional attribute; read/write access; type: unknown type.
The 16 PCI CSR registers for bus A; mainly for saving the simulator state.
PCI_B_IOMMU_translation
Pseudo attribute; read-only access; ; integer indexed; indexed type: Integer.
Returns the IOMMU translation of PCI address. The attribute must be indexed
with the address to translate.
PCI_B_array_regs
Optional attribute; read/write access; type: unknown type.
A list of PCI CSR array registers for bus B; mainly for saving the simulator state.
PCI_B_pbm_regs
Optional attribute; read/write access; type: unknown type.
(PCI-command, PCI-latency, bus-number, sub-bus-number); PCI CSR registers for
bus B.
PCI_B_regs
Optional attribute; read/write access; type: unknown type.
The 16 PCI CSR registers for bus B; mainly for saving the simulator state.
dma_block_size
Optional attribute; read/write access; type: Integer.
The largest DMA block size used. Must be a power of two, and not larger than
8192.
i2c_bus
Required attribute; read/write access; type: unknown type.
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
io_space
Required attribute; read/write access; type: unknown type.
The object to be used as I/O space, implementing the interface lookup.
irq_bus
Required attribute; read/write access; type: unknown type.
The interrupt bus object used to send and receive interrupts.
1087

VIRTUTECH CONFIDENTIAL
irq_latency
Optional attribute; read/write access; type: unknown type.
Interrupt latency (experimental feature).
jbus_regs
Optional attribute; read/write access; type: unknown type.
A list containing the Jbus registers.
jpid
Required attribute; read/write access; type: unknown type.
The Jbus Port ID.
mapping
Optional attribute; read/write access; type: unknown type.
(bus-A-IO, bus-A-memory, bus-B-IO, bus-B-memory); flags set to 1 if IO/memory
spaces are mapped for bus A/B.
memory_space
Required attribute; read/write access; type: unknown type.
The object to be used as memory space, implementing the interface lookup.
pci_busA
Required attribute; read/write access; type: unknown type.
The object to be used as PCI bus A, implementing the interface io-memory.
pci_busB
Required attribute; read/write access; type: unknown type.
The object to be used as PCI bus B, implementing the interface io-memory.
pio_latency
Optional attribute; read/write access; type: unknown type.
PIO latency (experimental feature).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
pci-a-iommu-translate
pci-a-regs
pci-b-iommu-translate
pci-b-regs
pci-irqs
pregs

translate PCI-A IOMMU address


print PCI-A registers
translate PCI-B IOMMU address
print PCI-A registers
print PCI interrupts
print tomatillo registers

1088

VIRTUTECH CONFIDENTIAL

Command Descriptions
<fiesta-tomatillo>.pci-a-iommu-translate
Synopsis
<fiesta-tomatillo>.pci-a-iommu-translate pci-address
Description
Translate a PCI-A address using the IOMMU.

<fiesta-tomatillo>.pci-a-regs
Synopsis
<fiesta-tomatillo>.pci-a-regs
Description
Print the PCI-A registers in the tomatillo device.

<fiesta-tomatillo>.pci-b-iommu-translate
Synopsis
<fiesta-tomatillo>.pci-b-iommu-translate pci-address
Description
Translate a PCI-B address using the IOMMU.

<fiesta-tomatillo>.pci-b-regs
Synopsis
<fiesta-tomatillo>.pci-b-regs
Description
Print the PCI-A registers in the tomatillo device.

<fiesta-tomatillo>.pci-irqs
Synopsis
<fiesta-tomatillo>.pci-irqs
Description
Print the PCI-A interrupt status and mappings in the tomatillo device.

1089

VIRTUTECH CONFIDENTIAL

<fiesta-tomatillo>.pregs
Synopsis
<fiesta-tomatillo>.pregs
Description
Print the general registers in the tomatillo device

1090

VIRTUTECH CONFIDENTIAL

file-cdrom
Provided by
file-cdrom
Class Hierarchy
conf-object log-object file-cdrom
Interfaces Implemented
log_object
Description
This extension allows a file in ISO9660 format to be accessible from the simulated
target machine. This is a convenient way to import files into Simics.

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
file
Required attribute; read/write access; type: unknown type.
The name of the ISO file representing the CD-ROM media.
in_use
Optional attribute; read/write access; type: unknown type.
(Internal) Set if media is in use by the CD-ROM.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
delete delete an unused file-cdrom object

1091

VIRTUTECH CONFIDENTIAL

Command Descriptions
<file-cdrom>.delete
Synopsis
<file-cdrom>.delete
Description
Delete an unused file-cdrom object with the name object-name.

1092

VIRTUTECH CONFIDENTIAL

flash-memory
Provided by
flash-memory
Class Hierarchy
conf-object log-object flash-memory
Interfaces Implemented
log_object, translate, io_memory
Description
This model is deprecated. If you want to create new flash-memory objects, use genericflash-memory instead.

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
accept_inquiries
Optional attribute; read/write access; type: Integer.
If 1, the flash device will handled inquiries as normal accesses. If 0, it will ignore
them.
amd_any_cmd_address
Optional attribute; read/write access; type: Integer.
Should be set to 1 for AMD devices that ignore the address offset for commands.
amd_compatible
Optional attribute; read/write access; type: unknown type.
Set to 1 if the flash memory supports the AMD command interface.
bus_width
Optional attribute; read/write access; type: Integer.
Bus width (in bytes)
cfi_compatible
Optional attribute; read/write access; type: unknown type.
Set to 1 if the flash memory supports the common flash interface (CFI).

1093

VIRTUTECH CONFIDENTIAL
cfi_query
Optional attribute; read/write access; type: unknown type.
The data structure (as a byte array) that will be read on CFI query operations.
command_set
Optional attribute; read/write access; type: i|s.
Command set as specified by the JEDEC standard. Either a number (such as
0x0001) or a string (such as intel/sharp extended).
current_address
Optional attribute; read/write access; type: Integer.
Current address in pending write/erase operations.
current_count
Optional attribute; read/write access; type: Integer.
Current byte/word count in pending write/erase operations.
device_id
Optional attribute; read/write access; type: unknown type.
Device ID
intel_compatible
Optional attribute; read/write access; type: unknown type.
Set to 1 for Intel compatible devices (means that the device supports an Intel
command set, and that the CFI query command isnt address sensitive).
interleave
Optional attribute; read/write access; type: Integer.
Interleave (number of parallel flash memory chips).
jedec_compatible
Optional attribute; read/write access; type: unknown type.
Set to 1 if the flash memory is JEDEC compatible.
mode
Optional attribute; read/write access; type: unknown type.
Internal state - the current operation mode.
reset
Pseudo attribute; write-only access; type: Integer.
Set to 1 in order to reset the device.
sector_size
Optional attribute; read/write access; type: unknown type.
Sector size (applicable to AMD compatible devices).
1094

VIRTUTECH CONFIDENTIAL
sectors
Optional attribute; read/write access; type: unknown type.
Number of sectors (applicable to AMD compatible devices).
storage_ram
Required attribute; read/write access; type: Object.
RAM object providing the backing store area.
vendor_id
Optional attribute; read/write access; type: unknown type.
Vendor ID
write_buffer
Optional attribute; read/write access; type: Data.
Data in a pending write-to-buffer operation.

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

1095

VIRTUTECH CONFIDENTIAL

floppy-drive
Provided by
82077
Class Hierarchy
conf-object floppy-drive
Interfaces Implemented
None
Description
Floppy disk drive for use with the 82077 controller.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
cur_head
Optional attribute; read/write access; type: Integer.
Current head.
cur_sector
Optional attribute; read/write access; type: Integer.
Current sector.
cur_track
Optional attribute; read/write access; type: Integer.
Current track.
data_rate
Optional attribute; read/write access; type: Integer.
Current data rate.
disk_changed
Optional attribute; read/write access; type: Integer.
Disk in drive has changed.
drive_busy
Optional attribute; read/write access; type: Integer.
Drive busy flag.

1096

VIRTUTECH CONFIDENTIAL
heads
Optional attribute; read/write access; type: Integer.
Number of heads.
image
Optional attribute; read/write access; type: Object or Nil.
Object holding floppy data. Must implement the image interface.
motor_on
Optional attribute; read/write access; type: Integer.
Motor currently on.
sectors_per_track
Optional attribute; read/write access; type: Integer.
Number of sectors per track.
seek_in_progress
Optional attribute; read/write access; type: Integer.
A background seek is in progress.
tracks
Optional attribute; read/write access; type: Integer.
Number of tracks.
write_protect
Optional attribute; read/write access; type: Integer.
Write protect flag.

Command List
Commands
info
print information about the device
status print status of the device

Command Descriptions
<floppy-drive>.info
Synopsis
<floppy-drive>.info
Description
Print detailed information about the configuration of the device.

<floppy-drive>.status
1097

VIRTUTECH CONFIDENTIAL
Synopsis
<floppy-drive>.status
Description
Print detailed information about the current status of the device.

1098

VIRTUTECH CONFIDENTIAL

fourport
Provided by
fourport
Class Hierarchy
conf-object log-object fourport
Interfaces Implemented
log_object, io_memory, simple_interrupt
Description
AST Fourport interrupt logic. The actual serial port devices are not handled by this
device. Use instances of NS16450 or NS16550 to model the UARTs connected to this
device.

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
enable
Optional attribute; read/write access; type: Integer.
Fourport mode enable.
input_status
Optional attribute; read/write access; type: Integer.
Port interrupt pin status. One bit per port.
irq_dev
Required attribute; read/write access; type: Object.
Device that interrupts are sent to.
irq_level
Required attribute; read/write access; type: Integer.
Interrupt level.
output_status
Optional attribute; read/write access; type: Integer.
Output interrupt status.

1099

VIRTUTECH CONFIDENTIAL
scratch
Optional attribute; read/write access; type: Integer.
Scratchpad value when not in fourport mode.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<fourport>.info
Synopsis
<fourport>.info
Description
Print detailed information about the configuration of the device.

<fourport>.status
Synopsis
<fourport>.status
Description
Print detailed information about the current status of the device.

1100

VIRTUTECH CONFIDENTIAL

frontend-server
Provided by
frontend-server
Class Hierarchy
conf-object frontend-server
Interfaces Implemented
None
Description
Module used for communicating with a frontend client

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue

1101

VIRTUTECH CONFIDENTIAL

ftp-alg
Provided by
ftp_alg
Class Hierarchy
conf-object log-object ftp-alg
Interfaces Implemented
log_object
Description
FTP ALG.

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
forward_handler
Required attribute; read/write access; type: Object.
An instance of the port-forward-outgoing-server class. Must implement portforward.
ftp_port
Optional attribute; read/write access; type: Integer.
Port for FTP service (on target), default 21.
incoming_handler
Required attribute; read/write access; type: Object.
Must implement port-forward.

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

1102

VIRTUTECH CONFIDENTIAL

g-cache
Provided by
g-cache
Class Hierarchy
conf-object log-object g-cache
Interfaces Implemented
log_object, timing_model
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 connected in chain; a single cache can be
connected to several processors; support for a simple MESI protocol between caches.

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
config_assoc
Optional attribute; read/write access; type: Integer.
Cache associativity. Note that the total number of lines divided by the associativity must be a power of 2. (default is 4).
config_block_STC
Optional attribute; read/write access; type: Integer.
Prevent the cache from using the STCs. Read the Cache Simulation chapter in
Simics User Guide for more information(0: STC usage allowed, 1: STC usage
blocked; default is 0).
config_line_number
Optional attribute; read/write access; type: Integer.
Number of lines in the cache (default is 128)
config_line_size
Optional attribute; read/write access; type: Integer.

1103

VIRTUTECH CONFIDENTIAL
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_replacement_policy
Optional attribute; read/write access; type: String.
Replacement policy (random, LRU or cyclic, default is random).
config_seed
Optional attribute; read/write access; type: Integer.
Seed for random replacement policy, default is 0).
config_virtual_index
Optional attribute; read/write access; type: Integer.
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: Integer.
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: Integer.
Write allocation policy (0: non-write allocate, 1: write-allocate, default is 0).
config_write_back
Optional attribute; read/write access; type: Integer.
Write policy (0: write-through, 1: write-back, default is 0).
cpus
Required attribute; read/write access; type: n|o|[o+].
cpus that can send transactions to the cache.
higher_level_caches
Optional attribute; read/write access; type: [o].
Higher level caches that need to receive invalidates during MESI snooping (MESI
protocol).
lines
Optional attribute; read/write access; type: [[iiii]]; integer indexed; indexed
type: [iiii].
Content of the cache lines
lines_last_used
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
Last used timestamp for the cache lines
1104

VIRTUTECH CONFIDENTIAL
next_line_in_set
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
Next line used for replacement in a given set.
penalty_read
Optional attribute; read/write access; type: Integer.
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 nonzero value, the simulation wont be able to use the STCs.
penalty_read_next
Optional attribute; read/write access; type: Integer.
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
Optional attribute; read/write access; type: Integer.
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 wont be able to use the STCs.
penalty_write_next
Optional attribute; read/write access; type: Integer.
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).
profilers
Optional attribute; read/write access; type: [o|n]; integer indexed; indexed
type: Object or Nil.
Profilers connected to the cache.
snoopers
Optional attribute; read/write access; type: [o].
Caches listening on the bus (MESI protocol).
stat_copy_back
Optional attribute; read/write access; type: Integer.
Number of copy-back transactions initiated by the cache.
1105

VIRTUTECH CONFIDENTIAL
stat_data_read
Optional attribute; read/write access; type: Integer.
Number of cacheable data read transactions (may be underestimated if the STCs
are used, see Simics User Guide for more information).
stat_data_read_miss
Optional attribute; read/write access; type: Integer.
Number of cacheable data read transactions that missed in the cache.
stat_data_write
Optional attribute; read/write access; type: Integer.
Number of cacheable data write transactions (may be underestimated if the STCs
are used, see Simics User Guide for more information).
stat_data_write_miss
Optional attribute; read/write access; type: Integer.
Number of cacheable data write transactions that missed in the cache (writethrough caches report a correct miss value but all writes are sent to the next level).
stat_dev_data_read
Optional attribute; read/write access; type: Integer.
Number of device data read transactions (DMA).
stat_dev_data_write
Optional attribute; read/write access; type: Integer.
Number of device data write transactions (DMA).
stat_inst_fetch
Optional attribute; read/write access; type: Integer.
Number of cacheable instruction fetches (may be underestimated if the STCs are
used, see Simics User Guide for more information).
stat_inst_fetch_miss
Optional attribute; read/write access; type: Integer.
Number of cacheable instruction fetches that missed in the cache.
stat_lost_stall_cycles
Optional attribute; read/write access; type: Integer.
Stall cycles lost due to non-stallable transactions.
stat_mesi_exclusive_to_shared
Optional attribute; read/write access; type: Integer.
Number of Exclusive to Shared transitions in MESI protocol.
stat_mesi_invalidate
Optional attribute; read/write access; type: Integer.
Number of lines invalidated in MESI protocol.
1106

VIRTUTECH CONFIDENTIAL
stat_mesi_modified_to_shared
Optional attribute; read/write access; type: Integer.
Number of Modified to Shared transitions in MESI protocol.
stat_transaction
Optional attribute; read/write access; type: Integer.
Total number of transactions seen by the cache.
stat_uc_data_read
Optional attribute; read/write access; type: Integer.
Number of uncacheable data read transactions.
stat_uc_data_write
Optional attribute; read/write access; type: Integer.
Number of uncacheable data write transactions.
stat_uc_inst_fetch
Optional attribute; read/write access; type: Integer.
Number of uncacheable inst fetch transactions.
timing_model
Optional attribute; read/write access; type: Object or Nil.
Object listening on transactions coming from the cache (line fetch, copy-back).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
add-profiler
info
remove-profiler
reset-cache-lines
reset-statistics
statistics
status

Add a profiler to the cache


print the cache information
Remove a profiler from the cache
Reset all the cache lines
reset the cache statistics
print the cache statistics
print the cache lines status

Command Descriptions
<g-cache>.add-profiler
Synopsis
<g-cache>.add-profiler [type] [profiler]

1107

VIRTUTECH CONFIDENTIAL
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.

<g-cache>.info
Synopsis
<g-cache>.info
Description
Print configuration information for the cache.

<g-cache>.remove-profiler
Synopsis
<g-cache>.remove-profiler [type]
Description
Remove the profiler of a given type from the cache.

<g-cache>.reset-cache-lines
Synopsis
<g-cache>.reset-cache-lines
Description
Reset all the cache lines to their default values.

<g-cache>.reset-statistics
Synopsis
<g-cache>.reset-statistics
Description
Reset the cache statistics.

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

1108

VIRTUTECH CONFIDENTIAL

<g-cache>.status
Synopsis
<g-cache>.status [-cycle]
Description
Print the cache lines status. -cycle 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).

1109

VIRTUTECH CONFIDENTIAL

g-cache-ooo
Provided by
g-cache-ooo
Class Hierarchy
conf-object log-object g-cache-ooo
Interfaces Implemented
log_object, timing_model
Description
g-cache-ooo is an out-of-order 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 connected in chain; a single cache can
be connected to several processors; multiple out-of-order transactions support.

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
config_accept_not_stall
Optional attribute; read/write access; type: Integer.
By default, the cache considers all non-stallable memory transactions as uncacheable.
If this is set to 1, the cache will accept non-stallable cpu memory transactions as
cacheable. This is useful to run a g-cache-ooo memory hierarchy with in-order
Simics binaries. Note that all the memory hierarchy elements below the cache
MUST have all stall penalties to zero for this to work properly (0: non-stallable
transactions are uncacheable, 1: non-stallable transactions may be cached, default
is 0).
config_assoc
Optional attribute; read/write access; type: Integer.
Cache associativity. Note that the total number of lines divided by the associativity must be a power of 2. (default is 4).
config_line_number
Optional attribute; read/write access; type: Integer.
Number of lines in the cache (default is 128)
1110

VIRTUTECH CONFIDENTIAL
config_line_size
Optional attribute; read/write access; type: Integer.
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_max_out_trans
Optional attribute; read/write access; type: Integer.
Maximum number of outstanding transactions handled simultaneously by the
cache (default is 16).
config_read_per_cycle
Optional attribute; read/write access; type: Integer.
Number of read transactions allowed per cycle (default is 4).
config_replacement_policy
Optional attribute; read/write access; type: String.
Replacement policy (random, LRU or cyclic, default is random).
config_seed
Optional attribute; read/write access; type: Integer.
Seed for random replacement policy, default is 0).
config_virtual_index
Optional attribute; read/write access; type: Integer.
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: Integer.
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: Integer.
Write allocation policy (0: non-write allocate, 1: write-allocate, default is 0).
config_write_back
Optional attribute; read/write access; type: Integer.
Write policy (0: write-through, 1: write-back, default is 0).
config_write_per_cycle
Optional attribute; read/write access; type: Integer.
Number of write transactions allowed per cycle (default is 4).
cpus
Required attribute; read/write access; type: n|o|[o+].
cpus that can send transactions to the cache.
1111

VIRTUTECH CONFIDENTIAL
lines
Optional attribute; read/write access; type: [[i{8}]]; integer indexed; indexed
type: [i{8}].
Content of the cache lines.
lines_last_used
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
Last used timestamp for the cache lines
outstanding_transactions
Optional attribute; read/write access; type: [[isiii]]; integer indexed; indexed
type: [isiii].
Outstanding transactions information.
penalty_read
Optional attribute; read/write access; type: Integer.
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 nonzero value, the simulation wont be able to use the STCs.
penalty_write
Optional attribute; read/write access; type: Integer.
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 wont be able to use the STCs.
profilers
Optional attribute; read/write access; type: [o|n]; integer indexed; indexed
type: Object or Nil.
Profilers connected to the cache.
stat_copy_back
Optional attribute; read/write access; type: Integer.
Number of copy-back transactions initiated by the cache.
stat_data_read
Optional attribute; read/write access; type: Integer.
Number of cacheable data read transactions (may be underestimated if the STCs
are used, see Simics User Guide for more information).
stat_data_read_miss
Optional attribute; read/write access; type: Integer.
Number of cacheable data read transactions that missed in the cache.

1112

VIRTUTECH CONFIDENTIAL
stat_data_write
Optional attribute; read/write access; type: Integer.
Number of cacheable data write transactions (may be underestimated if the STCs
are used, see Simics User Guide for more information).
stat_data_write_miss
Optional attribute; read/write access; type: Integer.
Number of cacheable data write transactions that missed in the cache (writethrough caches report a correct miss value but all writes are sent to the next level).
stat_dev_data_read
Optional attribute; read/write access; type: Integer.
Number of device data read transactions (DMA).
stat_dev_data_write
Optional attribute; read/write access; type: Integer.
Number of device data write transactions (DMA).
stat_inst_fetch
Optional attribute; read/write access; type: Integer.
Number of cacheable instruction fetches (may be underestimated if the STCs are
used, see Simics User Guide for more information).
stat_inst_fetch_miss
Optional attribute; read/write access; type: Integer.
Number of cacheable instruction fetches that missed in the cache.
stat_transaction
Optional attribute; read/write access; type: Integer.
Total number of transactions seen by the cache.
stat_uc_data_read
Optional attribute; read/write access; type: Integer.
Number of uncacheable data read transactions.
stat_uc_data_write
Optional attribute; read/write access; type: Integer.
Number of uncacheable data write transactions.
stat_uc_inst_fetch
Optional attribute; read/write access; type: Integer.
Number of uncacheable inst fetch transactions.
timing_model
Optional attribute; read/write access; type: Object or Nil.
Object listening on transactions coming from the cache (line fetch, copy-back).
1113

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
add-profiler
info
remove-profiler
reset-cache-lines
reset-statistics
statistics
status

Add a profiler to the cache


print the cache information
Remove a profiler from the cache
Reset all the cache lines
reset the cache statistics
print the cache statistics
print the cache lines status

Command Descriptions
<g-cache-ooo>.add-profiler
Synopsis
<g-cache-ooo>.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.

<g-cache-ooo>.info
Synopsis
<g-cache-ooo>.info
Description
Print configuration information for the cache.

<g-cache-ooo>.remove-profiler
Synopsis
<g-cache-ooo>.remove-profiler [type]
Description
Remove the profiler of a given type from the cache.

<g-cache-ooo>.reset-cache-lines
Synopsis
<g-cache-ooo>.reset-cache-lines
1114

VIRTUTECH CONFIDENTIAL
Description
Reset all the cache lines to their default values.

<g-cache-ooo>.reset-statistics
Synopsis
<g-cache-ooo>.reset-statistics
Description
Reset the cache statistics.

<g-cache-ooo>.statistics
Synopsis
<g-cache-ooo>.statistics
Description
Print the current value of the cache statistics (this will flush the STC counters to report
correct values).

<g-cache-ooo>.status
Synopsis
<g-cache-ooo>.status [-cycle]
Description
Print the cache lines status. -cycle 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).

1115

VIRTUTECH CONFIDENTIAL

gdb-remote
Provided by
gdb-remote
Class Hierarchy
conf-object log-object gdb-remote
Interfaces Implemented
log_object, event_poster
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.
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:

Architecture
alpha
armbe
armle
ia64
mips32be
mips32le
mips64be
mips64le
ppc32
ppc64
V8
sparc-v9
x86-64
x86

--target
alpha-unknown-linux-gnu
armbe-unknown-linux-gnu
armle-unknown-linux-gnu
ia64-unknown-linux-gnu
mips-elf-linux
mipsel-elf-linux
mips64-elf64-linux64
mips64el-elf64-linux64
powerpc64-elf-linux
powerpc64-elf-linux
sparc-unknown-linux-gnu
sparc64-sun-solaris2.8
x86_64-pc-linux-gnu
x86_64-pc-linux-gnu

GDB command

set
set
set
set

mips abi n64


mips abi n64
architecture powerpc:common
architecture powerpc:common64

set architecture sparc:v9


set architecture i386:x86-64
set architecture i386

Note that these --target flags are not the only ones that will work, just examples of
ones that do work.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
1116

VIRTUTECH CONFIDENTIAL
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
architecture
Pseudo attribute; read/write access; type: unknown type.
Architecture of target.
connected
Pseudo attribute; read-only access; type: b.
Returns true if the gdb-remote object is connected to a gdb, false if not.
context_object
Optional attribute; read/write access; type: unknown type.
Context object that this GDB session is attached to.
disconnect
Pseudo attribute; write-only access; type: unknown type.
Disconnects the remote GDB
follow_context
Pseudo attribute; read/write access; type: unknown type.
Set to non-zero if context should be followed.
large_operations
Optional attribute; read/write access; type: unknown type.
Set to non-zero if memory operations received from GDB should be performed
as single operations instead of bytewise
listen
Pseudo attribute; read/write access; type: unknown type.
Set to start listening for incoming GDB connections on the specified port. If 0 is
specified an arbitrary available port will be used. Read to get the port currently
listened on, or 0 if none.
processor
Pseudo attribute; read/write access; type: unknown type.
Processor to connect the GDB stub to.
signal
Pseudo attribute; write-only access; type: unknown type.
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.
1117

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
disconnect
follow-context
info
signal
target

disconnect from the remote gdb


follow context
print information about the device
tell remote gdb we got a signal
set target CPU for gdb connection

Command Descriptions
<gdb-remote>.disconnect
Synopsis
<gdb-remote>.disconnect
Description
Disconnect from the remote GDB. See the Simics User Guide for a longer description
of gdb-remote.

<gdb-remote>.follow-context
Synopsis
<gdb-remote>.follow-context [context]
Description
Set the GDB session to follow context. If context is not specified, the GDB session will
stop following any context.

<gdb-remote>.info
Synopsis
<gdb-remote>.info
Description
Print detailed information about the configuration of the device.

<gdb-remote>.signal
Synopsis
<gdb-remote>.signal signal

1118

VIRTUTECH CONFIDENTIAL
Description
Send a signal to the remote GDB. See the Simics User Guide for a longer description
of gdb-remote.

<gdb-remote>.target
Synopsis
<gdb-remote>.target [cpu-name]
Description
Set the target CPU for this remote GDB connection. One GDB connection can only
debug instructions on a single CPU at a time.

1119

VIRTUTECH CONFIDENTIAL

generic-flash-memory
Provided by
new-flash-memory
Class Hierarchy
conf-object log-object conf-object log-object generic-flash-memory
Interfaces Implemented
log_object, event_poster, translate
Description
The generic-flash-memory class simulates different types of flash-memory depending
on which attributes are set. Refer to [simics]/home/scripts/flash_memory.py for a
complete description of the features implemented and the flash chips that are preconfigured.

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
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
accept_inquiries
Optional attribute; read/write access; type: Integer.
If 1, the flash device will handled inquiries as normal accesses. If 0, it will ignore
them. Default is 0.
accept_smaller_reads
Optional attribute; read/write access; type: Integer.
If 1, the flash device will accept smaller reads than the bus width. If 0, it will
complain when receiving smaller reads. Default is 0.
accept_smaller_writes
Optional attribute; read/write access; type: Integer.
If 1, the flash device will accept smaller writes than the bus width. If 0, it will
complain when receiving smaller writes. Default is 0.
1120

VIRTUTECH CONFIDENTIAL
amd_ignore_cmd_address
Optional attribute; read/write access; type: Integer.
If 1, the address will be ignored when parsing AMD commands. Default is 0.
big_endian
Optional attribute; read/write access; type: Integer.
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.
bus_width
Required attribute; read/write access; type: Integer.
Total width (in bits) of the data path connected to the flash 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.
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).
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_current_count
Optional attribute; read/write access; type: [i].
Current write buffer count for all chips.
chip_write_buffer_start_address
Optional attribute; read/write access; type: [i].
Current write buffer start address for all chips.
command_set
Optional attribute; read/write access; type: Integer.
If no CFI structure is provided, this attribute should be set to indicate the commandset to use. Default is 0 (invalid command-set).

1121

VIRTUTECH CONFIDENTIAL
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.
hardware_lock_status
Optional attribute; read/write access; type: [[i]].
Hardware lock status for all units (for Intel advanced lock system).
ignore_timing
Optional attribute; read/write access; type: Integer.
Obsolete attribute since timing is not modeled. Kept for backward compatibility
only.
intel_configuration
Optional attribute; read/write access; type: Integer.
If 1, the flash device supports intel configuration operations. f 0, intel configuration operations are ignored. Default is 0.
intel_lock
Optional attribute; read/write access; type: Integer.
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.
intel_protection_program
Optional attribute; read/write access; type: Integer.
If 1, the flash device supports intel protection program operations. If 0, intel
protection program operations are ignored. Default is 0.
intel_write_buffer
Optional attribute; read/write access; type: Integer.
If 1, the flash device supports intel write buffer operations. If 0, intel write buffer
operations are ignored. Default is 0.
interleave
Required attribute; read/write access; type: Integer.
Interleave (number of parallel flash memory chips).
lock_status
Optional attribute; read/write access; type: [[i]].
Lock status for all units.
manufacturer_id
Optional attribute; read/write access; type: Integer.
Manufacturer ID/code as used in Intel identifier codes and AMD autoselect mode.
Default is 0.
1122

VIRTUTECH CONFIDENTIAL
max_chip_width
Optional attribute; read/write access; type: Integer.
Maximum data width (for example, specified as 16 for a x8/x16 capable device).
reset
Pseudo attribute; write-only access; type: Integer.
Set to 1 in order to reset the device.
storage_ram
Required attribute; read/write access; type: Object.
RAM object providing the backing store area.
strict_cmd_set
Optional attribute; read/write access; type: Integer.
If set to 1, warnings that the command-set is misused become errors. Default is
0.
timing_model
Optional attribute; read/write access; type: D; string indexed; indexed type:
Float.
Associates a flash state/operation with a time. The flash will remain in this state
the given time allowing a more strict time model to be simulated. Sometimes
flash drivers requires that an operation takes some time to for the software to
work correctly.
unit_erase_time
Optional attribute; read/write access; type: Float.
Obsolete attribute since timing is not modeled. Kept for backward compatibility
only.
unit_size
Required attribute; read/write access; type: [i+].
A list of block/sector sizes.
unit_status
Optional attribute; read/write access; type: [[i]].
Status for all units.
write_buffer_size
Optional attribute; read/write access; type: Integer.
Write buffer size in bytes for write buffer commands. Default is 32 (standard
value for Intel Strataflash).

1123

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<generic-flash-memory>.info
Synopsis
<generic-flash-memory>.info
Description
Print detailed information about the configuration of the device.

<generic-flash-memory>.status
Synopsis
<generic-flash-memory>.status
Description
Print detailed information about the current status of the device.

1124

VIRTUTECH CONFIDENTIAL

gfx-console
Provided by
x11-console
Class Hierarchy
conf-object log-object conf-object log-object gfx-console
Interfaces Implemented
log_object, event_poster
Description
The graphics-console class implements a graphical console with up to 256 colors, 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 graphics-console
class should be connected to a graphics card device, and a keyboard/mouse device.

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
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
auto_release
Optional attribute; read/write access; type: Integer.
Flag whether the graphics-console automatically shall send a release event when
the window focus is lost and keys still are pressed
break
Pseudo attribute; read-only access; ; string indexed; indexed type: Integer.
(source_obj, filename). Activate a graphical breakpoint previously saved to filename.
Returns a breakpoint id.
delete
Pseudo attribute; write-only access; type: Integer.
Delete breakpoint with given id.
1125

VIRTUTECH CONFIDENTIAL
depth
Optional attribute; read/write access; type: Integer.
The simulated depth.
double_x_limit
Optional attribute; read/write access; type: Integer.
If the width of the console is less than this value the width of every pixel will be
doubled.
double_y_limit
Optional attribute; read/write access; type: Integer.
If the hight of the console is less than this value the hight of every pixel will be
doubled.
fullscreen
Session attribute; read/write access; type: Integer.
Set fullscreen mode. The console will only run in fullscreen while input grabbing
is active. Note that not all graphics-console implementations support fullscreen.
grab_button
Optional attribute; read/write access; type: String.
One of left, middle and right The grab button specifies which mouse button that
is used to grab and ungrab input for the console.
grab_modifier
Optional attribute; read/write access; type: String.
One of control, shift, alt and none. The modifier key used for grabbing and ungrabbing input for the console. When a modifier is selected, pressing only the
middle mouse button cause the console to send this button event to the simulator. Currently only the left side modifier are interpreted.
grab_ungrab
Pseudo attribute; read/write access; type: Integer.
Set to one to grab the mouse, clear to ungrab.
input_enable
Optional attribute; read/write access; type: Integer.
Enable keyboard and mouse input to the console.
input_key_event
Pseudo attribute; write-only access; type: [ii].
Set to a enter a key event. The first list element is 0 for key down, 1 for key up.
The second list element is the key code.
kbd_event_queue
Optional attribute; read/write access; type: [[ii]].
Keyboard event queue.
1126

VIRTUTECH CONFIDENTIAL
kbd_type
Session attribute; read/write access; type: String.
One of PC, Sun, Mac or X11. By default the x11-console tries to find out what
kind of keyboard that is connected to Simics, and use the raw key-codes from
it. Since raw key-codes are used, the simulated machine must be setup with
the same keyboard layout as the host. If the identification fails, Simics will use
X11 cooked key symbols. The kbd_type attribute allows manual setting of the
keyboard type.
keyboard
Optional attribute; read/write access; type: Object or Nil.
The consoles keyboard device.
microm_x
Session attribute; read/write access; type: Integer.
Micrometers per horizontal pixel.
microm_y
Session attribute; read/write access; type: Integer.
Micrometers per vertical pixel.
mouse
Optional attribute; read/write access; type: Object.
The consoles mouse device.
poll_rate
Optional attribute; read/write access; type: Integer.
How often input is checked (Hz).
refresh
Pseudo attribute; write-only access; type: a.
If set the console will be completely redrawn.
rgb_colors
Optional attribute; read/write access; type: [[iii]{256}].
((r, g, b){256}) The color palette. 256 colors.
save_bmp
Pseudo attribute; write-only access; type: String.
Save current console bitmap as a BMP file.
save_break
Pseudo attribute; write-only access; type: [siiiis].
(source_obj, filename, left, top, right, bottom, comment). Saves a graphical
breakpoint rectangle (top,left)->(bottom,right)to filename.
1127

VIRTUTECH CONFIDENTIAL
title
Optional attribute; read/write access; type: String.
Window title.
try_open
Optional attribute; read/write access; type: Integer.
If set to 1, the window will be opened. Close with 0.
video
Optional attribute; read/write access; type: Object.
The consoles video device. Used to import video breakpoint functions.
x_size
Required attribute; read/write access; type: Integer.
The width of the console.
y_size
Required attribute; read/write access; type: Integer.
The height of the console.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
auto-release
break
close
delete
disable-input
enable-input
grab-setup
input
open
poll-rate
refresh
save-bmp
save-break-xy
switch-to-text-console

get/set auto-release flag


break on a graphics event specified by filename
close console window
delete breakpoint
ignore console input
enable console input
set grab button and modifier
send string to a console
open console window
set poll rate
refresh console
save BMP image
specify and save a graphical breakpoint
replace graphics console with text console

1128

VIRTUTECH CONFIDENTIAL

Command Descriptions
<gfx-console>.auto-release
Synopsis
<gfx-console>.auto-release [state]
Description
Get or set the auto-release attribute on the gfx-console. If set, automatic release events
will be sent for any keys still pressed when the window focus is lost.

<gfx-console>.break
Synopsis
<gfx-console>.break filename
Description
Activates a previously saved breakpoint specified by filename and returns a breakpoint
id. When a graphical breakpoint is reached it is immediately deleted and a hap with
id Gfx_Break_String is triggered. If no callbacks for this hap were registered Simics
halts execution and returns to the command prompt.

<gfx-console>.close
Synopsis
<gfx-console>.close
Description
Close the console window.
See Also
<gfx-console>.open

<gfx-console>.delete
Synopsis
<gfx-console>.delete id
Description
Delete breakpoint given by id

<gfx-console>.disable-input
Synopsis
<gfx-console>.disable-input

1129

VIRTUTECH CONFIDENTIAL
Description
Ignore all inputs received from the console. Use this command to avoid sending input
to the simulated machine if determinism is desired.
See Also
<gfx-console>.enable-input

<gfx-console>.enable-input
Synopsis
<gfx-console>.enable-input
Description
Enable inputs from the console. New consoles will have input enabled.
See Also
<gfx-console>.disable-input

<gfx-console>.grab-setup
Synopsis
<gfx-console>.grab-setup [button] [modifier]
Description
The grab button specifies which mouse button that is used to grab and ungrab input
for the console. A keyboard modifier can also be specified that must be pressed for
grabbing to occur. Valid buttons are left, middle and right, while valid modifiers are
alt, control, shift and none. Only the left side modifier are currently used. When called
with no arguments, the currently selected button and modifier will be printed.

<gfx-console>.input
Synopsis
<gfx-console>.input string [-e]
Description
Input string on console.
The -e switch enables emacs-style keystrokes. The following characters are accepted:
C (Control), A (Alt), Del, Up, Down, Left, Right, Esc, F1 to F12 and Enter.
They can be combined using the - character. For example C-a will input Control
and a pressed together. C-A-Del will produce the famous Control-Alt-Del sequence.

<gfx-console>.open
Synopsis
<gfx-console>.open
1130

VIRTUTECH CONFIDENTIAL
Description
Open the console window.
See Also
<gfx-console>.close

<gfx-console>.poll-rate
Synopsis
<gfx-console>.poll-rate [rate]
Description
Set the rate for inputs polling and display updates. The rate for updates is the only
argument, and specified in Hz (simulated time). Default is 1000, but this may vary
depending on the config file used. When called with no arguments, the current polling
frequency is reported.

<gfx-console>.refresh
Synopsis
<gfx-console>.refresh
Description
Redraws all changes to the graphics console The console display is normally only
updated at intervals specified by the poll-rate command. This command causes the
(full) display to be redrawn.

<gfx-console>.save-bmp
Synopsis
<gfx-console>.save-bmp filename
Description
This command saves the current console window contents to an image file in BMP
format.

<gfx-console>.save-break-xy
Synopsis
<gfx-console>.save-break-xy filename left top right bottom [comment]
Description
Lets the user select a rectangular area inside the graphics console by specifying the top
left corner (left, top) and the bottom right corner (right, bottom). The selected area will
be saved as a binary graphical breakpoint file. An optional comment may be added
that will be put in the beginning of the file.
1131

VIRTUTECH CONFIDENTIAL

<gfx-console>.switch-to-text-console
Synopsis
<gfx-console>.switch-to-text-console
Description
Replace the graphics with a text console.

1132

VIRTUTECH CONFIDENTIAL

GT64120
Provided by
GT64120
Class Hierarchy
conf-object log-object GT64120
Interfaces Implemented
log_object, interrupt_ack, io_memory
Description
System controller chip from Galileo Technology Ltd. (now merged with Marvell Technology Group Ltd.): The GT64120 is a single-chip system controller for MIPS CPUs.
This highly-integrated device contains all the key system peripherals needed to build
a high-performance 64-bit MIPS system: SDRAM controller (parity support), device
controller, DMA engines, timer/counters, and high-performance Universal PCI interfaces.The GT64120 includes an advanced dual-mode PCI interface unit that can support either two independent 32-bit PCI buses, or a single 64-bit PCI interface. PCI bus
speeds up to 66MHz are also supported, as is an industry standard I2O messaging
unit. Universal PCI for both 3.3V and 5V signalling is included. The 64-bit device controller on the GT64120 supports a wide range of memory devices including SDRAM,
Flash, and SRAM.

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_decode_error
Optional attribute; read/write access; type: Integer.
GT64120 register: Address Decode Error
arbiter_control
Optional attribute; read/write access; type: Integer.
GT64120 register: DMA Arbiter Arbiter Control
boot_cs_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: Boot CS High Decode Address

1133

VIRTUTECH CONFIDENTIAL
boot_cs_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: Boot CS Low Decode Address
bootcs
Optional attribute; read/write access; type: Object or Nil.
BootCS
bus_error_address_high_processor
Optional attribute; read/write access; type: Integer.
GT64120 register: Bus Error Address Low Processor
bus_error_address_low_processor
Optional attribute; read/write access; type: Integer.
GT64120 register: Bus Error Address Low Processor
byte_swap_pci
Optional attribute; read/write access; type: Integer.
If set to non-zero, all mappings to and from the PCI busses are byte swapped.
That is, the mappings are byte swapped an extra time in addition to the number
of times they are programmed to be swapped in the GT64120.
channel_0_control
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 0 Control
channel_0_current_descriptor_pointer
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 0 Current Descriptor Pointer
channel_0_dma_byte_count
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 0 Byte Count
channel_0_dma_destination_address
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 0 DMA Destination Address
channel_0_dma_source_address
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 0 DMA Source Address
channel_0_next_record_pointer
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 0 Next Record Pointer
1134

VIRTUTECH CONFIDENTIAL
channel_1_control
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 1 Control
channel_1_current_descriptor_pointer
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 1 Current Descriptor Pointer
channel_1_dma_byte_count
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 1 DMA Byte Count
channel_1_dma_destination_address
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 1 DMA Destination Address
channel_1_dma_source_address
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 1 DMA Source Address
channel_1_next_record_pointer
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 1 Next Record Pointer
channel_2_control
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 2 Control
channel_2_current_descriptor_pointer
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 2 Current Descriptor Pointer
channel_2_dma_byte_count
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 2 DMA Byte Count
channel_2_dma_destination_address
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 2 DMA Destination Address
channel_2_dma_source_address
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 2 DMA Source Address
channel_2_next_record_pointer
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 2 Next Record Pointer
1135

VIRTUTECH CONFIDENTIAL
channel_3_control
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 3 Control
channel_3_current_descriptor_pointer
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 3 Current Descriptor Pointer
channel_3_dma_byte_count
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 3 DMA Byte Count
channel_3_dma_destination_address
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 3 DMA Destination Address
channel_3_dma_source_address
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 3 DMA Source Address
channel_3_next_record_pointer
Optional attribute; read/write access; type: Integer.
GT64120 register: Channel 3 Next Record Pointer
cpu_high_interrupt_mask_register
Optional attribute; read/write access; type: Integer.
GT64120 register: CPU High Interrupt Mask Register
cpu_interface_configuration
Optional attribute; read/write access; type: Integer.
GT64120 register: CPU Interface Configuration
cpu_interrupt_mask_register
Optional attribute; read/write access; type: Integer.
GT64120 register: CPU Interrupt Mask Register
cpu_mapped_bootcs
Optional attribute; read/write access; type: Integer.
Non-zero if BootCS is mapped in the CPU address space.
cpu_mapped_cs0
Optional attribute; read/write access; type: Integer.
Non-zero if CS0 is mapped in the CPU address space.
cpu_mapped_cs1
Optional attribute; read/write access; type: Integer.
Non-zero if CS1 is mapped in the CPU address space.
1136

VIRTUTECH CONFIDENTIAL
cpu_mapped_cs2
Optional attribute; read/write access; type: Integer.
Non-zero if CS2 is mapped in the CPU address space.
cpu_mapped_cs3
Optional attribute; read/write access; type: Integer.
Non-zero if CS3 is mapped in the CPU address space.
cpu_mapped_internal_registers
Optional attribute; read/write access; type: Integer.
Non-zero if Internal Registers is mapped in the CPU address space.
cpu_mapped_pci_0_io
Optional attribute; read/write access; type: Integer.
Non-zero if PCI_0 I/O is mapped in the CPU address space.
cpu_mapped_pci_0_memory_0
Optional attribute; read/write access; type: Integer.
Non-zero if PCI_0 Memory 0 is mapped in the CPU address space.
cpu_mapped_pci_0_memory_1
Optional attribute; read/write access; type: Integer.
Non-zero if PCI_0 Memory 1 is mapped in the CPU address space.
cpu_mapped_pci_1_io
Optional attribute; read/write access; type: Integer.
Non-zero if PCI_1 I/O is mapped in the CPU address space.
cpu_mapped_pci_1_memory_0
Optional attribute; read/write access; type: Integer.
Non-zero if PCI_1 Memory 0 is mapped in the CPU address space.
cpu_mapped_pci_1_memory_1
Optional attribute; read/write access; type: Integer.
Non-zero if PCI_1 Memory 1 is mapped in the CPU address space.
cpu_mapped_scs0
Optional attribute; read/write access; type: Integer.
Non-zero if SCS0 is mapped in the CPU address space.
cpu_mapped_scs1
Optional attribute; read/write access; type: Integer.
Non-zero if SCS1 is mapped in the CPU address space.
cpu_mapped_scs2
Optional attribute; read/write access; type: Integer.
Non-zero if SCS2 is mapped in the CPU address space.
1137

VIRTUTECH CONFIDENTIAL
cpu_mapped_scs3
Optional attribute; read/write access; type: Integer.
Non-zero if SCS3 is mapped in the CPU address space.
cpu_mapping_bootcs_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping BootCS.
cpu_mapping_cs0_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping CS0.
cpu_mapping_cs1_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping CS1.
cpu_mapping_cs2_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping CS2.
cpu_mapping_cs3_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping CS3.
cpu_mapping_internal_registers_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping Internal Registers.
cpu_mapping_pci_0_io_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping PCI_0 I/O.
cpu_mapping_pci_0_memory_0_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping PCI_0 Memory 0.
cpu_mapping_pci_0_memory_1_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping PCI_0 Memory 1.
cpu_mapping_pci_1_io_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping PCI_1 I/O.
cpu_mapping_pci_1_memory_0_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping PCI_1 Memory 0.
1138

VIRTUTECH CONFIDENTIAL
cpu_mapping_pci_1_memory_1_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping PCI_1 Memory 1.
cpu_mapping_scs0_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping SCS0.
cpu_mapping_scs1_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping SCS1.
cpu_mapping_scs2_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping SCS2.
cpu_mapping_scs3_function
Optional attribute; read/write access; type: Integer.
The function to use when mapping SCS3.
cpu_mem
Required attribute; read/write access; type: Object.
The memory space on the CPU side.
cpu_select_cause_register
Optional attribute; read/write access; type: Integer.
GT64120 register: CPU Select Cause Register
cs0
Optional attribute; read/write access; type: Object or Nil.
CS0
cs0_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[0] High Decode Address
cs0_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[0] Low Decode Address
cs1
Optional attribute; read/write access; type: Object or Nil.
CS1
cs1_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[1] High Decode Address
1139

VIRTUTECH CONFIDENTIAL
cs1_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[1] Low Decode Address
cs2
Optional attribute; read/write access; type: Object or Nil.
CS2
cs20_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[2:0] High Decode Address
cs20_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[2:0] Low Decode Address
cs20_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[2:0] Remap
cs2_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[2] High Decode Address
cs2_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[2] Low Decode Address
cs3
Optional attribute; read/write access; type: Object or Nil.
CS3
cs3_boot_cs_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[3] and Boot CS High Decode Address
cs3_boot_cs_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[3] and Boot CS Low Decode Address
cs3_boot_cs_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[3] and Boot CS Remap
cs3_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[3] High Decode Address
1140

VIRTUTECH CONFIDENTIAL
cs3_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CS[3] Low Decode Address
device_bank0_parameters
Optional attribute; read/write access; type: Integer.
GT64120 register: Device Parameters Device Bank0 Parameters
device_bank1_parameters
Optional attribute; read/write access; type: Integer.
GT64120 register: Device Bank1 Parameters
device_bank2_parameters
Optional attribute; read/write access; type: Integer.
GT64120 register: Device Bank2 Parameters
device_bank3_parameters
Optional attribute; read/write access; type: Integer.
GT64120 register: Device Bank3 Parameters
device_boot_bank_parameters
Optional attribute; read/write access; type: Integer.
GT64120 register: Device Boot Bank Parameters
high_interrupt_cause_register
Optional attribute; read/write access; type: Integer.
GT64120 register: High Interrupt Cause Register
inbound_doorbell_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Inbound Doorbell Register
inbound_free_head_pointer_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Inbound Free Head Pointer Register
inbound_free_tail_pointer_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Inbound Free Tail Pointer Register
inbound_interrupt_cause_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Inbound Interrupt Cause Register
inbound_interrupt_mask_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Inbound Interrupt Mask Register
1141

VIRTUTECH CONFIDENTIAL
inbound_message_register_0
Optional attribute; read/write access; type: Integer.
GT64120 register: Inbound Message Register 0
inbound_message_register_1
Optional attribute; read/write access; type: Integer.
GT64120 register: Inbound Message Register 1
inbound_post_head_pointer_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Inbound Post Head Pointer Register
inbound_post_tail_pointer_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Inbound Post Tail Pointer Register
inbound_queue_port_virtual_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Inbound Queue Port Virtual Register
internal_registers
Optional attribute; read/write access; type: Object or Nil.
Internal Registers
internal_space_decode
Optional attribute; read/write access; type: Integer.
GT64120 register: Internal Space Decode
interrupt_cause_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Interrupts Interrupt Cause Register
irq_dev
Required attribute; read/write access; type: Object.
Upstream interrupt device.
irq_level
Required attribute; read/write access; type: Integer.
Upstream interrupt level.
multi_gt_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Multi-GT Register
outbound_doorbell_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Outbound Doorbell Register
1142

VIRTUTECH CONFIDENTIAL
outbound_free_head_pointer_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Outbound Free Head Pointer Register
outbound_free_tail_pointer_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Outbound Free Tail Pointer Register
outbound_interrupt_cause_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Outbound Interrupt Cause Register
outbound_interrupt_mask_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Outbound Interrupt Mask Register
outbound_message_register_0
Optional attribute; read/write access; type: Integer.
GT64120 register: Outbound Message Register 0
outbound_message_register_1
Optional attribute; read/write access; type: Integer.
GT64120 register: Outbound Message Register 1
outbound_post_head_pointer_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Outbound Post Head Pointer Register
outbound_post_tail_pointer_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Outbound Post Tail Pointer Register
outbound_queue_port_virtual_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Outbound Queue Port Virtual Register
pci_0_0
Required attribute; read/write access; type: Object.
PCI_0 function 0
pci_0_1
Required attribute; read/write access; type: Object.
PCI_0 function 1
pci_0_base_address_registers_enable
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Base Address Registers Enable
1143

VIRTUTECH CONFIDENTIAL
pci_0_command
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI Internal PCI_0 Command
pci_0_conf
Required attribute; read/write access; type: Object.
PCI_0 Conf
pci_0_conf_bist_header_type_latency_timer_cache_line
Optional attribute; read/write access; type: Integer.
PCI 0 BIST, Header Type, Latency Timer, Cache Line.
pci_0_conf_class_code_and_revision_id
Optional attribute; read/write access; type: Integer.
PCI 0 Class Code and Revision ID.
pci_0_conf_cs20_base_address
Optional attribute; read/write access; type: Integer.
PCI 0 CS[2:0] Base Address.
pci_0_conf_cs3_boot_cs_base_address
Optional attribute; read/write access; type: Integer.
PCI 0 CS[3] and Boot CS Base Address.
pci_0_conf_device_and_vendor_id
Optional attribute; read/write access; type: Integer.
PCI 0 Device and Vendor ID.
pci_0_conf_expansion_rom_base_address_register
Optional attribute; read/write access; type: Integer.
PCI 0 Expansion ROM Base_Address.
pci_0_conf_internal_registers_io_mapped_base_address
Optional attribute; read/write access; type: Integer.
PCI 0 Internal Registers I/O Mapped Base Address.
pci_0_conf_internal_registers_memory_mapped_base_address
Optional attribute; read/write access; type: Integer.
PCI 0 Internal Registers Memory Mapped Base Address.
pci_0_conf_interrupt_pin_and_line
Optional attribute; read/write access; type: Integer.
PCI 0 Interrupt Pin and Line.
pci_0_conf_scs10_base_address
Optional attribute; read/write access; type: Integer.
PCI 0 SCS[1:0] Base Address.
1144

VIRTUTECH CONFIDENTIAL
pci_0_conf_scs32_base_address
Optional attribute; read/write access; type: Integer.
PCI 0 SCS[3:2] Base Address.
pci_0_conf_status_and_command
Optional attribute; read/write access; type: Integer.
PCI 0 Status and Command.
pci_0_conf_subsystem_id_and_subsystem_vendor_id
Optional attribute; read/write access; type: Integer.
PCI 0 Subsystem ID and Subsystem Vendor ID.
pci_0_conf_swapped_cs3_boot_cs_base_address
Optional attribute; read/write access; type: Integer.
PCI 0 Swapped CS[3] and Boot CS Base Address.
pci_0_conf_swapped_scs10_base_address
Optional attribute; read/write access; type: Integer.
PCI 0 Swapped SCS[1:0] Base Address.
pci_0_conf_swapped_scs32_base_address
Optional attribute; read/write access; type: Integer.
PCI 0 Swapped SCS[3:2] Base Address.
pci_0_configuration_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Configuration Address
pci_0_configuration_data_virtual_register
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Configuration Data Virtual Register
pci_0_cs20_bank_size
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 CS[2:0] Bank Size
pci_0_cs20_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 CS[2:0] Base Address Remap
pci_0_cs3_boot_cs_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 CS[3] and Boot CS Address Remap
pci_0_cs3_boot_cs_bank_size
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 CS[3] and Boot CS Bank Size
1145

VIRTUTECH CONFIDENTIAL
pci_0_high_interrupt_cause_mask_register
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 High Interrupt Cause Mask Register
pci_0_interrupt_acknowledge_virtual_register
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Interrupt Acknowledge Virtual Register
pci_0_interrupt_cause_mask_register
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Interrupt Cause Mask Register
pci_0_interrupt_select_register
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Interrupt Select Register
pci_0_io
Required attribute; read/write access; type: Object.
PCI_0 I/O
pci_0_io_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 I/O High Decode Address
pci_0_io_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 I/O Low Decode Address
pci_0_io_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 I/O Remap
pci_0_mapped_bootcs
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 BootCS is mapped in the PCI address space.
pci_0_mapped_cs0
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 CS0 is mapped in the PCI address space.
pci_0_mapped_cs1
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 CS1 is mapped in the PCI address space.
pci_0_mapped_cs2
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 CS2 is mapped in the PCI address space.
1146

VIRTUTECH CONFIDENTIAL
pci_0_mapped_cs3
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 CS3 is mapped in the PCI address space.
pci_0_mapped_internal_registers_io_mapped
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Internal Registers IO Mapped is mapped in the PCI address
space.
pci_0_mapped_internal_registers_memory_mapped
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Internal Registers Memory Mapped is mapped in the PCI address space.
pci_0_mapped_scs0
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 SCS0 is mapped in the PCI address space.
pci_0_mapped_scs1
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 SCS1 is mapped in the PCI address space.
pci_0_mapped_scs2
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 SCS2 is mapped in the PCI address space.
pci_0_mapped_scs3
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 SCS3 is mapped in the PCI address space.
pci_0_mapped_swapped_bootcs
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped BootCS is mapped in the PCI address space.
pci_0_mapped_swapped_cs3
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped CS3 is mapped in the PCI address space.
pci_0_mapped_swapped_scs0
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped SCS0 is mapped in the PCI address space.
pci_0_mapped_swapped_scs1
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped SCS1 is mapped in the PCI address space.
1147

VIRTUTECH CONFIDENTIAL
pci_0_mapped_swapped_scs2
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped SCS2 is mapped in the PCI address space.
pci_0_mapped_swapped_scs3
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped SCS3 is mapped in the PCI address space.
pci_0_mapping_bootcs_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 BootCS is mapped in the PCI address space.
pci_0_mapping_cs0_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 CS0 is mapped in the PCI address space.
pci_0_mapping_cs1_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 CS1 is mapped in the PCI address space.
pci_0_mapping_cs2_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 CS2 is mapped in the PCI address space.
pci_0_mapping_cs3_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 CS3 is mapped in the PCI address space.
pci_0_mapping_internal_registers_io_mapped_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Internal Registers IO Mapped is mapped in the PCI address
space.
pci_0_mapping_internal_registers_memory_mapped_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Internal Registers Memory Mapped is mapped in the PCI address space.
pci_0_mapping_scs0_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 SCS0 is mapped in the PCI address space.
pci_0_mapping_scs1_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 SCS1 is mapped in the PCI address space.
1148

VIRTUTECH CONFIDENTIAL
pci_0_mapping_scs2_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 SCS2 is mapped in the PCI address space.
pci_0_mapping_scs3_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 SCS3 is mapped in the PCI address space.
pci_0_mapping_swapped_bootcs_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped BootCS is mapped in the PCI address space.
pci_0_mapping_swapped_cs3_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped CS3 is mapped in the PCI address space.
pci_0_mapping_swapped_scs0_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped SCS0 is mapped in the PCI address space.
pci_0_mapping_swapped_scs1_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped SCS1 is mapped in the PCI address space.
pci_0_mapping_swapped_scs2_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped SCS2 is mapped in the PCI address space.
pci_0_mapping_swapped_scs3_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 0 Swapped SCS3 is mapped in the PCI address space.
pci_0_memory
Required attribute; read/write access; type: Object.
PCI_0 Memory
pci_0_memory_0_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Memory 0 High Decode Address
pci_0_memory_0_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Memory 0 Low Decode Address
pci_0_memory_0_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Memory 0 Remap
1149

VIRTUTECH CONFIDENTIAL
pci_0_memory_1_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Memory 1 High Decode Address
pci_0_memory_1_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Memory 1 Low Decode Address
pci_0_memory_1_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Memory 1 Remap
pci_0_prefetch_max_burst_size
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Prefetch/Max Burst Size
pci_0_scs10_bank_size
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 SCS[1:0] Bank Size
pci_0_scs10_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 SCS[1:0] Base Address Remap
pci_0_scs32_bank_size
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 SCS[3:2] Bank Size
pci_0_scs32_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 SCS[3:2] Base Address Remap
pci_0_serr0_mask
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 SErr0 Mask
pci_0_swapped_cs3_bootcs_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Swapped CS[3] and BootCS Base Address Remap
pci_0_swapped_scs10_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Swapped SCS[1:0] Base Address Remap
pci_0_swapped_scs32_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Swapped SCS[3:2] Base Address Remap
1150

VIRTUTECH CONFIDENTIAL
pci_0_sync_barrier_virtual_register
Optional attribute; read/write access; type: Integer.
GT64120 register: CPU Sync Barrier PCI_0 Sync Barrier Virtual Register
pci_0_time_out_retry
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_0 Time Out and Retry
pci_1_0
Required attribute; read/write access; type: Object.
PCI_1 function 0
pci_1_1
Required attribute; read/write access; type: Object.
PCI_1 function 1
pci_1_base_address_registers_enable
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Base Address Registers Enable
pci_1_command
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Command
pci_1_conf
Required attribute; read/write access; type: Object.
PCI_1 Conf
pci_1_conf_bist_header_type_latency_timer_cache_line
Optional attribute; read/write access; type: Integer.
PCI 1 BIST, Header Type, Latency Timer, Cache Line.
pci_1_conf_class_code_and_revision_id
Optional attribute; read/write access; type: Integer.
PCI 1 Class Code and Revision ID.
pci_1_conf_cs20_base_address
Optional attribute; read/write access; type: Integer.
PCI 1 CS[2:0] Base Address.
pci_1_conf_cs3_boot_cs_base_address
Optional attribute; read/write access; type: Integer.
PCI 1 CS[3] and Boot CS Base Address.
pci_1_conf_device_and_vendor_id
Optional attribute; read/write access; type: Integer.
PCI 1 Device and Vendor ID.
1151

VIRTUTECH CONFIDENTIAL
pci_1_conf_expansion_rom_base_address_register
Optional attribute; read/write access; type: Integer.
PCI 1 Expansion ROM Base_Address.
pci_1_conf_internal_registers_io_mapped_base_address
Optional attribute; read/write access; type: Integer.
PCI 1 Internal Registers I/O Mapped Base Address.
pci_1_conf_internal_registers_memory_mapped_base_address
Optional attribute; read/write access; type: Integer.
PCI 1 Internal Registers Memory Mapped Base Address.
pci_1_conf_interrupt_pin_and_line
Optional attribute; read/write access; type: Integer.
PCI 1 Interrupt Pin and Line.
pci_1_conf_scs10_base_address
Optional attribute; read/write access; type: Integer.
PCI 1 SCS[1:0] Base Address.
pci_1_conf_scs32_base_address
Optional attribute; read/write access; type: Integer.
PCI 1 SCS[3:2] Base Address.
pci_1_conf_status_and_command
Optional attribute; read/write access; type: Integer.
PCI 1 Status and Command.
pci_1_conf_subsystem_id_and_subsystem_vendor_id
Optional attribute; read/write access; type: Integer.
PCI 1 Subsystem ID and Subsystem Vendor ID.
pci_1_conf_swapped_cs3_boot_cs_base_address
Optional attribute; read/write access; type: Integer.
PCI 1 Swapped CS[3] and Boot CS Base Address.
pci_1_conf_swapped_scs10_base_address
Optional attribute; read/write access; type: Integer.
PCI 1 Swapped SCS[1:0] Base Address.
pci_1_conf_swapped_scs32_base_address
Optional attribute; read/write access; type: Integer.
PCI 1 Swapped SCS[3:2] Base Address.
pci_1_configuration_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Configuration Address
1152

VIRTUTECH CONFIDENTIAL
pci_1_configuration_data_virtual_register
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Configuration Data Virtual Register
pci_1_cs20_bank_size
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 CS[2:0] Bank Size
pci_1_cs20_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 CS[2:0] Base Address Remap
pci_1_cs3_boot_cs_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 CS[3] and Boot CS Address Remap
pci_1_cs3_boot_cs_bank_size
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 CS[3] and Boot CS Bank Size
pci_1_interrupt_acknowledge_virtual_register
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Interrupt Acknowledge Virtual Register
pci_1_io
Required attribute; read/write access; type: Object.
PCI_1 I/O
pci_1_io_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 I/O High Decode Address
pci_1_io_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 I/O Low Decode Address
pci_1_io_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 I/O Remap
pci_1_mapped_bootcs
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 BootCS is mapped in the PCI address space.
pci_1_mapped_cs0
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 CS0 is mapped in the PCI address space.
1153

VIRTUTECH CONFIDENTIAL
pci_1_mapped_cs1
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 CS1 is mapped in the PCI address space.
pci_1_mapped_cs2
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 CS2 is mapped in the PCI address space.
pci_1_mapped_cs3
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 CS3 is mapped in the PCI address space.
pci_1_mapped_internal_registers_io_mapped
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Internal Registers IO Mapped is mapped in the PCI address
space.
pci_1_mapped_internal_registers_memory_mapped
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Internal Registers Memory Mapped is mapped in the PCI address space.
pci_1_mapped_scs0
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 SCS0 is mapped in the PCI address space.
pci_1_mapped_scs1
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 SCS1 is mapped in the PCI address space.
pci_1_mapped_scs2
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 SCS2 is mapped in the PCI address space.
pci_1_mapped_scs3
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 SCS3 is mapped in the PCI address space.
pci_1_mapped_swapped_bootcs
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped BootCS is mapped in the PCI address space.
pci_1_mapped_swapped_cs3
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped CS3 is mapped in the PCI address space.
1154

VIRTUTECH CONFIDENTIAL
pci_1_mapped_swapped_scs0
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped SCS0 is mapped in the PCI address space.
pci_1_mapped_swapped_scs1
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped SCS1 is mapped in the PCI address space.
pci_1_mapped_swapped_scs2
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped SCS2 is mapped in the PCI address space.
pci_1_mapped_swapped_scs3
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped SCS3 is mapped in the PCI address space.
pci_1_mapping_bootcs_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 BootCS is mapped in the PCI address space.
pci_1_mapping_cs0_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 CS0 is mapped in the PCI address space.
pci_1_mapping_cs1_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 CS1 is mapped in the PCI address space.
pci_1_mapping_cs2_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 CS2 is mapped in the PCI address space.
pci_1_mapping_cs3_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 CS3 is mapped in the PCI address space.
pci_1_mapping_internal_registers_io_mapped_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Internal Registers IO Mapped is mapped in the PCI address
space.
pci_1_mapping_internal_registers_memory_mapped_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Internal Registers Memory Mapped is mapped in the PCI address space.
1155

VIRTUTECH CONFIDENTIAL
pci_1_mapping_scs0_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 SCS0 is mapped in the PCI address space.
pci_1_mapping_scs1_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 SCS1 is mapped in the PCI address space.
pci_1_mapping_scs2_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 SCS2 is mapped in the PCI address space.
pci_1_mapping_scs3_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 SCS3 is mapped in the PCI address space.
pci_1_mapping_swapped_bootcs_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped BootCS is mapped in the PCI address space.
pci_1_mapping_swapped_cs3_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped CS3 is mapped in the PCI address space.
pci_1_mapping_swapped_scs0_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped SCS0 is mapped in the PCI address space.
pci_1_mapping_swapped_scs1_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped SCS1 is mapped in the PCI address space.
pci_1_mapping_swapped_scs2_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped SCS2 is mapped in the PCI address space.
pci_1_mapping_swapped_scs3_function
Optional attribute; read/write access; type: Integer.
Non-zero if PCI 1 Swapped SCS3 is mapped in the PCI address space.
pci_1_memory
Required attribute; read/write access; type: Object.
PCI_1 Memory
pci_1_memory_0_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Memory 0 High Decode Address
1156

VIRTUTECH CONFIDENTIAL
pci_1_memory_0_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Memory 0 Low Decode Address
pci_1_memory_0_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Memory 0 Remap
pci_1_memory_1_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Memory 1 High Decode Address
pci_1_memory_1_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Memory 1 Low Decode Address
pci_1_memory_1_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Memory 1 Remap
pci_1_prefetch_max_burst_size
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Prefetch/Max Burst Size
pci_1_scs10_bank_size
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 SCS[1:0] Bank Size
pci_1_scs10_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 SCS[1:0] Base Address Remap
pci_1_scs32_bank_size
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 SCS[3:2] Bank Size
pci_1_scs32_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 SCS[3:2] Base Address Remap
pci_1_serr1_mask
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 SErr1 Mask
pci_1_swapped_cs3_bootcs_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Swapped CS[3] and BootCS Base Address Remap
1157

VIRTUTECH CONFIDENTIAL
pci_1_swapped_scs10_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Swapped SCS[1:0] Base Address Remap
pci_1_swapped_scs32_base_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Swapped SCS[3:2] Base Address Remap
pci_1_sync_barrier_virtual_register
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Sync Barrier Virtual Register
pci_1_time_out_retry
Optional attribute; read/write access; type: Integer.
GT64120 register: PCI_1 Time Out and Retry
pending_ack_interrupt
Optional attribute; read/write access; type: Integer.
Set to 1 when there is an incoming ack interrupt, 0 when not.
pending_interrupt
Optional attribute; read/write access; type: Integer.
Set to 1 when there is an outgoing interrupt, 0 when not.
queue_base_address_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Queue Base Address Register
queue_control_register
Optional attribute; read/write access; type: Integer.
GT64120 register: Queue Control Register
scs0
Optional attribute; read/write access; type: Object or Nil.
SCS0
scs0_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[0] High Decode Address
scs0_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: SDRAM and Device Address Decode SCS[0] Low Decode
Address

1158

VIRTUTECH CONFIDENTIAL
scs1
Optional attribute; read/write access; type: Object or Nil.
SCS1
scs10_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[1:0] Address Remap
scs10_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[1:0] High Decode Address
scs10_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: CPU Address Decode SCS[1:0] Low Decode Address
scs1_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[1] High Decode Address
scs1_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[1] Low Decode Address
scs2
Optional attribute; read/write access; type: Object or Nil.
SCS2
scs2_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[2] High Decode Address
scs2_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[2] Low Decode Address
scs3
Optional attribute; read/write access; type: Object or Nil.
SCS3
scs32_address_remap
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[3:2] Address Remap
scs32_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[3:2] High Decode Address
1159

VIRTUTECH CONFIDENTIAL
scs32_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[3:2] Low Decode Address
scs3_high_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[3] High Decode Address
scs3_low_decode_address
Optional attribute; read/write access; type: Integer.
GT64120 register: SCS[3] Low Decode Address
sdram_address_decode
Optional attribute; read/write access; type: Integer.
GT64120 register: SDRAM Address Decode
sdram_bank0_parameters
Optional attribute; read/write access; type: Integer.
GT64120 register: SDRAM Bank0 Parameters
sdram_bank1_parameters
Optional attribute; read/write access; type: Integer.
GT64120 register: SDRAM Bank1 Parameters
sdram_bank2_parameters
Optional attribute; read/write access; type: Integer.
GT64120 register: SDRAM Bank2 Parameters
sdram_bank3_parameters
Optional attribute; read/write access; type: Integer.
GT64120 register: SDRAM Bank3 Parameters
sdram_burst_mode
Optional attribute; read/write access; type: Integer.
GT64120 register: SDRAM Burst Mode
sdram_configuration
Optional attribute; read/write access; type: Integer.
GT64120 register: SDRAM Configuration
sdram_operation_mode
Optional attribute; read/write access; type: Integer.
GT64120 register: SDRAM Operation Mode
timer_counter_0
Optional attribute; read/write access; type: Integer.
GT64120 register: Timer/Counter Timer /Counter 0
1160

VIRTUTECH CONFIDENTIAL
timer_counter_1
Optional attribute; read/write access; type: Integer.
GT64120 register: Timer /Counter 1
timer_counter_2
Optional attribute; read/write access; type: Integer.
GT64120 register: Timer /Counter 2
timer_counter_3
Optional attribute; read/write access; type: Integer.
GT64120 register: Timer /Counter 3
timer_counter_control
Optional attribute; read/write access; type: Integer.
GT64120 register: Timer /Counter Control

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

1161

VIRTUTECH CONFIDENTIAL

GT64120-pci
Provided by
GT64120
Class Hierarchy
conf-object log-object GT64120-pci
Interfaces Implemented
log_object, bridge, pci_bridge, pci_interrupt, io_memory, pci_device
Description
The GT64120-pci class models the the host to PCI bridges of the GT64120. Currently
only 32-bit operation is supported.

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
bridge_num
Required attribute; read/write access; type: Integer.
PCI bridge number.
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
function_num
Required attribute; read/write access; type: Integer.
PCI function number.
1162

VIRTUTECH CONFIDENTIAL
gt64120
Required attribute; read/write access; type: Object.
GT64120
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

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

1163

VIRTUTECH CONFIDENTIAL

host-cdrom
Provided by
host-cdrom
Class Hierarchy
conf-object log-object host-cdrom
Interfaces Implemented
log_object
Description
This extension allows the CD-ROM device of the host machine to be accessible from
the simulated target machine.

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
block
Pseudo attribute; read-only access; ; integer indexed; indexed type: [i].
Get block at index.
block_raw
Pseudo attribute; read-only access; ; integer indexed; indexed type: [i].
Get raw block at index.
file
Required attribute; read/write access; type: unknown type.
The CD-ROM device to access; e.g., /dev/cdrom on Linux.
in_use
Optional attribute; read/write access; type: unknown type.
(Internal) Set if media is in use by the CD-ROM.

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

1164

VIRTUTECH CONFIDENTIAL
Commands
delete delete an unused host-cdrom object

Command Descriptions
<host-cdrom>.delete
Synopsis
<host-cdrom>.delete
Description
Delete an unused host-cdrom object with the name object-name.

1165

VIRTUTECH CONFIDENTIAL

hostfs
Provided by
hostfs
Class Hierarchy
conf-object log-object hostfs
Interfaces Implemented
log_object, io_memory
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 hostfsdevice needs to be mapped into a specific location in the physical memory space. This
address is target OS and architecture dependent. Diskdumps from Virtutech already
have the target OS module installed (where supported).

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
big_endian
Optional attribute; read/write access; type: b.
Set to TRUE if processor is accessing the device in big-endian mode.
data_in
Optional attribute; read/write access; type: Data.
1040 bytes receive buffer.
data_out
Optional attribute; read/write access; type: Data.
1040 bytes transmit buffer.
datapos
Optional attribute; read/write access; type: Integer.
position in data_out.

1166

VIRTUTECH CONFIDENTIAL
files
Optional attribute; read/write access; type: [[issiiiiiii]].
(inode, file_name, path, type, flags, open_cnt, remove_write, actual_mode, seek_offset,
fd)
Various information on files currently accessed.
hnode
Optional attribute; read/write access; type: Integer.
host inode.
host_func
Optional attribute; read/write access; type: Integer.
function in progress (open, close, read, write, etc.).
host_root
Optional attribute; read/write access; type: String.
Host directory to use as root for the mounted file tree
root
Optional attribute; read/write access; type: Integer.
root inode.
version
Optional attribute; read/write access; type: Integer.
Simicsfs protocol version.
write_state
Optional attribute; read/write access; type: Integer.
device write state.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
root
set or show the hostfs root directory
status print status of the device

1167

VIRTUTECH CONFIDENTIAL

Command Descriptions
<hostfs>.info
Synopsis
<hostfs>.info
Description
Print detailed information about the configuration of the device.

<hostfs>.root
Synopsis
<hostfs>.root [dir]
Description
Set the host directory that is visible to the simulated machine to dir. If no directory is
specified, the current root directory is shown. Changes may not take effect until next
the file system is mounted.

<hostfs>.status
Synopsis
<hostfs>.status
Description
Print detailed information about the current status of the device.

1168

VIRTUTECH CONFIDENTIAL

i21150
Provided by
i21150
Class Hierarchy
conf-object log-object i21150
Interfaces Implemented
log_object, bridge, pci_bridge, io_memory, pci_device
Description
The i21150 object models the Intel i21150 PCI to PCI Bridge

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
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mapping_setup
Optional attribute; read/write access; type: [i{15}].
Attributes for mappings

1169

VIRTUTECH CONFIDENTIAL
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
secondary_bus
Required attribute; read/write access; type: Object.
Secondary (downstream) PCI bus.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
pci-header
status

print information about the device


print PCI device header
print status of the device

Command Descriptions
<i21150>.info
Synopsis
<i21150>.info
Description
Print detailed information about the configuration of the device.

<i21150>.pci-header
Synopsis
<i21150>.pci-header
Description
Print the PCI header, i.e the configuration registers.

1170

VIRTUTECH CONFIDENTIAL

<i21150>.status
Synopsis
<i21150>.status
Description
Print detailed information about the current status of the device.

1171

VIRTUTECH CONFIDENTIAL

i21152
Provided by
i21152
Class Hierarchy
conf-object log-object i21152
Interfaces Implemented
log_object, bridge, pci_bridge, io_memory, pci_device
Description
The i21152 object models the Intel i21152 PCI to PCI Bridge

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
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mapping_setup
Optional attribute; read/write access; type: [i{15}].
Attributes for mappings

1172

VIRTUTECH CONFIDENTIAL
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
secondary_bus
Required attribute; read/write access; type: Object.
Secondary (downstream) PCI bus.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
pci-header
status

print information about the device


print PCI device header
print status of the device

Command Descriptions
<i21152>.info
Synopsis
<i21152>.info
Description
Print detailed information about the configuration of the device.

<i21152>.pci-header
Synopsis
<i21152>.pci-header
Description
Print the PCI header, i.e the configuration registers.

1173

VIRTUTECH CONFIDENTIAL

<i21152>.status
Synopsis
<i21152>.status
Description
Print detailed information about the current status of the device.

1174

VIRTUTECH CONFIDENTIAL

i21554-prim
Provided by
i21554
Class Hierarchy
conf-object log-object i21554-prim
Interfaces Implemented
log_object, io_memory, pci_device, bridge
Description
The i21554-prim models the primary interface on the PCI to PCI bridge

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
base_setup
Optional attribute; read/write access; type: unknown type.
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.
base_translate
Optional attribute; read/write access; type: unknown type.
Translation bases.
bridge_mappings
Optional attribute; read/write access; type: unknown type.
List of all current PCI I/O and memory mappings.
chip_control0
Optional attribute; read/write access; type: unknown type.
Chip Control 0 register.

1175

VIRTUTECH CONFIDENTIAL
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
down_conf_addr
Optional attribute; read/write access; type: unknown type.
Downstream configuration address register.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
scnd_interface
Required attribute; read/write access; type: unknown type.
Secondary interface object for the bridge
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

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

1176

VIRTUTECH CONFIDENTIAL

i21554-scnd
Provided by
i21554
Class Hierarchy
conf-object log-object i21554-scnd
Interfaces Implemented
log_object, io_memory, pci_device, pci_bridge, bridge
Description
The i21554-scnd models the secondary interface on the PCI to PCI bridge

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
bridge_mappings
Optional attribute; read/write access; type: unknown type.
List of all current PCI I/O and memory mappings.
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.

1177

VIRTUTECH CONFIDENTIAL
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
prim_interface
Required attribute; read/write access; type: unknown type.
Primary interface object for the bridge
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

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

1178

VIRTUTECH CONFIDENTIAL

i21555-prim
Provided by
i21555
Class Hierarchy
conf-object log-object i21555-prim
Interfaces Implemented
log_object, io_memory, pci_device, bridge
Description
The i21555-prim models the primary interface on the PCI to PCI bridge

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
base_setup
Optional attribute; read/write access; type: unknown type.
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.
base_translate
Optional attribute; read/write access; type: unknown type.
Translation bases.
bridge_mappings
Optional attribute; read/write access; type: unknown type.
List of all current PCI I/O and memory mappings.
chip_control0
Optional attribute; read/write access; type: unknown type.
Chip Control 0 register.

1179

VIRTUTECH CONFIDENTIAL
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
down_conf_addr
Optional attribute; read/write access; type: unknown type.
Downstream configuration address register.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
scnd_interface
Required attribute; read/write access; type: unknown type.
Secondary interface object for the bridge
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

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

1180

VIRTUTECH CONFIDENTIAL

i21555-scnd
Provided by
i21555
Class Hierarchy
conf-object log-object i21555-scnd
Interfaces Implemented
log_object, io_memory, pci_device, pci_bridge, bridge
Description
The i21555-scnd models the secondary interface on the PCI to PCI bridge

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
bridge_mappings
Optional attribute; read/write access; type: unknown type.
List of all current PCI I/O and memory mappings.
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.

1181

VIRTUTECH CONFIDENTIAL
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
prim_interface
Required attribute; read/write access; type: unknown type.
Primary interface object for the bridge
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

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

1182

VIRTUTECH CONFIDENTIAL

i2c-bus
Provided by
i2c-bus
Class Hierarchy
conf-object log-object i2c-bus
Interfaces Implemented
log_object
Ports
SDA (signal), SCL (signal)
Description
The i2c-bus class implements the functionality of an I2C bus, to which several I2C
devices can connect.

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
current_slave
Optional attribute; read/write access; type: Object or Nil.
The slave of the currently ongoing transaction, if any.
current_state
Optional attribute; read/write access; type: unknown type.
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.
i2c_device_state
Optional attribute; read/write access; type: [iiii].
List representing data state in the device
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.
1183

VIRTUTECH CONFIDENTIAL
sda_target
Optional attribute; read/write access; type: n|o|[os].
Describes where the outgoing SDA signal should be connected

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<i2c-bus>.info
Synopsis
<i2c-bus>.info
Description
Print detailed information about the configuration of the device.

<i2c-bus>.status
Synopsis
<i2c-bus>.status
Description
Print detailed information about the current status of the device.

1184

VIRTUTECH CONFIDENTIAL

i386-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component i386-cpu
Interfaces Implemented
log_object, component
Description
The i386-cpu component represents an Intel 386 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1185

VIRTUTECH CONFIDENTIAL

Command Descriptions
<i386-cpu>.info
Synopsis
<i386-cpu>.info
Description
Print detailed information about the configuration of the device.

<i386-cpu>.status
Synopsis
<i386-cpu>.status
Description
Print detailed information about the current status of the device.

1186

VIRTUTECH CONFIDENTIAL

i486dx2-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component i486dx2-cpu
Interfaces Implemented
log_object, component
Description
The i486dx2-cpu component represents an Intel 486dx2 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1187

VIRTUTECH CONFIDENTIAL

Command Descriptions
<i486dx2-cpu>.info
Synopsis
<i486dx2-cpu>.info
Description
Print detailed information about the configuration of the device.

<i486dx2-cpu>.status
Synopsis
<i486dx2-cpu>.status
Description
Print detailed information about the current status of the device.

1188

VIRTUTECH CONFIDENTIAL

i486sx-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component i486sx-cpu
Interfaces Implemented
log_object, component
Description
The i486sx-cpu component represents an Intel 486sx 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1189

VIRTUTECH CONFIDENTIAL

Command Descriptions
<i486sx-cpu>.info
Synopsis
<i486sx-cpu>.info
Description
Print detailed information about the configuration of the device.

<i486sx-cpu>.status
Synopsis
<i486sx-cpu>.status
Description
Print detailed information about the current status of the device.

1190

VIRTUTECH CONFIDENTIAL

i8042
Provided by
8042
Class Hierarchy
conf-object log-object i8042
Interfaces Implemented
log_object, event_poster, mouse, keyboard, io_memory
Description
The 8042 device implements the functionality of the 8042 keyboard controller together
with a 104/105 key Windows 95 type keyboard, and a two button mouse. They keyboard is a MF II, similar to an AT keyboard but with a few extensions. A 105 key
keyboard is a 101 keyboard with the extra key found on European 102 keyboards, and
the three Windows keys.

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
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 wont drop characters. If
you for some reason want to allow keyboard buffer overflows, set this attribute
to TRUE.
alt_l_down
Optional attribute; read/write access; type: unknown type.
Status of the left alt key.
alt_r_down
Optional attribute; read/write access; type: unknown type.
Status of the right alt key.

1191

VIRTUTECH CONFIDENTIAL
button_event
Pseudo attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
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 0, or
released if value is 1.
check_pending
Optional attribute; read/write access; type: unknown type.
Flag whether there is a check data for 8042 event pending.
cmd_buttons
Optional attribute; read/write access; type: unknown type.
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.
command_last
Optional attribute; read/write access; type: unknown type.
Flag saying whether the last write to the keyboard was a command.
console
Optional attribute; read/write access; type: Object.
Console device implementing the gfx-console or keyboard-console interface.
ctrl_l_down
Optional attribute; read/write access; type: unknown type.
Status of the left ctrl key.
ctrl_r_down
Optional attribute; read/write access; type: unknown type.
Status of the right ctrl key.
fast_a20
Optional attribute; read/write access; type: unknown type.
The fast A20 bit (port 92h).
fast_init
Optional attribute; read/write access; type: unknown type.
The fast init bit (port 92h).
ifull
Optional attribute; read/write access; type: unknown type.
Input buffer full flag. Always 0 in the current implementation.

1192

VIRTUTECH CONFIDENTIAL
irq_dev
Required attribute; read/write access; type: unknown type.
Interrupt device implementing the simple-interrupt interface.
irq_freq
Optional attribute; read/write access; type: Integer.
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 loose 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 by
Virtutech.
irq_sent
Optional attribute; read/write access; type: unknown type.
Set to 1 if the keyboard interrupt line is raised, 2 if the mouse interrupt is raised,
or 0 otherwise.
kbd_disabled
Optional attribute; read/write access; type: unknown type.
Keyboard disabled flag.
kbd_irq_en
Optional attribute; read/write access; type: unknown type.
Keyboard interrupt enabled flag.
kbd_irq_level
Required attribute; read/write access; type: unknown type.
Interrupt level of the keyboard.
key_buf_num
Optional attribute; read/write access; type: unknown type.
Number of entries used after key_first in the key_buffer.
key_buffer
Optional attribute; read/write access; type: unknown type.
(b0, b1, ..., b15) Controller keyboard output data.
key_caps_lock
Optional attribute; read/write access; type: unknown type.
Caps lock led flag.
key_enabled
Optional attribute; read/write access; type: unknown type.
Flag saying if the keyboard is enabled.
1193

VIRTUTECH CONFIDENTIAL
key_event
Pseudo attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
Write-only. Forces keyboard events. Writing value (an integer) to index i forces
key number i to be pressed if value is 0, or released if value is 1.
key_first
Optional attribute; read/write access; type: unknown type.
Index of the next data that will be read from the key_buffer.
key_next_write
Optional attribute; read/write access; type: unknown type.
Command expected for the next write to the keyboard controller. 0 = Undefined,
1 = Led, 2 = Typematic, and 3 = Scan.
key_num_lock
Optional attribute; read/write access; type: unknown type.
Num lock led flag.
key_present
Optional attribute; read/write access; type: unknown type.
Flag saying if the keyboard is actually connected to the controller.
key_scan_codes
Optional attribute; read/write access; type: unknown type.
Selected scan codes.
key_scroll_lock
Optional attribute; read/write access; type: unknown type.
Scroll lock led flag.
mfull
Optional attribute; read/write access; type: unknown type.
Flag saying whether the obuffer contains mouse data.
mode_select_state
Optional attribute; read/write access; type: unknown type.
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.
mou_buf_num
Optional attribute; read/write access; type: unknown type.
Number of entries used from mou_first in mou_buffer.

1194

VIRTUTECH CONFIDENTIAL
mou_buffer
Optional attribute; read/write access; type: unknown type.
(b0, b1, ..., b47) Controller output mouse data.
mou_enabled
Optional attribute; read/write access; type: unknown type.
Mouse enabled flag.
mou_first
Optional attribute; read/write access; type: unknown type.
Index of next data in mou_buffer.
mou_left_button
Optional attribute; read/write access; type: unknown type.
Mouse left button pressed flag.
mou_middle_button
Optional attribute; read/write access; type: unknown type.
Mouse middle button pressed flag.
mou_next_write
Optional attribute; read/write access; type: unknown type.
Command expected for the next write to the mouse controller. 0 = Undefined,
1 = Resolution, and 3 = SampleRate.
mou_resolution
Optional attribute; read/write access; type: unknown type.
Mouse resolution. The resolution is 1 << value counts / mm.
mou_right_button
Optional attribute; read/write access; type: unknown type.
Mouse right button pressed flag.
mou_sample_rate
Optional attribute; read/write access; type: unknown type.
Sample rate in Hz.
mou_two_to_one
Optional attribute; read/write access; type: unknown type.
Scaling is 2:1 flag.
mouse_disabled
Optional attribute; read/write access; type: unknown type.
Mouse disabled flag.

1195

VIRTUTECH CONFIDENTIAL
mouse_event
Pseudo attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
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.
mouse_irq_en
Optional attribute; read/write access; type: unknown type.
Mouse interrupt enabled flag.
mouse_irq_level
Required attribute; read/write access; type: unknown type.
Interrupt level of the mouse.
mouse_mode
Optional attribute; read/write access; type: unknown type.
Mode operating mode. 0 = 3-button mode, 1 = 3-button wheel mode,
and 2 = 5-button wheel mode.
mouse_type
Optional attribute; read/write access; type: unknown type.
Modeled mouse type. 0 = 3-button mouse (default), 1 = 3-button wheel
mouse, and 2 = 5-button wheel mouse.
next_write
Optional attribute; read/write access; type: unknown type.
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: unknown type.
The next data that will be read from the keyboard.
ofull
Optional attribute; read/write access; type: unknown type.
Flag saying whether the obuffer contains data.
output_port
Optional attribute; read/write access; type: unknown type.
The 8042 controllers 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: unknown type.
One bit set for each locked bit in output port P2.
1196

VIRTUTECH CONFIDENTIAL
recorder
Required attribute; read/write access; type: Object.
Recorder object defining the recorder interface.
reset_target
Optional attribute; read/write access; type: Object.
Object implementing the x86_reset_bus interface.
scan_convert
Optional attribute; read/write access; type: unknown type.
Flag whether we do scan code conversion.
selftest_ok
Optional attribute; read/write access; type: unknown type.
The selftest ok flag.
sent_time
Optional attribute; read/write access; type: unknown type.
The last time we sent an interrupt.
shift_l_down
Optional attribute; read/write access; type: unknown type.
Status of the left shift key.
shift_r_down
Optional attribute; read/write access; type: unknown type.
Status of the right shift key.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
ctrl-alt-del
info
key-down
key-up
left-button
middle-button
mouse-down
mouse-left
mouse-right
mouse-up

send ctrl-alt-del to console


print information about the device
send key event
send key event
set button state
set button state
move mouse
move mouse
move mouse
move mouse

1197

VIRTUTECH CONFIDENTIAL
right-button
status

set button state


print status of the device

Command Descriptions
<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 Windowshosted Simics to avoid having Ctrl-Alt-Del catched by the host OS.

<i8042>.info
Synopsis
<i8042>.info
Description
Print detailed information about the configuration of the device.

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

<i8042>.key-up
Synopsis
<i8042>.key-up key-code
<i8042>.key-down key-code
Description
Send a key press to the keyboard controller. The argument is the internal Simics keycode.

<i8042>.left-button

1198

VIRTUTECH CONFIDENTIAL
Synopsis
<i8042>.left-button direction
<i8042>.middle-button direction
<i8042>.right-button direction
Description
Set the state of the left or right mouse button. Valid arguments are up and down.

<i8042>.middle-button
Synopsis
<i8042>.middle-button direction
<i8042>.left-button direction
<i8042>.right-button direction
Description
Set the state of the left or right mouse button. Valid arguments are up and down.

<i8042>.mouse-down
Synopsis
<i8042>.mouse-down millimeters
<i8042>.mouse-left millimeters
<i8042>.mouse-right millimeters
<i8042>.mouse-up millimeters
Description
Move the mouse up/down/left/right a specified number of millimeters.

<i8042>.mouse-left
Synopsis
<i8042>.mouse-left millimeters
<i8042>.mouse-down millimeters
<i8042>.mouse-right millimeters
<i8042>.mouse-up millimeters
Description
Move the mouse up/down/left/right a specified number of millimeters.

<i8042>.mouse-right

1199

VIRTUTECH CONFIDENTIAL
Synopsis
<i8042>.mouse-right millimeters
<i8042>.mouse-down millimeters
<i8042>.mouse-left millimeters
<i8042>.mouse-up millimeters
Description
Move the mouse up/down/left/right a specified number of millimeters.

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

<i8042>.right-button
Synopsis
<i8042>.right-button direction
<i8042>.left-button direction
<i8042>.middle-button direction
Description
Set the state of the left or right mouse button. Valid arguments are up and down.

<i8042>.status
Synopsis
<i8042>.status
Description
Print detailed information about the current status of the device.

1200

VIRTUTECH CONFIDENTIAL

i82077
Provided by
82077
Class Hierarchy
conf-object log-object i82077
Interfaces Implemented
log_object, event_poster, io_memory
Description
The 82077 device implements the functionality of the 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.

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
cmd
Optional attribute; read/write access; type: [i{17}].
(b0, . . . , b16). Current command.
cmd_id
Optional attribute; read/write access; type: Integer.
Currently executing command.
cmd_len
Optional attribute; read/write access; type: Integer.
Actual length of current command.
command_busy
Optional attribute; read/write access; type: Integer.
Command busy (main status bit 4).
cur_cmd_len
Optional attribute; read/write access; type: Integer.
Number of command bytes received.
1201

VIRTUTECH CONFIDENTIAL
cur_res_pos
Optional attribute; read/write access; type: Integer.
Current result read position.
direction_cpu
Optional attribute; read/write access; type: Integer.
Data transfer direction (main status bit 6).
dma_channel
Required attribute; read/write access; type: Integer.
DMA channel.
dma_dev
Required attribute; read/write access; type: Object.
DMA device, implementing the common-dma interface.
dma_enabled
Optional attribute; read/write access; type: Integer.
DMA enable flag.
drive_select
Optional attribute; read/write access; type: Integer.
Currently selected drive.
drives
Optional attribute; read/write access; type: [o]|[oo]|[ooo]|[oooo]|n.
((drive)). List of up to four floppy drives.
enabled
Optional attribute; read/write access; type: Integer.
Controller enable flag.
fifo_enabled
Optional attribute; read/write access; type: Integer.
FIFO enable flag.
fifo_threshold
Optional attribute; read/write access; type: Integer.
FIFO threshold.
head_load
Optional attribute; read/write access; type: Integer.
Head load time.
head_unload
Optional attribute; read/write access; type: Integer.
Head unload time.
1202

VIRTUTECH CONFIDENTIAL
implied_seek
Optional attribute; read/write access; type: Integer.
Implied seek enable flag.
interrupt_pin
Optional attribute; read/write access; type: Integer.
Interrupt request status.
irq_dev
Optional attribute; read/write access; type: Object or Nil.
Interrupt device, implementing the simple-interrupt interface.
irq_level
Required attribute; read/write access; type: Integer.
Interrupt level.
poll_change
Optional attribute; read/write access; type: Integer.
Polling change detected.
poll_enabled
Optional attribute; read/write access; type: Integer.
Polling mode enable flag.
precomp
Optional attribute; read/write access; type: Integer.
Precompensation.
receive_ready
Optional attribute; read/write access; type: Integer.
Controller is ready to receive data (main status bit 7).
res
Optional attribute; read/write access; type: [i{15}].
(b0, . . . , b14). Result bytes.
res_len
Optional attribute; read/write access; type: Integer.
Number of result bytes.
st0
Optional attribute; read/write access; type: Integer.
Status register 0.
st1
Optional attribute; read/write access; type: Integer.
Status register 1.
1203

VIRTUTECH CONFIDENTIAL
st2
Optional attribute; read/write access; type: Integer.
Status register 2.
state
Optional attribute; read/write access; type: Integer.
Floppy command state. Idle=0, Command=1, Execute=2, Result=3.
step_rate
Optional attribute; read/write access; type: Integer.
Step rate interval.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
eject-floppy
info
insert-floppy
status

eject floppy
print information about the device
insert floppy in drive
print status of the device

Command Descriptions
<i82077>.eject-floppy
Synopsis
<i82077>.eject-floppy drive-letter
Description
Eject the media from the disk drive specified by drive-letter.

<i82077>.info
Synopsis
<i82077>.info
Description
Print detailed information about the configuration of the device.

<i82077>.insert-floppy
Synopsis
<i82077>.insert-floppy drive-letter floppy-image [-rw] [size]
1204

VIRTUTECH CONFIDENTIAL
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 must be specified explicitly.
The -rw flag uses floppy-image in read-write mode, meaning that no save or save-difffile command to the associated image object need to be used in order to save data
written by the target software.

<i82077>.status
Synopsis
<i82077>.status
Description
Print detailed information about the current status of the device.

1205

VIRTUTECH CONFIDENTIAL

i8237x2
Provided by
8237x2
Class Hierarchy
conf-object log-object i8237x2
Interfaces Implemented
log_object, io_memory
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.

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
auto_init
Optional attribute; read/write access; type: unknown type.
(0|1, 0|1, 0|1, 0|1), (0|1, 0|1, 0|1, 0|1) If set re-initialize registers at
terminal count.
base_addr
Optional attribute; read/write access; type: unknown type.
((a1, a2, a3, a4), (b1, b2, b3, b4)) The base address register for both
chips 4 DMA channels.
base_count
Optional attribute; read/write access; type: unknown type.
((a1, a2, a3, a4), (b1, b2, b3, b4)) The base count register.

1206

VIRTUTECH CONFIDENTIAL
current_addr
Optional attribute; read/write access; type: unknown type.
((a1, a2, a3, a4), (b1, b2, b3, b4)) The current address register. a1 - a4
are addresses of the first chips 4 DMA channels and b1 - b4 are for the second
chip.
current_count
Optional attribute; read/write access; type: unknown type.
((a1, a2, a3, a4), (b1, b2, b3, b4)) The current count register.
dec_address
Optional attribute; read/write access; type: unknown type.
(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.
disabled
Optional attribute; read/write access; type: unknown type.
(0|1,0|1) If the chips are disabled or enabled.
dma_mode
Optional attribute; read/write access; type: unknown type.
((a1, a2, a3, a4), (b1, b2, b3, b4)) DMA mode 0 (demand), 1 (single),
2 (block), 3 (cascade) for all channels.
dma_type
Optional attribute; read/write access; type: unknown type.
((a1, a2, a3, a4), (b1, b2, b3, b4)) DMA type 0 (verify), 1 (write), 2
(read), 3 (illegal) for all channels.
extra_page_addr
Optional attribute; read/write access; type: unknown type.
((a1, a2, a3, a4), (b1, b2, b3, b4)) Extra page address registers. These
registers have no function in the device.
flip_flop
Optional attribute; read/write access; type: unknown type.
(hi, lo) hi/lo byte access selector.
mask
Optional attribute; read/write access; type: unknown type.
(0|1, 0|1, 0|1, 0|1), (0|1, 0|1, 0|1, 0|1) Which channels are disables/enabled.
memory
Required attribute; read/write access; type: unknown type.
The physical memory to connect the DMA device to.
1207

VIRTUTECH CONFIDENTIAL
page_addr
Optional attribute; read/write access; type: unknown type.
((a1, a2, a3, a4), (b1, b2, b3, b4)) The 64k/128k page that DMA is relative.
page_size
Optional attribute; read/write access; type: unknown type.
(page-size1, page-size2) Page size for the controllers. 64k or 128k.
request
Optional attribute; read/write access; type: unknown type.
((a1, a2, a3, a4), (b1, b2, b3, b4)) The request register.
tc
Optional attribute; read/write access; type: unknown type.
(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.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<i8237x2>.info
Synopsis
<i8237x2>.info
Description
Print detailed information about the configuration of the device.

<i8237x2>.status
Synopsis
<i8237x2>.status
Description
Print detailed information about the current status of the device.

1208

VIRTUTECH CONFIDENTIAL

i82443bx
Provided by
82443BX
Class Hierarchy
conf-object log-object i82443bx
Interfaces Implemented
log_object, bridge, pci_bridge, io_memory, pci_device
Description
The 82443BX device models the host bridge/controller (north bridge) in the 440BX
chipset.

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
agp_bridge
Optional attribute; read/write access; type: unknown type.
AGP bridge. If not set, the north bridge will act as if it has no AGP function.
confadd
Optional attribute; read/write access; type: unknown type.
Configuration address register.
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
memory
Required attribute; read/write access; type: unknown type.
Memory object, must implement the lookup interface.
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.
1209

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
pci-header

print information about the device


print PCI device header

Command Descriptions
<i82443bx>.info
Synopsis
<i82443bx>.info
Description
Print detailed information about the configuration of the device.

<i82443bx>.pci-header
Synopsis
<i82443bx>.pci-header
Description
Print the PCI header, i.e the configuration registers.

1210

VIRTUTECH CONFIDENTIAL

i82443bx_agp
Provided by
82443BX
Class Hierarchy
conf-object log-object i82443bx_agp
Interfaces Implemented
log_object, bridge, pci_bridge, io_memory, pci_device
Description
The i82443bx_agp class models the PCI to AGP bridge in the 82443BX Host Bridge/Controller.

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
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mapping_setup
Optional attribute; read/write access; type: [i{15}].
Attributes for mappings

1211

VIRTUTECH CONFIDENTIAL
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
secondary_bus
Required attribute; read/write access; type: Object.
Secondary (downstream) PCI bus.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
pci-header

print PCI device header

Command Descriptions
<i82443bx_agp>.pci-header
Synopsis
<i82443bx_agp>.pci-header
Description
Print the PCI header, i.e the configuration registers.

1212

VIRTUTECH CONFIDENTIAL

i82461GX
Provided by
460GX
Class Hierarchy
conf-object log-object i82461GX
Interfaces Implemented
log_object, pci_interrupt, bridge, pci_bridge, translate, io_memory
Description
The i82461 (also know as System Address Controller, or SAC) is part of the 460GX
chipset. It acts as a host-to-PCI bridge, among other things

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
io_space
Required attribute; read/write access; type: unknown type.
The I/O address space to map I/O requests to.
pci_buses
Optional attribute; read/write access; type: unknown type.
The PCI buses connected to the SAC, through all extension buses.
physical_memory
Required attribute; read/write access; type: unknown type.
The physical memory object that determines the memory map, as seen from the
PCI bus.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

1213

VIRTUTECH CONFIDENTIAL

Command Descriptions
<i82461GX>.info
Synopsis
<i82461GX>.info
Description
Print detailed information about the configuration of the device.

1214

VIRTUTECH CONFIDENTIAL

i82468GX_0
Provided by
460GX
Class Hierarchy
conf-object log-object i82468GX_0
Interfaces Implemented
log_object, simple_interrupt, io_memory, pci_device
Description
The IFB is part of the 460GX chipset. This device implements function 0, which is a
PCI-to-ISA bridge

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
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
iosapic
Required attribute; read/write access; type: unknown type.
The I/O SAPIC (PID) that the ISA interrupts should be sent to.
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.

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

1215

VIRTUTECH CONFIDENTIAL

i8254
Provided by
8254
Class Hierarchy
conf-object log-object i8254
Interfaces Implemented
log_object, event_poster, io_memory
Ports
Gate2 (signal), Gate1 (signal), Gate0 (signal)
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 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, and BCD counting is not implemented.

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
bcd
Optional attribute; read/write access; type: [iii]|[iiii].
The counting format for each counter (0 or 1).
beep
Optional attribute; read/write access; type: Integer.
Set to 1 if a beep is currently playing in the speaker. Only valid if the have_
speaker attribute is 1.
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.
1216

VIRTUTECH CONFIDENTIAL
cmd
Optional attribute; read/write access; type: [iii]|[iiii].
The RW command for each counter.
cmd_names
Pseudo attribute; read-only access; type: [ssss].
List of all command names.
count
Optional attribute; read/write access; type: [iii]|[iiii].
A list of four count values, one for each counter.
counting
Optional attribute; read/write access; type: [iii]|[iiii].
For each of the four counters, a flag indicating whether it is running.
gate
Optional attribute; read/write access; type: [iii]|[iiii].
Four gate signals (1 or 0], one for each counter.
have_speaker
Optional attribute; read/write access; type: Integer.
Set to 1 (default) if counter 2 is connected to a standard PC speaker.
initial_count
Optional attribute; read/write access; type: [iii]|[iiii].
A list of four initial count values, one for each counter.
initial_time
Optional attribute; read/write access; type: [fff]|[ffff].
For each of the four counters, a time stamp indicating when the counter was last
restarted (in floating-point format)
interrupt_pin
Optional attribute; read/write access; type: Integer.
Interrupt request status.
irq_dev
Optional attribute; read/write access; type: Object or Nil.
Device to send interrupts to, that implements the simple-interrupt.
irq_level
Optional attribute; read/write access; type: Integer.
Interrupt level for the interrupt device.

1217

VIRTUTECH CONFIDENTIAL
latched
Optional attribute; read/write access; type: [iii]|[iiii].
A list of four flags, each set to 1 if the corresponding counter has a latched value.
latched_count
Optional attribute; read/write access; type: [iii]|[iiii].
A list of four latched values, one for each counter.
latched_s
Optional attribute; read/write access; type: [iii]|[iiii].
A list of four flags, each set to 1 if the corresponding counter has a latched status.
latched_status
Optional attribute; read/write access; type: [iii]|[iiii].
A list of four latched status bytes, one for each counter.
mode
Optional attribute; read/write access; type: [iii]|[iiii].
The PIT counting mode for each counter (0 - 5).
mode_names
Pseudo attribute; read-only access; type: [ssssss].
List of all mode names.
next_read_high
Optional attribute; read/write access; type: [iii]|[iiii].
For each of the four 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 four counters, a flag indicating if the next write access is for the
high byte.
null_count
Optional attribute; read/write access; type: [iii]|[iiii].
The null count status bit.
out
Optional attribute; read/write access; type: [iii]|[iiii].
Output values (0 or 1], one for each counter.
refresh_clock
Optional attribute; read/write access; type: Integer.
Bit 4 when reading from port B.
1218

VIRTUTECH CONFIDENTIAL
speaker
Optional attribute; read/write access; type: Integer.
Enable flag for speaker, only valid if the have_speaker attribute is 1.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<i8254>.info
Synopsis
<i8254>.info
Description
Print detailed information about the configuration of the device.

<i8254>.status
Synopsis
<i8254>.status
Description
Print detailed information about the current status of the device.

1219

VIRTUTECH CONFIDENTIAL

i8259x2
Provided by
8259x2
Class Hierarchy
conf-object log-object i8259x2
Interfaces Implemented
log_object, event_poster, interrupt_cpu, simple_interrupt, io_memory
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.

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
aeoi
Optional attribute; read/write access; type: [ii].
(dev1,dev2) auto end of interrupt mode.
ic4_set
Optional attribute; read/write access; type: [ii].
(dev1,dev2) expect 4 init bytes.
init_seq
Optional attribute; read/write access; type: [ii].
(dev1,dev2) sequence in initialization writes.
irq_dev
Required attribute; read/write access; type: Object.
Interrupt device to use, implementing the interrupt-ack interface.
1220

VIRTUTECH CONFIDENTIAL
irq_mask
Optional attribute; read/write access; type: [ii].
(dev1,dev2) interrupt mask.
irq_requested
Optional attribute; read/write access; type: Integer.
Interrupt of the cpu is requested.
issued
Optional attribute; read/write access; type: [ii].
(dev1,dev2) bit set for interrupt sent (and acked) to cpu (ISR).
level
Optional attribute; read/write access; type: [ii].
(dev1,dev2) bit set for level triggered, else edge.
line_status
Optional attribute; read/write access; type: [ii].
(dev1,dev2) interrupt input line status.
low_irq_pri
Optional attribute; read/write access; type: [ii].
(dev1,dev2) interrupt with lowest priority.
poll
Optional attribute; read/write access; type: [ii].
(dev1,dev2) poll command.
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.
read_reg
Optional attribute; read/write access; type: [ii].
(dev1,dev2) IRR or ISR on next read.
reissue_pending
Optional attribute; read/write access; type: Integer.
Interrupt reissue event posted to CPU.
request
Optional attribute; read/write access; type: [ii].
(dev1,dev2) interrupt requested (IRR).
1221

VIRTUTECH CONFIDENTIAL
sfnm
Optional attribute; read/write access; type: [ii].
(dev1,dev2) special fully nested mode.
special_mask
Optional attribute; read/write access; type: [ii].
(dev1,dev2) special mask mode is set (may allow lower irq when ISR set).
vba
Optional attribute; read/write access; type: [ii].
(dev1,dev2) Interrupt Vector Base Address.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<i8259x2>.info
Synopsis
<i8259x2>.info
Description
Print detailed information about the configuration of the device.

<i8259x2>.status
Synopsis
<i8259x2>.status
Description
Print detailed information about the current status of the device.

1222

VIRTUTECH CONFIDENTIAL

ia64-460gx-system
Provided by
ia64-components
Class Hierarchy
conf-object log-object component top-component ia64-460gx-system
Interfaces Implemented
log_object, component
Description
The ia64-460gx-system component represents a system based on the Itanium processor with the 460GX chipset

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in mega-bytes in the machine.
processor_list
Optional attribute; read/write access; type: [o|n{32}].
Processors connected to the system.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

1223

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<ia64-460gx-system>.info
Synopsis
<ia64-460gx-system>.info
Description
Print detailed information about the configuration of the device.

<ia64-460gx-system>.status
Synopsis
<ia64-460gx-system>.status
Description
Print detailed information about the current status of the device.

1224

VIRTUTECH CONFIDENTIAL

ia64-itanium
Provided by
ia64-itanium
Class Hierarchy
conf-object log-object ia64-itanium
Interfaces Implemented
log_object, exception, int_register, io_memory, simple_interrupt, processor, event_
poster
Description
The ia64-itanium class models an Intel Itanium 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.
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.
ar
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
Application register file. (value) is a list of 64-bit integers.
architecture
Pseudo class attribute; read-only access; type: unknown type.
Implemented architecture (ia64)
1225

VIRTUTECH CONFIDENTIAL
bgr
Optional attribute; read/write access; type: [[ii]]; integer or string indexed;
indexed type: [ii].
Alternate bank for GR 16-31.
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.
br
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
The branch register file.
branch_prof_support
Pseudo attribute; read-only access; type: b.
True if this processor supports branch profiling in -stall mode, false otherwise.
cfm
Optional attribute; read/write access; type: [i{6}]; string indexed; indexed type:
Integer.
The Current Frame Marker (CFM) is a list of six integer values: sof , sol, sor, rrb.gr,
rrb.ft, rrb.pr. The sor value is the actual size or the rotating portion of the stack
frame, which is a multile of eight.
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_groupinterface.
cr
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
Control register file. (value) is a list of 64-bit integers.
current_context
Session attribute; read/write access; type: Object.
Current context object.
cycle_fractions
Optional attribute; read/write access; type: Integer.
Modeling parameter related to processor scheduling.

1226

VIRTUTECH CONFIDENTIAL
cycles
Optional attribute; read/write access; type: Integer.
Time measured in cycles from machine start.
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.
dtlb
Optional attribute; read/write access; type: [[[i{15}]{8}][[i{15}]{512}]].
The data TLB.
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).
fr
Optional attribute; read/write access; type: [[iiii]]; integer or string indexed;
indexed type: [iiii].
The floating point register file.
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gr
Optional attribute; read/write access; type: [[ii]]; integer or string indexed;
indexed type: [ii].
((value, NaT)) is a list of pairs, where value is a 64-bit integer, and NaT is 0 or 1..
in_service
Optional attribute; read/write access; type: [i].
(vector) is a list of in-service interrupt vectors. The current vector is first in the
list.
instruction_fetch_line_size
Session attribute; read/write access; type: Integer.
Instruction fetch line size for this processor.
1227

VIRTUTECH CONFIDENTIAL
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.
itc_ratio
Optional attribute; read/write access; type: [ii].
(nominator, denominator) specifies the ratio between the system bus frequency and
the ITC frequency.
itlb
Optional attribute; read/write access; type: [[[i{15}]{8}][[i{15}]{512}]].
The instruction TLB.
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 ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
1228

VIRTUTECH CONFIDENTIAL
n_pending
Optional attribute; read/write access; type: Integer.
The number of pending external interrupts.
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: [ii].
(ip), slot) is a list of two integers, the first containing the value of the IP register,
and the second the internal slot counter.
pgr
Optional attribute; read/write access; type: [[ii]].
The physical register file for GR. This only includes physical registers not visible
in the GR bank.
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pr
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
Predicate register file. (value) is a list of integers, where value is a 1-bit integer.
proc_ratio
Optional attribute; read/write access; type: [ii].
(nominator, denominator) specifies the ratio between the system bus frequency and
the processor frequency.
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.
psr
Optional attribute; read/write access; type: Integer.
The PSR register.
rr
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
Region register file. (value) is a list of 64-bit integers.
1229

VIRTUTECH CONFIDENTIAL
rse_bof
Optional attribute; read/write access; type: Integer.
The internal RSE.BOF (beginning of frame) register.
rse_ndirty
Optional attribute; read/write access; type: Integer.
The internal RSE.ndirty register.
rse_storereg
Optional attribute; read/write access; type: Integer.
The internal RSE.storereg register.
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.
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.
vhpt_walker
Optional attribute; read/write access; type: String.
(on | off ) indicates whether the VHPT walker is enabled.
1230

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

1231

VIRTUTECH CONFIDENTIAL

ia64-itanium2
Provided by
ia64-itanium2
Class Hierarchy
conf-object log-object ia64-itanium2
Interfaces Implemented
log_object, exception, int_register, io_memory, simple_interrupt, processor, event_
poster
Description
The ia64-itanium2 class models an Intel Itanium2 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.
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.
ar
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
Application register file. (value) is a list of 64-bit integers.
architecture
Pseudo class attribute; read-only access; type: unknown type.
Implemented architecture (ia64)
1232

VIRTUTECH CONFIDENTIAL
bgr
Optional attribute; read/write access; type: [[ii]]; integer or string indexed;
indexed type: [ii].
Alternate bank for GR 16-31.
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.
br
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
The branch register file.
branch_prof_support
Pseudo attribute; read-only access; type: b.
True if this processor supports branch profiling in -stall mode, false otherwise.
cfm
Optional attribute; read/write access; type: [i{6}]; string indexed; indexed type:
Integer.
The Current Frame Marker (CFM) is a list of six integer values: sof , sol, sor, rrb.gr,
rrb.ft, rrb.pr. The sor value is the actual size or the rotating portion of the stack
frame, which is a multile of eight.
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_groupinterface.
cr
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
Control register file. (value) is a list of 64-bit integers.
current_context
Session attribute; read/write access; type: Object.
Current context object.
cycle_fractions
Optional attribute; read/write access; type: Integer.
Modeling parameter related to processor scheduling.

1233

VIRTUTECH CONFIDENTIAL
cycles
Optional attribute; read/write access; type: Integer.
Time measured in cycles from machine start.
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.
dtlb
Optional attribute; read/write access; type: [[[i{15}]{8}][[i{15}]{512}]].
The data TLB.
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).
fr
Optional attribute; read/write access; type: [[iiii]]; integer or string indexed;
indexed type: [iiii].
The floating point register file.
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gr
Optional attribute; read/write access; type: [[ii]]; integer or string indexed;
indexed type: [ii].
((value, NaT)) is a list of pairs, where value is a 64-bit integer, and NaT is 0 or 1..
in_service
Optional attribute; read/write access; type: [i].
(vector) is a list of in-service interrupt vectors. The current vector is first in the
list.
instruction_fetch_line_size
Session attribute; read/write access; type: Integer.
Instruction fetch line size for this processor.
1234

VIRTUTECH CONFIDENTIAL
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.
itc_ratio
Optional attribute; read/write access; type: [ii].
(nominator, denominator) specifies the ratio between the system bus frequency and
the ITC frequency.
itlb
Optional attribute; read/write access; type: [[[i{15}]{8}][[i{15}]{512}]].
The instruction TLB.
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 ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
1235

VIRTUTECH CONFIDENTIAL
n_pending
Optional attribute; read/write access; type: Integer.
The number of pending external interrupts.
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: [ii].
(ip), slot) is a list of two integers, the first containing the value of the IP register,
and the second the internal slot counter.
pgr
Optional attribute; read/write access; type: [[ii]].
The physical register file for GR. This only includes physical registers not visible
in the GR bank.
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pr
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
Predicate register file. (value) is a list of integers, where value is a 1-bit integer.
proc_ratio
Optional attribute; read/write access; type: [ii].
(nominator, denominator) specifies the ratio between the system bus frequency and
the processor frequency.
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.
psr
Optional attribute; read/write access; type: Integer.
The PSR register.
rr
Optional attribute; read/write access; type: [i]; integer indexed; indexed type:
Integer.
Region register file. (value) is a list of 64-bit integers.
1236

VIRTUTECH CONFIDENTIAL
rse_bof
Optional attribute; read/write access; type: Integer.
The internal RSE.BOF (beginning of frame) register.
rse_ndirty
Optional attribute; read/write access; type: Integer.
The internal RSE.ndirty register.
rse_storereg
Optional attribute; read/write access; type: Integer.
The internal RSE.storereg register.
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.
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.
vhpt_walker
Optional attribute; read/write access; type: String.
(on | off ) indicates whether the VHPT walker is enabled.
1237

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

1238

VIRTUTECH CONFIDENTIAL

ICS951601
Provided by
ICS951601
Class Hierarchy
conf-object log-object ICS951601
Interfaces Implemented
log_object
Description
The ICS951601 class implements an I2C based frequency timing generator from ICS.

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
Required attribute; read/write access; type: Integer.
The address of the device on the I2C bus excluding the LSB (i.e. shifted 1 bit
right).
data_pos
Optional attribute; read/write access; type: Integer.
Internal: Byte position of current read/write operation.
i2c_bus
Required attribute; read/write access; type: unknown type.
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
registers
Optional attribute; read/write access; type: [i{8}].
List of the internal clock control registers.
state
Optional attribute; read/write access; type: Integer.
Internal: The I2c state for the device.
1239

VIRTUTECH CONFIDENTIAL

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

1240

VIRTUTECH CONFIDENTIAL

id-splitter
Provided by
id-splitter
Class Hierarchy
conf-object id-splitter
Interfaces Implemented
timing_model
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.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
dbranch
Optional attribute; read/write access; type: unknown type.
Object to receive data transactions.
ibranch
Optional attribute; read/write access; type: unknown type.
Object to receive instruction transactions.

1241

VIRTUTECH CONFIDENTIAL

ide
Provided by
ide
Class Hierarchy
conf-object log-object ide
Interfaces Implemented
log_object, event_poster, io_memory
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.

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
bus_master_dma
Optional attribute; read/write access; type: unknown type.
DMA controller implementing bus-master-ide.
dma_ready
Optional attribute; read/write access; type: unknown type.
Non-zero if the DMA controller is ready for transfer.
interrupt_delay
Optional attribute; read/write access; type: unknown type.
Time in seconds between state changes.
interrupt_pin
Optional attribute; read/write access; type: unknown type.
Interrupt request status.
irq_dev
Optional attribute; read/write access; type: Object or Nil.
Interrupt target implementing the simple-interrupt interface.

1242

VIRTUTECH CONFIDENTIAL
irq_level
Required attribute; read/write access; type: unknown type.
Interrupt level.
lba_mode
Optional attribute; read/write access; type: unknown type.
Currently selected addressing mode (bit 6 in the drive/head register).
master
Optional attribute; read/write access; type: unknown type.
Master device. Must implement the ide-device interface.
model_dma_delay
Optional attribute; read/write access; type: unknown type.
If set, the controller will accurately model DMA transfer bandwidth (infinite
bandwidth otherwise).
primary
Optional attribute; read/write access; type: unknown type.
Set to one if this is a primary IDE controller.
selected_drive
Optional attribute; read/write access; type: unknown type.
Currently selected drive (bit 4 in the drive/head register).
slave
Optional attribute; read/write access; type: unknown type.
Slave device. Must implement the ide-device interface.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<ide>.info
Synopsis
<ide>.info

1243

VIRTUTECH CONFIDENTIAL
Description
Print detailed information about the configuration of the device.

<ide>.status
Synopsis
<ide>.status
Description
Print detailed information about the current status of the device.

1244

VIRTUTECH CONFIDENTIAL

ide-cdrom
Provided by
ide
Class Hierarchy
conf-object log-object ide-cdrom
Interfaces Implemented
log_object
Description
The ide-cdrom class models a single slot removable IDE/ATAPI CD-ROM.

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
atapi_packet
Optional attribute; read/write access; type: unknown type.
(b0, . . . , b11). ATAPI packet.
buf
Optional attribute; read/write access; type: s|[iii].
sector buffer | atapi packet. Current transfer source/destination.
cd_media
Optional attribute; read/write access; type: unknown type.
Device media implementing cdrom-media. Eject media by setting this attribute
to .
command
Optional attribute; read/write access; type: unknown type.
Last command.
control
Optional attribute; read/write access; type: unknown type.
Control register.

1245

VIRTUTECH CONFIDENTIAL
cylinder
Optional attribute; read/write access; type: unknown type.
Cylinder number (cylinder high and cylinder low).
error
Optional attribute; read/write access; type: unknown type.
Error register.
features
Optional attribute; read/write access; type: unknown type.
Feature register.
firmware_id
Optional attribute; read/write access; type: String.
Device firmware id. Up to 8 character long string.
geometry_valid
Optional attribute; read/write access; type: unknown type.
Geometry valid.
head
Optional attribute; read/write access; type: unknown type.
Lower four bits of the head register.
locked
Optional attribute; read/write access; type: unknown type.
Media locked.
media_change
Optional attribute; read/write access; type: unknown type.
Media has changed since the last GET_MEDIA_STATUS command.
model_id
Optional attribute; read/write access; type: String.
Device model id. Up to 40 character long string.
multiword_dma_enabled
Optional attribute; read/write access; type: unknown type.
Set if multiword DMA is enabled.
multiword_dma_mode
Optional attribute; read/write access; type: unknown type.
Current multiword DMA mode (upper byte in identify device word 63).
pio_mode
Optional attribute; read/write access; type: unknown type.
Current PIO mode (upper byte in identify device word 51).
1246

VIRTUTECH CONFIDENTIAL
power_mode
Optional attribute; read/write access; type: unknown type.
Device power mode (0==active, 1==idle, 2==standby, 3==sleep).
sector_buffer
Optional attribute; read/write access; type: unknown type.
(b0, . . . , b2047). Sector buffer.
sector_cnt
Optional attribute; read/write access; type: unknown type.
Sector count register.
sector_num
Optional attribute; read/write access; type: unknown type.
Sector number register.
sectors_per_int
Optional attribute; read/write access; type: unknown type.
Sectors per interrupt (lower byte in identify device word 59).
sense_asc
Optional attribute; read/write access; type: unknown type.
Sense ASC.
sense_ascq
Optional attribute; read/write access; type: unknown type.
Sense ASCQ.
sense_key
Optional attribute; read/write access; type: unknown type.
Sense key.
serial_number
Optional attribute; read/write access; type: String.
Device serial number. Up to 20 character long string.
stat_atapi_commands
Optional attribute; read/write access; type: unknown type.
(f0, . . . , f255). Executed ATAPI command count (command i has been issued fi
times).
stat_bytes_read
Optional attribute; read/write access; type: unknown type.
Total number of bytes read from device using PIO.

1247

VIRTUTECH CONFIDENTIAL
stat_bytes_transfered_dma
Optional attribute; read/write access; type: unknown type.
Total number of bytes read or written to or from device using DMA.
stat_bytes_written
Optional attribute; read/write access; type: unknown type.
Total number of bytes written to device using PIO.
stat_commands
Optional attribute; read/write access; type: unknown type.
(f0, . . . , f255). Executed command count (command i has been issued fi times).
state
Optional attribute; read/write access; type: unknown type.
Device state.
status
Optional attribute; read/write access; type: unknown type.
Status register.
tr_base
Optional attribute; read/write access; type: unknown type.
Transfer base.
tr_bytes_remaining
Optional attribute; read/write access; type: unknown type.
Transfer bytes remaining.
tr_current_lba
Optional attribute; read/write access; type: unknown type.
Current transfer address.
tr_disk_finished
Optional attribute; read/write access; type: unknown type.
Transfer finished (device view).
tr_dma_finished
Optional attribute; read/write access; type: unknown type.
DMA finished.
tr_drq_bytes
Optional attribute; read/write access; type: unknown type.
Bytes per DRQ.
tr_num_blocks
Optional attribute; read/write access; type: unknown type.
Number of blocks in transfer.
1248

VIRTUTECH CONFIDENTIAL
tr_packet_use_dma
Optional attribute; read/write access; type: unknown type.
Use DMA for PACKET command data transfer.
tr_pos
Optional attribute; read/write access; type: unknown type.
Transfer position.
tr_req_length
Optional attribute; read/write access; type: unknown type.
Requested length of transfer.
tr_sectors_last_block
Optional attribute; read/write access; type: unknown type.
Transfer sectors last block.
tr_sectors_per_block
Optional attribute; read/write access; type: unknown type.
Transfer sectors per block.
tr_sectors_size
Optional attribute; read/write access; type: unknown type.
Transfer sector size.
tr_update_address
Optional attribute; read/write access; type: unknown type.
Update address during transfer.
udma_enabled
Optional attribute; read/write access; type: unknown type.
Set if UDMA is enabled.
udma_mode
Optional attribute; read/write access; type: unknown type.
Current UDMA mode (upper byte in identify device word 88).
unit_attension
Optional attribute; read/write access; type: unknown type.
Current unit attension condition, 0 if unit attension condition not present.

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

1249

VIRTUTECH CONFIDENTIAL
Commands
eject
eject media from CD-ROM drive
info
print information about the device
insert insert media in CD-ROM drive

Command Descriptions
<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.

<ide-cdrom>.info
Synopsis
<ide-cdrom>.info
Description
Print detailed information about the configuration of the device.

<ide-cdrom>.insert
Synopsis
<ide-cdrom>.insert media
Description
Insert a media in the CD-ROM drive. The media is the name of a CD-ROM media
object, e.g. a file-cdrom or host-cdrom object.

1250

VIRTUTECH CONFIDENTIAL

ide-disk
Provided by
ide
Class Hierarchy
conf-object log-object ide-disk
Interfaces Implemented
log_object
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.

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
buf
Optional attribute; read/write access; type: s|[iii].
sector buffer | atapi packet. Current transfer source/destination.
command
Optional attribute; read/write access; type: unknown type.
Last command.
control
Optional attribute; read/write access; type: unknown type.
Control register.
cylinder
Optional attribute; read/write access; type: unknown type.
Cylinder number (cylinder high and cylinder low).
disk_cylinders
Required attribute; read/write access; type: unknown type.
Number of logical cylinders.

1251

VIRTUTECH CONFIDENTIAL
disk_heads
Required attribute; read/write access; type: unknown type.
Number of logical heads.
disk_sectors
Required attribute; read/write access; type: unknown type.
Total number of sectors on disk.
disk_sectors_per_track
Required attribute; read/write access; type: unknown type.
Number of logical sectors per track.
disksim
Optional attribute; read/write access; type: unknown type.
Disk timing model implementing the disksim interface. (Deprecated)
disksim_devno
Optional attribute; read/write access; type: unknown type.
Device number in the disksim extension. (Deprecated)
error
Optional attribute; read/write access; type: unknown type.
Error register.
features
Optional attribute; read/write access; type: unknown type.
Feature register.
firmware_id
Optional attribute; read/write access; type: String.
Device firmware id. Up to 8 character long string.
geometry_valid
Optional attribute; read/write access; type: unknown type.
Geometry valid.
head
Optional attribute; read/write access; type: unknown type.
Lower four bits of the head register.
image
Required attribute; read/write access; type: unknown type.
Object implementing the image interface holding device data.
model_id
Optional attribute; read/write access; type: String.
Device model id. Up to 40 character long string.
1252

VIRTUTECH CONFIDENTIAL
multiword_dma_enabled
Optional attribute; read/write access; type: unknown type.
Set if multiword DMA is enabled.
multiword_dma_mode
Optional attribute; read/write access; type: unknown type.
Current multiword DMA mode (upper byte in identify device word 63).
pio_mode
Optional attribute; read/write access; type: unknown type.
Current PIO mode (upper byte in identify device word 51).
power_mode
Optional attribute; read/write access; type: unknown type.
Device power mode (0==active, 1==idle, 2==standby, 3==sleep).
sector_buffer
Optional attribute; read/write access; type: unknown type.
(b0, . . . , b2047). Sector buffer.
sector_cnt
Optional attribute; read/write access; type: unknown type.
Sector count register.
sector_num
Optional attribute; read/write access; type: unknown type.
Sector number register.
sectors_per_int
Optional attribute; read/write access; type: unknown type.
Sectors per interrupt (lower byte in identify device word 59).
serial_number
Optional attribute; read/write access; type: String.
Device serial number. Up to 20 character long string.
stat_atapi_commands
Optional attribute; read/write access; type: unknown type.
(f0, . . . , f255). Executed ATAPI command count (command i has been issued fi
times).
stat_bytes_read
Optional attribute; read/write access; type: unknown type.
Total number of bytes read from device using PIO.

1253

VIRTUTECH CONFIDENTIAL
stat_bytes_transfered_dma
Optional attribute; read/write access; type: unknown type.
Total number of bytes read or written to or from device using DMA.
stat_bytes_written
Optional attribute; read/write access; type: unknown type.
Total number of bytes written to device using PIO.
stat_commands
Optional attribute; read/write access; type: unknown type.
(f0, . . . , f255). Executed command count (command i has been issued fi times).
state
Optional attribute; read/write access; type: unknown type.
Device state.
status
Optional attribute; read/write access; type: unknown type.
Status register.
tr_base
Optional attribute; read/write access; type: unknown type.
Transfer base.
tr_bytes_remaining
Optional attribute; read/write access; type: unknown type.
Transfer bytes remaining.
tr_current_lba
Optional attribute; read/write access; type: unknown type.
Current transfer address.
tr_disk_finished
Optional attribute; read/write access; type: unknown type.
Transfer finished (device view).
tr_dma_finished
Optional attribute; read/write access; type: unknown type.
DMA finished.
tr_drq_bytes
Optional attribute; read/write access; type: unknown type.
Bytes per DRQ.
tr_num_blocks
Optional attribute; read/write access; type: unknown type.
Number of blocks in transfer.
1254

VIRTUTECH CONFIDENTIAL
tr_pos
Optional attribute; read/write access; type: unknown type.
Transfer position.
tr_req_length
Optional attribute; read/write access; type: unknown type.
Requested length of transfer.
tr_sectors_last_block
Optional attribute; read/write access; type: unknown type.
Transfer sectors last block.
tr_sectors_per_block
Optional attribute; read/write access; type: unknown type.
Transfer sectors per block.
tr_sectors_size
Optional attribute; read/write access; type: unknown type.
Transfer sector size.
tr_update_address
Optional attribute; read/write access; type: unknown type.
Update address during transfer.
udma_enabled
Optional attribute; read/write access; type: unknown type.
Set if UDMA is enabled.
udma_mode
Optional attribute; read/write access; type: unknown type.
Current UDMA mode (upper byte in identify device word 88).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
add-diff-file
add-diff-partial-file
add-sun-partition
create-partition
create-sun-vtoc-header
create-sun-vtoc-partition
default-translation

add a diff file to the image


add a partial diff file to the image
add partition from a file
add a partition to disk
write a new VTOC to a Sun disk
write partition data in the VTOC on a Sun disk
get or set the default CHS translation

1255

VIRTUTECH CONFIDENTIAL
delete-sun-vtoc-partition
dump-sun-partition
info
print-partition-info
print-partition-table
print-sun-vtoc
save-diff-file

delete partition data from the VTOC on a Sun disk


write partition as a file
print information about the device
print info about a pc-style partition
print the disks pc-style partition table
print the VTOC for a Sun disk
save diff file to disk

Command Descriptions
<ide-disk>.add-diff-file
Synopsis
<ide-disk>.add-diff-file filename
Description
Add a diff file to the list of files for an disk. The diff file was typically created with
the save-diff-file command, or by a saved configuration. This is basically the same
command as <image>.add-diff-file.
See Also
<ide-disk>.save-diff-file, <image>.add-diff-file

<ide-disk>.add-diff-partial-file
Synopsis
<ide-disk>.add-diff-partial-file filename start size
Description
Add a diff file to the list of files for an disk. The diff file was typically created with the
save-diff-file command, by one of the dump--partition commands, or by a saved
configuration. This is basically the same command as <image>.add-diff-file.
See Also
<ide-disk>.save-diff-file, <image>.add-diff-file

<ide-disk>.add-sun-partition
Synopsis
<ide-disk>.add-sun-partition number file
Description
Adds an image or diff as a sun partition to the current disk.
See Also
<ide-disk>.dump-sun-partition

1256

VIRTUTECH CONFIDENTIAL

<ide-disk>.create-partition
Synopsis
<ide-disk>.create-partition partition start_cylinder start_head start_sector end_cylinder
end_head end_sector (type_id|type_name) start_lba size_in_sectors [-boot-indication]
Description
Add a partition to a disks partition table. Will create a primary PC-style partition with
number partition. Any existing partition will be overwritten. The start location of the
partition is given both in CHS format with start_cylinder, start_head, start_sector, and
in linear format with start_lba. The partition endpoint is specified in CHS format with
end_cylinder, end_head, and end_sector. The size in 512-byte sectors is size_in_sectors.
The slight overspecification of the parameters is there because they depend on how
the BIOS translates the disk geometry to the BIOS geometry. All CHS coordinates
given to this command should be in the translated BIOS geometry.
The partition boot bit is enabled with the -boot-indication flag (default off).
The partition type can either raw numerical code, or a symbolic name. The following
symbolic names are understood by the command: unused (0x0), DOS 12-bit FAT
(0x1), DOS 3.0+ 16-bit FAT (0x4), DOS 3.3+ extended (0x5), DOS 3.31+ 16-bit
FAT (0x6), OS/2 IFS (0x7), OS/2 boot manager (0xa), Win95 32-bit FAT (0xb),
Win95 32-bit FAT, LBA (0xc), Win95 16-bit FAT, LBA (0xe), Win95 extended, LBA
(0xf), Linux swap (0x82), Linux native (0x83), Linux extended (0x85), Linux
LVM (0x8e), BSD/386 (0xa5), OpenBSD (0xa6), NetBSD (0xa9), and BeOS
(0xeb).
See Also
<ide-disk>.print-partition-table

<ide-disk>.create-sun-vtoc-header
Synopsis
<ide-disk>.create-sun-vtoc-header [C] [H] [S] [-quiet]
Description
Create and write a new VTOC to a Sun disk. The geometry information written is
taken from the configuration attribute geometry of the disk, unless specified with
the C, H and S parameters. A new empty partition table is also created, with only the
standard backup partition as number 2. -quiet makes the command silent in case of
success.
See Also
<ide-disk>.print-sun-vtoc, <ide-disk>.create-sun-vtoc-partition, <ide-disk>.deletesun-vtoc-partition

<ide-disk>.create-sun-vtoc-partition
1257

VIRTUTECH CONFIDENTIAL
Synopsis
<ide-disk>.create-sun-vtoc-partition number tag flag start-block num-blocks [-quiet]
Description
Write partition information to the VTOC on a Sun disk. This command does not
change the format of the disk, and it does not create any file system on the partition.
Only the Volume Table Of Contents is modified. No checking is performed to make
sure that partitions do not overlap, or that they do not exceed the disk size. -quiet
makes the command silent in case of success.
See Also
<ide-disk>.print-sun-vtoc, <ide-disk>.create-sun-vtoc-header, <ide-disk>.delete-sunvtoc-partition

<ide-disk>.default-translation
Synopsis
<ide-disk>.default-translation [C] [H] [S]
Description
Set the default CHS translation of a disk, or get the current one if no arguments are
given.

<ide-disk>.delete-sun-vtoc-partition
Synopsis
<ide-disk>.delete-sun-vtoc-partition number [-quiet]
Description
Delete the information in the VTOC on a Sun disk for the specified partition. No other
modification on the disk is performed. -quiet makes the command silent in case of
success.
See Also
<ide-disk>.print-sun-vtoc, <ide-disk>.create-sun-vtoc-header, <ide-disk>.create-sunvtoc-partition

<ide-disk>.dump-sun-partition
Synopsis
<ide-disk>.dump-sun-partition number file
Description
Write all data from a Sun disk partition to the specified file in raw format.
See Also
<ide-disk>.print-sun-vtoc, <ide-disk>.add-sun-partition
1258

VIRTUTECH CONFIDENTIAL

<ide-disk>.info
Synopsis
<ide-disk>.info
Description
Print detailed information about the configuration of the device.

<ide-disk>.print-partition-info
Synopsis
<ide-disk>.print-partition-info num [filename]
Description
Print information about a partition. If a filename is given, then suitable partition parameters for use with image aware e2tools will be written to that file.

<ide-disk>.print-partition-table
Synopsis
<ide-disk>.print-partition-table
Description
Print the PC-style partition table for a disk.
See Also
<ide-disk>.create-partition

<ide-disk>.print-sun-vtoc
Synopsis
<ide-disk>.print-sun-vtoc
Description
Print the contents of the VTOC (volume table of contents) for a Sun disk. This is similar
to the Solaris prtvtoc command.
See Also
<ide-disk>.create-sun-vtoc-header, <ide-disk>.create-sun-vtoc-partition, <ide-disk>.deletesun-vtoc-partition

<ide-disk>.save-diff-file
Synopsis
<ide-disk>.save-diff-file filename

1259

VIRTUTECH CONFIDENTIAL
Description
Writes changes to the image as a diff file in craff format. This is basically the same
command as <image>.safe-diff-file.
See Also
<ide-disk>.add-diff-file, <image>.save-diff-file

1260

VIRTUTECH CONFIDENTIAL

image
Provided by
Simics Core
Class Hierarchy
conf-object log-object image
Interfaces Implemented
log_object, event_poster, 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, or in compressed CRAFF format. Use the craff utility
to convert between image file formats.

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
byte_access
Pseudo attribute; read/write access; ; integer indexed; indexed type: i|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.
checksum
Pseudo attribute; read-only access; type: [i]; integer indexed; indexed type:
Integer.
Storage page checksum.
compressed_diff
Session class attribute; read/write access; type: Integer.
If set to non-zero, saved diffs and checkpoints will use compressed craff files.

1261

VIRTUTECH CONFIDENTIAL
dirty
Pseudo attribute; read-only access; type: Integer.
Whether there are unsaved changes not backed by any writable file
files
Optional attribute; read/write access; type: [[saii]|[saiii]|[saiiii]]; persistent attribute.
((file, read-only, 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 or raw format or a raw disk device. read-only is rw or ro and specifies whether changes
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.
image_snoop_device
Optional attribute; read/write access; type: Object or Nil.
Object implementing the image_snoop. Intended for internal usage only; may
change without notice.
linear
Optional attribute; read/write access; type: Integer.
Set if the memory should be preallocated, resident and contiguous.
mapfile_dir
Pseudo attribute; read/write access; type: s|n.
If set, directory where to put a mappable file. Setting this causes this directory to
be used to allocate mappable storage.
memory_limit
Session class attribute; read/write access; type: Integer.
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.
rexec_snoop_device
Pseudo attribute; read/write access; type: Object or Nil.
Object implementing the image_snoop. Used internally for reverse execution; do
not use.
1262

VIRTUTECH CONFIDENTIAL
size
Required attribute; read/write access; type: Integer.
logical image size in bytes

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
add-diff-file
add-partial-diff-file
save
save-diff-file
set
x

add a diff file to the image


add a partial diff file to the image
save image to disk
save changes since last checkpoint
set bytes in image to specified value
examine image data

Command Descriptions
<image>.add-diff-file
Synopsis
<image>.add-diff-file filename
Description
Adds a diff file to the list of files for an image. The diff file was typically created
with save-diff-file, or by a saved configuration. This should not be done if the image
contains changed (unsaved) data.
See Also
<image>.save-diff-file

<image>.add-partial-diff-file
Synopsis
<image>.add-partial-diff-file filename start size
Description
Adds a partial diff file to the list of files for an image. The diff file was typically created
with the save-diff-file command, by one of the dump--partition commands, or by a
saved configuration.
See Also
<image>.add-diff-file, <image>.save-diff-file

<image>.save
1263

VIRTUTECH CONFIDENTIAL
Synopsis
<image>.save filename [start-byte] [length]
Description
Writes the image binary data (in raw form) to filename. If start and/or length are given,
they specify the start offset and number of bytes to write respectively; otherwise, the
whole image is copied.

<image>.save-diff-file
Synopsis
<image>.save-diff-file filename
Description
Writes changes to the image since the last checkpoint to a named file in craff format.
See Also
<image>.add-diff-file, <image>.save

<image>.set
Synopsis
<image>.set address value [size] [-l] [-b]
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, behavior is undefined.
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.
See Also
set

<image>.x
Synopsis
<image>.x offset [size]
Description
Displays length bytes starting at offset from the image.

1264

VIRTUTECH CONFIDENTIAL

io-apic
Provided by
io-apic
Class Hierarchy
conf-object log-object io-apic
Interfaces Implemented
log_object, io_memory
Description
The IOAPIC device implements the functionality of the I/O-APIC (82093AA). The
IOAPIC is connected to an APIC-bus.

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
apic_bus
Required attribute; read/write access; type: unknown type.
Connected bus object of class apic-bus.
boot_configuration
Optional attribute; read/write access; type: Integer.
BCFG register (Indirect register 3).
int_deliver_status
Optional attribute; read/write access; type: [i{24}].
Interrupt acceptance status.
ioapic_id
Optional attribute; read/write access; type: unknown type.
The ID of this io-apic object.
ioapic_version
Optional attribute; read/write access; type: Integer.
I/O apic implementation version (Indirect register 1).

1265

VIRTUTECH CONFIDENTIAL
pin_raised
Optional attribute; read/write access; type: [i{24}].
A one in the corresponding index means that the input pin is high, while a zero
means that it is low.
redirection
Optional attribute; read/write access; type: [i{24}].
Represents the redirection table, where each interrupt input signal has a dedicated entry.
register_select
Optional attribute; read/write access; type: unknown type.
Register selected for reading/writing (will affect the next transaction).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<io-apic>.info
Synopsis
<io-apic>.info
Description
Print detailed information about the configuration of the device.

<io-apic>.status
Synopsis
<io-apic>.status
Description
Print detailed information about the current status of the device.

1266

VIRTUTECH CONFIDENTIAL

ISA
Provided by
isa
Class Hierarchy
conf-object log-object ISA
Interfaces Implemented
log_object, simple_interrupt
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.

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
ioapic
Optional attribute; read/write access; type: unknown type.
The advanced programmable interrupt controller attached to. Must implement
the simple-interrupt interface.
irq_status
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i31) Entry in specifies the current status for input interrupt pin
i, 1 for active and 0 for inactive.
irq_to_pin
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i31) Entry in specifies which pin irq n is attached to.
pic
Required attribute; read/write access; type: unknown type.
The programmable interrupt controller attached to. Must implement the simpleinterrupt interface.
1267

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<ISA>.info
Synopsis
<ISA>.info
Description
Print detailed information about the configuration of the device.

<ISA>.status
Synopsis
<ISA>.status
Description
Print detailed information about the current status of the device.

1268

VIRTUTECH CONFIDENTIAL

isa-lance
Provided by
isa-components
Class Hierarchy
conf-object log-object component isa-lance
Interfaces Implemented
log_object, component
Description
The isa-lance component represents an ISA bus based Ethernet adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
base_port
Optional attribute; read/write access; type: Integer.
The starting port number in I/O space. The default port is 0x300, and the mapping is 0x17 bytes large.
irq_level
Optional attribute; read/write access; type: Integer.
The interrupt level for the Lance device, default is 7.
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.

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

1269

VIRTUTECH CONFIDENTIAL
Commands
info
print information about the device
status print status of the device

Command Descriptions
<isa-lance>.info
Synopsis
<isa-lance>.info
Description
Print detailed information about the configuration of the device.

<isa-lance>.status
Synopsis
<isa-lance>.status
Description
Print detailed information about the current status of the device.

1270

VIRTUTECH CONFIDENTIAL

isa-vga
Provided by
isa-components
Class Hierarchy
conf-object log-object component isa-vga
Interfaces Implemented
log_object, component
Description
The isa-vga component represents an ISA bus based VGA compatible graphics adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The VGA BIOS file to use.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1271

VIRTUTECH CONFIDENTIAL

Command Descriptions
<isa-vga>.info
Synopsis
<isa-vga>.info
Description
Print detailed information about the configuration of the device.

<isa-vga>.status
Synopsis
<isa-vga>.status
Description
Print detailed information about the current status of the device.

1272

VIRTUTECH CONFIDENTIAL

ISP1040
Provided by
ISP1040
Class Hierarchy
conf-object log-object conf-object log-object ISP1040
Interfaces Implemented
log_object, io_memory, pci_device, event_poster
Description
The ISP1040 SCSI Controller.

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
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
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
control_status
Optional attribute; read/write access; type: unknown type.
The Control Status register

1273

VIRTUTECH CONFIDENTIAL
dma_cmd_conf
Optional attribute; read/write access; type: unknown type.
DMA Command Configuration Register
dma_dat_conf
Optional attribute; read/write access; type: unknown type.
DMA Data Configuration Register
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
fw_loaded
Optional attribute; read/write access; type: unknown type.
Set to 1 if a firmware has been downloaded to the controller.
fw_state
Optional attribute; read/write access; type: unknown type.
Current state of the firmware
host_control
Optional attribute; read/write access; type: unknown type.
The Host Control register
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
io_req_bios
Optional attribute; read/write access; type: unknown type.
Set if last io request was done using the Execute-IOCB mailbox command.
io_reqs
Optional attribute; read/write access; type: unknown type.
Obsolete - used for checkpoint compatibility.
io_requests
Optional attribute; read/write access; type: unknown type.
List of io-requests that are handled by the controller and waiting to be sent back
to the host as completed.
irq_control
Optional attribute; read/write access; type: unknown type.
The Interrupt Control register

1274

VIRTUTECH CONFIDENTIAL
irq_requested
Optional attribute; read/write access; type: unknown type.
Set when controller has a requested interrupt out-standing
irq_status
Optional attribute; read/write access; type: unknown type.
The Interrupt Status register
last_bios_address
Optional attribute; read/write access; type: unknown type.
Last accessed bios address
mailbox_in
Optional attribute; read/write access; type: unknown type.
List of input mailboxes
mailbox_out
Optional attribute; read/write access; type: unknown type.
List of output mailboxes
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
negotiate
Optional attribute; read/write access; type: unknown type.
Set if controller should do negotiation of wide/async settings with the target.
next_io_request
Optional attribute; read/write access; type: Integer.
Index of the next free I/O request.
nvram
Optional attribute; read/write access; type: unknown type.
NVRAM data
nvram_info
Optional attribute; read/write access; type: unknown type.
State machine info for nvram control
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
ram
Optional attribute; read/write access; type: unknown type.
Contents of the RAM that holds downloaded firmware for the controller.
1275

VIRTUTECH CONFIDENTIAL
req_queue_addr
Optional attribute; read/write access; type: unknown type.
Address to start of request queue
req_queue_len
Optional attribute; read/write access; type: unknown type.
Length of request queue
res_queue_addr
Optional attribute; read/write access; type: unknown type.
Address to start of response queue
res_queue_len
Optional attribute; read/write access; type: unknown type.
Length of response queue
scsi_bus
Required attribute; read/write access; type: unknown type.
The name of the SCSI bus that the device is connected to. This object must implement the scsi-bus interface.
scsi_id
Required attribute; read/write access; type: unknown type.
The (target) id on the scsi bus for the controller itself.
scsi_msg_buf
Optional attribute; read/write access; type: unknown type.
The SCSI message buffer.
scsi_msg_len
Optional attribute; read/write access; type: unknown type.
Length of the current SCSI message.
scsi_msg_pos
Optional attribute; read/write access; type: unknown type.
Position in the SCSI message buffer.
semaphore
Optional attribute; read/write access; type: unknown type.
The Semaphore register
target_id
Optional attribute; read/write access; type: unknown type.
The scsi id for the currently selected target.

1276

VIRTUTECH CONFIDENTIAL
target_lun
Optional attribute; read/write access; type: unknown type.
The active lun for the currently selected target.
targets
Optional attribute; read/write access; type: unknown type.
Per target information.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
pci-header
status

print information about the device


print PCI device header
print status of the device

Command Descriptions
<ISP1040>.info
Synopsis
<ISP1040>.info
Description
Print detailed information about the configuration of the device.

<ISP1040>.pci-header
Synopsis
<ISP1040>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<ISP1040>.status
Synopsis
<ISP1040>.status
Description
Print detailed information about the current status of the device.
1277

VIRTUTECH CONFIDENTIAL

ISP2200
Provided by
ISP2200
Class Hierarchy
conf-object log-object conf-object log-object ISP2200
Interfaces Implemented
log_object, io_memory, pci_device, event_poster
Description
The ISP2200 Fibre Channel SCSI Controller.

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
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
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
control_status
Optional attribute; read/write access; type: unknown type.
The Control Status register

1278

VIRTUTECH CONFIDENTIAL
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
fast_status
Optional attribute; read/write access; type: unknown type.
Device used fast status posting of interrupts
fc_disks
Pseudo attribute; read-only access; type: [[io]].
List of attached fc-disks. (Loop id and object.)
fw_loaded
Optional attribute; read/write access; type: unknown type.
Set to 1 if a firmware has been downloaded to the controller.
fw_opts
Optional attribute; read/write access; type: unknown type.
Internal state
fw_state
Optional attribute; read/write access; type: unknown type.
Current state of the firmware
host_control
Optional attribute; read/write access; type: unknown type.
The Host Control register
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
io_reqs
Optional attribute; read/write access; type: unknown type.
Obsolete - used for checkpoint compatibility.
io_requests
Optional attribute; read/write access; type: unknown type.
List of io-requests that are handled by the controller and waiting to be sent back
to the host as completed.
iocb_addr
Optional attribute; read/write access; type: unknown type.
Internal state

1279

VIRTUTECH CONFIDENTIAL
iocb_from_mb
Optional attribute; read/write access; type: unknown type.
Internal state
iocb_stat
Optional attribute; read/write access; type: unknown type.
Internal state
irq_control
Optional attribute; read/write access; type: unknown type.
The Interrupt Control register
irq_status
Optional attribute; read/write access; type: unknown type.
The Interrupt Status register
last_bios_address
Optional attribute; read/write access; type: unknown type.
Last accessed bios address
loop_id
Required attribute; read/write access; type: unknown type.
The loop id of the controller itself, on the FC-AL
mailbox_in
Optional attribute; read/write access; type: unknown type.
List of input mailboxes
mailbox_out
Optional attribute; read/write access; type: unknown type.
List of output mailboxes
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
next_io_request
Optional attribute; read/write access; type: Integer.
Index of the next free I/O request.
node_name
Optional attribute; read/write access; type: unknown type.
Node name of device
nvram
Optional attribute; read/write access; type: unknown type.
NVRAM data
1280

VIRTUTECH CONFIDENTIAL
nvram_info
Optional attribute; read/write access; type: unknown type.
State machine info for nvram control
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
port_name
Optional attribute; read/write access; type: unknown type.
Port name of device
req_queue_addr
Optional attribute; read/write access; type: unknown type.
Address to start of request queue
req_queue_len
Optional attribute; read/write access; type: unknown type.
Length of request queue
res_queue_addr
Optional attribute; read/write access; type: unknown type.
Address to start of response queue
res_queue_len
Optional attribute; read/write access; type: unknown type.
Length of response queue
semaphore
Optional attribute; read/write access; type: unknown type.
The Semaphore register
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
pci-header
status

print information about the device


print PCI device header
print status of the device

1281

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ISP2200>.info
Synopsis
<ISP2200>.info
Description
Print detailed information about the configuration of the device.

<ISP2200>.pci-header
Synopsis
<ISP2200>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<ISP2200>.status
Synopsis
<ISP2200>.status
Description
Print detailed information about the current status of the device.

1282

VIRTUTECH CONFIDENTIAL

itanium-cpu
Provided by
ia64-components
Class Hierarchy
conf-object log-object component itanium-cpu
Interfaces Implemented
log_object, component
Description
The itanium-cpu component represents an Itanium 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1283

VIRTUTECH CONFIDENTIAL

Command Descriptions
<itanium-cpu>.info
Synopsis
<itanium-cpu>.info
Description
Print detailed information about the configuration of the device.

<itanium-cpu>.status
Synopsis
<itanium-cpu>.status
Description
Print detailed information about the current status of the device.

1284

VIRTUTECH CONFIDENTIAL

jaguar-mmu
Provided by
jaguar-mmu
Class Hierarchy
conf-object log-object jaguar-mmu
Interfaces Implemented
log_object, io_memory, mmu
Description
The jaguar-mmu models the MMU in UltraSPARC-IV (Jaguar) processors.

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
cpu
Pseudo attribute; read-only access; type: Object.
Processor that the MMU is connected to.
ctxt_nucleus
Optional attribute; read/write access; type: unknown type.
Nucleus context register (hardwired to zero).
ctxt_primary
Optional attribute; read/write access; type: unknown type.
Context identifier for the primary address space.
ctxt_secondary
Optional attribute; read/write access; type: unknown type.
Context identifier for the secondary address space.
d_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).

1285

VIRTUTECH CONFIDENTIAL
dcu_ctrl
Optional attribute; read/write access; type: unknown type.
Load/Store Unit (DCU) control register.
dsfar
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault address register (SFAR).
dsfsr
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault status register (SFSR).
dtag_access
Optional attribute; read/write access; type: unknown type.
D-TLB tag access register.
dtag_access_ex
Optional attribute; read/write access; type: Integer.
D-TLB Tag Access Extension Register.
dtag_target
Optional attribute; read/write access; type: unknown type.
D-TSB tag target register.
dtlb_2w_daccess
Optional attribute; read/write access; type: [i{1024}].
DTLB Data Access Register (2-way set-associative TLB)
dtlb_2w_tagread
Optional attribute; read/write access; type: [i{1024}].
DTLB Tag Read Register (2-way set-associative TLB)
dtlb_fa_daccess
Optional attribute; read/write access; type: [i{16}].
DTLB Data Access Register (fully associative TLB)
dtlb_fa_tagread
Optional attribute; read/write access; type: [i{16}].
DTLB Tag Read Register (fully associative TLB)
dtsb
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) register.
dtsb_nx
Optional attribute; read/write access; type: Integer.
DTSB Nucleus Extension Register
1286

VIRTUTECH CONFIDENTIAL
dtsb_px
Optional attribute; read/write access; type: Integer.
DTSB Primary Extension Register
dtsb_sx
Optional attribute; read/write access; type: Integer.
DTSB Secondary Extension Register
dtsbp64k
Optional attribute; read/write access; type: unknown type.
D-TSB 64Kb pointer register.
dtsbp8k
Optional attribute; read/write access; type: unknown type.
D-TSB 8Kb pointer register.
dtsbpd
Optional attribute; read/write access; type: unknown type.
D-TSB direct pointer register.
ec_control
Optional attribute; read/write access; type: Integer.
E Cache Control Register
ec_control_timing
Optional attribute; read/write access; type: Integer.
ECache Control and Timing Register
i_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).
isfsr
Optional attribute; read/write access; type: unknown type.
I-MMU synchronous fault status register (SFSR).
itag_access
Optional attribute; read/write access; type: unknown type.
I-TLB tag access register.
itag_target
Optional attribute; read/write access; type: unknown type.
I-TSB tag target register.

1287

VIRTUTECH CONFIDENTIAL
itlb_2w_daccess
Optional attribute; read/write access; type: [i{128}].
ITLB Data Access Register (2-way set-associative TLB)
itlb_2w_tagread
Optional attribute; read/write access; type: [i{128}].
ITLB Tag Read Register (2-way set-associative TLB)
itlb_fa_daccess
Optional attribute; read/write access; type: [i{16}].
ITLB Data Access Register (fully associative TLB)
itlb_fa_tagread
Optional attribute; read/write access; type: [i{16}].
ITLB Tag Read Register (fully associative TLB)
itsb
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) register.
itsb_nx
Optional attribute; read/write access; type: Integer.
ITSB Nucleus Extension Register
itsb_px
Optional attribute; read/write access; type: Integer.
ITSB Primary Extension Register
itsbp64k
Optional attribute; read/write access; type: unknown type.
I-TSB 64Kb pointer register.
itsbp8k
Optional attribute; read/write access; type: unknown type.
I-TSB 8Kb pointer register.
last_etag_write
Optional attribute; read/write access; type: Integer.
Internal: Last etag value written
lfsr
Optional attribute; read/write access; type: Integer.
LFSR register used to select replacement entry in set
lsu_ctrl
Pseudo attribute; read/write access; type: unknown type.
Alias for the DCU register (backward compatibility attribute).
1288

VIRTUTECH CONFIDENTIAL
madr_1
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 1
madr_2
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 2
madr_3
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 3
madr_4
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 4
mem_address_control
Optional attribute; read/write access; type: Integer.
Memory Address Control Register
mem_tmg_1
Optional attribute; read/write access; type: Integer.
Memory Timing Register 1
mem_tmg_2
Optional attribute; read/write access; type: Integer.
Memory Timing Register 2
mem_tmg_3
Optional attribute; read/write access; type: Integer.
Memory Timing Register 3
mem_tmg_4
Optional attribute; read/write access; type: Integer.
Memory Timing Register 4
mem_tmg_5
Optional attribute; read/write access; type: Integer.
Memory Timing Register 5
pa_watchpoint
Optional attribute; read/write access; type: unknown type.
PA Watchpoint Address

1289

VIRTUTECH CONFIDENTIAL
registers
Pseudo attribute; read-only access; type: unknown type; integer or string indexed; indexed type: unknown type.
Used to translate between register index and register name for all MMU registers
that can generate haps when written. When indexed with an integer, the name is
returned, and vice versa. When not indexed, an array with all names is returned
in (register index) order.
trace
Session attribute; read/write access; type: unknown type.
No documentation available.
va_watchpoint
Optional attribute; read/write access; type: unknown type.
VA Watchpoint Address

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
d-probe
d-tlb
i-probe
i-tlb
info
regs
reverse-lookup
trace

check data TLB for translation


print data TLB contents
check instruction TLB for translation
print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality

Command Descriptions
<jaguar-mmu>.d-probe
Synopsis
<jaguar-mmu>.d-probe address
<jaguar-mmu>.i-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<jaguar-mmu>.d-tlb
1290

VIRTUTECH CONFIDENTIAL

<jaguar-mmu>.d-tlb
Synopsis
<jaguar-mmu>.d-tlb
<jaguar-mmu>.i-tlb
Description
print the content of the data TLB
See Also
<jaguar-mmu>.d-probe

<jaguar-mmu>.i-probe
Synopsis
<jaguar-mmu>.i-probe address
<jaguar-mmu>.d-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<jaguar-mmu>.d-tlb

<jaguar-mmu>.i-tlb
Synopsis
<jaguar-mmu>.i-tlb
<jaguar-mmu>.d-tlb
Description
print the content of the data TLB
See Also
<jaguar-mmu>.d-probe

<jaguar-mmu>.info
Synopsis
<jaguar-mmu>.info
Description
Print detailed information about the configuration of the device.

1291

VIRTUTECH CONFIDENTIAL

<jaguar-mmu>.regs
Synopsis
<jaguar-mmu>.regs
Description
Print the content of the jaguar-mmu MMU registers

<jaguar-mmu>.reverse-lookup
Synopsis
<jaguar-mmu>.reverse-lookup address
Description
List mappings in all TLBs that matches the specified physical address
See Also
<jaguar-mmu>.d-probe

<jaguar-mmu>.trace
Synopsis
<jaguar-mmu>.trace
Description
Toggles trace mode
When active, lists all changes to TLB entries and to MMU registers.

1292

VIRTUTECH CONFIDENTIAL

jalapeno-mmu
Provided by
jalapeno-mmu
Class Hierarchy
conf-object log-object jalapeno-mmu
Interfaces Implemented
log_object, io_memory, mmu
Description
The jalapeno-mmu models the MMU in UltraSPARC-IIIi (Jalapeno) processors.

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
cpu
Pseudo attribute; read-only access; type: Object.
Processor that the MMU is connected to.
ctxt_nucleus
Optional attribute; read/write access; type: unknown type.
Nucleus context register (hardwired to zero).
ctxt_primary
Optional attribute; read/write access; type: unknown type.
Context identifier for the primary address space.
ctxt_secondary
Optional attribute; read/write access; type: unknown type.
Context identifier for the secondary address space.
d_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).

1293

VIRTUTECH CONFIDENTIAL
dcu_ctrl
Optional attribute; read/write access; type: unknown type.
Load/Store Unit (DCU) control register.
dsfar
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault address register (SFAR).
dsfsr
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault status register (SFSR).
dtag_access
Optional attribute; read/write access; type: unknown type.
D-TLB tag access register.
dtag_access_ex
Optional attribute; read/write access; type: Integer.
D-TLB Tag Access Extension Register.
dtag_target
Optional attribute; read/write access; type: unknown type.
D-TSB tag target register.
dtlb_2w_daccess
Optional attribute; read/write access; type: [i{1024}].
DTLB Data Access Register (2-way set-associative TLB)
dtlb_2w_tagread
Optional attribute; read/write access; type: [i{1024}].
DTLB Tag Read Register (2-way set-associative TLB)
dtlb_fa_daccess
Optional attribute; read/write access; type: [i{16}].
DTLB Data Access Register (fully associative TLB)
dtlb_fa_tagread
Optional attribute; read/write access; type: [i{16}].
DTLB Tag Read Register (fully associative TLB)
dtsb
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) register.
dtsb_nx
Optional attribute; read/write access; type: Integer.
DTSB Nucleus Extension Register
1294

VIRTUTECH CONFIDENTIAL
dtsb_px
Optional attribute; read/write access; type: Integer.
DTSB Primary Extension Register
dtsb_sx
Optional attribute; read/write access; type: Integer.
DTSB Secondary Extension Register
dtsbp64k
Optional attribute; read/write access; type: unknown type.
D-TSB 64Kb pointer register.
dtsbp8k
Optional attribute; read/write access; type: unknown type.
D-TSB 8Kb pointer register.
dtsbpd
Optional attribute; read/write access; type: unknown type.
D-TSB direct pointer register.
ec_control
Optional attribute; read/write access; type: Integer.
E Cache Control Register
i_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).
isfsr
Optional attribute; read/write access; type: unknown type.
I-MMU synchronous fault status register (SFSR).
itag_access
Optional attribute; read/write access; type: unknown type.
I-TLB tag access register.
itag_target
Optional attribute; read/write access; type: unknown type.
I-TSB tag target register.
itlb_2w_daccess
Optional attribute; read/write access; type: [i{128}].
ITLB Data Access Register (2-way set-associative TLB)

1295

VIRTUTECH CONFIDENTIAL
itlb_2w_tagread
Optional attribute; read/write access; type: [i{128}].
ITLB Tag Read Register (2-way set-associative TLB)
itlb_fa_daccess
Optional attribute; read/write access; type: [i{16}].
ITLB Data Access Register (fully associative TLB)
itlb_fa_tagread
Optional attribute; read/write access; type: [i{16}].
ITLB Tag Read Register (fully associative TLB)
itsb
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) register.
itsb_nx
Optional attribute; read/write access; type: Integer.
ITSB Nucleus Extension Register
itsb_px
Optional attribute; read/write access; type: Integer.
ITSB Primary Extension Register
itsbp64k
Optional attribute; read/write access; type: unknown type.
I-TSB 64Kb pointer register.
itsbp8k
Optional attribute; read/write access; type: unknown type.
I-TSB 8Kb pointer register.
last_etag_write
Optional attribute; read/write access; type: Integer.
Internal: Last etag value written
lfsr
Optional attribute; read/write access; type: Integer.
LFSR register used to select replacement entry in set
lsu_ctrl
Pseudo attribute; read/write access; type: unknown type.
Alias for the DCU register (backward compatibility attribute).
madr_1
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 1
1296

VIRTUTECH CONFIDENTIAL
madr_2
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 2
madr_3
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 3
pa_watchpoint
Optional attribute; read/write access; type: unknown type.
PA Watchpoint Address
registers
Pseudo attribute; read-only access; type: unknown type; integer or string indexed; indexed type: unknown type.
Used to translate between register index and register name for all MMU registers
that can generate haps when written. When indexed with an integer, the name is
returned, and vice versa. When not indexed, an array with all names is returned
in (register index) order.
trace
Session attribute; read/write access; type: unknown type.
No documentation available.
va_watchpoint
Optional attribute; read/write access; type: unknown type.
VA Watchpoint Address

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
d-probe
d-tlb
i-probe
i-tlb
info
regs
reverse-lookup
trace

check data TLB for translation


print data TLB contents
check instruction TLB for translation
print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality

1297

VIRTUTECH CONFIDENTIAL

Command Descriptions
<jalapeno-mmu>.d-probe
Synopsis
<jalapeno-mmu>.d-probe address
<jalapeno-mmu>.i-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<jalapeno-mmu>.d-tlb

<jalapeno-mmu>.d-tlb
Synopsis
<jalapeno-mmu>.d-tlb
<jalapeno-mmu>.i-tlb
Description
print the content of the data TLB
See Also
<jalapeno-mmu>.d-probe

<jalapeno-mmu>.i-probe
Synopsis
<jalapeno-mmu>.i-probe address
<jalapeno-mmu>.d-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<jalapeno-mmu>.d-tlb

<jalapeno-mmu>.i-tlb
Synopsis
<jalapeno-mmu>.i-tlb
<jalapeno-mmu>.d-tlb
1298

VIRTUTECH CONFIDENTIAL
Description
print the content of the data TLB
See Also
<jalapeno-mmu>.d-probe

<jalapeno-mmu>.info
Synopsis
<jalapeno-mmu>.info
Description
Print detailed information about the configuration of the device.

<jalapeno-mmu>.regs
Synopsis
<jalapeno-mmu>.regs
Description
Print the content of the jalapeno-mmu MMU registers

<jalapeno-mmu>.reverse-lookup
Synopsis
<jalapeno-mmu>.reverse-lookup address
Description
List mappings in all TLBs that matches the specified physical address
See Also
<jalapeno-mmu>.d-probe

<jalapeno-mmu>.trace
Synopsis
<jalapeno-mmu>.trace
Description
Toggles trace mode
When active, lists all changes to TLB entries and to MMU registers.

1299

VIRTUTECH CONFIDENTIAL

legacy-pc-devices
Provided by
x86-components
Class Hierarchy
conf-object log-object component legacy-pc-devices
Interfaces Implemented
log_object, component
Description
The legacy-pc-devices component represents the legacy devices found in PC/AT
compatible computers. This component can be used as system chipset in ISA based
x86 machines without PCI support.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<legacy-pc-devices>.info
Synopsis
<legacy-pc-devices>.info
Description
Print detailed information about the configuration of the device.
1300

VIRTUTECH CONFIDENTIAL

<legacy-pc-devices>.status
Synopsis
<legacy-pc-devices>.status
Description
Print detailed information about the current status of the device.

1301

VIRTUTECH CONFIDENTIAL

leon2
Provided by
sparc-l2, sparc-l2-turbo
Class Hierarchy
conf-object log-object leon2
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, processor, event_poster
Description
leon2 processor simulation

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.
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 (V8)
asrs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(asr1, asr2, . . . , asr31) Ancillary state registers

1302

VIRTUTECH CONFIDENTIAL
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.
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_groupinterface.
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.

1303

VIRTUTECH CONFIDENTIAL
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).
fprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(f0, f1, . . . , f31) Floating point registers
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
fsr
Optional attribute; read/write access; type: Integer.
fsr register
gprs
No checkpoint typeattribute; read/write access; type: [i{32}]; integer indexed;
TODO
indexed type: Integer.
(g0, . . . , i8) General purpose registers
gprs_all
Optional attribute; read/write access; type: [i+]; integer indexed; indexed type:
Integer.
(0, . . . , (NWIN16+8)) GPRS
halt_steps
Optional attribute; read/write access; type: Integer.
halt steps
has_v8_div
Required attribute; read/write access; type: b.
true if DIV instructions are available
has_v8_mul
Required attribute; read/write access; type: b.
true if MUL instructions are available
has_v8e_mac
Required attribute; read/write access; type: b.
true if MAC instructions are available
instruction_fetch_line_size
Session attribute; read/write access; type: Integer.
Instruction fetch line size for this processor.
1304

VIRTUTECH CONFIDENTIAL
instruction_fetch_mode
Session attribute; read/write access; type: String.
Instruction fetch mode
interrupt_controller
Optional attribute; read/write access; type: Object.
interrupt controller
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 ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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_control_reg
Optional attribute; read/write access; type: Integer.
mmu control register
mmu_ctxt_ptr
Optional attribute; read/write access; type: Integer.
mmu context table pointer
mmu_ctxt_reg
Optional attribute; read/write access; type: Integer.
mmu context register
1305

VIRTUTECH CONFIDENTIAL
mmu_fault_address
Optional attribute; read/write access; type: Integer.
mmu fault address register
mmu_fault_class
Optional attribute; read/write access; type: Integer.
mmu last fault class
mmu_fault_status
Optional attribute; read/write access; type: Integer.
mmu fault status register
mmu_fault_status_read
Optional attribute; read/write access; type: Integer.
mmu fault status reg read
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
npc
Optional attribute; read/write access; type: Integer.
Next program counter
num_windows
Required attribute; read/write access; type: Integer.
number of windows (must be a power of 2and in the range [2, 32])
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_interrupt
Optional attribute; read/write access; type: Integer.
pending interrupt
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.

1306

VIRTUTECH CONFIDENTIAL
power_down_mode
Optional attribute; read/write access; type: Integer.
power down mode
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.
psr
Optional attribute; read/write access; type: Integer.
psr register
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.
tbr
Optional attribute; read/write access; type: Integer.
tbr register

1307

VIRTUTECH CONFIDENTIAL
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.
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.

1308

VIRTUTECH CONFIDENTIAL
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.
wim
Optional attribute; read/write access; type: Integer.
wim register
y
Optional attribute; read/write access; type: Integer.
y register
1309

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

1310

VIRTUTECH CONFIDENTIAL

leon2-simple
Provided by
leon2-components
Class Hierarchy
conf-object log-object component top-component leon2-simple
Interfaces Implemented
log_object, component
Description
A simple LEON2 based component including a CPU and some memory.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_frequency
Required attribute; read/write access; type: Float.
Processor frequency in MHz.
has_sram
Required attribute; read/write access; type: Integer.
True if SRAM is available (if so, SDRAM starts at 0x60000000)
has_v8_div
Required attribute; read/write access; type: b.
TRUE if the V8 IDIV instructions are to be allowed
has_v8_mul
Required attribute; read/write access; type: b.
TRUE if the V8 IMUL instructions are to be allowed

1311

VIRTUTECH CONFIDENTIAL
has_v8e_mac
Required attribute; read/write access; type: b.
TRUE if the V8E UMAC / SMAC instructions are to be allowed
num_windows
Required attribute; read/write access; type: Integer.
Number of register windows, (must be a power of 2)
prom_size
Required attribute; read/write access; type: Integer.
Size of PROM in bytes
sdram_size
Required attribute; read/write access; type: Integer.
Size of SDRAM in bytes
sram_size
Required attribute; read/write access; type: Integer.
Size of SRAM in bytes

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<leon2-simple>.info
Synopsis
<leon2-simple>.info
Description
Print detailed information about the configuration of the device.

<leon2-simple>.status
Synopsis
<leon2-simple>.status
Description
Print detailed information about the current status of the device.

1312

VIRTUTECH CONFIDENTIAL

leon2_cfg
Provided by
leon2-devices
Class Hierarchy
conf-object log-object leon2_cfg
Interfaces Implemented
log_object, io_memory, event_poster
Description
This is the on chip config-registers for the LEON2.

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
b_AHB_failing_address
Optional attribute; read/write access; type: Integer.
AHB Failing Address
b_AHB_status
Optional attribute; read/write access; type: Integer.
AHB Status
b_cache_ctrl
Optional attribute; read/write access; type: Integer.
Cache Control
b_leonconfig
Optional attribute; read/write access; type: Integer.
LEON Configuration
b_memcfg1
Optional attribute; read/write access; type: Integer.
Memory Configuration 1
b_memcfg2
Optional attribute; read/write access; type: Integer.
Memory Configuration 2
1313

VIRTUTECH CONFIDENTIAL
b_memcfg3
Optional attribute; read/write access; type: Integer.
Memory Configuration 3
b_power_down
Optional attribute; read/write access; type: Integer.
register b.power_down
b_write_protection_1
Optional attribute; read/write access; type: Integer.
Write Protection 1
b_write_protection_2
Optional attribute; read/write access; type: Integer.
Write Protection 2
cpu
Optional attribute; read/write access; type: Object or Nil.
Undocumented
power_down_ready
Optional attribute; read/write access; type: Integer.
Undocumented

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

1314

VIRTUTECH CONFIDENTIAL

leon2_ioport
Provided by
leon2-devices
Class Hierarchy
conf-object log-object leon2_ioport
Interfaces Implemented
log_object, io_memory, event_poster
Description
This is the on chip i/o port-controller for the LEON2.

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
b_io_port_dir
Optional attribute; read/write access; type: Integer.
I/O Port Direction
b_io_port_int
Optional attribute; read/write access; type: Integer.
I/O Port Interrupt Config
b_io_port_io
Optional attribute; read/write access; type: Integer.
I/O Port Input/Output

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

1315

VIRTUTECH CONFIDENTIAL

leon2_irq
Provided by
leon2-devices
Class Hierarchy
conf-object log-object leon2_irq
Interfaces Implemented
log_object, io_memory, simple_interrupt, event_poster
Description
This is the on chip irq-controller for the LEON2.

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
b_clear
Optional attribute; read/write access; type: Integer.
register b.clear
b_force
Optional attribute; read/write access; type: Integer.
register b.force
b_mask
Optional attribute; read/write access; type: Integer.
register b.mask
b_pending
Optional attribute; read/write access; type: Integer.
register b.pending
cpu
Required attribute; read/write access; type: Object.
Undocumented
is_forced
Optional attribute; read/write access; type: Integer.
Undocumented
1316

VIRTUTECH CONFIDENTIAL

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

1317

VIRTUTECH CONFIDENTIAL

leon2_timer
Provided by
leon2-devices
Class Hierarchy
conf-object log-object leon2_timer
Interfaces Implemented
log_object, io_memory, event_poster
Description
This is the on chip timer for the LEON2.

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
b_prescaler_counter
Optional attribute; read/write access; type: Integer.
register b.prescaler_counter
b_prescaler_reload
Optional attribute; read/write access; type: Integer.
register b.prescaler_reload
b_t1_control
Optional attribute; read/write access; type: Integer.
register b.t1_control
b_t1_counter
Optional attribute; read/write access; type: Integer.
register b.t1_counter
b_t1_reload
Optional attribute; read/write access; type: Integer.
register b.t1_reload
b_t2_control
Optional attribute; read/write access; type: Integer.
register b.t2_control
1318

VIRTUTECH CONFIDENTIAL
b_t2_counter
Optional attribute; read/write access; type: Integer.
register b.t2_counter
b_t2_reload
Optional attribute; read/write access; type: Integer.
register b.t2_reload
b_watchdog
Optional attribute; read/write access; type: Integer.
Watchdog
irq
Optional attribute; read/write access; type: Object or Nil.
Undocumented

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

1319

VIRTUTECH CONFIDENTIAL

leon2_uart
Provided by
leon2-devices
Class Hierarchy
conf-object log-object leon2_uart
Interfaces Implemented
log_object, io_memory, serial_device, event_poster
Description
This is the on chip uart for the LEON2.

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
b_control
Optional attribute; read/write access; type: Integer.
register b.control
b_data
Optional attribute; read/write access; type: Integer.
register b.data
b_hold_out
Optional attribute; read/write access; type: Integer.
register b.hold_out
b_scaler
Optional attribute; read/write access; type: Integer.
register b.scaler
b_shift_out
Optional attribute; read/write access; type: Integer.
register b.shift_out
b_status
Optional attribute; read/write access; type: Integer.
register b.status
1320

VIRTUTECH CONFIDENTIAL
console
Optional attribute; read/write access; type: Object or Nil.
Undocumented
interrupt
Optional attribute; read/write access; type: Integer.
Undocumented
irq
Optional attribute; read/write access; type: Object or Nil.
Undocumented

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

1321

VIRTUTECH CONFIDENTIAL

linux-process-tracker
Provided by
linux-process-tracker
Class Hierarchy
conf-object log-object linux-process-tracker
Interfaces Implemented
log_object, tracker_unix, tracker_settings, tracker
Description
Process tracker for Linux. Works on ppc32, ppc64, UltraSPARC and x86 targets.

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
param
Session attribute; read/write access; type: [[s,i]]; string indexed; indexed type:
Integer.
Linux version dependent parameters, such as task_struct offsets. The easiest
way to set these are to give the kernel argument to new-linux-process-tracker, or
to run the autodetect-parameters command.
Parameters starting with ts_ are offsets in the task_struct. ts_comm is the
offset of the comm field, which contains the name of the process. ts_pid and ts_
state are the offsets of the fields that contain the processs pid and state. ts_
thread_struct is the offset of the thread_struct embedded in the task_
struct.
ts_next and ts_prev are the offsets of the pointers that connect all the task
structs in a circular double-linked list. ts_next_relative is non-zero if these
pointers point at the next field of other task_structs, and zero if they point
to the first byte.
kernel_stack_size is the size, in bytes, of a kernel stack; this is either 4096 or
8192. paca_task_struct is the offset in the paca struct of the pointer to the
current task_struct.
Not all of these parameters are necessary for any given simulated machine.

1322

VIRTUTECH CONFIDENTIAL
per_cpu_state
Optional attribute; read/write access; type: [[o[a]]].
Per-processor state that has to be maintained by the process tracker.
processors
Session attribute; read/write access; type: [o].
Processors whose modes are being tracked.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface tracker
activate, add-processor, deactivate, remove-processor
Commands
autodetect-parameters
process-list
status

autodetect parameters
list running processes
print status of the device

Command Descriptions
<linux-process-tracker>.autodetect-parameters
Synopsis
<linux-process-tracker>.autodetect-parameters
Description
Autodetect the parameters to use in the param attribute. For this to work, the process
tracker must have at least one processor, and Linux must be already running on the
simulated machine. (This means that if you want to use process tracking during the
boot, you must enter the parameters manually; but you can still get hold of them in
the first place by running autodetect-parameters.)

<linux-process-tracker>.process-list
Synopsis
<linux-process-tracker>.process-list [-task-struct-address]
Description
Print a list of all running processes on the simulated system. If the -task-structaddress flag is given, list the task_struct address for each process.

<linux-process-tracker>.status
1323

VIRTUTECH CONFIDENTIAL
Synopsis
<linux-process-tracker>.status
Description
Print detailed information about the current status of the device.

1324

VIRTUTECH CONFIDENTIAL

local-space-mapper
Provided by
local-space-mapper
Class Hierarchy
conf-object log-object local-space-mapper
Interfaces Implemented
log_object, translate
Description
The local-space-mapper device is used to map accesses between memory spaces, based
on the initiating object. A typical example is processor-local memory, that is mapped
in the global physical memory space, but where the access will be directed to different
local spaces depending on which processor initiated the transaction. The same setup
can be achieved by using separate processor spaces where local memory and devices
are directly mapped, and where the global physical space is set as default target. In
this case all accesses that do not hit a local memory or device will be directed to the
global space.

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
memory_spaces
Required attribute; read/write access; type: [[oo]].
List of initiators and their corresponding memory spaces. The format is a list of
two entry lists, where the first entry is the initiator and the second is the memoryspace.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

1325

VIRTUTECH CONFIDENTIAL

Command Descriptions
<local-space-mapper>.info
Synopsis
<local-space-mapper>.info
Description
Print detailed information about the configuration of the device.

1326

VIRTUTECH CONFIDENTIAL

log-object
Provided by
Simics Core
Class Hierarchy
conf-object log-object
Interfaces Implemented
log_object
Description
Base class that gives its descendants logging capabilities.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
access_count
Session attribute; read/write access; type: Integer.
Number of times a memory- or port-mapped object has been accessed.
log_buffer
Session attribute; read/write access; type: [[[ioi],[o|niiiii]|[],[[sii]]]]; integer
indexed; indexed type: unknown type.
List of log messages for an object.
log_buffer_last
Session attribute; read/write access; type: Integer.
Index of the oldest entry in the log buffer.
log_buffer_size
Session attribute; read/write access; type: Integer.
The number of entries in the log buffer.
log_group_mask
Session attribute; read/write access; type: Integer.
Bit mask corresponding to enabled log groups.
log_groups
Pseudo attribute; read-only access; type: [s].
List containing the log group names.

1327

VIRTUTECH CONFIDENTIAL
log_level
Session attribute; read/write access; type: Integer.
The current log level for this object.
log_type_mask
Session attribute; read/write access; type: Integer.
Bit mask corresponding to enabled log types. A value of zero enables all types.

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

1328

VIRTUTECH CONFIDENTIAL

logical-memory-translator
Provided by
logical-memory-translator
Class Hierarchy
conf-object log-object logical-memory-translator
Interfaces Implemented
log_object
Description
Keeps track of all translations inserted in the MMUs of the cpus listed in cpu_list,
unless they are specifically marked invalid and flushed. The translations gathered
allow access to virtual memory areas that are not currently present in the TLBs. The
only architecture supported by this class is SPARCv9.

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
cpu_list
Required attribute; read/write access; type: [o].
List of cpus for which TLB events are recorded in the LMT.
data_translations
Optional attribute; read/write access; type: [[[o,i][[iii]]]].
Data translations present in the LMT. The format of the returned value is [[[mmu_
object, context number], [[page_logical_address, log2_of_page_size, page_physical_
address], [-another page-], . . . ]], -other (mmu, context) information-, . . . ].
instruction_translations
Optional attribute; read/write access; type: [[[o,i],[[iii]]]].
Instruction translations present in the LMT. The format of the returned value
is [[[mmu_object, context number], [[page_logical_address, log2_of_page_size,
page_physical_address], [-another page-], . . . ]], -other (mmu, context) information, . . . ].

1329

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
disassemble
get
logical-to-physical
set
x

disassemble instructions using the LMT translations


get memory value using the LMT translations
translate virtual address using the LMT translations
set a value in memory using the LMT translations
examine raw memory contents using the LMT translations

Command Descriptions
<logical-memory-translator>.disassemble
Alias
<logical-memory-translator>.da
Synopsis
<logical-memory-translator>.disassemble cpu-name address [context] [count]
Description
Use the LMT translations to disassemble count instructions starting from the virtual
address address, for the cpu cpu-name and the context context. Note that this command
can not disassemble across page boundaries.

<logical-memory-translator>.get
Synopsis
<logical-memory-translator>.get cpu-name address [size] [context] [type] [-l] [-b]
Description
Use the LMT translations to get the value present at the virtual address address with a
size of size, for the cpu cpu-name and the context context, looking from translations in
the type TLB (either data or instruction). The -l flag sets little-endian semantics, while
the -b flag sets big-endian semantics. If none is given, the endianness of cpu-name is
used. Note that this command can not get values across page boundaries.

<logical-memory-translator>.logical-to-physical
Alias
<logical-memory-translator>.l2p
Synopsis
<logical-memory-translator>.logical-to-physical cpu-name address [context] [type]
1330

VIRTUTECH CONFIDENTIAL
Description
Use the LMT translations to translate the virtual address address, for the cpu cpu-name
and the context context, looking from translations in the type TLB (either data or instruction).

<logical-memory-translator>.set
Synopsis
<logical-memory-translator>.set cpu-name address value [size] [context] [type] [-l] [b]
Description
Use the LMT translations to set the value value with a size of size at the virtual address
address, for the cpu cpu-name and the context context, looking from translations in the
type TLB (either data or instruction). The -l flag sets little-endian semantics, while the
-b flag sets big-endian semantics. If none is given, the endianness of cpu-name is used.
Note that this command can not set values across page boundaries.

<logical-memory-translator>.x
Synopsis
<logical-memory-translator>.x cpu-name address [context] [type] [size]
Description
Use the LMT translation to print out the contents of the memory area defined by the
start virtual address address and the size size for the cpu cpu-name in the context context,
looking from translations in the type TLB (either data or instruction). Note that this
command does not handle areas that cross page boundaries.

1331

VIRTUTECH CONFIDENTIAL

LX164-IRQ-PLD
Provided by
LX164-IRQ-PLD
Class Hierarchy
conf-object log-object LX164-IRQ-PLD
Interfaces Implemented
log_object, pci_interrupt, io_memory
Description
The LX164-IRQ-PLD device is part of the interrupt logic in the AlphaPC 164LX design.
This 8-bit I/O slave is based on the MACH210A PLD, and is located on the ISA bus at
addresses 0x804, 0x805, and 0x806.

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
cpu
Required attribute; read/write access; type: unknown type.
The Alpha EV5 CPU which is the recipient of all interrupts, and must export the
alpha-ev5 interface.
irq_mask
Optional attribute; read/write access; type: unknown type.
(mask-1, mask-2, mask-3) are the interrupt mask registers writable at port 0x804,
0x805, and 0x806. Each interrupt can be individually masked by setting the appropriate bit in a mask register. An interrupt is disabled by writing a 1 to the
desired position in the mask register.
irq_request
Optional attribute; read/write access; type: unknown type.
(request-1, request-2, request-3) are the interrupt request registers readable from
port 0x804, 0x805, and 0x806. In these registers, a 1 means that the interrupt
source has asserted its interrupt.

1332

VIRTUTECH CONFIDENTIAL

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

1333

VIRTUTECH CONFIDENTIAL

LX164-NVRAM
Provided by
LX164-NVRAM
Class Hierarchy
conf-object log-object LX164-NVRAM
Interfaces Implemented
log_object, io_memory
Description
The LX164-NVRAM device models the nonvolatile memory found on the Alpha 164EB
and 164LX motherboards. This device is based on the Intel 28F008SA FlashFile memory.

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
command
Optional attribute; read/write access; type: unknown type.
Pending command during multiple bus cycles. See the Command User Interface
(CUI) of the Intel 28F008SA FlashFile documentation for a thorough explanation.
high_address
Optional attribute; read/write access; type: unknown type.
Address bit 19 accessible through ISA port 0x800. Setting this bit enables the high
512k of memory.
image
Required attribute; read/write access; type: unknown type.
Image object that handles the NVRAM memory (a total of 1 MB).
status
Optional attribute; read/write access; type: unknown type.
Status register (8 bit), accessible with the read status register command.

1334

VIRTUTECH CONFIDENTIAL

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

1335

VIRTUTECH CONFIDENTIAL

M5823
Provided by
M5823
Class Hierarchy
conf-object log-object M5823
Interfaces Implemented
log_object, event_poster, io_memory
Description
The M5823 device implements real time clock functionality and non-volatile storage
(NVRAM). The device is often referred to as CMOS Clock. The M5823 includes timeof-day alarm, both 12 and 24 hour time format, periodic interrupts and 239 bytes of
general purpose RAM. Limitations: Alarm interrupt not implemented. Daylight Savings Time not implemented.

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
hour
Pseudo attribute; read/write access; type: Integer.
Current hour [0,23].
interrupt_pin
Optional attribute; read/write access; type: Integer.
Status of the interrupt pin.
irq_dev
Required attribute; read/write access; type: Object.
Device to send interrupts to, implementing the simple-interrupt.
irq_level
Required attribute; read/write access; type: Integer.
Level at which interrupts are sent.
last_pie
Optional attribute; read/write access; type: Float.
Time of last PIE interrupt in simulator time.
1336

VIRTUTECH CONFIDENTIAL
mday
Pseudo attribute; read/write access; type: Integer.
Current day of the month [1,31].
minute
Pseudo attribute; read/write access; type: Integer.
Current minute [0,59].
month
Pseudo attribute; read/write access; type: Integer.
Current month [1,12].
next_addr
Optional attribute; read/write access; type: Integer.
Next NVRAM address to be accessed.
nvram
Optional attribute; read/write access; type: [i{256}]; integer indexed; indexed
type: Integer; persistent attribute.
The contents of the non-volatile storage, as a list of 256 bytes.
period_in_us
Pseudo attribute; read-only access; type: [i{16}].
Time between periodic interrupts, in microseconds
second
Pseudo attribute; read/write access; type: Integer.
Current second [0,59].
seconds_last
Optional attribute; read/write access; type: Integer; persistent attribute.
Current time-of-day, counted in seconds.
time_last
Optional attribute; read/write access; type: Float.
Simulated time in seconds at last update.
time_regs_changed
Optional attribute; read/write access; type: Integer.
Set to 1 if time register were modified while SET = 1.
year
Pseudo attribute; read/write access; type: Integer.
Current year (full four-digit format).

1337

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
cmos-base-mem
cmos-boot-dev
cmos-century
cmos-extended-mem
cmos-floppy
cmos-hd
cmos-info
cmos-init
get-date-time
info
set-date-time
status
trace-nvram

deprecated set base memory size


deprecated set boot drive
deprecated set date century
deprecated set extended memory size
deprecated set floppy parameters
deprecated set fixed disk parameters
deprecated print information about the CMOS area
deprecated initialize some CMOS values
get date and time
print information about the device
set date and time
print status of the device
trace nvram updates

Command Descriptions
<M5823>.cmos-base-mem deprecated
Synopsis
<M5823>.cmos-base-mem kilobytes
Description
This command is deprecated, use <x86-system>.cmos-base-mem instead.

<M5823>.cmos-boot-dev deprecated
Synopsis
<M5823>.cmos-boot-dev drive
Description
This command is deprecated, use <x86-system>.cmos-boot-dev instead.

<M5823>.cmos-century deprecated
Synopsis
<M5823>.cmos-century century
Description
This command is deprecated, use <M5823>.set-date-time instead.

1338

VIRTUTECH CONFIDENTIAL

<M5823>.cmos-extended-mem deprecated
Synopsis
<M5823>.cmos-extended-mem megabytes
Description
This command is deprecated, use <x86-system>.cmos-extended-mem instead.

<M5823>.cmos-floppy deprecated
Synopsis
<M5823>.cmos-floppy drive type
Description
This command is deprecated, use <x86-system>.cmos-floppy instead.

<M5823>.cmos-hd deprecated
Synopsis
<M5823>.cmos-hd drive cylinders heads sectors_per_track
Description
This command is deprecated, use <x86-system>.cmos-hd instead.

<M5823>.cmos-info deprecated
Synopsis
<M5823>.cmos-info
Description
This command is deprecated, use <x86-system>.cmos-info instead.

<M5823>.cmos-init deprecated
Synopsis
<M5823>.cmos-init
Description
This command is deprecated, use <x86-system>.cmos-init instead.

<M5823>.get-date-time
Synopsis
<M5823>.get-date-time

1339

VIRTUTECH CONFIDENTIAL
Description
Return the date and time of the real-time clock.

<M5823>.info
Synopsis
<M5823>.info
Description
Print detailed information about the configuration of the device.

<M5823>.set-date-time
Synopsis
<M5823>.set-date-time year month mday hour minute second [-binary] [-bcd]
Description
Set the date and time of the real-time clock. Both month and mday start counting
at one, the other at zero. Year should be in the full four-digit format. The 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.

<M5823>.status
Synopsis
<M5823>.status
Description
Print detailed information about the current status of the device.

<M5823>.trace-nvram
Synopsis
<M5823>.trace-nvram
Description
Trace all nvram updates.

1340

VIRTUTECH CONFIDENTIAL

malta
Provided by
malta
Class Hierarchy
conf-object log-object malta
Interfaces Implemented
log_object, io_memory
Description
The Malta device implements some of the functionality of the special hardware on the
MIPS Malta 4Kc development board. In particular, the LCD display.

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
console
Optional attribute; read/write access; type: Object.
Text console to connect to.
value
Optional attribute; read/write access; type: unknown type.
Value containing a valid valuable valuation.

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

1341

VIRTUTECH CONFIDENTIAL

malta-system
Provided by
malta-components
Class Hierarchy
conf-object log-object component top-component malta-system
Interfaces Implemented
log_object, component
Description
The malta-system component represents a MIPS Malta development board with a
MIPS 4Kc or 5Kc processor and a Galileo GT64120 system controller.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_class
Required attribute; read/write access; type: String.
Processor type, one of mips-4kc and mips-5kc
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
rtc_time
Required attribute; read/write access; type: String.
The data and time of the Real-Time clock.

1342

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<malta-system>.info
Synopsis
<malta-system>.info
Description
Print detailed information about the configuration of the device.

<malta-system>.status
Synopsis
<malta-system>.status
Description
Print detailed information about the current status of the device.

1343

VIRTUTECH CONFIDENTIAL

MD1535D-acpi
Provided by
MD1535D
Class Hierarchy
conf-object log-object MD1535D-acpi
Interfaces Implemented
log_object, io_memory
Description
ACPI registers in the MD1535D+ chipset.

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

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

1344

VIRTUTECH CONFIDENTIAL

MD1535D-cfg
Provided by
MD1535D
Class Hierarchy
conf-object log-object MD1535D-cfg
Interfaces Implemented
log_object, io_memory
Description
Legacy device configuration registers of the MD1535D+ chipset.

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
auto_pd
Optional attribute; read/write access; type: unknown type.
Auto powerdown register.
dev_regs
Optional attribute; read/write access; type: unknown type.
Logical device registers.
device
Optional attribute; read/write access; type: unknown type.
The currently selected logical device.
direct_pd
Optional attribute; read/write access; type: unknown type.
Direct powerdown register.
index
Optional attribute; read/write access; type: unknown type.
The current register index.
mode
Optional attribute; read/write access; type: unknown type.
The current configuration mode.
1345

VIRTUTECH CONFIDENTIAL

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

1346

VIRTUTECH CONFIDENTIAL

MD1535D-ide
Provided by
MD1535D
Class Hierarchy
conf-object log-object MD1535D-ide
Interfaces Implemented
log_object, io_memory, pci_device
Description
Bus master IDE function from the MD1535D+ South Bridge.

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
bmidea
Optional attribute; read/write access; type: unknown type.
(i0, i1) The bmidea registers
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
dma_active
Optional attribute; read/write access; type: unknown type.
(i0, i1) The dma-active registers
dma_error
Optional attribute; read/write access; type: unknown type.
(i0, i1) The dma-error registers

1347

VIRTUTECH CONFIDENTIAL
dmacap0
Optional attribute; read/write access; type: unknown type.
(i0, i1) The dmacap[0] registers
dmacap1
Optional attribute; read/write access; type: unknown type.
(i0, i1) The dmacap[1] registers
dtba
Optional attribute; read/write access; type: unknown type.
(i0, i1) The dtba registers
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
ideints
Optional attribute; read/write access; type: unknown type.
(i0, i1) The ideints registers
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
memory
Required attribute; read/write access; type: unknown type.
The physical memory (for DMA), implementing the lookup interface.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
primary_ide
Required attribute; read/write access; type: unknown type.
Primary ide device (for DMA), implementing the ide-dma interface.
rwcon
Optional attribute; read/write access; type: unknown type.
(i0, i1) The rwcon registers
secondary_ide
Required attribute; read/write access; type: unknown type.
Secondary ide device (for DMA), implementing the ide-dma interface.
1348

VIRTUTECH CONFIDENTIAL
ssbm
Optional attribute; read/write access; type: unknown type.
(i0, i1) The ssbm registers
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

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

1349

VIRTUTECH CONFIDENTIAL

MD1535D-isa
Provided by
MD1535D
Class Hierarchy
conf-object log-object MD1535D-isa
Interfaces Implemented
log_object, io_memory, pci_device, pci_interrupt
Description
PCI-to-ISA bridge from the MD1535D+ chipset. The legacy ISA devices in the MD1535D+
are not modeled by this device (use the standard ISA versions available as separate
devices).

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
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
interrupt_pins
Optional attribute; read/write access; type: [i{16}].
External interrupt levels.
1350

VIRTUTECH CONFIDENTIAL
irq_dev
Required attribute; read/write access; type: Object.
Device to send IRQ to, implementing simple-interrupt.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pci_to_isa_irq
Required attribute; read/write access; type: [iiii].
Mapping between PCI interrupt pins and ISA legacy interrupt levels.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

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

1351

VIRTUTECH CONFIDENTIAL

MD1535D-power
Provided by
MD1535D
Class Hierarchy
conf-object log-object MD1535D-power
Interfaces Implemented
log_object, io_memory, pci_device
Description
PCI-to-PM bridge from the MD1535D+ chipset. The legacy PM devices in the MD1535D+
are not modeled by this device (use the standard PM versions available as separate devices).

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
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
1352

VIRTUTECH CONFIDENTIAL
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
show_leds
Session attribute; read/write access; type: b.
If set to TRUE, changes to the front LEDs will be printed.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

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

1353

VIRTUTECH CONFIDENTIAL

MD1535D-smb
Provided by
MD1535D
Class Hierarchy
conf-object log-object MD1535D-smb
Interfaces Implemented
log_object, io_memory
Description
SMBus control registers in the MD1535D+ chipset.

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

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

1354

VIRTUTECH CONFIDENTIAL

MD1535D-unknown
Provided by
MD1535D
Class Hierarchy
conf-object log-object MD1535D-unknown
Interfaces Implemented
log_object, io_memory
Description
Unknown registers of the MD1535D+ chipset.

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

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

1355

VIRTUTECH CONFIDENTIAL

memory-space
Provided by
Simics Core
Class Hierarchy
conf-object log-object memory-space
Interfaces Implemented
log_object, map_demap, breakpoint, translate, memory_space
Description
Instances of the memory-space class provide linear address spaces into which devices
and memory can be mapped.

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
breakpoints
Session attribute; read/write access; type: [[i+]]; integer indexed; indexed type:
[i].
((id, start, stop)) Tells which breakpoints (identified by their id) are set for the
space object. start and stop specifies the interval for the breakpoint.
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.
map

Optional attribute; read/write access; type: [[ioiii]|[ioiiio|n]|[ioiiio|ni]|[ioiiio|nii]|[ioiiio|niii]


((base, object, function, offset, length, target, priority, align-size, byte-swap)). Maps
zero or more objects in the memory space. object must implement one of the
translate, bridge, ram, io_memory, port_space,or rom interfaces, searched
for in that order. (Some of these interfaces are Simics internal and can not be implemented by user-defined classes).
If object implements the translate or bridge interface, then the target field

1356

VIRTUTECH CONFIDENTIAL
must be set to an object, which in turn must implement either the memory_
space, ram or rom interface, target should be NIL otherwise.
object is mapped in the address space from base to base + length 1 (inclusive).
Both function and offset are handed on to the mapped object through the appropriate interface. The function number, that is device specific, provides a way for
devices with multiple mappings to figure out which mapping that is accessed.
The priority (0 255) 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. Accesses spanning align boundaries will be split into
several smaller transactions. By default, the align size is set to 4 for port space
devices, 8 for other devices and 8192 for memory. Mappings with an align-size of
2, 4, and 8 may set the byte-swap field to 1. This can be used to model bridges that
perform byte swapping on a specific bus width. It is also possible to set byte-swap
to 3 to swap all bytes in the transaction based on the access size. The bus and
transaction byte-swap variants can be combined by setting a value of 2. 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
memory
Pseudo attribute; read/write access; ; integer or list indexed; indexed type: Data.
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).
snoop_device
Optional attribute; read/write access; type: Object or Nil.
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.
timing_model
Optional attribute; read/write access; type: Object or Nil.
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.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface breakpoint
break, tbreak
1357

VIRTUTECH CONFIDENTIAL
Commands
add-map
del-map
get
info
load-binary
load-file
map
set
x

map device in a memory-space


remove device map from a memory-space
get value of physical address
print information about the device
load binary (executable) file into memory
load file into memory
list memory map
set physical address to specified value
examine raw memory contents

Command Descriptions
<memory-space>.add-map
Synopsis
<memory-space>.add-map device base length [function] [offset] [target] [priority] [alignsize] [swap]
Description
Map device into a memory-space at address base and with length length. Different
mappings of the same device may be indentified by a device specific function number.
For translator and bridge mappings, a target device should be given. The mapping
may specify an offset into the devices memory space, using the offset argument. If
several device mappings overlap, the priority is used to select what device will receive
memory accesses. The priority is an integer between 0 and 255, where 0 is highest.
For devices that do not support large accesses, the align-size governs how accesses
are split before the device is accessed. 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.
See Also
<memory-space>.map, <memory-space>.del-map

<memory-space>.del-map
Synopsis
<memory-space>.del-map device [function] [base]
Description
Remove the mapping of device from a memory-space. If a function number is given
by the function argument, then only mappings with a matching number are removed.
If an address is given, only mappings with a matching address are removed. If both
a function and an address are specified, then only mappings with a matching function
number, at the specified address, are removed.
1358

VIRTUTECH CONFIDENTIAL
See Also
<memory-space>.map, <memory-space>.add-map

<memory-space>.get
Synopsis
<memory-space>.get address [size] [-l] [-b]
get address [size] [-l] [-b]
Description
Get value of physical memory location. The size argument specifies how many bytes
should be read. This defaults to 4, but can be any number of bytes 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.
This command operates on the physical memory associated with the current processor.
See Also
x, set, signed

<memory-space>.info
Synopsis
<memory-space>.info
Description
Print detailed information about the configuration of the device.

<memory-space>.load-binary
Synopsis
<memory-space>.load-binary filename [offset] [-v] [-pa]
<processor>.load-binary filename [offset] [-v] [-pa]
load-binary filename [offset] [-v] [-pa] [-l]
Description
Load a binary (executable) file into the given physical or virtual memory space. The
supported formats are ELF, Motorola S-Record, PE32 and PE32+. If an offset is supplied, it will be added to the load address taked from the file.
By default the virtual load address from the file is used, but the physical address can
be used instead by specifying the -pa flag.
The -v flag turns on verbose mode, printing information about the loaded file.

1359

VIRTUTECH CONFIDENTIAL
When used as a global command, it will use the currently selected processor to find
the memory space to load the binary into. If the -l flag is given, it will load it into the
virtual memory space, otherwise it will use the physical memory space.
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.
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 Simicss Search Path and path markers (%simics%, %script%) to find
the file to load. Refer to Simics User Guide (CLI chapter) for more information on how
Simicss Search Path is used to locate files.
See Also
add-directory

<memory-space>.load-file
Synopsis
<memory-space>.load-file filename [offset]
load-file filename [offset]
Description
Loads a file with name filename into the memory space (defaulting to the current frontend processors physical memory space), starting at physical address offset. Default
offset is 0.
load-file uses Simicss Search Path and path markers (%simics%, %script%) to find the
file to load. Refer to Simics User Guide (CLI chapter) for more information on how
Simicss Search Path is used to locate files.
See Also
add-directory

<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. The base column is the starting address of the map. The
object column contains the object mapped at that address. fn is the function number
and offs is the offset for the object. length is the number of bytes mapped.
See Also
<memory-space>.add-map, <memory-space>.del-map
1360

VIRTUTECH CONFIDENTIAL

<memory-space>.set
Synopsis
<memory-space>.set address value [size] [-l] [-b]
set address value [size] [-l] [-b]
Description
Set the size bytes of physical memory at location 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, behavior is undefined.
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.
The non-namespace version of this command operates on the physical memory associated with the current processor.
See Also
get, x, pselect

<memory-space>.x
Synopsis
<memory-space>.x address [size]
<processor>.x address [size]
x [cpu-name] address [size]
Description
Display the contents of a memory space starting at address. Either the memory space
is explicitly specified as in <memory-space>.x or the CPU connected to the memory space can be specified; e.g., <processor>.x. By itself, x operates on the memory
connected to the current frontend processor.
If the memory is accessed via a CPU, 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 it will be interpreted as a virtual address. On x86 the default is
ds:address (data segment addressing).
The size argument specifies the number of bytes to examine. When examining virtual
memory, only addresses which can be found in the TLB or hardware page tables (if
any) are shown. Unmapped addresses are shown as --, undefined physical addresses as **.
See Also
disassemble, get, set

1361

VIRTUTECH CONFIDENTIAL

microwire-eeprom
Provided by
microwire-eeprom
Class Hierarchy
conf-object log-object microwire-eeprom
Interfaces Implemented
log_object, microwire
Description
This device models a generic, 3-wire (microwire) serial EEPROM (for example 93Cxx).

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
chip_select
Optional attribute; read/write access; type: Integer.
The value of the chip-select pin.
data
Optional attribute; read/write access; type: Data; persistent attribute.
The memory contents.
data_clock
Optional attribute; read/write access; type: Integer.
The value of the data-clock pin.
data_input
Optional attribute; read/write access; type: Integer.
The value of the data-input pin.
data_output
Optional attribute; read/write access; type: Integer.
The value of the data-output pin.
internal_state
Optional attribute; read/write access; type: [i{4}].
Internal state.
1362

VIRTUTECH CONFIDENTIAL
size
Optional attribute; read/write access; type: Integer.
The size of the eeprom, in bits. Suppported values are 1024, 2048 and 4096 bits.
width
Optional attribute; read/write access; type: Integer.
The width of the eeprom (number of data bits in each read or write instruction).
Supported values are 8 and 16 bit.
write_enabled
Optional attribute; read/write access; type: Integer.
The write enable state, determined by the EWEN and EWDS instructions.

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

1363

VIRTUTECH CONFIDENTIAL

mii-management-bus
Provided by
mii-management-bus
Class Hierarchy
conf-object log-object mii-management-bus
Interfaces Implemented
log_object
Ports
MDIO (signal), MDC (signal)
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.

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
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.
mdio_target
Optional attribute; read/write access; type: n|o|[os].
Describes where the outgoing MDIO signal should be connected
serial_clock
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
1364

VIRTUTECH CONFIDENTIAL
serial_data_out
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_num_cycles
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.

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

1365

VIRTUTECH CONFIDENTIAL

mii-transceiver
Provided by
mii-transceiver
Class Hierarchy
conf-object log-object mii-transceiver
Interfaces Implemented
log_object, event_poster, ieee_802_3_phy, ethernet_device
Ports
MDIO (signal), MDC (signal)
Description
mii-transceiver is an IEEE 802.3 physical layer device with MII interface

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
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
address
Optional attribute; read/write access; type: Integer.
Address on the MII management bus.
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.

1366

VIRTUTECH CONFIDENTIAL
duplex_mode
Optional attribute; read/write access; type: Integer.
Set to 1 for full duplex (0 for half duplex).
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
link
Optional attribute; read/write access; type: Object or Nil.
The Ethernet link that the network device is connected to.
link_speed
Optional attribute; read/write access; type: Integer.
The link speed (usually 10 or 100 Mbit/s).
link_status
Optional attribute; read/write access; type: Integer.
The status of the link - 0 when completely unconnected, 1 when connected but
down, and 2 when connected and up.
mac
Required attribute; read/write access; type: Object.
Set to a media access controller (MAC) object, implementing the ieee_802_3_
mac_interface_t.
mac_address
Optional attribute; read/write access; type: s|[i{6}]|n.
Ethernet (MAC) address of the network interface.
mdio_target
Optional attribute; read/write access; type: n|o|[os].
Describes where the outgoing MDIO signal should be connected

1367

VIRTUTECH CONFIDENTIAL
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
registers
Optional attribute; read/write access; type: [i{32}].
The MII management register set as described in IEEE 802.3.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
serial_clock
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_num_cycles
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
1368

VIRTUTECH CONFIDENTIAL
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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: Float.
The earliest time at which that the network interface may send another packet.
Used for transmit bandwidth limitation.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print status of the device

Command Descriptions
<mii-transceiver>.connect
Synopsis
<mii-transceiver>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<mii-transceiver>.disconnect

<mii-transceiver>.disconnect
Synopsis
<mii-transceiver>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<mii-transceiver>.connect
1369

VIRTUTECH CONFIDENTIAL

<mii-transceiver>.info
Synopsis
<mii-transceiver>.info
Description
Print detailed information about the configuration of the device.

<mii-transceiver>.status
Synopsis
<mii-transceiver>.status
Description
Print detailed information about the current status of the device.

1370

VIRTUTECH CONFIDENTIAL

mips-4kc
Provided by
mips-4kc, mips-4kc-turbo
Class Hierarchy
conf-object log-object mips-4kc
Interfaces Implemented
log_object, mips, simple_interrupt, exception, int_register, processor, event_poster
Description
This is a model of a MIPS-4Kc 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.
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 (mips32)
badvaddr
Optional attribute; read/write access; type: Integer.
COP0 Register 7. BadVAddr register

1371

VIRTUTECH CONFIDENTIAL
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.
cause
Optional attribute; read/write access; type: Integer.
COP0 Register 13. Cause register
compare
Optional attribute; read/write access; type: Integer.
COP0 Register 11. Compare register
config
Optional attribute; read/write access; type: Integer.
COP0 Register 16. Configuration register, sel 0
config1
Optional attribute; read/write access; type: Integer.
COP0 Register 16. Configuration register, sel 1
config2
Optional attribute; read/write access; type: Integer.
COP0 Register 16. Configuration register, sel 2
config3
Optional attribute; read/write access; type: Integer.
COP0 Register 16. Configuration register, sel 3
context
Optional attribute; read/write access; type: Integer.
COP0 Register 4. Context register
count
Optional attribute; read/write access; type: Integer.
COP0 Register 9. Count register
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_groupinterface.
1372

VIRTUTECH CONFIDENTIAL
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
datalo
Optional attribute; read/write access; type: Integer.
COP0 Register 28. DataLo register, sel 1
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
debug
Optional attribute; read/write access; type: Integer.
COP0 Register 23. Debug register
delay_slot
Optional attribute; read/write access; type: Integer.
Indicates if current instruction is in a branch delay slot
depc
Optional attribute; read/write access; type: Integer.
COP0 Register 24. Depc register
desave
Optional attribute; read/write access; type: Integer.
COP0 Register 31. Desave register
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.

1373

VIRTUTECH CONFIDENTIAL
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.
entryhi
Optional attribute; read/write access; type: Integer.
COP0 Register 10. EntryHi register
entrylo0
Optional attribute; read/write access; type: Integer.
COP0 Register 2. EntryLo0 register
entrylo1
Optional attribute; read/write access; type: Integer.
COP0 Register 3. EntryLo1 register
epc
Optional attribute; read/write access; type: Integer.
COP0 Register 14. Epc register
errorepc
Optional attribute; read/write access; type: Integer.
COP0 Register 30. ErrorEpc register
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).
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
General purpose registers
hi
Optional attribute; read/write access; type: Integer.
HI register
index
Optional attribute; read/write access; type: Integer.
COP0 Register 0. Index register
1374

VIRTUTECH CONFIDENTIAL
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.
jtlb
Optional attribute; read/write access; type: [[iiii[i{4}][i{4}]]].
Joint TLB, [[virtual_base, page_size_log2, asid, g, [physical_base, c, d, v], [physical_
base, c, d, v]]].
lladdr
Optional attribute; read/write access; type: Integer.
COP0 Register 17. LLaddr register
llbit
Optional attribute; read/write access; type: Integer.
LLbit (ongoing LL/SC)
lo
Optional attribute; read/write access; type: Integer.
LO register
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 ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
memory_profiling_granularity_log2
Pseudo attribute; read-only access; type: Integer.
Base 2 logarithm of memory profiling granularity.
1375

VIRTUTECH CONFIDENTIAL
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).
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
npc
Optional attribute; read/write access; type: Integer.
Next Program Counter
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pagemask
Optional attribute; read/write access; type: Integer.
COP0 Register 5. PageMask register
pc
Optional attribute; read/write access; type: Integer.
Program counter
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
prid
Optional attribute; read/write access; type: Integer.
COP0 Register 15. PrID register
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.
random
Optional attribute; read/write access; type: Integer.
COP0 Register 1. Random register
random_max
Optional attribute; read/write access; type: Integer.
Highest index used for the Random register. Default is the last jtlb entry.
1376

VIRTUTECH CONFIDENTIAL
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.
status
Optional attribute; read/write access; type: Integer.
COP0 Register 12. Status register
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.
taglo
Optional attribute; read/write access; type: Integer.
COP0 Register 28. TagLo register, sel 0
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.
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.
1377

VIRTUTECH CONFIDENTIAL
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.
1378

VIRTUTECH CONFIDENTIAL
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
Optional attribute; read/write access; type: Integer.
Nonzero if the wait instruction is running
watchhi
Optional attribute; read/write access; type: Integer.
COP0 Register 18. WatchHi register
watchlo
Optional attribute; read/write access; type: Integer.
COP0 Register 18. WatchLo register
wired
Optional attribute; read/write access; type: Integer.
COP0 Register 6. Wired register

1379

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface mips
info, pregs-fpu, print-tlb, status
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

1380

VIRTUTECH CONFIDENTIAL

mips-5kc
Provided by
mips-5kc, mips-5kc-turbo
Class Hierarchy
conf-object log-object mips-5kc
Interfaces Implemented
log_object, mips, simple_interrupt, exception, int_register, processor, event_poster
Description
This is a model of a MIPS-5Kc 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.
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 (mips64)
badvaddr
Optional attribute; read/write access; type: Integer.
COP0 Register 7. BadVAddr register

1381

VIRTUTECH CONFIDENTIAL
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.
cause
Optional attribute; read/write access; type: Integer.
COP0 Register 13. Cause register
compare
Optional attribute; read/write access; type: Integer.
COP0 Register 11. Compare register
config
Optional attribute; read/write access; type: Integer.
COP0 Register 16. Configuration register, sel 0
config1
Optional attribute; read/write access; type: Integer.
COP0 Register 16. Configuration register, sel 1
config2
Optional attribute; read/write access; type: Integer.
COP0 Register 16. Configuration register, sel 2
config3
Optional attribute; read/write access; type: Integer.
COP0 Register 16. Configuration register, sel 3
context
Optional attribute; read/write access; type: Integer.
COP0 Register 4. Context register
count
Optional attribute; read/write access; type: Integer.
COP0 Register 9. Count register
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_groupinterface.
1382

VIRTUTECH CONFIDENTIAL
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
datalo
Optional attribute; read/write access; type: Integer.
COP0 Register 28. DataLo register, sel 1
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
debug
Optional attribute; read/write access; type: Integer.
COP0 Register 23. Debug register
delay_slot
Optional attribute; read/write access; type: Integer.
Indicates if current instruction is in a branch delay slot
depc
Optional attribute; read/write access; type: Integer.
COP0 Register 24. Depc register
desave
Optional attribute; read/write access; type: Integer.
COP0 Register 31. Desave register
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.

1383

VIRTUTECH CONFIDENTIAL
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.
entryhi
Optional attribute; read/write access; type: Integer.
COP0 Register 10. EntryHi register
entrylo0
Optional attribute; read/write access; type: Integer.
COP0 Register 2. EntryLo0 register
entrylo1
Optional attribute; read/write access; type: Integer.
COP0 Register 3. EntryLo1 register
epc
Optional attribute; read/write access; type: Integer.
COP0 Register 14. Epc register
errorepc
Optional attribute; read/write access; type: Integer.
COP0 Register 30. ErrorEpc register
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).
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
General purpose registers
hi
Optional attribute; read/write access; type: Integer.
HI register
index
Optional attribute; read/write access; type: Integer.
COP0 Register 0. Index register
1384

VIRTUTECH CONFIDENTIAL
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.
jtlb
Optional attribute; read/write access; type: [[iiii[i{4}][i{4}]]].
Joint TLB, [[virtual_base, page_size_log2, asid, g, [physical_base, c, d, v], [physical_
base, c, d, v]]].
lladdr
Optional attribute; read/write access; type: Integer.
COP0 Register 17. LLaddr register
llbit
Optional attribute; read/write access; type: Integer.
LLbit (ongoing LL/SC)
lo
Optional attribute; read/write access; type: Integer.
LO register
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 ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
memory_profiling_granularity_log2
Pseudo attribute; read-only access; type: Integer.
Base 2 logarithm of memory profiling granularity.
1385

VIRTUTECH CONFIDENTIAL
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).
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
npc
Optional attribute; read/write access; type: Integer.
Next Program Counter
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pagemask
Optional attribute; read/write access; type: Integer.
COP0 Register 5. PageMask register
pc
Optional attribute; read/write access; type: Integer.
Program counter
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
prid
Optional attribute; read/write access; type: Integer.
COP0 Register 15. PrID register
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.
random
Optional attribute; read/write access; type: Integer.
COP0 Register 1. Random register
random_max
Optional attribute; read/write access; type: Integer.
Highest index used for the Random register. Default is the last jtlb entry.
1386

VIRTUTECH CONFIDENTIAL
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.
status
Optional attribute; read/write access; type: Integer.
COP0 Register 12. Status register
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.
taglo
Optional attribute; read/write access; type: Integer.
COP0 Register 28. TagLo register, sel 0
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.
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.
1387

VIRTUTECH CONFIDENTIAL
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.
1388

VIRTUTECH CONFIDENTIAL
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
Optional attribute; read/write access; type: Integer.
Nonzero if the wait instruction is running
watchhi
Optional attribute; read/write access; type: Integer.
COP0 Register 18. WatchHi register
watchlo
Optional attribute; read/write access; type: Integer.
COP0 Register 18. WatchLo register
wired
Optional attribute; read/write access; type: Integer.
COP0 Register 6. Wired register
xcontext
Optional attribute; read/write access; type: Integer.
COP0 Register 20. XContext register

1389

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface mips
info, pregs-fpu, print-tlb, status
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

1390

VIRTUTECH CONFIDENTIAL

MK48T08
Provided by
MK48T08
Class Hierarchy
conf-object log-object MK48T08
Interfaces Implemented
log_object, event_poster, io_memory
Description
The MK48T08device implements a real time clock and non-volatile storage (NVRAM).
The watchdog functionality is not implemented.

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
creg
Optional attribute; read/write access; type: Integer.
Control register.
hour
Pseudo attribute; read/write access; type: Integer.
Current hour [0,23].
mday
Pseudo attribute; read/write access; type: Integer.
Current day of the month [1,31].
minute
Pseudo attribute; read/write access; type: Integer.
Current minute [0,59].
month
Pseudo attribute; read/write access; type: Integer.
Current month [1,12].

1391

VIRTUTECH CONFIDENTIAL
nvram
Optional attribute; read/write access; type: Data; persistent attribute.
The non-volatile RAM; 0x1ff0 bytes of raw data.
second
Pseudo attribute; read/write access; type: Integer.
Current second [0,59].
time
Required attribute; read/write access; type: String; persistent attribute.
The time stored in the rtc. When written to, the syntax understood is "%Y-%m-%d
%H:%M:%S" as per the strptime(3) man page. The string may optionally be
followed by "UTC", or it will be interpreted as local time. When read from, the
format is "yyyy-mm-dd hh:mm:ss UTC".
time_last_tick
Optional attribute; read/write access; type: Float.
The time when the last clock tick occurred.
wdog
Optional attribute; read/write access; type: Integer.
Watchdog timer. Currently not used.
year
Pseudo attribute; read/write access; type: Integer.
Current year (full four-digit format).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-time
set-time
set-time-current

get date and time


set date and time
set date and time to the current (real) time

Command Descriptions
<MK48T08>.get-time
Synopsis
<MK48T08>.get-time

1392

VIRTUTECH CONFIDENTIAL
Description
Return the date and time of the realtime clock (UTC).

<MK48T08>.set-time
Synopsis
<MK48T08>.set-time time
Description
Set the date and time of the realtime clock (UTC). Format is: YYYY-MM-DD HH:MM:SS.

<MK48T08>.set-time-current
Synopsis
<MK48T08>.set-time-current
Description
Set the date and time to the actual wall clock time.

1393

VIRTUTECH CONFIDENTIAL

msp430
Provided by
msp430
Class Hierarchy
conf-object log-object msp430
Interfaces Implemented
log_object, exception, simple_interrupt, int_register, processor, event_poster
Description
msp430 processor simulation

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

1394

VIRTUTECH CONFIDENTIAL
branch_prof_support
Pseudo attribute; read-only access; type: b.
True if this processor supports branch profiling in -stall mode, false otherwise.
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_groupinterface.
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
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.
environment
Optional attribute; read/write access; type: Object.
Object representing the environment
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).
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.

1395

VIRTUTECH CONFIDENTIAL
gprs
Optional attribute; read/write access; type: [i{16}]; integer indexed; indexed
type: Integer.
(pc, sp, sr, cg2, r4, . . . , r15) General purpose registers
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
interrupt_lines
Optional attribute; read/write access; type: [i{16}].
Not for manual use
interrupt_sources
Optional attribute; read/write access; type: [o|n{16}].
Interrupt sources
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
lower_interrupt
Pseudo attribute; write-only access; type: Integer.
Lower interrupt
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
memory_profilers
Session attribute; read/write access; type: [o|n]; integer indexed; indexed type:
Object or Nil.
Memory read/write profilers.
1396

VIRTUTECH CONFIDENTIAL
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).
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Pseudo attribute; read/write access; type: Integer.
Program counter
pending_interrupts
Optional attribute; read/write access; type: Integer.
Not for manual use
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.
raise_interrupt
Pseudo attribute; write-only access; type: Integer.
Raise interrupt
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.
1397

VIRTUTECH CONFIDENTIAL
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.
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.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
Commands
reset reset the processor

1398

VIRTUTECH CONFIDENTIAL

Command Descriptions
<msp430>.reset
Synopsis
<msp430>.reset
Description
do a hard reset on the processor

1399

VIRTUTECH CONFIDENTIAL

niagara-core-mmu
Provided by
swerver-proc-mmu
Class Hierarchy
conf-object log-object niagara-core-mmu
Interfaces Implemented
log_object
Description
The niagara-core-mmu models the shared core MMU in UltraSPARC-T1 processors.

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
bist_ctrl
Optional attribute; read/write access; type: Integer.
BIST control register.
dtlb_daccess
Optional attribute; read/write access; type: [i{64}].
D-TLB data access register.
dtlb_tagread
Optional attribute; read/write access; type: [i{64}].
D-TLB tag read register.
err_inj
Optional attribute; read/write access; type: Integer.
Error injection register.
inst_mask
Optional attribute; read/write access; type: Integer.
Instruction mask register.
itlb_daccess
Optional attribute; read/write access; type: [i{64}].
I-TLB data access register.
1400

VIRTUTECH CONFIDENTIAL
itlb_tagread
Optional attribute; read/write access; type: [i{64}].
I-TLB tag read register.
stm_ctl
Optional attribute; read/write access; type: Integer.
Self-timed margin control register.

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

1401

VIRTUTECH CONFIDENTIAL

niagara-dram-ctl
Provided by
niagara-devices
Class Hierarchy
conf-object log-object niagara-dram-ctl
Interfaces Implemented
log_object, io_memory
Description
TODO

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

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

1402

VIRTUTECH CONFIDENTIAL

niagara-iob
Provided by
niagara-devices
Class Hierarchy
conf-object log-object niagara-iob
Interfaces Implemented
log_object, io_memory
Description
TODO

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
jbus_interrupt_vector
Optional attribute; read/write access; type: Integer.
The jbus_interrupt_vector register.
vcores
Required attribute; read/write access; type: [n|o{32}].
List of all virtual cores in the processor.

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

1403

VIRTUTECH CONFIDENTIAL

niagara-l2c
Provided by
niagara-devices
Class Hierarchy
conf-object log-object niagara-l2c
Interfaces Implemented
log_object, io_memory
Description
TODO

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
l2_error_status
Optional attribute; read/write access; type: [iiii].
The L2 Error Status registers.

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

1404

VIRTUTECH CONFIDENTIAL

niagara-simple-system
Provided by
niagara-simple-components
Class Hierarchy
conf-object log-object component top-component niagara-simple-system
Interfaces Implemented
log_object, component
Description
The niagara-simple-system component represents a fake Sun Fire T2000 server with
an UltraSPARC T1 processor memory and a single disk image, but with no other devices.It is currently not possible to change the configuration, except for the number of
processors.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
num_cores
Required attribute; read/write access; type: Integer.
Number of processor cores in the system. 1 or 8.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

1405

VIRTUTECH CONFIDENTIAL
strands_per_core
Required attribute; read/write access; type: Integer.
Number of active processor strands per core in the system. 1, 2 or 4. There are
always 4 strands created.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-prom-env
info
set-prom-defaults
set-prom-env
status

Get an OBP environment variable


print information about the device
Restore all OBP variables
Set an OBP environment variable
print status of the device

Command Descriptions
<niagara-simple-system>.get-prom-env
Synopsis
<niagara-simple-system>.get-prom-env [variable]
Description
Prints an OBP variable with its value, or all variables if no argument is specified. Only
variables with string, integer, boolean and enumeration types are supported.
See Also
<niagara-simple-system>.set-prom-env

<niagara-simple-system>.info
Synopsis
<niagara-simple-system>.info
Description
Print detailed information about the configuration of the device.

<niagara-simple-system>.set-prom-defaults
Synopsis
<niagara-simple-system>.set-prom-defaults
Description
Restores all OBP variables to their default values.
1406

VIRTUTECH CONFIDENTIAL
See Also
<niagara-simple-system>.set-prom-env, <niagara-simple-system>.get-prom-env

<niagara-simple-system>.set-prom-env
Synopsis
<niagara-simple-system>.set-prom-env variable (int|string)
Description
Sets the value of an OBP variable in the NVRAM. Only variables with string, integer,
boolean and enumeration types are supported.
See Also
<niagara-simple-system>.get-prom-env

<niagara-simple-system>.status
Synopsis
<niagara-simple-system>.status
Description
Print detailed information about the current status of the device.

1407

VIRTUTECH CONFIDENTIAL

niagara-strand-mmu
Provided by
swerver-thread-mmu
Class Hierarchy
conf-object log-object niagara-strand-mmu
Interfaces Implemented
log_object, event_poster, mmu
Description
The niagara-strand-mmu models the MMU in UltraSPARC-T1 processors.

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
auto_demap
Pseudo attribute; read/write access; type: unknown type.
Set auto-demap flag; 1: enable; 0: trap 0x71.
autodemap_warning
Pseudo attribute; read/write access; type: unknown type.
Set to 1 to enable messages for autodemap with same phys addr.
cmmu
Required attribute; read/write access; type: Object.
Core MMU object
cpu
Required attribute; read/write access; type: Object.
Processor (thread) for this MMU.
ctxt_nucleus
Optional attribute; read/write access; type: unknown type.
Nucleus context register (hardwired to zero).
ctxt_primary
Optional attribute; read/write access; type: unknown type.
Context identifier for the primary address space.
1408

VIRTUTECH CONFIDENTIAL
ctxt_secondary
Optional attribute; read/write access; type: unknown type.
Context identifier for the secondary address space.
d_translation
Pseudo attribute; read-only access; type: unknown type; integer indexed; indexed type: unknown type.
Returns a D-translation of a given integer (read-only pseudo attribute).
dsfar
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault address register (SFAR).
dsfsr
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault status register (SFSR).
dtag_access
Optional attribute; read/write access; type: unknown type.
D-TLB tag access register.
dtag_target
Optional attribute; read/write access; type: unknown type.
D-TSB tag target register.
dtsb
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) register.
dtsb_c0_config
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) config register-context 0.
dtsb_c0_ps0
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) register-context 0, ps0.
dtsb_c0_ps1
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) register-context 0, ps1.
dtsb_cn0_config
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) config register-context non0.

1409

VIRTUTECH CONFIDENTIAL
dtsb_cn0_ps0
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) register-context non0, ps0.
dtsb_cn0_ps1
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) register-context non0, ps1.
dtsbp64k
Optional attribute; read/write access; type: unknown type.
D-TSB 64Kb pointer register.
dtsbp8k
Optional attribute; read/write access; type: unknown type.
D-TSB 8Kb pointer register.
dtsbpd
Optional attribute; read/write access; type: unknown type.
D-TSB direct pointer register.
dtsbpd_sel
Optional attribute; read/write access; type: unknown type.
TSB Direct Pointer Control state. DMMU only.
dtsbpps0
Optional attribute; read/write access; type: unknown type.
D-TSB PS0 pointer register.
dtsbpps1
Optional attribute; read/write access; type: unknown type.
D-TSB PS1 pointer register.
i_translation
Pseudo attribute; read-only access; type: unknown type; integer indexed; indexed type: unknown type.
Returns an I-translation of a given integer (read-only pseudo attribute).
isfsr
Optional attribute; read/write access; type: unknown type.
I-MMU synchronous fault status register (SFSR).
itag_access
Optional attribute; read/write access; type: unknown type.
I-TLB tag access register.

1410

VIRTUTECH CONFIDENTIAL
itag_target
Optional attribute; read/write access; type: unknown type.
I-TSB tag target register.
itsb
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) register.
itsb_c0_config
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) config register-context 0.
itsb_c0_ps0
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) register-context 0, ps0.
itsb_c0_ps1
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) register-context 0, ps1.
itsb_cn0_config
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) config register-context non0.
itsb_cn0_ps0
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) register-context non0, ps0.
itsb_cn0_ps1
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) register-context non0, ps1.
itsbp64k
Optional attribute; read/write access; type: unknown type.
I-TSB 64Kb pointer register.
itsbp8k
Optional attribute; read/write access; type: unknown type.
I-TSB 8Kb pointer register.
itsbpps0
Optional attribute; read/write access; type: unknown type.
I-TSB PS0 pointer register.
itsbpps1
Optional attribute; read/write access; type: unknown type.
I-TSB PS1 pointer register.
1411

VIRTUTECH CONFIDENTIAL
lsu_ctrl
Optional attribute; read/write access; type: unknown type.
Load/Store Unit (LSU) control register.
lsu_diag
Optional attribute; read/write access; type: unknown type.
Load/Store Unit (LSU) diag register.
pa_watchpoint
Optional attribute; read/write access; type: unknown type.
PA Watchpoint Address
pid
Optional attribute; read/write access; type: unknown type.
Partition id register.
registers
Pseudo attribute; read-only access; type: unknown type; integer or string indexed; indexed type: unknown type.
Used to translate between register index and register name for allMMU registers
that can generate haps when written. When indexed withan integer, the name is
returned, and vice versa. When not indexed, anarray with all names is returned
in (register index) order.
trace
Pseudo attribute; read/write access; type: unknown type.
No documentation available.
user_bypass
Pseudo attribute; read/write access; type: unknown type.
User for Virtutech tests
va_watchpoint
Optional attribute; read/write access; type: unknown type.
VA Watchpoint Address
va_wp_addr
Optional attribute; read/write access; type: unknown type.
VA watchpoint address register.

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

1412

VIRTUTECH CONFIDENTIAL
Commands
d-probe
d-tlb
i-probe
i-tlb
regs

check data tlb for translation


print data tlb contents
check instruction tlb for translation
print instruction tlb contents
print mmu registers

Command Descriptions
<niagara-strand-mmu>.d-probe
Synopsis
<niagara-strand-mmu>.d-probe address
<niagara-strand-mmu>.i-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<niagara-strand-mmu>.d-tlb, <niagara-strand-mmu>.i-probe

<niagara-strand-mmu>.d-tlb
Synopsis
<niagara-strand-mmu>.d-tlb
<niagara-strand-mmu>.i-tlb
Description
Print the content of the data TLB
See Also
<niagara-strand-mmu>.i-tlb, <niagara-strand-mmu>.d-probe

<niagara-strand-mmu>.i-probe
Synopsis
<niagara-strand-mmu>.i-probe address
<niagara-strand-mmu>.d-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.

1413

VIRTUTECH CONFIDENTIAL
See Also
<niagara-strand-mmu>.d-tlb, <niagara-strand-mmu>.i-probe

<niagara-strand-mmu>.i-tlb
Synopsis
<niagara-strand-mmu>.i-tlb
<niagara-strand-mmu>.d-tlb
Description
Print the content of the data TLB
See Also
<niagara-strand-mmu>.i-tlb, <niagara-strand-mmu>.d-probe

<niagara-strand-mmu>.regs
Synopsis
<niagara-strand-mmu>.regs
Description
Print the content of the niagara-strand-mmu MMU registers

1414

VIRTUTECH CONFIDENTIAL

north-bridge-443bx
Provided by
x86-components
Class Hierarchy
conf-object log-object component north-bridge-443bx
Interfaces Implemented
log_object, component
Description
The north-bridge-443bx component represents an Intel 443BX North Bridge (hostto-PCI bridge) without AGP.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<north-bridge-443bx>.info
Synopsis
<north-bridge-443bx>.info
Description
Print detailed information about the configuration of the device.

1415

VIRTUTECH CONFIDENTIAL

<north-bridge-443bx>.status
Synopsis
<north-bridge-443bx>.status
Description
Print detailed information about the current status of the device.

1416

VIRTUTECH CONFIDENTIAL

north-bridge-443bx-agp
Provided by
x86-components
Class Hierarchy
conf-object log-object component north-bridge-443bx-agp
Interfaces Implemented
log_object, component
Description
The north-bridge-443bx component represents an Intel 443BX North Bridge (hostto-PCI bridge) with AGP.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<north-bridge-443bx-agp>.info
Synopsis
<north-bridge-443bx-agp>.info
Description
Print detailed information about the configuration of the device.

1417

VIRTUTECH CONFIDENTIAL

<north-bridge-443bx-agp>.status
Synopsis
<north-bridge-443bx-agp>.status
Description
Print detailed information about the current status of the device.

1418

VIRTUTECH CONFIDENTIAL

north-bridge-875p
Provided by
x86-components
Class Hierarchy
conf-object log-object component north-bridge-875p
Interfaces Implemented
log_object, component
Description
The north-bridge-875p component represents an Intel 875P North Bridge (host-toPCI bridge).

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<north-bridge-875p>.info
Synopsis
<north-bridge-875p>.info
Description
Print detailed information about the configuration of the device.

1419

VIRTUTECH CONFIDENTIAL

<north-bridge-875p>.status
Synopsis
<north-bridge-875p>.status
Description
Print detailed information about the current status of the device.

1420

VIRTUTECH CONFIDENTIAL

north-bridge-e7520
Provided by
x86-components
Class Hierarchy
conf-object log-object component north-bridge-e7520
Interfaces Implemented
log_object, component
Description
The north-bridge-e7520 component represents an Intel E7520 North Bridge (host-toPCI bridge).

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<north-bridge-e7520>.info
Synopsis
<north-bridge-e7520>.info
Description
Print detailed information about the configuration of the device.

1421

VIRTUTECH CONFIDENTIAL

<north-bridge-e7520>.status
Synopsis
<north-bridge-e7520>.status
Description
Print detailed information about the current status of the device.

1422

VIRTUTECH CONFIDENTIAL

north-bridge-k8
Provided by
x86-components
Class Hierarchy
conf-object log-object component north-bridge-k8
Interfaces Implemented
log_object, component
Description
The north-bridge-k8 component represents the integrated north bridge on an AMD
Athlon 64 or AMD Opteron chip.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<north-bridge-k8>.info
Synopsis
<north-bridge-k8>.info
Description
Print detailed information about the configuration of the device.

1423

VIRTUTECH CONFIDENTIAL

<north-bridge-k8>.status
Synopsis
<north-bridge-k8>.status
Description
Print detailed information about the current status of the device.

1424

VIRTUTECH CONFIDENTIAL

NS16450
Provided by
NS16450
Class Hierarchy
conf-object log-object NS16450
Interfaces Implemented
log_object, rs232_device, serial_device, event_poster, io_memory
Ports
Reset (signal)
Description
National Semiconductors NS16450, a Universal Asynchronous Receiver/Transmitter
(UART).

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
console
Optional attribute; read/write access; type: Object or Nil.
Console or device connected to the serial port.
dl
Optional attribute; read/write access; type: Integer.
Baud rate divisor latches (MSB|LSB).
fcr
Optional attribute; read/write access; type: Integer.
FIFO Control Register.
ier
Optional attribute; read/write access; type: Integer.
Interrupt Enable Register.
iir
Optional attribute; read/write access; type: Integer.
Interrupt Identification Register.
1425

VIRTUTECH CONFIDENTIAL
interrupt_mask_out2
Optional attribute; read/write access; type: Integer.
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.
interrupt_pin
Optional attribute; read/write access; type: Integer.
Interrupt pin status.
interrupt_requests
Optional attribute; read/write access; type: Integer.
Interrupt requests.
irq_dev
Optional attribute; read/write access; type: Object or Nil.
Device that interrupts are sent to.
irq_level
Optional attribute; read/write access; type: Integer.
Interrupt level.
lcr
Optional attribute; read/write access; type: Integer.
Line Control Register (Data Format Register).
link
Optional attribute; read/write access; type: Object or Nil.
Serial link that this device is connected to.
lsr
Optional attribute; read/write access; type: Integer.
Line Status Register (Serialization Status Register).
mcr
Optional attribute; read/write access; type: Integer.
Modem Control Register.
msr
Optional attribute; read/write access; type: Integer.
Modem Status Register.
overrun_debug_level
Optional attribute; read/write access; type: Integer.
Debug level for receive overrun messages.

1426

VIRTUTECH CONFIDENTIAL
rbr
Optional attribute; read/write access; type: Integer.
Receiver Buffer Register.
rbr_busy
Optional attribute; read/write access; type: Integer.
Receiver buffer register not read by CPU.
rcvr_fifo
Optional attribute; read/write access; type: [i].
Contents of the 16 byte deep receive FIFO.
recorder
Required attribute; read/write access; type: Object.
Recorder device for playback of serial traffic.
scr
Optional attribute; read/write access; type: Integer.
Scratch-pad Register.
target_pace_receive
Optional attribute; read/write access; type: Integer.
If this attribute is non-zero (default), no receiver overruns will occur (except for
loopback operation). Bytes will be read from the console at the same pace as they
are consumed by the target operating system. This means that received bytes
must be buffered by the console.
thr
Optional attribute; read/write access; type: Integer.
Transmitter Hold Register.
waiting_for_tx
Optional attribute; read/write access; type: Integer.
Set if the device is waiting to transmit a character, but the destination is blocking.
waiting_for_tx_fifo
Optional attribute; read/write access; type: Integer.
Set if the character blocking is in the fifo.
xmit_fifo
Optional attribute; read/write access; type: [i].
Contents of the 16 byte deep transmit FIFO.
xmit_time
Optional attribute; read/write access; type: Integer.
Time between character transmits, in ns. Default is 100000.
1427

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<NS16450>.info
Synopsis
<NS16450>.info
Description
Print detailed information about the configuration of the device.

<NS16450>.status
Synopsis
<NS16450>.status
Description
Print detailed information about the current status of the device.

1428

VIRTUTECH CONFIDENTIAL

NS16550
Provided by
NS16550
Class Hierarchy
conf-object log-object NS16550
Interfaces Implemented
log_object, rs232_device, serial_device, event_poster, io_memory
Ports
Reset (signal)
Description
National Semiconductors NS16550, a Universal Asynchronous Receiver/Transmitter
(UART).

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
console
Optional attribute; read/write access; type: Object or Nil.
Console or device connected to the serial port.
dl
Optional attribute; read/write access; type: Integer.
Baud rate divisor latches (MSB|LSB).
fcr
Optional attribute; read/write access; type: Integer.
FIFO Control Register.
ier
Optional attribute; read/write access; type: Integer.
Interrupt Enable Register.
iir
Optional attribute; read/write access; type: Integer.
Interrupt Identification Register.
1429

VIRTUTECH CONFIDENTIAL
interrupt_mask_out2
Optional attribute; read/write access; type: Integer.
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.
interrupt_pin
Optional attribute; read/write access; type: Integer.
Interrupt pin status.
interrupt_requests
Optional attribute; read/write access; type: Integer.
Interrupt requests.
irq_dev
Optional attribute; read/write access; type: Object or Nil.
Device that interrupts are sent to.
irq_level
Optional attribute; read/write access; type: Integer.
Interrupt level.
lcr
Optional attribute; read/write access; type: Integer.
Line Control Register (Data Format Register).
link
Optional attribute; read/write access; type: Object or Nil.
Serial link that this device is connected to.
lsr
Optional attribute; read/write access; type: Integer.
Line Status Register (Serialization Status Register).
mcr
Optional attribute; read/write access; type: Integer.
Modem Control Register.
msr
Optional attribute; read/write access; type: Integer.
Modem Status Register.
overrun_debug_level
Optional attribute; read/write access; type: Integer.
Debug level for receive overrun messages.

1430

VIRTUTECH CONFIDENTIAL
rbr
Optional attribute; read/write access; type: Integer.
Receiver Buffer Register.
rbr_busy
Optional attribute; read/write access; type: Integer.
Receiver buffer register not read by CPU.
rcvr_fifo
Optional attribute; read/write access; type: [i].
Contents of the 16 byte deep receive FIFO.
recorder
Required attribute; read/write access; type: Object.
Recorder device for playback of serial traffic.
scr
Optional attribute; read/write access; type: Integer.
Scratch-pad Register.
target_pace_receive
Optional attribute; read/write access; type: Integer.
If this attribute is non-zero (default), no receiver overruns will occur (except for
loopback operation). Bytes will be read from the console at the same pace as they
are consumed by the target operating system. This means that received bytes
must be buffered by the console.
thr
Optional attribute; read/write access; type: Integer.
Transmitter Hold Register.
waiting_for_tx
Optional attribute; read/write access; type: Integer.
Set if the device is waiting to transmit a character, but the destination is blocking.
waiting_for_tx_fifo
Optional attribute; read/write access; type: Integer.
Set if the character blocking is in the fifo.
xmit_fifo
Optional attribute; read/write access; type: [i].
Contents of the 16 byte deep transmit FIFO.
xmit_time
Optional attribute; read/write access; type: Integer.
Time between character transmits, in ns. Default is 100000.
1431

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<NS16550>.info
Synopsis
<NS16550>.info
Description
Print detailed information about the configuration of the device.

<NS16550>.status
Synopsis
<NS16550>.status
Description
Print detailed information about the current status of the device.

1432

VIRTUTECH CONFIDENTIAL

nvci
Provided by
serengeti-console
Class Hierarchy
conf-object nvci
Interfaces Implemented
None
Description
The nvci class is used to hold PROM environment variables for the serengeti-console.
Since variables are represented as Simics attributes the names are changed slightly, for
example, # is not used, and ? is represented by Q. Only the environment variables
that have an attribute in this class are supported.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
ansi_terminalQ
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
auto_bootQ
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
auto_boot_timeout
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
boot_command
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
boot_device
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
boot_file
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
1433

VIRTUTECH CONFIDENTIAL
diag_device
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
diag_file
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
diag_switchQ
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
error_reset_recovery
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
fcode_debugQ
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
hardware_revision
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
input_device
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
last_hardware_update
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
load_base
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
local_mac_addressQ
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
nvramrc
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
oem_banner
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
1434

VIRTUTECH CONFIDENTIAL
oem_bannerQ
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
oem_logo
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
oem_logoQ
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
output_device
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
power_cycles
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
powerfail_time
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
reboot_command
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
screen_columns
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
screen_rows
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
scsi_initiator_id
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
secondary_diagQ
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
security_badlogins
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
1435

VIRTUTECH CONFIDENTIAL
security_mode
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
security_password
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
silent_modeQ
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
use_4xfcodeQ
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable
use_nvramrcQ
Optional attribute; read/write access; type: unknown type; persistent attribute.
Prom environment variable

Command List
Commands
get-variable
info
list-variables
set-variable

deprecated deprecated command


print information about the device
deprecated deprecated command
deprecated deprecated command

Command Descriptions
<nvci>.get-variable deprecated
Synopsis
<nvci>.get-variable var-name
Description
This command is deprecated, use <serengeti-6800-chassis>.get-prom-env instead.

<nvci>.info
Synopsis
<nvci>.info
Description
Print detailed information about the configuration of the device.
1436

VIRTUTECH CONFIDENTIAL

<nvci>.list-variables deprecated
Synopsis
<nvci>.list-variables
Description
This command is deprecated, use <serengeti-6800-chassis>.get-prom-env instead.

<nvci>.set-variable deprecated
Synopsis
<nvci>.set-variable var-name (int|string)
Description
This command is deprecated, use <serengeti-6800-chassis>.set-prom-env instead.

1437

VIRTUTECH CONFIDENTIAL

ooo_micro_arch
Provided by
ooo-micro-arch
Class Hierarchy
conf-object log-object ooo_micro_arch
Interfaces Implemented
log_object
Description
This class models a simple out of order processor which can fetch, execute, and commit a configurable number of instructions per cycle (by setting some attributes).

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
commits_per_cycle
Optional attribute; read/write access; type: unknown type.
Number of instructions to commit each cycle.
cpu
Optional attribute; read/write access; type: unknown type.
The CPU of the micro architecture model
execute_per_cycle
Optional attribute; read/write access; type: unknown type.
Number of instructions to execute each cycle per instruction tree branch.
fetches_per_cycle
Optional attribute; read/write access; type: unknown type.
Number of instructions to fetch each cycle.

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

1438

VIRTUTECH CONFIDENTIAL

open-pic
Provided by
open-pic
Class Hierarchy
conf-object log-object open-pic
Interfaces Implemented
log_object, interrupt_ack, io_memory
Description
Simple model of an OpenPIC-compliant interrupt controller.

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
active_isus
Optional attribute; read/write access; type: unknown type.
List of active sources
global_conf
Optional attribute; read/write access; type: unknown type.
Global configuration register
in_progress
Optional attribute; read/write access; type: unknown type.
Current source in progress for each cpu
ipi
Optional attribute; read/write access; type: unknown type.
IPI Vector/Priority registers
irq_devs
Required attribute; read/write access; type: unknown type.
List of devices to which interrupts are sent
isus
Optional attribute; read/write access; type: unknown type.
Registers for each interrupt source
1439

VIRTUTECH CONFIDENTIAL
pending
Optional attribute; read/write access; type: unknown type.
(pri, src) of pending sources for each cpu
spurious
Optional attribute; read/write access; type: unknown type.
Spurious vector register
timers
Optional attribute; read/write access; type: unknown type.
Registers for each timer

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

1440

VIRTUTECH CONFIDENTIAL

opencores_eth
Provided by
leon2-devices
Class Hierarchy
conf-object log-object opencores_eth
Interfaces Implemented
log_object, io_memory, ieee_802_3_mac, event_poster
Description
This is the on-chip opencore eth device

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
b_collconf
Optional attribute; read/write access; type: Integer.
Collision and retry configuration
b_ctrlmoder
Optional attribute; read/write access; type: Integer.
Control module mode
b_eth_hash_addr0
Optional attribute; read/write access; type: Integer.
Hash 0
b_eth_hash_addr1
Optional attribute; read/write access; type: Integer.
Hash 1
b_eth_txctrl
Optional attribute; read/write access; type: Integer.
Transmitter control
b_int_mask
Optional attribute; read/write access; type: Integer.
Interrupt mask
1441

VIRTUTECH CONFIDENTIAL
b_int_source
Optional attribute; read/write access; type: Integer.
Interrupt source
b_ipgr1
Optional attribute; read/write access; type: Integer.
Non back to back interpacket gap 1
b_ipgr2
Optional attribute; read/write access; type: Integer.
Non back to back interpacket gap 2
b_ipgt
Optional attribute; read/write access; type: Integer.
Back to back interpacket gap
b_mac_addr0
Optional attribute; read/write access; type: Integer.
MAC Individual addr 0
b_mac_addr1
Optional attribute; read/write access; type: Integer.
MAC Individual addr 1
b_miiaddress
Optional attribute; read/write access; type: Integer.
MII Address
b_miicommand
Optional attribute; read/write access; type: Integer.
MII Command
b_miimoder
Optional attribute; read/write access; type: Integer.
MII Mode
b_miirx_data
Optional attribute; read/write access; type: Integer.
MII Receive Data
b_miistatus
Optional attribute; read/write access; type: Integer.
MII Status
b_miitx_data
Optional attribute; read/write access; type: Integer.
MII Transmit Data
1442

VIRTUTECH CONFIDENTIAL
b_moder
Optional attribute; read/write access; type: Integer.
Mode
b_packetlen
Optional attribute; read/write access; type: Integer.
Packet length
b_tx_bd_num
Optional attribute; read/write access; type: Integer.
Transmit buffer descriptor number
b_tx_rx_desc
Optional attribute; read/write access; type: [i{128}].
Buffer descriptors
irq_ctrl
Optional attribute; read/write access; type: Object or Nil.
Undocumented
mii_bus
Optional attribute; read/write access; type: Object or Nil.
MII Management Bus
phy
Optional attribute; read/write access; type: Object or Nil.
Phy object

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

1443

VIRTUTECH CONFIDENTIAL

opteron-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component opteron-cpu
Interfaces Implemented
log_object, component
Description
The opteron-cpu component represents an Opteron 240 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

1444

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<opteron-cpu>.info
Synopsis
<opteron-cpu>.info
Description
Print detailed information about the configuration of the device.

<opteron-cpu>.status
Synopsis
<opteron-cpu>.status
Description
Print detailed information about the current status of the device.

1445

VIRTUTECH CONFIDENTIAL

panther-mmu
Provided by
panther-mmu
Class Hierarchy
conf-object log-object panther-mmu
Interfaces Implemented
log_object, io_memory, mmu
Description
The panther-mmu models the MMU in UltraSPARC-IV+ (Panther) processors.

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
cpu
Pseudo attribute; read-only access; type: Object.
Processor that the MMU is connected to.
ctxt_nucleus
Optional attribute; read/write access; type: unknown type.
Nucleus context register (hardwired to zero).
ctxt_primary
Optional attribute; read/write access; type: unknown type.
Context identifier for the primary address space.
ctxt_secondary
Optional attribute; read/write access; type: unknown type.
Context identifier for the secondary address space.
d_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).

1446

VIRTUTECH CONFIDENTIAL
dcu_ctrl
Optional attribute; read/write access; type: unknown type.
Load/Store Unit (DCU) control register.
dsfar
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault address register (SFAR).
dsfsr
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault status register (SFSR).
dtag_access
Optional attribute; read/write access; type: unknown type.
D-TLB tag access register.
dtag_access_ex
Optional attribute; read/write access; type: Integer.
D-TLB Tag Access Extension Register.
dtag_target
Optional attribute; read/write access; type: unknown type.
D-TSB tag target register.
dtlb_2w_daccess
Optional attribute; read/write access; type: [i{1024}].
DTLB Data Access Register (2-way set-associative TLB)
dtlb_2w_tagread
Optional attribute; read/write access; type: [i{1024}].
DTLB Tag Read Register (2-way set-associative TLB)
dtlb_fa_daccess
Optional attribute; read/write access; type: [i{16}].
DTLB Data Access Register (fully associative TLB)
dtlb_fa_tagread
Optional attribute; read/write access; type: [i{16}].
DTLB Tag Read Register (fully associative TLB)
dtsb
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) register.
dtsb_nx
Optional attribute; read/write access; type: Integer.
DTSB Nucleus Extension Register
1447

VIRTUTECH CONFIDENTIAL
dtsb_px
Optional attribute; read/write access; type: Integer.
DTSB Primary Extension Register
dtsb_sx
Optional attribute; read/write access; type: Integer.
DTSB Secondary Extension Register
dtsbp64k
Optional attribute; read/write access; type: unknown type.
D-TSB 64Kb pointer register.
dtsbp8k
Optional attribute; read/write access; type: unknown type.
D-TSB 8Kb pointer register.
dtsbpd
Optional attribute; read/write access; type: unknown type.
D-TSB direct pointer register.
ec_control
Optional attribute; read/write access; type: Integer.
E Cache Control Register
ec_control_timing
Optional attribute; read/write access; type: Integer.
ECache Control and Timing Register
emu_act_status
Optional attribute; read/write access; type: Integer.
EMU Activity Status Register
i_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).
isfsr
Optional attribute; read/write access; type: unknown type.
I-MMU synchronous fault status register (SFSR).
itag_access
Optional attribute; read/write access; type: unknown type.
I-TLB tag access register.

1448

VIRTUTECH CONFIDENTIAL
itag_target
Optional attribute; read/write access; type: unknown type.
I-TSB tag target register.
itlb_2w_daccess
Optional attribute; read/write access; type: [i{512}].
ITLB Data Access Register (2-way set-associative TLB)
itlb_2w_tagread
Optional attribute; read/write access; type: [i{512}].
ITLB Tag Read Register (2-way set-associative TLB)
itlb_fa_daccess
Optional attribute; read/write access; type: [i{16}].
ITLB Data Access Register (fully associative TLB)
itlb_fa_tagread
Optional attribute; read/write access; type: [i{16}].
ITLB Tag Read Register (fully associative TLB)
itsb
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) register.
itsb_nx
Optional attribute; read/write access; type: Integer.
ITSB Nucleus Extension Register
itsb_px
Optional attribute; read/write access; type: Integer.
ITSB Primary Extension Register
itsbp64k
Optional attribute; read/write access; type: unknown type.
I-TSB 64Kb pointer register.
itsbp8k
Optional attribute; read/write access; type: unknown type.
I-TSB 8Kb pointer register.
last_etag_write
Optional attribute; read/write access; type: Integer.
Internal: Last etag value written
lfsr
Optional attribute; read/write access; type: Integer.
LFSR register used to select replacement entry in set
1449

VIRTUTECH CONFIDENTIAL
lsu_ctrl
Pseudo attribute; read/write access; type: unknown type.
Alias for the DCU register (backward compatibility attribute).
madr_1
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 1
madr_2
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 2
madr_3
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 3
madr_4
Optional attribute; read/write access; type: Integer.
Memory Address Decoder Register 4
mem_address_control
Optional attribute; read/write access; type: Integer.
Memory Address Control Register
mem_tmg_1
Optional attribute; read/write access; type: Integer.
Memory Timing Register 1
mem_tmg_2
Optional attribute; read/write access; type: Integer.
Memory Timing Register 2
mem_tmg_3
Optional attribute; read/write access; type: Integer.
Memory Timing Register 3
mem_tmg_4
Optional attribute; read/write access; type: Integer.
Memory Timing Register 4
mem_tmg_5
Optional attribute; read/write access; type: Integer.
Memory Timing Register 5
pa_watchpoint
Optional attribute; read/write access; type: unknown type.
PA Watchpoint Address
1450

VIRTUTECH CONFIDENTIAL
registers
Pseudo attribute; read-only access; type: unknown type; integer or string indexed; indexed type: unknown type.
Used to translate between register index and register name for all MMU registers
that can generate haps when written. When indexed with an integer, the name is
returned, and vice versa. When not indexed, an array with all names is returned
in (register index) order.
trace
Session attribute; read/write access; type: unknown type.
No documentation available.
va_watchpoint
Optional attribute; read/write access; type: unknown type.
VA Watchpoint Address

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
d-probe
d-tlb
i-probe
i-tlb
info
regs
reverse-lookup
trace

check data TLB for translation


print data TLB contents
check instruction TLB for translation
print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality

Command Descriptions
<panther-mmu>.d-probe
Synopsis
<panther-mmu>.d-probe address
<panther-mmu>.i-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<panther-mmu>.d-tlb
1451

VIRTUTECH CONFIDENTIAL

<panther-mmu>.d-tlb
Synopsis
<panther-mmu>.d-tlb
<panther-mmu>.i-tlb
Description
print the content of the data TLB
See Also
<panther-mmu>.d-probe

<panther-mmu>.i-probe
Synopsis
<panther-mmu>.i-probe address
<panther-mmu>.d-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<panther-mmu>.d-tlb

<panther-mmu>.i-tlb
Synopsis
<panther-mmu>.i-tlb
<panther-mmu>.d-tlb
Description
print the content of the data TLB
See Also
<panther-mmu>.d-probe

<panther-mmu>.info
Synopsis
<panther-mmu>.info
Description
Print detailed information about the configuration of the device.

1452

VIRTUTECH CONFIDENTIAL

<panther-mmu>.regs
Synopsis
<panther-mmu>.regs
Description
Print the content of the panther-mmu MMU registers

<panther-mmu>.reverse-lookup
Synopsis
<panther-mmu>.reverse-lookup address
Description
List mappings in all TLBs that matches the specified physical address
See Also
<panther-mmu>.d-probe

<panther-mmu>.trace
Synopsis
<panther-mmu>.trace
Description
Toggles trace mode
When active, lists all changes to TLB entries and to MMU registers.

1453

VIRTUTECH CONFIDENTIAL

pc-config
Provided by
pc-config
Class Hierarchy
conf-object log-object pc-config
Interfaces Implemented
log_object, io_memory
Description
The only useful thing this class does is to listen to the BIOS output port. It is not
needed for normal operation.

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

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

1454

VIRTUTECH CONFIDENTIAL

pc-dual-serial-ports
Provided by
isa-components
Class Hierarchy
conf-object log-object component pc-dual-serial-ports
Interfaces Implemented
log_object, component
Description
The pc-dual-serial-ports component represents two PC compatible serial ports.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pc-dual-serial-ports>.info
Synopsis
<pc-dual-serial-ports>.info
Description
Print detailed information about the configuration of the device.

<pc-dual-serial-ports>.status
1455

VIRTUTECH CONFIDENTIAL
Synopsis
<pc-dual-serial-ports>.status
Description
Print detailed information about the current status of the device.

1456

VIRTUTECH CONFIDENTIAL

pc-floppy-controller
Provided by
isa-components
Class Hierarchy
conf-object log-object component pc-floppy-controller
Interfaces Implemented
log_object, component
Description
The pc-floppy-controller component represents a legacy pc floppy controller with
two attached drives.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pc-floppy-controller>.info
Synopsis
<pc-floppy-controller>.info
Description
Print detailed information about the configuration of the device.

1457

VIRTUTECH CONFIDENTIAL

<pc-floppy-controller>.status
Synopsis
<pc-floppy-controller>.status
Description
Print detailed information about the current status of the device.

1458

VIRTUTECH CONFIDENTIAL

pc-quad-serial-ports
Provided by
isa-components
Class Hierarchy
conf-object log-object component pc-quad-serial-ports
Interfaces Implemented
log_object, component
Description
The pc-quad-serial-ports component represents four PC compatible serial ports.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pc-quad-serial-ports>.info
Synopsis
<pc-quad-serial-ports>.info
Description
Print detailed information about the configuration of the device.

<pc-quad-serial-ports>.status
1459

VIRTUTECH CONFIDENTIAL
Synopsis
<pc-quad-serial-ports>.status
Description
Print detailed information about the current status of the device.

1460

VIRTUTECH CONFIDENTIAL

pc-shadow
Provided by
pc-shadow
Class Hierarchy
conf-object log-object pc-shadow
Interfaces Implemented
log_object, translate, io_memory
Description
Virtutech shadow RAM controller for PCs.

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
config_register
Optional attribute; read/write access; type: [i{256}].
Configuration registers.
index
Optional attribute; read/write access; type: Integer.
Index register.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status device status

1461

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pc-shadow>.info
Synopsis
<pc-shadow>.info
Description
Print detailed information about the configuration of the device.

<pc-shadow>.status
Synopsis
<pc-shadow>.status
Description
Print the shadow RAM status for each 2kb region between 640kb and 1Mb.

1462

VIRTUTECH CONFIDENTIAL

pc-single-parallel-port
Provided by
isa-components
Class Hierarchy
conf-object log-object component pc-single-parallel-port
Interfaces Implemented
log_object, component
Description
The pc-single-parallel-port component represents a PC compatible parallel port.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pc-single-parallel-port>.info
Synopsis
<pc-single-parallel-port>.info
Description
Print detailed information about the configuration of the device.

<pc-single-parallel-port>.status
1463

VIRTUTECH CONFIDENTIAL
Synopsis
<pc-single-parallel-port>.status
Description
Print detailed information about the current status of the device.

1464

VIRTUTECH CONFIDENTIAL

PCF8582C
Provided by
PCF8582C
Class Hierarchy
conf-object log-object PCF8582C
Interfaces Implemented
log_object
Description
The PCF8582C class implements the functionality of a Philips 256 x 8 bit CMOS EEPROM with an I2C interface.

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
Required attribute; read/write access; type: Integer.
Address to be used on the I2C bus.
address_bits
Optional attribute; read/write access; type: Integer.
Number of address bits (8 or 16) in the eeprom.
address_mask
Required attribute; read/write access; type: Integer.
Address mask to be used (together with the address attribute) when the device
registers with the bus.
i2c_bus
Required attribute; read/write access; type: Object.
The I2C bus to which ths device is connected.
i2c_state
Optional attribute; read/write access; type: String.
Current I2C state.

1465

VIRTUTECH CONFIDENTIAL
image
Required attribute; read/write access; type: Object.
Image object that will hold the memory contents.
memory_address
Optional attribute; read/write access; type: Integer.
Current memory address.
operation
Optional attribute; read/write access; type: String.
Current operation performed.

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

1466

VIRTUTECH CONFIDENTIAL

PCF8584
Provided by
PCF8584
Class Hierarchy
conf-object log-object PCF8584
Interfaces Implemented
log_object, event_poster, io_memory
Description
The PCF8584 class implements the PCF8584I2C-bus controller.

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
i2c_bus
Required attribute; read/write access; type: Object.
The i2c bus object that this controller is connected to.
interrupt_pin
Optional attribute; read/write access; type: Integer.
External interrupt level.
irq_dev
Optional attribute; read/write access; type: Object.
The interrupt device that the controller is connected to.
irq_issued
Pseudo attribute; write-only access; type: Integer.
Compatibility attribute.
irq_level
Optional attribute; read/write access; type: Integer.
The interrupt level reported to the interrupt device.
registers
Optional attribute; read/write access; type: [iiiiii].
List of internal registers.
1467

VIRTUTECH CONFIDENTIAL
repeated_start
Optional attribute; read/write access; type: Integer.
Internal State
state
Optional attribute; read/write access; type: Integer.
Internal state.

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

1468

VIRTUTECH CONFIDENTIAL

PCF8587
Provided by
PCF8587
Class Hierarchy
conf-object log-object PCF8587
Interfaces Implemented
log_object
Description
This device models the PCF8587, a 256 x 8 bit CMOS EEPROM with i2c bus interface.

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
Required attribute; read/write access; type: unknown type.
Address used on the i2c bus.
address_mask
Required attribute; read/write access; type: unknown type.
Address mask used when registering with the i2c bus.
i2c_bus
Required attribute; read/write access; type: unknown type.
The bus that this device is connected to.

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

1469

VIRTUTECH CONFIDENTIAL

pci-am79c973
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-am79c973
Interfaces Implemented
log_object, component
Description
The pci-am79c973 component represents a AM79C973 PCI based Ethernet adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 BIOS file to use.
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1470

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-am79c973>.info
Synopsis
<pci-am79c973>.info
Description
Print detailed information about the configuration of the device.

<pci-am79c973>.status
Synopsis
<pci-am79c973>.status
Description
Print detailed information about the current status of the device.

1471

VIRTUTECH CONFIDENTIAL

pci-backplane
Provided by
pci-components
Class Hierarchy
conf-object log-object component top-component pci-backplane
Interfaces Implemented
log_object, component
Description
PCI backplane

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pci-backplane>.info
Synopsis
<pci-backplane>.info
Description
Print detailed information about the configuration of the device.
1472

VIRTUTECH CONFIDENTIAL

<pci-backplane>.status
Synopsis
<pci-backplane>.status
Description
Print detailed information about the current status of the device.

1473

VIRTUTECH CONFIDENTIAL

pci-bcm5703c
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-bcm5703c
Interfaces Implemented
log_object, component
Description
The pci-bcm5703c component represents a Broadcom 5703C PCI based gigabit Ethernet adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 BIOS file to use.
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1474

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-bcm5703c>.info
Synopsis
<pci-bcm5703c>.info
Description
Print detailed information about the configuration of the device.

<pci-bcm5703c>.status
Synopsis
<pci-bcm5703c>.status
Description
Print detailed information about the current status of the device.

1475

VIRTUTECH CONFIDENTIAL

pci-bcm5704c
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-bcm5704c
Interfaces Implemented
log_object, component
Description
The pci-bcm5704c component represents a Broadcom 5704C PCI based dual-port
gigabit Ethernet adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 BIOS file to use.
mac_address0
Required attribute; read/write access; type: String.
The MAC address of the first Ethernet adapter.
mac_address1
Required attribute; read/write access; type: String.
The MAC address of the second Ethernet adapter.

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

1476

VIRTUTECH CONFIDENTIAL
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pci-bcm5704c>.info
Synopsis
<pci-bcm5704c>.info
Description
Print detailed information about the configuration of the device.

<pci-bcm5704c>.status
Synopsis
<pci-bcm5704c>.status
Description
Print detailed information about the current status of the device.

1477

VIRTUTECH CONFIDENTIAL

pci-bus
Provided by
pci-bus
Class Hierarchy
conf-object log-object pci-bus
Interfaces Implemented
log_object, snoop_memory, timing_model, pci_bus, io_memory
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.

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
bridge
Required attribute; read/write access; type: Object.
Upstream PCI bridge object, which must implement the pci-bridge interface.
bus_number
Optional attribute; read/write access; type: Integer.
PCI bus number of this bus. In most cases this is 0, but some exceptions exist.
conf_space
Required attribute; read/write access; type: Object.
Memory-space object representing the PCI configuration space.
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.
io_space
Required attribute; read/write access; type: Object.
Memory-space object representing the PCI I/O space.
1478

VIRTUTECH CONFIDENTIAL
memory_space
Required attribute; read/write access; type: Object.
Memory-space object representing the PCI memory space.
pci_devices
Optional attribute; read/write access; type: [[iio]|[iioi]].
((id, function, object)) id is pci device id. function is the pci device logical function.
object is the pci device itself, which must implement the pci-device interface.
send_interrupt_to_bridge
Optional attribute; read/write access; type: Integer.
If non-zero (default), interrupt will be routed to the PCI bridge as well as the
interrupt devices.
sub_bus_number
Optional attribute; read/write access; type: Integer.
Subordinate PCI bus number for this bus.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

Command Descriptions
<pci-bus>.info
Synopsis
<pci-bus>.info
Description
Print detailed information about the configuration of the device.

1479

VIRTUTECH CONFIDENTIAL

pci-dec21041
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-dec21041
Interfaces Implemented
log_object, component
Description
The pci-dec21041 component represents a DEC21041 PCI based fast Ethernet adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 BIOS file to use.
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1480

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-dec21041>.info
Synopsis
<pci-dec21041>.info
Description
Print detailed information about the configuration of the device.

<pci-dec21041>.status
Synopsis
<pci-dec21041>.status
Description
Print detailed information about the current status of the device.

1481

VIRTUTECH CONFIDENTIAL

pci-dec21140a
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-dec21140a
Interfaces Implemented
log_object, component
Description
The pci-dec21140a component represents a DEC21140A PCI based fast Ethernet
adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 BIOS file to use.
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1482

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-dec21140a>.info
Synopsis
<pci-dec21140a>.info
Description
Print detailed information about the configuration of the device.

<pci-dec21140a>.status
Synopsis
<pci-dec21140a>.status
Description
Print detailed information about the current status of the device.

1483

VIRTUTECH CONFIDENTIAL

pci-dec21140a-dml
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-dec21140a-dml
Interfaces Implemented
log_object, component
Description
The pci-dec21140a-dml component represents a DEC21140A PCI based fast Ethernet adapter (modeled in DML).

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1484

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-dec21140a-dml>.info
Synopsis
<pci-dec21140a-dml>.info
Description
Print detailed information about the configuration of the device.

<pci-dec21140a-dml>.status
Synopsis
<pci-dec21140a-dml>.status
Description
Print detailed information about the current status of the device.

1485

VIRTUTECH CONFIDENTIAL

pci-dec21143
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-dec21143
Interfaces Implemented
log_object, component
Description
The pci-dec21143 component represents a DEC21143 PCI based fast Ethernet adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 BIOS file to use.
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1486

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-dec21143>.info
Synopsis
<pci-dec21143>.info
Description
Print detailed information about the configuration of the device.

<pci-dec21143>.status
Synopsis
<pci-dec21143>.status
Description
Print detailed information about the current status of the device.

1487

VIRTUTECH CONFIDENTIAL

pci-i21152
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-i21152
Interfaces Implemented
log_object, component
Description
The pci-i21152 component represents an Intel 21152 transparent PCI-to-PCI bridge.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pci-i21152>.info
Synopsis
<pci-i21152>.info
Description
Print detailed information about the configuration of the device.

<pci-i21152>.status
1488

VIRTUTECH CONFIDENTIAL
Synopsis
<pci-i21152>.status
Description
Print detailed information about the current status of the device.

1489

VIRTUTECH CONFIDENTIAL

pci-i82543gc
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-i82543gc
Interfaces Implemented
log_object, component
Description
The pci-i82543gc component represents an Intel 82543 (Intel PRO) PCI based gigabit
Ethernet adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 BIOS file to use.
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1490

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-i82543gc>.info
Synopsis
<pci-i82543gc>.info
Description
Print detailed information about the configuration of the device.

<pci-i82543gc>.status
Synopsis
<pci-i82543gc>.status
Description
Print detailed information about the current status of the device.

1491

VIRTUTECH CONFIDENTIAL

pci-i82546bg
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-i82546bg
Interfaces Implemented
log_object, component
Description
The pci-i82546bg component represents an Intel 82546 (Intel PRO) PCI based dualport gigabit Ethernet adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 BIOS file to use.
mac_address
Required attribute; read/write access; type: String.
The MAC address of the first Ethernet adapter. The last bit is toggled to get the
address for the second interface.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1492

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-i82546bg>.info
Synopsis
<pci-i82546bg>.info
Description
Print detailed information about the configuration of the device.

<pci-i82546bg>.status
Synopsis
<pci-i82546bg>.status
Description
Print detailed information about the current status of the device.

1493

VIRTUTECH CONFIDENTIAL

pci-isp1040
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-isp1040
Interfaces Implemented
log_object, component
Description
The pci-isp1040 component represents an ISP1040 PCI based SCSI controller.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 SCSI BIOS file to use.
scsi_id
Optional attribute; read/write access; type: Integer.
The ID on the SCSI bus.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1494

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-isp1040>.info
Synopsis
<pci-isp1040>.info
Description
Print detailed information about the configuration of the device.

<pci-isp1040>.status
Synopsis
<pci-isp1040>.status
Description
Print detailed information about the current status of the device.

1495

VIRTUTECH CONFIDENTIAL

pci-isp2200
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-isp2200
Interfaces Implemented
log_object, component
Description
The pci-isp2200 component represents an ISP2200 PCI based Fibre-Channel SCSI
controller.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 SCSI BIOS file to use.
loop_id
Required attribute; read/write access; type: Integer.
The FC loop ID of the ISP2200 Fibre-Channel controller.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1496

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-isp2200>.info
Synopsis
<pci-isp2200>.info
Description
Print detailed information about the configuration of the device.

<pci-isp2200>.status
Synopsis
<pci-isp2200>.status
Description
Print detailed information about the current status of the device.

1497

VIRTUTECH CONFIDENTIAL

pci-pd6729
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-pd6729
Interfaces Implemented
log_object, component
Description
The pci-pd6729 component represents a Cirrus Logic PD6729 PCI-to-PCMCIA (PCCard) Controller with two slots.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pci-pd6729>.info
Synopsis
<pci-pd6729>.info
Description
Print detailed information about the configuration of the device.

1498

VIRTUTECH CONFIDENTIAL

<pci-pd6729>.status
Synopsis
<pci-pd6729>.status
Description
Print detailed information about the current status of the device.

1499

VIRTUTECH CONFIDENTIAL

pci-pmc1553-bc
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-pmc1553-bc
Interfaces Implemented
log_object, component
Description
The pci-pmc1553-bc component represents a PMC-1553PCI based MIL-STD-1553
Bus Controller.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pci-pmc1553-bc>.info
Synopsis
<pci-pmc1553-bc>.info
Description
Print detailed information about the configuration of the device.

1500

VIRTUTECH CONFIDENTIAL

<pci-pmc1553-bc>.status
Synopsis
<pci-pmc1553-bc>.status
Description
Print detailed information about the current status of the device.

1501

VIRTUTECH CONFIDENTIAL

pci-rage-pm-mobility-pci
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-rage-pm-mobility-pci
Interfaces Implemented
log_object, component
Description
The pci-rage-pm-mobility-pci component represents a Rage P/M Mobility PCI based
VGA compatible graphics adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pci-rage-pm-mobility-pci>.info
Synopsis
<pci-rage-pm-mobility-pci>.info
Description
Print detailed information about the configuration of the device.

1502

VIRTUTECH CONFIDENTIAL

<pci-rage-pm-mobility-pci>.status
Synopsis
<pci-rage-pm-mobility-pci>.status
Description
Print detailed information about the current status of the device.

1503

VIRTUTECH CONFIDENTIAL

pci-ragexl
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-ragexl
Interfaces Implemented
log_object, component
Description
The pci-ragexl component represents a Rage XL PCI based VGA compatible graphics adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pci-ragexl>.info
Synopsis
<pci-ragexl>.info
Description
Print detailed information about the configuration of the device.

1504

VIRTUTECH CONFIDENTIAL

<pci-ragexl>.status
Synopsis
<pci-ragexl>.status
Description
Print detailed information about the current status of the device.

1505

VIRTUTECH CONFIDENTIAL

pci-sil680a
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-sil680a
Interfaces Implemented
log_object, component
Description
SIL680a IDE controller

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pci-sil680a>.info
Synopsis
<pci-sil680a>.info
Description
Print detailed information about the configuration of the device.

<pci-sil680a>.status
1506

VIRTUTECH CONFIDENTIAL
Synopsis
<pci-sil680a>.status
Description
Print detailed information about the current status of the device.

1507

VIRTUTECH CONFIDENTIAL

pci-sym53c810
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-sym53c810
Interfaces Implemented
log_object, component
Description
The pci-sym53C810 component represents a SYM53C810PCI based SCSI controller.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 SCSI BIOS file to use.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1508

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-sym53c810>.info
Synopsis
<pci-sym53c810>.info
Description
Print detailed information about the configuration of the device.

<pci-sym53c810>.status
Synopsis
<pci-sym53c810>.status
Description
Print detailed information about the current status of the device.

1509

VIRTUTECH CONFIDENTIAL

pci-sym53c875
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-sym53c875
Interfaces Implemented
log_object, component
Description
The pci-sym53C875 component represents a SYM53C875PCI based SCSI controller.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The x86 SCSI BIOS file to use.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1510

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-sym53c875>.info
Synopsis
<pci-sym53c875>.info
Description
Print detailed information about the configuration of the device.

<pci-sym53c875>.status
Synopsis
<pci-sym53c875>.status
Description
Print detailed information about the current status of the device.

1511

VIRTUTECH CONFIDENTIAL

pci-sym53c876
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-sym53c876
Interfaces Implemented
log_object, component
Description
The pci-sym53C876 component represents a SYM53C876PCI based dual-port SCSI
controller.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pci-sym53c876>.info
Synopsis
<pci-sym53c876>.info
Description
Print detailed information about the configuration of the device.

1512

VIRTUTECH CONFIDENTIAL

<pci-sym53c876>.status
Synopsis
<pci-sym53c876>.status
Description
Print detailed information about the current status of the device.

1513

VIRTUTECH CONFIDENTIAL

pci-vga
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-vga
Interfaces Implemented
log_object, component
Description
The pci-vga component represents a PCI based VGA compatible graphics adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Optional attribute; read/write access; type: String.
The VGA BIOS file to use.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1514

VIRTUTECH CONFIDENTIAL

Command Descriptions
<pci-vga>.info
Synopsis
<pci-vga>.info
Description
Print detailed information about the configuration of the device.

<pci-vga>.status
Synopsis
<pci-vga>.status
Description
Print detailed information about the current status of the device.

1515

VIRTUTECH CONFIDENTIAL

pci-voodoo3
Provided by
pci-components
Class Hierarchy
conf-object log-object component pci-voodoo3
Interfaces Implemented
log_object, component
Description
The pci-voodoo3 component represents a 3dfx Voodoo3 PCI based VGA compatible
graphics adapter.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pci-voodoo3>.info
Synopsis
<pci-voodoo3>.info
Description
Print detailed information about the configuration of the device.

1516

VIRTUTECH CONFIDENTIAL

<pci-voodoo3>.status
Synopsis
<pci-voodoo3>.status
Description
Print detailed information about the current status of the device.

1517

VIRTUTECH CONFIDENTIAL

PCI0646
Provided by
PCI0646
Class Hierarchy
conf-object log-object PCI0646
Interfaces Implemented
log_object, io_memory, pci_device, simple_interrupt
Description
This device is included in the 164LX model, and is really a dummy device as no IDE
operations are supported yet.

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
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.
primary_ide
Optional attribute; read/write access; type: unknown type.
Primary ide drive, must implement the ide-dma interface.
secondary_ide
Optional attribute; read/write access; type: unknown type.
Secondary ide drive, must implement the ide-dma interface.

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

1518

VIRTUTECH CONFIDENTIAL

pcie-pex8524
Provided by
pci-components
Class Hierarchy
conf-object log-object component pcie-pex8524
Interfaces Implemented
log_object, component
Description
PEX8524 PCI Express switch

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
nt_port_number
Optional attribute; read/write access; type: Integer.
Port number of NT-port. If not specified, no NT-port will be created. This is the
default.
ports
Optional attribute; read/write access; type: String.
List of port numbers that should be available. The default is 0 1 8 9 10 11
up_port_number
Optional attribute; read/write access; type: Integer.
Port number of up-port. The default is 0.

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

1519

VIRTUTECH CONFIDENTIAL
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pcie-pex8524>.info
Synopsis
<pcie-pex8524>.info
Description
Print detailed information about the configuration of the device.

<pcie-pex8524>.status
Synopsis
<pcie-pex8524>.status
Description
Print detailed information about the current status of the device.

1520

VIRTUTECH CONFIDENTIAL

pcie-switch
Provided by
pcie-switch
Class Hierarchy
conf-object log-object pcie-switch
Interfaces Implemented
log_object, snoop_memory, timing_model, pci_bus, pci_express, io_memory
Description
The pcie-switch 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.

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
bridge
Required attribute; read/write access; type: Object.
Upstream PCI bridge object, which must implement the pci-bridge interface.
bus_number
Optional attribute; read/write access; type: Integer.
PCI bus number of this bus. In most cases this is 0, but some exceptions exist.
conf_space
Required attribute; read/write access; type: Object.
Memory-space object representing the PCI configuration space.
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.
io_space
Required attribute; read/write access; type: Object.
Memory-space object representing the PCI I/O space.
1521

VIRTUTECH CONFIDENTIAL
memory_space
Required attribute; read/write access; type: Object.
Memory-space object representing the PCI memory space.
pci_devices
Optional attribute; read/write access; type: [[iio]|[iioi]].
((id, function, object)) id is pci device id. function is the pci device logical function.
object is the pci device itself, which must implement the pci-device interface.
send_interrupt_to_bridge
Optional attribute; read/write access; type: Integer.
If non-zero (default), interrupt will be routed to the PCI bridge as well as the
interrupt devices.
sub_bus_number
Optional attribute; read/write access; type: Integer.
Subordinate PCI bus number for this bus.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

Command Descriptions
<pcie-switch>.info
Synopsis
<pcie-switch>.info
Description
Print detailed information about the configuration of the device.

1522

VIRTUTECH CONFIDENTIAL

pentium-4-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component pentium-4-cpu
Interfaces Implemented
log_object, component
Description
The pentium-4-cpu component represents an Intel Pentium 4 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

1523

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pentium-4-cpu>.info
Synopsis
<pentium-4-cpu>.info
Description
Print detailed information about the configuration of the device.

<pentium-4-cpu>.status
Synopsis
<pentium-4-cpu>.status
Description
Print detailed information about the current status of the device.

1524

VIRTUTECH CONFIDENTIAL

pentium-4e-2ht-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component pentium-4e-2ht-cpu
Interfaces Implemented
log_object, component
Description
The pentium-4e-2ht-cpu component represents an Intel 64-bit Pentium 4E processor,
with 2 hyper threads.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

1525

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pentium-4e-2ht-cpu>.info
Synopsis
<pentium-4e-2ht-cpu>.info
Description
Print detailed information about the configuration of the device.

<pentium-4e-2ht-cpu>.status
Synopsis
<pentium-4e-2ht-cpu>.status
Description
Print detailed information about the current status of the device.

1526

VIRTUTECH CONFIDENTIAL

pentium-4e-4ht-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component pentium-4e-4ht-cpu
Interfaces Implemented
log_object, component
Description
The pentium-4e-4ht-cpu component represents an Intel 64-bit Pentium 4E processor,
with 4 hyper threads.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

1527

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pentium-4e-4ht-cpu>.info
Synopsis
<pentium-4e-4ht-cpu>.info
Description
Print detailed information about the configuration of the device.

<pentium-4e-4ht-cpu>.status
Synopsis
<pentium-4e-4ht-cpu>.status
Description
Print detailed information about the current status of the device.

1528

VIRTUTECH CONFIDENTIAL

pentium-4e-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component pentium-4e-cpu
Interfaces Implemented
log_object, component
Description
The pentium-4e-cpu component represents an Intel 64-bit Pentium 4E 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

1529

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pentium-4e-cpu>.info
Synopsis
<pentium-4e-cpu>.info
Description
Print detailed information about the configuration of the device.

<pentium-4e-cpu>.status
Synopsis
<pentium-4e-cpu>.status
Description
Print detailed information about the current status of the device.

1530

VIRTUTECH CONFIDENTIAL

pentium-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component pentium-cpu
Interfaces Implemented
log_object, component
Description
The pentium-cpu component represents an Intel Pentium 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

1531

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pentium-cpu>.info
Synopsis
<pentium-cpu>.info
Description
Print detailed information about the configuration of the device.

<pentium-cpu>.status
Synopsis
<pentium-cpu>.status
Description
Print detailed information about the current status of the device.

1532

VIRTUTECH CONFIDENTIAL

pentium-ii-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component pentium-ii-cpu
Interfaces Implemented
log_object, component
Description
The pentium-ii-cpu component represents an Intel Pentium II 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

1533

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pentium-ii-cpu>.info
Synopsis
<pentium-ii-cpu>.info
Description
Print detailed information about the configuration of the device.

<pentium-ii-cpu>.status
Synopsis
<pentium-ii-cpu>.status
Description
Print detailed information about the current status of the device.

1534

VIRTUTECH CONFIDENTIAL

pentium-iii-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component pentium-iii-cpu
Interfaces Implemented
log_object, component
Description
The pentium-iii-cpu component represents an Intel Pentium III 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

1535

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pentium-iii-cpu>.info
Synopsis
<pentium-iii-cpu>.info
Description
Print detailed information about the configuration of the device.

<pentium-iii-cpu>.status
Synopsis
<pentium-iii-cpu>.status
Description
Print detailed information about the current status of the device.

1536

VIRTUTECH CONFIDENTIAL

pentium-m-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component pentium-m-cpu
Interfaces Implemented
log_object, component
Description
The pentium-m-cpu component represents an Intel Pentium M 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

1537

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pentium-m-cpu>.info
Synopsis
<pentium-m-cpu>.info
Description
Print detailed information about the configuration of the device.

<pentium-m-cpu>.status
Synopsis
<pentium-m-cpu>.status
Description
Print detailed information about the current status of the device.

1538

VIRTUTECH CONFIDENTIAL

pentium-mmx-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component pentium-mmx-cpu
Interfaces Implemented
log_object, component
Description
The pentium-mmx-cpu component represents an Intel Pentium MMX 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

1539

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pentium-mmx-cpu>.info
Synopsis
<pentium-mmx-cpu>.info
Description
Print detailed information about the configuration of the device.

<pentium-mmx-cpu>.status
Synopsis
<pentium-mmx-cpu>.status
Description
Print detailed information about the current status of the device.

1540

VIRTUTECH CONFIDENTIAL

pentium-pro-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component pentium-pro-cpu
Interfaces Implemented
log_object, component
Description
The pentium-pro-cpu component represents an Intel Pentium Pro (P6) 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

1541

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pentium-pro-cpu>.info
Synopsis
<pentium-pro-cpu>.info
Description
Print detailed information about the configuration of the device.

<pentium-pro-cpu>.status
Synopsis
<pentium-pro-cpu>.status
Description
Print detailed information about the current status of the device.

1542

VIRTUTECH CONFIDENTIAL

perfanalyze
Provided by
symtable
Class Hierarchy
conf-object log-object perfanalyze
Interfaces Implemented
log_object, timing_model, cache_miss
Description
The perfanalyze module can be used to analyze cache behavior.

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
ignore_ready_packet
Pseudo attribute; read/write access; type: unknown type.
Ignore ready packet.
memory
Required attribute; read/write access; type: unknown type.
Memory space from which VTMEM_INFORM packets are read.
module_path_prefix_add
Required attribute; read/write access; type: unknown type.
Prefix added to module filenames after the remove prefix has been removed.
module_path_prefix_remove
Required attribute; read/write access; type: unknown type.
Prefix removed from module filenames.
print_stats
Pseudo attribute; read/write access; type: i|s|f|d|o|n.
Writing this attribute will print lots of stats on stdout.
processor_class
Required attribute; read/write access; type: unknown type.
Processor class.
1543

VIRTUTECH CONFIDENTIAL

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

1544

VIRTUTECH CONFIDENTIAL

perfanalyze-client
Provided by
perfanalyze-client
Class Hierarchy
conf-object perfanalyze-client
Interfaces Implemented
None
Description
Internal analysis class.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
memory_usage
Pseudo class attribute; read-only access; type: unknown type.
Internal.

1545

VIRTUTECH CONFIDENTIAL

persistent-ram
Provided by
Simics Core
Class Hierarchy
conf-object log-object persistent-ram
Interfaces Implemented
log_object, ram
Description
Persistent random access memory.

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
image
Required attribute; read/write access; type: Object.
Object holding data. Must implement the image interface.
lock_granularity
Optional attribute; read/write access; type: Integer.
In MAI atomic instructions lock a ram region when they execute. This is the
granularity of such region. Must be a power of 2. 0 means no locking. 8 is
default.
mapped_size
Pseudo attribute; read-only access; type: Integer.
size of underlying image
tags
Optional attribute; read/write access; type: Object or Nil.
Auxiliary data contents, as an image, or Nil.

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

1546

VIRTUTECH CONFIDENTIAL

phy-mii-transceiver
Provided by
phy-components
Class Hierarchy
conf-object log-object component phy-mii-transceiver
Interfaces Implemented
log_object, component
Description
PHY component representing a general MII transceiver

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
mii_address
Optional attribute; read/write access; type: Integer.
PHY address on MII bus
phy_id
Optional attribute; read/write access; type: Integer.
PHY ID

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1547

VIRTUTECH CONFIDENTIAL

Command Descriptions
<phy-mii-transceiver>.info
Synopsis
<phy-mii-transceiver>.info
Description
Print detailed information about the configuration of the device.

<phy-mii-transceiver>.status
Synopsis
<phy-mii-transceiver>.status
Description
Print detailed information about the current status of the device.

1548

VIRTUTECH CONFIDENTIAL

piix4_ide
Provided by
piix4
Class Hierarchy
conf-object log-object piix4_ide
Interfaces Implemented
log_object, io_memory, pci_device
Description
Bus master IDE function from the PIIX4 part of the 440BX chipset.

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
bmidea
Optional attribute; read/write access; type: unknown type.
(i0, i1) The bmidea registers
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
dma_active
Optional attribute; read/write access; type: unknown type.
(i0, i1) The dma-active registers
dma_error
Optional attribute; read/write access; type: unknown type.
(i0, i1) The dma-error registers
dmacap0
Optional attribute; read/write access; type: unknown type.
(i0, i1) The dmacap[0] registers

1549

VIRTUTECH CONFIDENTIAL
dmacap1
Optional attribute; read/write access; type: unknown type.
(i0, i1) The dmacap[1] registers
dtba
Optional attribute; read/write access; type: unknown type.
(i0, i1) The dtba registers
ideints
Optional attribute; read/write access; type: unknown type.
(i0, i1) The ideints registers
ignore_demap
Optional attribute; read/write access; type: Integer.
Temporary attribute to workaround problem with Solaris.
memory
Required attribute; read/write access; type: unknown type.
The physical memory (for DMA), implementing the lookup interface.
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.
primary_ide
Optional attribute; read/write access; type: unknown type.
Primary ide device (for DMA), implementing the ide-dma interface.
rwcon
Optional attribute; read/write access; type: unknown type.
(i0, i1) The rwcon registers
secondary_ide
Optional attribute; read/write access; type: unknown type.
Secondary ide device (for DMA), implementing the ide-dma interface.
ssbm
Optional attribute; read/write access; type: unknown type.
(i0, i1) The ssbm registers

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

1550

VIRTUTECH CONFIDENTIAL
Commands
info
print information about the device
status print status of the device

Command Descriptions
<piix4_ide>.info
Synopsis
<piix4_ide>.info
Description
Print detailed information about the configuration of the device.

<piix4_ide>.status
Synopsis
<piix4_ide>.status
Description
Print detailed information about the current status of the device.

1551

VIRTUTECH CONFIDENTIAL

piix4_isa
Provided by
piix4
Class Hierarchy
conf-object log-object piix4_isa
Interfaces Implemented
log_object, pci_interrupt, io_memory, pci_device
Description
PCI-to-ISA bridge from the 440BX chipset. The legacy ISA devices are not modeled by
this device (use the standard ISA versions).

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
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
irq_dev
Required attribute; read/write access; type: unknown type.
Device to send IRQ to, implementing simple-interrupt.
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.
pirq_active
Optional attribute; read/write access; type: [[o]{4}].
Mapping from PCI interrupt to native ISA interrupt.
pirqrca
Optional attribute; read/write access; type: unknown type.
Mapping from PCI interrupt to native ISA interrupt.
1552

VIRTUTECH CONFIDENTIAL
pirqrcb
Optional attribute; read/write access; type: unknown type.
Mapping from PCI interrupt to native ISA interrupt.
pirqrcc
Optional attribute; read/write access; type: unknown type.
Mapping from PCI interrupt to native ISA interrupt.
pirqrcd
Optional attribute; read/write access; type: unknown type.
Mapping from PCI interrupt to native ISA interrupt.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<piix4_isa>.info
Synopsis
<piix4_isa>.info
Description
Print detailed information about the configuration of the device.

<piix4_isa>.status
Synopsis
<piix4_isa>.status
Description
Print detailed information about the current status of the device.

1553

VIRTUTECH CONFIDENTIAL

piix4_power
Provided by
piix4
Class Hierarchy
conf-object log-object piix4_power
Interfaces Implemented
log_object, event_poster, io_memory, pci_device
Description
This device emulates the power management function in the 440BX chipset.

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
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
devctl
Optional attribute; read/write access; type: unknown type.
DEVCTL register
devsts
Optional attribute; read/write access; type: unknown type.
DEVSTS register
glbctl
Optional attribute; read/write access; type: unknown type.
GLBCTL register
glben
Optional attribute; read/write access; type: unknown type.
GLBEN register

1554

VIRTUTECH CONFIDENTIAL
glbsts
Optional attribute; read/write access; type: unknown type.
GLBSTS register
gpen
Optional attribute; read/write access; type: unknown type.
GPEN register
gpsts
Optional attribute; read/write access; type: unknown type.
GPSTS register
last_zero_time
Optional attribute; read/write access; type: unknown type.
Last time (in seconds from simulation start) the PMTMR register was zero.
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.
pcntrl
Optional attribute; read/write access; type: unknown type.
PCNTRL register
pmcntrl
Optional attribute; read/write access; type: unknown type.
PMCNTRL register
pmen
Optional attribute; read/write access; type: unknown type.
PMEN register
pmsts
Optional attribute; read/write access; type: unknown type.
PMSTS register
sci_interrupt_pin
Optional attribute; read/write access; type: unknown type.
SCI interrupt request status.
sci_irq_dev
Required attribute; read/write access; type: unknown type.
The interrupt device to which the SCI interrupt line is connected.
sci_irq_level
Required attribute; read/write access; type: unknown type.
SCI IRQ number.
1555

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<piix4_power>.info
Synopsis
<piix4_power>.info
Description
Print detailed information about the configuration of the device.

<piix4_power>.status
Synopsis
<piix4_power>.status
Description
Print detailed information about the current status of the device.

1556

VIRTUTECH CONFIDENTIAL

piix4_usb
Provided by
piix4
Class Hierarchy
conf-object log-object piix4_usb
Interfaces Implemented
log_object, io_memory, pci_device, event_poster
Description
USB controller from the 440BX chipset.

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
config_registers
Pseudo attribute; read/write access; type: [i].
The PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: Object or Nil.
Undocumented
frame_list_polling_enabled
Optional attribute; read/write access; type: Integer.
Poll the frame list in 1ms intervals.
frame_list_polling_interval
Optional attribute; read/write access; type: Float.
The frame list polling interval in seconds, default is 0.001.
frame_list_rescan
Pseudo attribute; read/write access; type: Integer.
Force the USB host to rescan all frame descriptors to find new transfers.
last_frame_update
Optional attribute; read/write access; type: Float.
Time for last frame update.
1557

VIRTUTECH CONFIDENTIAL
pci_bus
Required attribute; read/write access; type: Object.
The PCI bus this device is connected to, implementing the pci-bus interface.
pci_config_base_address_0
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_0
pci_config_base_address_1
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_1
pci_config_base_address_2
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_2
pci_config_base_address_3
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_3
pci_config_base_address_5
Optional attribute; read/write access; type: Integer.
register pci_config.base_address_5
pci_config_bist
Optional attribute; read/write access; type: Integer.
register pci_config.bist
pci_config_bus_address
Pseudo attribute; read/write access; type: Integer.
register pci_config.bus_address
pci_config_cache_line_size
Optional attribute; read/write access; type: Integer.
register pci_config.cache_line_size
pci_config_capabilities_ptr
Optional attribute; read/write access; type: Integer.
register pci_config.capabilities_ptr
pci_config_cardbus_cis_ptr
Optional attribute; read/write access; type: Integer.
register pci_config.cardbus_cis_ptr
pci_config_class_code
Optional attribute; read/write access; type: Integer.
register pci_config.class_code
1558

VIRTUTECH CONFIDENTIAL
pci_config_command
Optional attribute; read/write access; type: Integer.
The PCI command register.
pci_config_device_id
Optional attribute; read/write access; type: Integer.
The Device ID of the PCI device
pci_config_expansion_rom_base
Pseudo attribute; read/write access; type: Integer.
Expansion ROM base address
pci_config_header_type
Optional attribute; read/write access; type: Integer.
register pci_config.header_type
pci_config_interrupt_line
Optional attribute; read/write access; type: Integer.
register pci_config.interrupt_line
pci_config_interrupt_pin
Optional attribute; read/write access; type: Integer.
register pci_config.interrupt_pin
pci_config_interrupts
Optional attribute; read/write access; type: Integer.
register pci_config.interrupts
pci_config_latency_timer
Optional attribute; read/write access; type: Integer.
register pci_config.latency_timer
pci_config_max_lat
Optional attribute; read/write access; type: Integer.
register pci_config.max_lat
pci_config_min_gnt
Optional attribute; read/write access; type: Integer.
register pci_config.min_gnt
pci_config_reserved1
Optional attribute; read/write access; type: Integer.
register pci_config.reserved1
pci_config_reserved2
Optional attribute; read/write access; type: Integer.
register pci_config.reserved2
1559

VIRTUTECH CONFIDENTIAL
pci_config_revision_id
Optional attribute; read/write access; type: Integer.
register pci_config.revision_id
pci_config_status
Optional attribute; read/write access; type: Integer.
register pci_config.status
pci_config_subsystem_id
Optional attribute; read/write access; type: Integer.
register pci_config.subsystem_id
pci_config_subsystem_vendor_id
Optional attribute; read/write access; type: Integer.
register pci_config.subsystem_vendor_id
pci_config_usb_legkey
Optional attribute; read/write access; type: Integer.
register pci_config.usb_legkey
pci_config_usb_relnum
Optional attribute; read/write access; type: Integer.
register pci_config.usb_relnum
pci_config_usbbase
Optional attribute; read/write access; type: Integer.
register pci_config.usbbase
pci_config_vendor_id
Optional attribute; read/write access; type: Integer.
The Vendor ID of the PCI device
usb_ctrl_addr
Optional attribute; read/write access; type: [i{2}].
register usb_ctrl.addr[$i]
usb_ctrl_pipe_state
Optional attribute; read/write access; type: [i{14}].
register usb_ctrl.pipe_state[$i]
usb_ctrl_speed
Optional attribute; read/write access; type: [i{2}].
register usb_ctrl.speed[$i]
usb_devices
Optional attribute; read/write access; type: [o|n{2}].
Internal, should not be used directly.
1560

VIRTUTECH CONFIDENTIAL
usb_regs_frame_list_base_address
Optional attribute; read/write access; type: Integer.
register usb_regs.frame_list_base_address
usb_regs_frame_number
Optional attribute; read/write access; type: Integer.
register usb_regs.frame_number
usb_regs_port_status_control
Optional attribute; read/write access; type: [i{2}].
register usb_regs.port_status_control[$i]
usb_regs_start_of_frame_modify
Optional attribute; read/write access; type: Integer.
register usb_regs.start_of_frame_modify
usb_regs_unused_port
Optional attribute; read/write access; type: [i{6}].
register usb_regs.unused_port[$i]
usb_regs_usb_command
Optional attribute; read/write access; type: Integer.
register usb_regs.usb_command
usb_regs_usb_interrupt_enable
Optional attribute; read/write access; type: Integer.
register usb_regs.usb_interrupt_enable
usb_regs_usb_status
Optional attribute; read/write access; type: Integer.
register usb_regs.usb_status

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1561

VIRTUTECH CONFIDENTIAL

Command Descriptions
<piix4_usb>.info
Synopsis
<piix4_usb>.info
Description
Print detailed information about the configuration of the device.

<piix4_usb>.status
Synopsis
<piix4_usb>.status
Description
Print detailed information about the current status of the device.

1562

VIRTUTECH CONFIDENTIAL

piix4_usb_dummy
Provided by
piix4
Class Hierarchy
conf-object log-object piix4_usb_dummy
Interfaces Implemented
log_object, io_memory, pci_device
Description
USB controller from the 440BX chipset.

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
command
Optional attribute; read/write access; type: unknown type.
Command register
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
frame_list_base_address
Optional attribute; read/write access; type: unknown type.
Frame list base address register
frame_number
Optional attribute; read/write access; type: unknown type.
Frame number register
interrupt_enable
Optional attribute; read/write access; type: unknown type.
Interrupt enable register

1563

VIRTUTECH CONFIDENTIAL
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.
port_status_control_0
Optional attribute; read/write access; type: unknown type.
Port Status Control 0
port_status_control_1
Optional attribute; read/write access; type: unknown type.
Port Status Control 1
sof_modify
Optional attribute; read/write access; type: unknown type.
SOF modify register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print status of the device

Command Descriptions
<piix4_usb_dummy>.status
Synopsis
<piix4_usb_dummy>.status
Description
Print detailed information about the current status of the device.

1564

VIRTUTECH CONFIDENTIAL

pmppc-board
Provided by
pmppc-components
Class Hierarchy
conf-object log-object component top-component pmppc-board
Interfaces Implemented
log_object, component
Description
TODO:

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_class
Required attribute; read/write access; type: String.
Processor type, PowerPC processor to use.
cpu_frequency
Required attribute; read/write access; type: Float.
Processor frequency in MHz.
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.
rtc_time
Required attribute; read/write access; type: String.
The data and time of the Real-Time clock.

1565

VIRTUTECH CONFIDENTIAL
timebase_frequency
Required attribute; read/write access; type: Float.
Time-base frequency in MHz.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<pmppc-board>.info
Synopsis
<pmppc-board>.info
Description
Print detailed information about the configuration of the device.

<pmppc-board>.status
Synopsis
<pmppc-board>.status
Description
Print detailed information about the current status of the device.

1566

VIRTUTECH CONFIDENTIAL

port-forward-incoming-server
Provided by
service-node
Class Hierarchy
conf-object log-object port-forward-incoming-server
Interfaces Implemented
log_object
Description
Port forwarding TCP service. Handles connections initiated external to Simics wanting access to the simulated environment.

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
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.
connections
Optional attribute; read/write access; type: [[sisi]].
((protocol, in_port, forward_ip, forward_port)). Sets up port forwarding listening to port in_host on the host machine and forwarding to port forward_port on
ip forward_ip within the simulated environment. Protocol must be either tcp or
udp.
tcp
Required attribute; read/write access; type: Object.
TCP layer. Must implement the tcp interface.
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.
1567

VIRTUTECH CONFIDENTIAL
udp
Required attribute; read/write access; type: Object.
UDP layer. Must implement the udp interface.

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

1568

VIRTUTECH CONFIDENTIAL

port-forward-outgoing-server
Provided by
service-node
Class Hierarchy
conf-object log-object port-forward-outgoing-server
Interfaces Implemented
log_object
Description
Port forwarding service. Handled connections originating from inside the simulated
environment.

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
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.
connections
Optional attribute; read/write access; type: [[si]|[sissi]].
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.
tcp
Required attribute; read/write access; type: Object.
TCP layer. Must implement the tcp interface.
udp
Required attribute; read/write access; type: Object.
UDP layer. Must implement the udp interface.
1569

VIRTUTECH CONFIDENTIAL

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

1570

VIRTUTECH CONFIDENTIAL

port-space
Provided by
Simics Core
Class Hierarchy
conf-object log-object port-space
Interfaces Implemented
log_object, map_demap, 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.

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
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.
map
Optional attribute; read/write access; type: [[ioiii]].
((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.
1571

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
add-map
del-map
info
map

map device in a port-space


remove device map from a port-space
print information about the device
list port map

Command Descriptions
<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 indentified by a device specific function number. The
mapping may specify an offset into the devices memory space, using the offset argument.
See Also
<port-space>.map, <port-space>.del-map

<port-space>.del-map
Synopsis
<port-space>.del-map device [function]
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.
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 device.

1572

VIRTUTECH CONFIDENTIAL

<port-space>.map
Synopsis
<port-space>.map
Description
Prints the port map of the port space object, one line per entry in the map attribute of
the port space. The base column is the starting address of the map. The object column
contains the object mapped at that address. fn is the function number and offs is the
offset for the object. length is the number of bytes mapped.
See Also
<port-space>.add-map, <port-space>.del-map

1573

VIRTUTECH CONFIDENTIAL

ppc-broadcast-bus
Provided by
ppc-broadcast-bus
Class Hierarchy
conf-object log-object ppc-broadcast-bus
Interfaces Implemented
log_object
Description
The ppc-broadcast-bus device implements the cpu-group interface. It is used to broadcast various invalidation operations, such as TLB invalidations and reservation address invalidations

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
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 interface
last_timebase
Optional attribute; read/write access; type: Integer.
Time at which a cpu last read the timebase.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

1574

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ppc-broadcast-bus>.info
Synopsis
<ppc-broadcast-bus>.info
Description
Print detailed information about the configuration of the device.

1575

VIRTUTECH CONFIDENTIAL

ppc-of
Provided by
ppc-of
Class Hierarchy
conf-object log-object ppc-of
Interfaces Implemented
log_object
Description
A simple Open Firmware implementation for Simics.

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
boot_info
Pseudo attribute; write-only access; type: [iii].
Setup boot-info, [boot-info-address, initrd-base-address, initrd-size]
cpu
Required attribute; read/write access; type: Object.
The CPU in the configuration.
entry_point
Required attribute; read/write access; type: Integer.
The OpenFirmware entry-point.
instances
Optional attribute; read/write access; type: [[iis]].
Internal, do not change.
map_offset
Optional attribute; read/write access; type: Integer.
Base address for device mappings
memory_megs
Required attribute; read/write access; type: Integer.
The amount of memory in MB.
1576

VIRTUTECH CONFIDENTIAL
next_ihandle
Optional attribute; read/write access; type: Integer.
Internal, do not change.
rtas_breakpoint
Optional attribute; read/write access; type: [iii].
Internal, do not change.
time_of_day
Optional attribute; read/write access; type: String.
Time of day that will be returned by the RTAS function get_time_of_day

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<ppc-of>.info
Synopsis
<ppc-of>.info
Description
Print detailed information about the configuration of the device.

<ppc-of>.status
Synopsis
<ppc-of>.status
Description
Print detailed information about the current status of the device.

1577

VIRTUTECH CONFIDENTIAL

ppc-simple
Provided by
ppc-simple-components
Class Hierarchy
conf-object log-object component top-component ppc-simple
Interfaces Implemented
log_object, component
Description
A simple system containing a single PPC processor, some memory and a serial device.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_class
Required attribute; read/write access; type: String.
Processor type, PowerPC processor to use.
cpu_frequency
Required attribute; read/write access; type: Float.
Processor frequency in MHz.
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes.

1578

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<ppc-simple>.info
Synopsis
<ppc-simple>.info
Description
Print detailed information about the configuration of the device.

<ppc-simple>.status
Synopsis
<ppc-simple>.status
Description
Print detailed information about the current status of the device.

1579

VIRTUTECH CONFIDENTIAL

ppc32-linux-process-tracker
Provided by
ppc32-linux-process-tracker
Class Hierarchy
conf-object log-object ppc32-linux-process-tracker
Interfaces Implemented
log_object, tracker_unix, tracker_settings, tracker
Description

Process tracker for Linux on ppc32. Note: This process tracker has been superseded by the generic l

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
per_cpu_state
Optional attribute; read/write access; type: [[o[a]]].
Per-processor state that has to be maintained by the process tracker.
pid_offset
Session attribute; read/write access; type: Integer.
Offset (in bytes) of the pid in the task_struct struct. This can be found by disassembling the kernels getpid syscall.
processors
Session attribute; read/write access; type: [o].
Processors whose modes are being tracked.
thread_offset
Session attribute; read/write access; type: Integer.
Offset (in bytes) of the thread struct in the task_struct struct. This can be found
by disassembling the transfer_to_handler kernel function.

1580

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface tracker
activate, add-processor, deactivate, remove-processor
Commands
status print status of the device

Command Descriptions
<ppc32-linux-process-tracker>.status
Synopsis
<ppc32-linux-process-tracker>.status
Description
Print detailed information about the current status of the device.

1581

VIRTUTECH CONFIDENTIAL

ppc405gp
Provided by
ppc405gp, ppc405gp-turbo
Class Hierarchy
conf-object log-object ppc405gp
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc405gp processor simulation

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.
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 (ppc32)
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null mode)
1582

VIRTUTECH CONFIDENTIAL
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.
ccr0
Optional attribute; read/write access; type: Integer.
Core Configuration register 0
chip_reset_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the chip reset signal. The object should implement the signal
interface.
core_reset_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the core reset signal. The object should implement the signal
interface.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
cycle_fractions
Optional attribute; read/write access; type: Integer.
Modeling parameter related to processor scheduling.

1583

VIRTUTECH CONFIDENTIAL
cycles
Optional attribute; read/write access; type: Integer.
Time measured in cycles from machine start.
dac1
Optional attribute; read/write access; type: Integer.
Data Address Compare 1
dac2
Optional attribute; read/write access; type: Integer.
Data Address Compare 2
dbcr0
Optional attribute; read/write access; type: Integer.
Debug Control register 0
dbcr1
Optional attribute; read/write access; type: Integer.
Debug Control register 1
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
dbsr
Optional attribute; read/write access; type: Integer.
Debug Status register
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dccr
Optional attribute; read/write access; type: Integer.
Data Cache Cacheability
dcr_space
Required attribute; read/write access; type: Object.
Device control register space mappings
dcwr
Optional attribute; read/write access; type: Integer.
Data Cache Write-through
dear
Optional attribute; read/write access; type: Integer.
Data exception address
1584

VIRTUTECH CONFIDENTIAL
disable_watchdog_reboots
Optional attribute; read/write access; type: Integer.
(temporary) Disable reboot feature when watchdog triggers
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.
dvc1
Optional attribute; read/write access; type: Integer.
Data Value Compare 1
dvc2
Optional attribute; read/write access; type: Integer.
Data Value Compare 2
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.
esr
Optional attribute; read/write access; type: Integer.
Exception syndrome Register
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).
evpr
Optional attribute; read/write access; type: Integer.
Exception vector prefix reg
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
1585

VIRTUTECH CONFIDENTIAL
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
iac1
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 1
iac2
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 2
iac3
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 3
iac4
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 4
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
iccr
Optional attribute; read/write access; type: Integer.
Instruction Cache Cacheability
icdbr
Optional attribute; read/write access; type: Integer.
Instruction Cache Debug Data reg
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze 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
is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
1586

VIRTUTECH CONFIDENTIAL
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions
lr
Optional attribute; read/write access; type: Integer.
Link register
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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_real_region
Optional attribute; read/write access; type: [i,i].
(address, mask) Specifies a region for identity address translation.
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
1587

VIRTUTECH CONFIDENTIAL
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pid
Optional attribute; read/write access; type: Integer.
Process ID
pit
Optional attribute; read/write access; type: Integer.
Programmable Interval Timer
pit_reload_value
Optional attribute; read/write access; type: Integer.
PIT auto-reload value. (Last value written via mtspr to PIT)
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.
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
1588

VIRTUTECH CONFIDENTIAL
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
sgr
Optional attribute; read/write access; type: Integer.
Storage Guarded Register
sler
Optional attribute; read/write access; type: Integer.
Storage Little-endian Register
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg4
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg5
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg6
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg7
Optional attribute; read/write access; type: Integer.
Provided for OS use
1589

VIRTUTECH CONFIDENTIAL
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
srr2
Optional attribute; read/write access; type: Integer.
Machine save/restore register 2
srr3
Optional attribute; read/write access; type: Integer.
Machine save/restore register 3
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.
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
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.

1590

VIRTUTECH CONFIDENTIAL
steps
Optional attribute; read/write access; type: Integer.
Number steps executed since machine start.
su0r
Optional attribute; read/write access; type: Integer.
Storage User defined 0 Register
system_reset_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the system reset signal. The object should implement the signal interface.
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
tcr
Optional attribute; read/write access; type: Integer.
Timer Control register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
1591

VIRTUTECH CONFIDENTIAL
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
tsr
Optional attribute; read/write access; type: Integer.
Timer Status register
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.
1592

VIRTUTECH CONFIDENTIAL
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.

1593

VIRTUTECH CONFIDENTIAL
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.
usprg0
Optional attribute; read/write access; type: Integer.
User general register 0
utlb
Optional attribute; read/write access; type: [[i,i]].
(((tlbhi0, tlblo0),(tlbhi1, tlblo1)). . . ..) Unified TLB
watchdog_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the watchdog signal. The object should implement the signal
interface.
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register
zpr
Optional attribute; read/write access; type: Integer.
Zone Protection register

1594

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
Commands
print-utlb
temperature

print unified tlb contents


set or query the temperature of the processor

Command Descriptions
<ppc405gp>.print-utlb
Synopsis
<ppc405gp>.print-utlb
Description
Prints the contents of the unified TLB of the processor.

<ppc405gp>.temperature
Synopsis
<ppc405gp>.temperature [degrees-celsius]
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1595

VIRTUTECH CONFIDENTIAL

ppc405gp-cpc
Provided by
405gp-devices
Class Hierarchy
conf-object log-object ppc405gp-cpc
Interfaces Implemented
log_object, io_memory
Description
The 405gp-cpc device implements the functionality of the CPC0 (Clocking, Power
Management, and Chip Control) integrated in the PPC405GP.

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
cr0
Optional attribute; read/write access; type: unknown type.
CPC0 controller and configuration register cr0 at 0x1
cr1
Optional attribute; read/write access; type: unknown type.
CPC0 controller and configuration register cr1 at 0x2
er
Optional attribute; read/write access; type: unknown type.
CPC0 controller and configuration register er at 0x9
fr
Optional attribute; read/write access; type: unknown type.
CPC0 controller and configuration register fr at 0xa
jtagid
Optional attribute; read/write access; type: unknown type.
CPC0 controller and configuration register jtagid at 0x5

1596

VIRTUTECH CONFIDENTIAL
pllmr
Optional attribute; read/write access; type: unknown type.
CPC0 controller and configuration register pllmr at 0x0
psr
Optional attribute; read/write access; type: unknown type.
CPC0 controller and configuration register psr at 0x4
sr
Optional attribute; read/write access; type: unknown type.
CPC0 controller and configuration register sr at 0x8

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

1597

VIRTUTECH CONFIDENTIAL

ppc405gp-ebc
Provided by
405gp-devices
Class Hierarchy
conf-object log-object ppc405gp-ebc
Interfaces Implemented
log_object, io_memory
Description
The 405gp-ebc device implements the functionality of the external bus controller integrated in the PPC405GP

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
B0AP
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B0AP at 0x10
B0CR
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B0CR at 0x0
B1AP
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B1AP at 0x11
B1CR
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B1CR at 0x1
B2AP
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B2AP at 0x12

1598

VIRTUTECH CONFIDENTIAL
B2CR
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B2CR at 0x2
B3AP
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B3AP at 0x13
B3CR
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B3CR at 0x3
B4AP
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B4AP at 0x14
B4CR
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B4CR at 0x4
B5AP
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B5AP at 0x15
B5CR
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B5CR at 0x5
B6AP
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B6AP at 0x16
B6CR
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B6CR at 0x6
B7AP
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B7AP at 0x17
B7CR
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register B7CR at 0x7
BEAR
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register BEAR at 0x20
1599

VIRTUTECH CONFIDENTIAL
BESR0
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register BESR0 at 0x21
BESR1
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register BESR1 at 0x22
CFG
Optional attribute; read/write access; type: unknown type.
EBC0 control and configuration register CFG at 0x23
cfgaddr
Optional attribute; read/write access; type: unknown type.
EBC0 address register

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

1600

VIRTUTECH CONFIDENTIAL

ppc405gp-emac
Provided by
405gp-devices
Class Hierarchy
conf-object log-object ppc405gp-emac
Interfaces Implemented
log_object, ethernet_device, io_memory
Ports
Reset (signal)
Description
The ppc405gp-emac class models the ethernet media access controller (EMAC) of the
ppc405gp system-on-chip 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
EMACx_GAHT1
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 1
EMACx_GAHT2
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 2
EMACx_GAHT3
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 3
EMACx_GAHT4
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 4
EMACx_IAHR
Optional attribute; read/write access; type: Integer.
Individual Address High
1601

VIRTUTECH CONFIDENTIAL
EMACx_IAHT1
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 1
EMACx_IAHT2
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 2
EMACx_IAHT3
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 3
EMACx_IAHT4
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 4
EMACx_IALR
Optional attribute; read/write access; type: Integer.
Individual Address Low
EMACx_IPGVR
Optional attribute; read/write access; type: Integer.
Inter-Packet Gap Value Register
EMACx_ISER
Optional attribute; read/write access; type: Integer.
Interrupt Status Enable Register
EMACx_ISR
Optional attribute; read/write access; type: Integer.
Interrupt Status Register
EMACx_LSAH
Optional attribute; read/write access; type: Integer.
Last Source Address High
EMACx_LSAL
Optional attribute; read/write access; type: Integer.
Last Source Address Low
EMACx_MR0
Optional attribute; read/write access; type: Integer.
Mode Register 0
EMACx_MR1
Optional attribute; read/write access; type: Integer.
Mode Register 1
1602

VIRTUTECH CONFIDENTIAL
EMACx_OCRX
Optional attribute; read/write access; type: Integer.
Number of Octets Received
EMACx_OCTX
Optional attribute; read/write access; type: Integer.
Number of Octets Transmitted
EMACx_PTR
Optional attribute; read/write access; type: Integer.
Pause Timer Register
EMACx_RMR
Optional attribute; read/write access; type: Integer.
Receive Mode Register
EMACx_RWMR
Optional attribute; read/write access; type: Integer.
Receive Low/High Mark Register
EMACx_STACR
Optional attribute; read/write access; type: Integer.
STA Control Register
EMACx_TMR0
Optional attribute; read/write access; type: Integer.
Transmit Mode Register 0
EMACx_TMR1
Optional attribute; read/write access; type: Integer.
Transmit Mode Register 1
EMACx_TRTR
Optional attribute; read/write access; type: Integer.
Transmit Request Threshold Register
EMACx_VTCI
Optional attribute; read/write access; type: Integer.
VLAN TCI Register
EMACx_VTPID
Optional attribute; read/write access; type: Integer.
VLAN TPID Register

1603

VIRTUTECH CONFIDENTIAL
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
anar
Optional attribute; read/write access; type: unknown type.
Internal Register
aner
Optional attribute; read/write access; type: unknown type.
Internal Register
anlpar
Optional attribute; read/write access; type: unknown type.
Internal Register
bmcr
Optional attribute; read/write access; type: unknown type.
Internal Register
bmsr
Optional attribute; read/write access; type: unknown type.
Internal Register
cs_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
1604

VIRTUTECH CONFIDENTIAL
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
link
Optional attribute; read/write access; type: Object or Nil.
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.
mal
Required attribute; read/write access; type: Object.
MAL object to be used for packet transfers.
mode
Optional attribute; read/write access; type: unknown type.
Internal Register
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
poll_reg
Optional attribute; read/write access; type: unknown type.
Internal Register
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
1605

VIRTUTECH CONFIDENTIAL
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
tp10_conf
Optional attribute; read/write access; type: unknown type.
Internal Register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
status

connect to a simulated Ethernet link


disconnect from simulated link
print dynamic information about device

Command Descriptions
<ppc405gp-emac>.connect
Synopsis
<ppc405gp-emac>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<ppc405gp-emac>.disconnect

<ppc405gp-emac>.disconnect
Synopsis
<ppc405gp-emac>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<ppc405gp-emac>.connect

<ppc405gp-emac>.status

1606

VIRTUTECH CONFIDENTIAL
Synopsis
<ppc405gp-emac>.status
Description
Print detailed dynamic information about the simulated device.

1607

VIRTUTECH CONFIDENTIAL

ppc405gp-gpio
Provided by
405gp-devices
Class Hierarchy
conf-object log-object ppc405gp-gpio
Interfaces Implemented
log_object, io_memory
Description
The ppc405gp-gpio class models the ethernet media access controller (GPIO) of the
PowerPC 405GP system-on-chip 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
GPIO0_IR
Optional attribute; read/write access; type: Integer.
GPIO Input Register
GPIO0_ODR
Optional attribute; read/write access; type: Integer.
GPIO Open Drain Register
GPIO0_OR
Optional attribute; read/write access; type: Integer.
GPIO Output Register
GPIO0_TCR
Optional attribute; read/write access; type: Integer.
GPIO Three-State Control Register

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

1608

VIRTUTECH CONFIDENTIAL

ppc405gp-iic
Provided by
405gp-devices
Class Hierarchy
conf-object log-object ppc405gp-iic
Interfaces Implemented
log_object, event_poster, io_memory
Ports
Reset (signal)
Description
The ppc405gp-iic device implements the functionality of the IIC bus interface on the
ppc405gp chip

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
IICx_CLKDIV
Optional attribute; read/write access; type: Integer.
Clock Divide
IICx_CNTL
Optional attribute; read/write access; type: Integer.
Control
IICx_DIRECTCNTL
Optional attribute; read/write access; type: Integer.
Direct Control
IICx_EXTSTS
Optional attribute; read/write access; type: Integer.
Extended Status
IICx_HMADR
Optional attribute; read/write access; type: Integer.
High Master Address
1609

VIRTUTECH CONFIDENTIAL
IICx_HSADR
Optional attribute; read/write access; type: Integer.
High Slave Address
IICx_INTRMSK
Optional attribute; read/write access; type: Integer.
Interrupt Mask
IICx_LMADR
Optional attribute; read/write access; type: Integer.
Low Master Address
IICx_LSADR
Optional attribute; read/write access; type: Integer.
Low Slave Address
IICx_MDBUF
Optional attribute; read/write access; type: Integer.
Master Data Buffer
IICx_MDCNTL
Optional attribute; read/write access; type: Integer.
Mode Control
IICx_RESERVED1
Optional attribute; read/write access; type: Integer.
Reserved (MDBUF high)
IICx_RESERVED3
Optional attribute; read/write access; type: Integer.
Reserved (SDBUF high)
IICx_SDBUF
Optional attribute; read/write access; type: Integer.
Slave Data Buffer
IICx_STS
Optional attribute; read/write access; type: Integer.
Status
IICx_XFRCNT
Optional attribute; read/write access; type: Integer.
Transfer Count
IICx_XTCNTLSS
Optional attribute; read/write access; type: Integer.
Extended Control and Slave Status
1610

VIRTUTECH CONFIDENTIAL
i2c_bus
Required attribute; read/write access; type: unknown type.
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
interrupt_device
Required attribute; read/write access; type: Object.
Object to receive interrupts.
interrupt_level
Required attribute; read/write access; type: Integer.
Interrupt level for outgoing interrupts.
interrupt_pending
Optional attribute; read/write access; type: Integer.
Set to 1 when an outgoing interrupt is pending.
master_fifo
Optional attribute; read/write access; type: [i{0:4}].
The master data buffer.
slave_fifo
Optional attribute; read/write access; type: [i{0:4}].
The slave data buffer.
transfer_delay
Optional attribute; read/write access; type: Float.
The time required for each i2c transfer.

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

1611

VIRTUTECH CONFIDENTIAL

ppc405gp-mal
Provided by
405gp-devices
Class Hierarchy
conf-object log-object ppc405gp-mal
Interfaces Implemented
log_object, io_memory
Ports
Reset (signal)
Description
The ppc405gp-mal device implements the functionality of the ppc405gp memory access layer (MAL).

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
MAL0_CFG
Optional attribute; read/write access; type: Integer.
Configuration register
MAL0_ESR
Optional attribute; read/write access; type: Integer.
Error status register
MAL0_IER
Optional attribute; read/write access; type: Integer.
Interrupt enable register
MAL0_RCBS0
Optional attribute; read/write access; type: Integer.
RX channel 0 buffer size registers
MAL0_RCBS1
Optional attribute; read/write access; type: Integer.
RX channel 1 buffer size registers
1612

VIRTUTECH CONFIDENTIAL
MAL0_RXBADDR
Optional attribute; read/write access; type: Integer.
RX descriptor base address register
MAL0_RXCARR
Optional attribute; read/write access; type: Integer.
RX channel active reset register
MAL0_RXCASR
Optional attribute; read/write access; type: Integer.
RX channel active set register
MAL0_RXCTP0R
Optional attribute; read/write access; type: Integer.
RX channel 0 table pointer register
MAL0_RXCTP1R
Optional attribute; read/write access; type: Integer.
RX channel 1 table pointer register
MAL0_RXDEIR
Optional attribute; read/write access; type: Integer.
RX descriptor error interrupt register
MAL0_RXEOBISR
Optional attribute; read/write access; type: Integer.
RX end of buffer interrupt status register
MAL0_RXTATTRR
Optional attribute; read/write access; type: Integer.
RX PLB attribute register
MAL0_TXBADDR
Optional attribute; read/write access; type: Integer.
TX descriptor base address register
MAL0_TXCARR
Optional attribute; read/write access; type: Integer.
TX channel active reset register
MAL0_TXCASR
Optional attribute; read/write access; type: Integer.
TX channel active set register
MAL0_TXCTP0R
Optional attribute; read/write access; type: Integer.
TX channel 0 table pointer register
1613

VIRTUTECH CONFIDENTIAL
MAL0_TXCTP1R
Optional attribute; read/write access; type: Integer.
TX channel 1 table pointer register
MAL0_TXDEIR
Optional attribute; read/write access; type: Integer.
TX descriptor error interrupt register
MAL0_TXEOBISR
Optional attribute; read/write access; type: Integer.
TX end of buffer interrupt status register
MAL0_TXTATTRR
Optional attribute; read/write access; type: Integer.
TX PLB attribute register
cpu
Required attribute; read/write access; type: Object.
CPU object (for reset callback).
eob_levels
Optional attribute; read/write access; type: [ii].
Interrupt levels to be passed to the TX and RX end-of-buffer interrupt target objects respectively.
eob_targets
Optional attribute; read/write access; type: [oo].
Objects to receive TX and RX end-of-buffer interrupts.
interrupt_levels
Pseudo attribute; read/write access; type: [ii].
Deprecated (for backward compatibility only).
interrupts
Pseudo attribute; read/write access; type: [oo].
Deprecated (for backward compatibility only).
irq_dev
Pseudo attribute; read/write access; type: Object.
Deprecated (for backward compatibility only).
memory
Required attribute; read/write access; type: Object.
Memory space object for packet transactions.

1614

VIRTUTECH CONFIDENTIAL
next_rx_descriptor
Optional attribute; read/write access; type: [i{1}].
The index of rx descriptors to be processed next (per channel).
next_tx_descriptor
Optional attribute; read/write access; type: [i{2}].
The index of tx descriptors to be processed next (per channel).
pending_interrupts
Optional attribute; read/write access; type: Integer.
Interrupts that currently are pending (the exact representation is internal to this
device model).

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

1615

VIRTUTECH CONFIDENTIAL

ppc405gp-mc
Provided by
405gp-devices
Class Hierarchy
conf-object log-object ppc405gp-mc
Interfaces Implemented
log_object, io_memory
Description
The 405gp-mc device implements the functionality of the SDRAM0 memory controller
integrated in the PPC405GP

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
B1CR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register B1CR at 0x44
B2CR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register B2CR at 0x48
B3CR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register B3CR at 0x4c
BEAR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register BEAR at 0x10
BESR0
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register BESR0 at 0x0

1616

VIRTUTECH CONFIDENTIAL
BESR1
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register BESR1 at 0x8
BOCR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register BOCR at 0x40
CFG
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register CFG at 0x20
ECCCFG
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register ECCCFG at 0x94
ECCESR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register ECCESR at 0x98
PMIT
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register PMIT at 0x34
PTR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register PTR at 0x30
STATUS
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register STATUS at 0x24
TR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register TR at 0x80
cfgaddr
Optional attribute; read/write access; type: unknown type.
SDRAM0 address register

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

1617

VIRTUTECH CONFIDENTIAL

ppc405gp-pci
Provided by
405gp-devices
Class Hierarchy
conf-object log-object ppc405gp-pci
Interfaces Implemented
log_object, pci_interrupt, translate, bridge, pci_bridge, io_memory, pci_device
Description
The cpc700-pci device implements the pci bridge functionality of the CPC700 chip

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
PCIL0_PMM0LA
Pseudo attribute; read/write access; type: Integer.
PMM 0 Local Address
PCIL0_PMM0MA
Pseudo attribute; read/write access; type: Integer.
PMM 0 Mask/Attribute
PCIL0_PMM0PCIHA
Pseudo attribute; read/write access; type: Integer.
PMM 0 PCI High Address
PCIL0_PMM0PCILA
Pseudo attribute; read/write access; type: Integer.
PMM 0 PCI Low Address
PCIL0_PMM1LA
Pseudo attribute; read/write access; type: Integer.
PMM 1 Local Address
PCIL0_PMM1MA
Pseudo attribute; read/write access; type: Integer.
PMM 1 Mask/Attribute
1618

VIRTUTECH CONFIDENTIAL
PCIL0_PMM1PCIHA
Pseudo attribute; read/write access; type: Integer.
PMM 1 PCI High Address
PCIL0_PMM1PCILA
Pseudo attribute; read/write access; type: Integer.
PMM 1 PCI Low Address
PCIL0_PMM2LA
Pseudo attribute; read/write access; type: Integer.
PMM 2 Local Address
PCIL0_PMM2MA
Pseudo attribute; read/write access; type: Integer.
PMM 2 Mask/Attribute
PCIL0_PMM2PCIHA
Pseudo attribute; read/write access; type: Integer.
PMM 2 PCI High Address
PCIL0_PMM2PCILA
Pseudo attribute; read/write access; type: Integer.
PMM 2 PCI Low Address
PCIL0_PTM1LA
Pseudo attribute; read/write access; type: Integer.
PTM 1 Local Address
PCIL0_PTM1MS
Pseudo attribute; read/write access; type: Integer.
PTM 1 Memory Size/Attribute
PCIL0_PTM2LA
Pseudo attribute; read/write access; type: Integer.
PTM 2 Local Address
PCIL0_PTM2MS
Pseudo attribute; read/write access; type: Integer.
PTM 2 Memory Size/Attribute
cfgaddr
Optional attribute; read/write access; type: unknown type.
Configuration address.

1619

VIRTUTECH CONFIDENTIAL
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
irq_routing
Optional attribute; read/write access; type: unknown type.
Interrupt routing table.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
memory
Required attribute; read/write access; type: unknown type.
Physical memory on the PLB
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
registers
Optional attribute; read/write access; type: unknown type.
Local registers.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

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

1620

VIRTUTECH CONFIDENTIAL

ppc405gp-uic
Provided by
405gp-devices
Class Hierarchy
conf-object log-object ppc405gp-uic
Interfaces Implemented
log_object, io_memory, pci_interrupt, simple_interrupt
Ports
Reset (signal)
Description
The ppc405gp-uic device implements the functionality of the Universal Interrupt Controller on the ppc405gp chip.

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
UICx_CR
Pseudo attribute; read/write access; type: Integer.
Value of the critical register. Note that this attribute is obsolete. Please use cr
instead.
UICx_ER
Pseudo attribute; read/write access; type: Integer.
Value of the enable register. Note that this attribute is obsolete. Please use er
instead.
UICx_PR
Pseudo attribute; read/write access; type: Integer.
Value of the polarity register. Note that this attribute is obsolete. Please use pr
instead.
UICx_SR
Pseudo attribute; read/write access; type: Integer.
Value of the status register. Note that this attribute is obsolete. Please use sr
instead.
1621

VIRTUTECH CONFIDENTIAL
UICx_TR
Pseudo attribute; read/write access; type: Integer.
Value of the trigger register. Note that this attribute is obsolete. Please use tr
instead.
UICx_VCR
Pseudo attribute; read/write access; type: Integer.
Value of the vector configuration register. Note that this attribute is obsolete.
Please use vcr instead.
cr
Optional attribute; read/write access; type: Integer.
critical
critical_interrupt_pending
Optional attribute; read/write access; type: Integer.
Set to 1 when the outgoing critical interrupt signal is asserted.
critical_target
Required attribute; read/write access; type: o|s.
Target object to receive critical interrupts.
critical_target_level
Required attribute; read/write access; type: Integer.
The interrupt level sent to the target of critical interrupts.
er
Optional attribute; read/write access; type: Integer.
enable
external_irq_levels
Optional attribute; read/write access; type: Integer.
Similar to the SR register but reflects the current level from the irq source.
interrupt_pending
Optional attribute; read/write access; type: Integer.
Set to 1 when the outgoing interrupt signal is asserted.
msr
Pseudo attribute; read/write access; type: Integer.
masked status
pr
Optional attribute; read/write access; type: Integer.
polarity
1622

VIRTUTECH CONFIDENTIAL
sr
Optional attribute; read/write access; type: Integer.
status
srs
Pseudo attribute; read/write access; type: Integer.
status
target
Required attribute; read/write access; type: o|s.
Target object to receive non-critical interrupts.
target_level
Required attribute; read/write access; type: Integer.
The interrupt level sent to the target of non-critical interrupts.
tr
Optional attribute; read/write access; type: Integer.
trigger
vcr
Optional attribute; read/write access; type: Integer.
vector configuration
vr
Pseudo attribute; read/write access; type: Integer.
vector

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

1623

VIRTUTECH CONFIDENTIAL

ppc440gp
Provided by
ppc440gp, ppc440gp-turbo
Class Hierarchy
conf-object log-object ppc440gp
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc440gp processor simulation

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.
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 (ppc32)
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null mode)
1624

VIRTUTECH CONFIDENTIAL
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.
bootstrap_tlb_entry
Optional attribute; read/write access; type: [i,i,i].
(w0,w1,w2) Initial TLB entry at reset in shadow TLB
branch_prof_support
Pseudo attribute; read-only access; type: b.
True if this processor supports branch profiling in -stall mode, false otherwise.
ccr0
Optional attribute; read/write access; type: Integer.
Core Configuration register 0
chip_reset_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the chip reset signal. The object should implement the signal
interface.
core_reset_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the core reset signal. The object should implement the signal
interface.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
csrr0
Optional attribute; read/write access; type: Integer.
Critical save/restore reg 0
csrr1
Optional attribute; read/write access; type: Integer.
Critical save/restore reg 1

1625

VIRTUTECH CONFIDENTIAL
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dac1
Optional attribute; read/write access; type: Integer.
Data Address Compare 1
dac2
Optional attribute; read/write access; type: Integer.
Data Address Compare 2
dbcr0
Optional attribute; read/write access; type: Integer.
Debug Control register 0
dbcr1
Optional attribute; read/write access; type: Integer.
Debug Control register 1
dbcr2
Optional attribute; read/write access; type: Integer.
Debug Control register 2
dbdr
Optional attribute; read/write access; type: Integer.
Debug Data Register
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
dbsr
Optional attribute; read/write access; type: Integer.
Debug Status register
1626

VIRTUTECH CONFIDENTIAL
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dcdbtrh
Optional attribute; read/write access; type: Integer.
Data Cache Debug Tag Register High
dcdbtrl
Optional attribute; read/write access; type: Integer.
Data Cache Debug Tag Register Low
dcr_space
Required attribute; read/write access; type: Object.
Device control register space mappings
dear
Optional attribute; read/write access; type: Integer.
Data exception address
dec
Optional attribute; read/write access; type: Integer.
Decrementer register
dec_at_zero
Optional attribute; read/write access; type: Integer.
Decrementer unarmed and at zero
dec_remainder
Optional attribute; read/write access; type: Integer.
Decrementer remainder
decar
Optional attribute; read/write access; type: Integer.
Decrementer Auto-reload
disable_watchdog_reboots
Optional attribute; read/write access; type: Integer.
(temporary) Disable reboot feature when watchdog triggers
dnv0
Optional attribute; read/write access; type: Integer.
Data cache normal victim 0
dnv1
Optional attribute; read/write access; type: Integer.
Data cache normal victim 1
1627

VIRTUTECH CONFIDENTIAL
dnv2
Optional attribute; read/write access; type: Integer.
Data cache normal victim 2
dnv3
Optional attribute; read/write access; type: Integer.
Data cache normal victim 3
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.
dtv0
Optional attribute; read/write access; type: Integer.
Data cache transient victim 0
dtv1
Optional attribute; read/write access; type: Integer.
Data cache transient victim 1
dtv2
Optional attribute; read/write access; type: Integer.
Data cache transient victim 2
dtv3
Optional attribute; read/write access; type: Integer.
Data cache transient victim 3
dvc1
Optional attribute; read/write access; type: Integer.
Data Value Compare 1
dvc2
Optional attribute; read/write access; type: Integer.
Data Value Compare 2
dvlim
Optional attribute; read/write access; type: Integer.
Data cache victim limit

1628

VIRTUTECH CONFIDENTIAL
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.
esr
Optional attribute; read/write access; type: Integer.
Exception syndrome Register
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).
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
iac1
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 1
iac2
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 2
iac3
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 3
iac4
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 4
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
1629

VIRTUTECH CONFIDENTIAL
icdbdr
Optional attribute; read/write access; type: Integer.
Instruction Cache Debug Data reg
icdbtrh
Optional attribute; read/write access; type: Integer.
Instruction Cache Debug Tag Register High
icdbtrl
Optional attribute; read/write access; type: Integer.
Instruction Cache Debug Tag Register Low
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze 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
inv0
Optional attribute; read/write access; type: Integer.
Instruction cache normal victim 0
inv1
Optional attribute; read/write access; type: Integer.
Instruction cache normal victim 1
inv2
Optional attribute; read/write access; type: Integer.
Instruction cache normal victim 2
inv3
Optional attribute; read/write access; type: Integer.
Instruction cache normal victim 3
is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
itv0
Optional attribute; read/write access; type: Integer.
Instruction cache transient victim 0
1630

VIRTUTECH CONFIDENTIAL
itv1
Optional attribute; read/write access; type: Integer.
Instruction cache transient victim 1
itv2
Optional attribute; read/write access; type: Integer.
Instruction cache transient victim 2
itv3
Optional attribute; read/write access; type: Integer.
Instruction cache transient victim 3
ivlim
Optional attribute; read/write access; type: Integer.
Instruction cache victim limit
ivor0
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 0
ivor1
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 1
ivor10
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 10
ivor11
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 11
ivor12
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 12
ivor13
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 13
ivor14
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 14
ivor15
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 15
1631

VIRTUTECH CONFIDENTIAL
ivor2
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 2
ivor3
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 3
ivor4
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 4
ivor5
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 5
ivor6
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 6
ivor7
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 7
ivor8
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 8
ivor9
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 9
ivpr
Optional attribute; read/write access; type: Integer.
Instruction vector prefix register
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions
lr
Optional attribute; read/write access; type: Integer.
Link register

1632

VIRTUTECH CONFIDENTIAL
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
mmucr
Optional attribute; read/write access; type: Integer.
Memory Management Unit Control Register
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
1633

VIRTUTECH CONFIDENTIAL
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pid
Optional attribute; read/write access; type: Integer.
Process ID
pir
Optional attribute; read/write access; type: Integer.
Processor ID
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.
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
rstcfg
Optional attribute; read/write access; type: Integer.
Reset configuration
sdtlb
Optional attribute; read/write access; type: [[i,i,i]].
(((w0,w1,w2)). . . ..) Shadow Data TLB
1634

VIRTUTECH CONFIDENTIAL
sitlb
Optional attribute; read/write access; type: [[i,i,i]].
(((w0,w1,w2)). . . ..) Shadow Instruction TLB
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg4
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg5
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg6
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg7
Optional attribute; read/write access; type: Integer.
Provided for OS use
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
1635

VIRTUTECH CONFIDENTIAL
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.
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
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.
svr
Optional attribute; read/write access; type: Integer.
System version register
system_reset_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the system reset signal. The object should implement the signal interface.
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register
1636

VIRTUTECH CONFIDENTIAL
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
tcr
Optional attribute; read/write access; type: Integer.
Timer Control register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder

1637

VIRTUTECH CONFIDENTIAL
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
tsr
Optional attribute; read/write access; type: Integer.
Timer Status register
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.

1638

VIRTUTECH CONFIDENTIAL
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.

1639

VIRTUTECH CONFIDENTIAL
turbo_use_off_page_chaining
Session class attribute; read/write access; type: unknown type.
Off page chaining enable.
usprg0
Optional attribute; read/write access; type: Integer.
User general register 0
utlb
Optional attribute; read/write access; type: [[i,i,i]].
(((w0,w1,w2)). . . ..) Unified TLB
watchdog_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the watchdog signal. The object should implement the signal
interface.
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
Commands
bootstrap-tlb-entry
print-shadow-tlb
print-utlb
temperature

print or change the default bootstrap mapping


print shadow tlb contents
print unified tlb contents
set or query the temperature of the processor

1640

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ppc440gp>.bootstrap-tlb-entry
Synopsis
<ppc440gp>.bootstrap-tlb-entry [-update] [EPN] [TS] [TID] [ERPN] [RPN]
Description
Modify or print current default mapping which is copied to shadow TLB entry zero
when processor is reset. The -update causes the shadow tlb entry to be updated directly. Several fields, but not all, can be modified by specifying the field name and its
value.

<ppc440gp>.print-shadow-tlb
Synopsis
<ppc440gp>.print-shadow-tlb
Description
Prints the contents of the shadown I and D TLB of the processor cpu_name. If no CPU
is specified, the current CPU will be selected. Simics caches instruction and data information internally, therfore the content of the shadow entries does not necessarely
match cached entries on the hardware. Support for shadow TLBs are mainly maintained by Simics to support the bootstrap.

<ppc440gp>.print-utlb
Synopsis
<ppc440gp>.print-utlb
Description
Prints the contents of the unified TLB of the processor.

<ppc440gp>.temperature
Synopsis
<ppc440gp>.temperature [degrees-celsius]
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1641

VIRTUTECH CONFIDENTIAL

ppc440gp-cpc
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-cpc
Interfaces Implemented
log_object, io_memory
Description
The ppc440gp-cpc device implements the functionality of the CPC0 (Clocking, Power
Management, and Chip Control) integrated in the ppc440gp.

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
CPC0_CR0
Optional attribute; read/write access; type: Integer.
UART and Timer Configuration Register 0
CPC0_CR1
Optional attribute; read/write access; type: Integer.
CPU Master Priority Configuration Register 1
CPC0_CUST0
Optional attribute; read/write access; type: Integer.
Customer Configuration Register 0
CPC0_CUST1
Optional attribute; read/write access; type: Integer.
Customer Configuration Register 1
CPC0_ER
Optional attribute; read/write access; type: Integer.
CPM Enable Register

1642

VIRTUTECH CONFIDENTIAL
CPC0_FR
Optional attribute; read/write access; type: Integer.
CPM Force Register
CPC0_GPIO
Optional attribute; read/write access; type: Integer.
GPIO Configuration Register
CPC0_JTAGID
Optional attribute; read/write access; type: Integer.
JTAG ID Register
CPC0_MIRQ0
Optional attribute; read/write access; type: Integer.
Master Interrupt Request Register 0
CPC0_MIRQ1
Optional attribute; read/write access; type: Integer.
Master Interrupt Request Register 1
CPC0_PLB
Optional attribute; read/write access; type: Integer.
PLB Configuration Register
CPC0_SR
Optional attribute; read/write access; type: Integer.
CPM Status Register
CPC0_STRP0
Optional attribute; read/write access; type: Integer.
Power-on Configuration Register 0
CPC0_STRP1
Optional attribute; read/write access; type: Integer.
Power-on Configuration Register 1
CPC0_STRP2
Optional attribute; read/write access; type: Integer.
Power-on Configuration Register 3
CPC0_STRP3
Optional attribute; read/write access; type: Integer.
Power-on Configuration Register 4
CPC0_SYS0
Optional attribute; read/write access; type: Integer.
System Configuration Register 0
1643

VIRTUTECH CONFIDENTIAL
CPC0_SYS1
Optional attribute; read/write access; type: Integer.
System Configuration Register 1

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

Command Descriptions
<ppc440gp-cpc>.status
Synopsis
<ppc440gp-cpc>.status
Description
Print detailed dynamic information about the simulated device.

1644

VIRTUTECH CONFIDENTIAL

ppc440gp-dma
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-dma
Interfaces Implemented
log_object, io_memory
Ports
Reset (signal)
Description
The ppc440gp-dma device implements the functionality of the ppc440gp direct memory access (DMA) device.

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
DMA0_CR0
Optional attribute; read/write access; type: Integer.
Channel Control Register 0
DMA0_CR1
Optional attribute; read/write access; type: Integer.
Channel Control Register 1
DMA0_CR2
Optional attribute; read/write access; type: Integer.
Channel Control Register 2
DMA0_CR3
Optional attribute; read/write access; type: Integer.
Channel Control Register 3
DMA0_CTC0
Optional attribute; read/write access; type: Integer.
Count and Control Register 0
1645

VIRTUTECH CONFIDENTIAL
DMA0_CTC1
Optional attribute; read/write access; type: Integer.
Count and Control Register 1
DMA0_CTC2
Optional attribute; read/write access; type: Integer.
Count and Control Register 2
DMA0_CTC3
Optional attribute; read/write access; type: Integer.
Count and Control Register 3
DMA0_DAH0
Optional attribute; read/write access; type: Integer.
Destination Address High Register 0
DMA0_DAH1
Optional attribute; read/write access; type: Integer.
Destination Address High Register 1
DMA0_DAH2
Optional attribute; read/write access; type: Integer.
Destination Address High Register 2
DMA0_DAH3
Optional attribute; read/write access; type: Integer.
Destination Address High Register 3
DMA0_DAL0
Optional attribute; read/write access; type: Integer.
Destination Address Low Register 0
DMA0_DAL1
Optional attribute; read/write access; type: Integer.
Destination Address Low Register 1
DMA0_DAL2
Optional attribute; read/write access; type: Integer.
Destination Address Low Register 2
DMA0_DAL3
Optional attribute; read/write access; type: Integer.
Destination Address Low Register 3
DMA0_POL
Optional attribute; read/write access; type: Integer.
Polarity Configuration Register
1646

VIRTUTECH CONFIDENTIAL
DMA0_SAH0
Optional attribute; read/write access; type: Integer.
Source Address High Register 0
DMA0_SAH1
Optional attribute; read/write access; type: Integer.
Source Address High Register 1
DMA0_SAH2
Optional attribute; read/write access; type: Integer.
Source Address High Register 2
DMA0_SAH3
Optional attribute; read/write access; type: Integer.
Source Address High Register 3
DMA0_SAL0
Optional attribute; read/write access; type: Integer.
Source Address Low Register 0
DMA0_SAL1
Optional attribute; read/write access; type: Integer.
Source Address Low Register 1
DMA0_SAL2
Optional attribute; read/write access; type: Integer.
Source Address Low Register 2
DMA0_SAL3
Optional attribute; read/write access; type: Integer.
Source Address Low Register 3
DMA0_SGC
Optional attribute; read/write access; type: Integer.
Scatter/Gather Command Register
DMA0_SGH0
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address High Register 0
DMA0_SGH1
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address High Register 1
DMA0_SGH2
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address High Register 2
1647

VIRTUTECH CONFIDENTIAL
DMA0_SGH3
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address High Register 3
DMA0_SGL0
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address Low Register 0
DMA0_SGL1
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address Low Register 1
DMA0_SGL2
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address Low Register 2
DMA0_SGL3
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address Low Register 3
DMA0_SLP
Optional attribute; read/write access; type: Integer.
Sleep Mode Register
DMA0_SR
Optional attribute; read/write access; type: Integer.
Status Register
cpu
Required attribute; read/write access; type: Object.
CPU object (for reset callback).
interrupt_device
Required attribute; read/write access; type: Object.
Object to receive interrupts.
irq_levels
Optional attribute; read/write access; type: [iiii].
Interrupt numbers per channel. Default is [12,13,14,15].
memory
Required attribute; read/write access; type: Object.
Memory space object for packet transactions.

1648

VIRTUTECH CONFIDENTIAL
pending_interrupts
Optional attribute; read/write access; type: [iiii].
Interrupts that currently are pending (the exact representation is internal to this
device model).
transfer_cycles
Optional attribute; read/write access; type: Integer.
Number of cycles for each DMA transfer. Default is 1000 cycles.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

Command Descriptions
<ppc440gp-dma>.status
Synopsis
<ppc440gp-dma>.status
Description
Print detailed dynamic information about the simulated device.

1649

VIRTUTECH CONFIDENTIAL

ppc440gp-ebc
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-ebc
Interfaces Implemented
log_object, io_memory
Ports
Reset (signal)
Description
The ppc440gp-ebc device implements the functionality of the ppc440gp external bus
controller (EBC) device.

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
EBC0_B0AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 0 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b0ap instead.
EBC0_B0CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 0 Configuration Register. Note that this attribute is obsolete. Use
please use b0cr instead.
EBC0_B1AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 1 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b1ap instead.
EBC0_B1CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 1 Configuration Register. Note that this attribute is obsolete. Use
please use b1cr instead.
1650

VIRTUTECH CONFIDENTIAL
EBC0_B2AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 2 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b2ap instead.
EBC0_B2CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 2 Configuration Register. Note that this attribute is obsolete. Use
please use b2cr instead.
EBC0_B3AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 3 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b3ap instead.
EBC0_B3CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 3 Configuration Register. Note that this attribute is obsolete. Use
please use b3cr instead.
EBC0_B4AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 4 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b4ap instead.
EBC0_B4CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 4 Configuration Register. Note that this attribute is obsolete. Use
please use b4cr instead.
EBC0_B5AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 5 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b5ap instead.
EBC0_B5CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 5 Configuration Register. Note that this attribute is obsolete. Use
please use b5cr instead.
EBC0_B6AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 6 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b6ap instead.

1651

VIRTUTECH CONFIDENTIAL
EBC0_B6CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 6 Configuration Register. Note that this attribute is obsolete. Use
please use b6cr instead.
EBC0_B7AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 7 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b7ap instead.
EBC0_B7CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 7 Configuration Register. Note that this attribute is obsolete. Use
please use b7cr instead.
EBC0_BEAR
Pseudo attribute; read/write access; type: Integer.
Bus Error Address Register. Note that this attribute is obsolete. Use please use
bear instead.
EBC0_BESR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bus Error Status Register. Note that this attribute is obsolete. Use
please use besr instead.
EBC0_CFG
Pseudo attribute; read/write access; type: Integer.
External Bus Configuration Register. Note that this attribute is obsolete. Use
please use cfg instead.
EBC0_CFGADDR
Pseudo attribute; read/write access; type: Integer.
Configuration address register. Note that this attribute is obsolete. Please use
cfgaddr instead.
EBC0_CID
Pseudo attribute; read/write access; type: Integer.
EBC ID Register. Note that this attribute is obsolete. Use please use cid instead.
b0ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 0 Access Parameter Registers
b0cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 0 Configuration Register
1652

VIRTUTECH CONFIDENTIAL
b1ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 1 Access Parameter Registers
b1cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 1 Configuration Register
b2ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 2 Access Parameter Registers
b2cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 2 Configuration Register
b3ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 3 Access Parameter Registers
b3cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 3 Configuration Register
b4ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 4 Access Parameter Registers
b4cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 4 Configuration Register
b5ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 5 Access Parameter Registers
b5cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 5 Configuration Register
b6ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 6 Access Parameter Registers
b6cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 6 Configuration Register
1653

VIRTUTECH CONFIDENTIAL
b7ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 7 Access Parameter Registers
b7cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 7 Configuration Register
bear
Optional attribute; read/write access; type: Integer.
Bus Error Address Register
besr
Optional attribute; read/write access; type: Integer.
Peripheral Bus Error Status Register
cfg
Optional attribute; read/write access; type: Integer.
External Bus Configuration Register
cfgaddr
Optional attribute; read/write access; type: Integer.
The value of the address register (a register that is written by software to indirectly address the register file of the EBC).
cid
Optional attribute; read/write access; type: Integer.
EBC ID Register
cpu
Required attribute; read/write access; type: Object.
CPU object (for reset callback).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

1654

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ppc440gp-ebc>.status
Synopsis
<ppc440gp-ebc>.status
Description
Print detailed dynamic information about the simulated device.

1655

VIRTUTECH CONFIDENTIAL

ppc440gp-emac
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-emac
Interfaces Implemented
log_object, ethernet_device, io_memory
Ports
Reset (signal)
Description
The ppc440gp-emac class models the ethernet media access controller (EMAC) of the
ppc440gp system-on-chip 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
EMACx_GAHT1
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 1
EMACx_GAHT2
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 2
EMACx_GAHT3
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 3
EMACx_GAHT4
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 4
EMACx_IAHR
Optional attribute; read/write access; type: Integer.
Individual Address High
1656

VIRTUTECH CONFIDENTIAL
EMACx_IAHT1
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 1
EMACx_IAHT2
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 2
EMACx_IAHT3
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 3
EMACx_IAHT4
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 4
EMACx_IALR
Optional attribute; read/write access; type: Integer.
Individual Address Low
EMACx_IPGVR
Optional attribute; read/write access; type: Integer.
Inter-Packet Gap Value Register
EMACx_ISER
Optional attribute; read/write access; type: Integer.
Interrupt Status Enable Register
EMACx_ISR
Optional attribute; read/write access; type: Integer.
Interrupt Status Register
EMACx_LSAH
Optional attribute; read/write access; type: Integer.
Last Source Address High
EMACx_LSAL
Optional attribute; read/write access; type: Integer.
Last Source Address Low
EMACx_MR0
Optional attribute; read/write access; type: Integer.
Mode Register 0
EMACx_MR1
Optional attribute; read/write access; type: Integer.
Mode Register 1
1657

VIRTUTECH CONFIDENTIAL
EMACx_OCRX
Optional attribute; read/write access; type: Integer.
Number of Octets Received
EMACx_OCTX
Optional attribute; read/write access; type: Integer.
Number of Octets Transmitted
EMACx_PTR
Optional attribute; read/write access; type: Integer.
Pause Timer Register
EMACx_RMR
Optional attribute; read/write access; type: Integer.
Receive Mode Register
EMACx_RWMR
Optional attribute; read/write access; type: Integer.
Receive Low/High Mark Register
EMACx_STACR
Optional attribute; read/write access; type: Integer.
STA Control Register
EMACx_TMR0
Optional attribute; read/write access; type: Integer.
Transmit Mode Register 0
EMACx_TMR1
Optional attribute; read/write access; type: Integer.
Transmit Mode Register 1
EMACx_TRTR
Optional attribute; read/write access; type: Integer.
Transmit Request Threshold Register
EMACx_VTCI
Optional attribute; read/write access; type: Integer.
VLAN TCI Register
EMACx_VTPID
Optional attribute; read/write access; type: Integer.
VLAN TPID Register

1658

VIRTUTECH CONFIDENTIAL
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
anar
Optional attribute; read/write access; type: unknown type.
Internal Register
aner
Optional attribute; read/write access; type: unknown type.
Internal Register
anlpar
Optional attribute; read/write access; type: unknown type.
Internal Register
bmcr
Optional attribute; read/write access; type: unknown type.
Internal Register
bmsr
Optional attribute; read/write access; type: unknown type.
Internal Register
cs_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
1659

VIRTUTECH CONFIDENTIAL
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
link
Optional attribute; read/write access; type: Object or Nil.
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.
mal
Required attribute; read/write access; type: Object.
MAL object to be used for packet transfers.
mode
Optional attribute; read/write access; type: unknown type.
Internal Register
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
poll_reg
Optional attribute; read/write access; type: unknown type.
Internal Register
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
1660

VIRTUTECH CONFIDENTIAL
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
tp10_conf
Optional attribute; read/write access; type: unknown type.
Internal Register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print status of the device

Command Descriptions
<ppc440gp-emac>.connect
Synopsis
<ppc440gp-emac>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<ppc440gp-emac>.disconnect

<ppc440gp-emac>.disconnect
Synopsis
<ppc440gp-emac>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<ppc440gp-emac>.connect

<ppc440gp-emac>.info
1661

VIRTUTECH CONFIDENTIAL
Synopsis
<ppc440gp-emac>.info
Description
Print detailed information about the configuration of the device.

<ppc440gp-emac>.status
Synopsis
<ppc440gp-emac>.status
Description
Print detailed information about the current status of the device.

1662

VIRTUTECH CONFIDENTIAL

ppc440gp-gpio
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-gpio
Interfaces Implemented
log_object, io_memory
Description
The ppc440gp-gpio class models the ethernet media access controller (GPIO) of the
PowerPC 440GP system-on-chip 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
GPIO0_IR
Optional attribute; read/write access; type: Integer.
GPIO Input Register
GPIO0_ODR
Optional attribute; read/write access; type: Integer.
GPIO Open Drain Register
GPIO0_OR
Optional attribute; read/write access; type: Integer.
GPIO Output Register
GPIO0_TCR
Optional attribute; read/write access; type: Integer.
GPIO Three-State Control Register

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

1663

VIRTUTECH CONFIDENTIAL
Commands
status print dynamic information about device

Command Descriptions
<ppc440gp-gpio>.status
Synopsis
<ppc440gp-gpio>.status
Description
Print detailed dynamic information about the simulated device.

1664

VIRTUTECH CONFIDENTIAL

ppc440gp-iic
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-iic
Interfaces Implemented
log_object, event_poster, io_memory
Ports
Reset (signal)
Description
The ppc440gp-iic device implements the functionality of the IIC bus interface on the
ppc440gp chip

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
IICx_CLKDIV
Optional attribute; read/write access; type: Integer.
Clock Divide
IICx_CNTL
Optional attribute; read/write access; type: Integer.
Control
IICx_DIRECTCNTL
Optional attribute; read/write access; type: Integer.
Direct Control
IICx_EXTSTS
Optional attribute; read/write access; type: Integer.
Extended Status
IICx_HMADR
Optional attribute; read/write access; type: Integer.
High Master Address
1665

VIRTUTECH CONFIDENTIAL
IICx_HSADR
Optional attribute; read/write access; type: Integer.
High Slave Address
IICx_INTRMSK
Optional attribute; read/write access; type: Integer.
Interrupt Mask
IICx_LMADR
Optional attribute; read/write access; type: Integer.
Low Master Address
IICx_LSADR
Optional attribute; read/write access; type: Integer.
Low Slave Address
IICx_MDBUF
Optional attribute; read/write access; type: Integer.
Master Data Buffer
IICx_MDCNTL
Optional attribute; read/write access; type: Integer.
Mode Control
IICx_RESERVED1
Optional attribute; read/write access; type: Integer.
Reserved (MDBUF high)
IICx_RESERVED3
Optional attribute; read/write access; type: Integer.
Reserved (SDBUF high)
IICx_SDBUF
Optional attribute; read/write access; type: Integer.
Slave Data Buffer
IICx_STS
Optional attribute; read/write access; type: Integer.
Status
IICx_XFRCNT
Optional attribute; read/write access; type: Integer.
Transfer Count
IICx_XTCNTLSS
Optional attribute; read/write access; type: Integer.
Extended Control and Slave Status
1666

VIRTUTECH CONFIDENTIAL
i2c_bus
Required attribute; read/write access; type: unknown type.
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
interrupt_device
Required attribute; read/write access; type: Object.
Object to receive interrupts.
interrupt_level
Required attribute; read/write access; type: Integer.
Interrupt level for outgoing interrupts.
interrupt_pending
Optional attribute; read/write access; type: Integer.
Set to 1 when an outgoing interrupt is pending.
master_fifo
Optional attribute; read/write access; type: [i{0:4}].
The master data buffer.
slave_fifo
Optional attribute; read/write access; type: [i{0:4}].
The slave data buffer.
transfer_delay
Optional attribute; read/write access; type: Float.
The time required for each i2c transfer.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

1667

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ppc440gp-iic>.status
Synopsis
<ppc440gp-iic>.status
Description
Print detailed dynamic information about the simulated device.

1668

VIRTUTECH CONFIDENTIAL

ppc440gp-mal
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-mal
Interfaces Implemented
log_object, io_memory
Ports
Reset (signal)
Description
The ppc440gp-mal device implements the functionality of the ppc440gp memory access layer (MAL).

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
MAL0_CFG
Optional attribute; read/write access; type: Integer.
Configuration register
MAL0_ESR
Optional attribute; read/write access; type: Integer.
Error status register
MAL0_IER
Optional attribute; read/write access; type: Integer.
Interrupt enable register
MAL0_RCBS0
Optional attribute; read/write access; type: Integer.
RX channel 0 buffer size registers
MAL0_RCBS1
Optional attribute; read/write access; type: Integer.
RX channel 1 buffer size registers
1669

VIRTUTECH CONFIDENTIAL
MAL0_RXBADDR
Optional attribute; read/write access; type: Integer.
RX descriptor base address register
MAL0_RXCARR
Optional attribute; read/write access; type: Integer.
RX channel active reset register
MAL0_RXCASR
Optional attribute; read/write access; type: Integer.
RX channel active set register
MAL0_RXCTP0R
Optional attribute; read/write access; type: Integer.
RX channel 0 table pointer register
MAL0_RXCTP1R
Optional attribute; read/write access; type: Integer.
RX channel 1 table pointer register
MAL0_RXDEIR
Optional attribute; read/write access; type: Integer.
RX descriptor error interrupt register
MAL0_RXEOBISR
Optional attribute; read/write access; type: Integer.
RX end of buffer interrupt status register
MAL0_RXTATTRR
Optional attribute; read/write access; type: Integer.
RX PLB attribute register
MAL0_TXBADDR
Optional attribute; read/write access; type: Integer.
TX descriptor base address register
MAL0_TXCARR
Optional attribute; read/write access; type: Integer.
TX channel active reset register
MAL0_TXCASR
Optional attribute; read/write access; type: Integer.
TX channel active set register
MAL0_TXCTP0R
Optional attribute; read/write access; type: Integer.
TX channel 0 table pointer register
1670

VIRTUTECH CONFIDENTIAL
MAL0_TXCTP1R
Optional attribute; read/write access; type: Integer.
TX channel 1 table pointer register
MAL0_TXCTP2R
Optional attribute; read/write access; type: Integer.
TX channel 2 table pointer register
MAL0_TXCTP3R
Optional attribute; read/write access; type: Integer.
TX channel 3 table pointer register
MAL0_TXDEIR
Optional attribute; read/write access; type: Integer.
TX descriptor error interrupt register
MAL0_TXEOBISR
Optional attribute; read/write access; type: Integer.
TX end of buffer interrupt status register
MAL0_TXTATTRR
Optional attribute; read/write access; type: Integer.
TX PLB attribute register
cpu
Required attribute; read/write access; type: Object.
CPU object (for reset callback).
eob_levels
Optional attribute; read/write access; type: [ii].
Interrupt levels to be passed to the TX and RX end-of-buffer interrupt target objects respectively.
eob_targets
Optional attribute; read/write access; type: [oo].
Objects to receive TX and RX end-of-buffer interrupts.
interrupt_levels
Pseudo attribute; read/write access; type: [ii].
Deprecated (for backward compatibility only).
interrupts
Pseudo attribute; read/write access; type: [oo].
Deprecated (for backward compatibility only).

1671

VIRTUTECH CONFIDENTIAL
irq_dev
Pseudo attribute; read/write access; type: Object.
Deprecated (for backward compatibility only).
memory
Required attribute; read/write access; type: Object.
Memory space object for packet transactions.
next_rx_descriptor
Optional attribute; read/write access; type: [i{2}].
The index of rx descriptors to be processed next (per channel).
next_tx_descriptor
Optional attribute; read/write access; type: [i{4}].
The index of tx descriptors to be processed next (per channel).
pending_interrupts
Optional attribute; read/write access; type: Integer.
Interrupts that currently are pending (the exact representation is internal to this
device model).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

Command Descriptions
<ppc440gp-mal>.status
Synopsis
<ppc440gp-mal>.status
Description
Print detailed dynamic information about the simulated device.

1672

VIRTUTECH CONFIDENTIAL

ppc440gp-mc
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-mc
Interfaces Implemented
log_object, io_memory
Description
The 440gp-mc device implements the functionality of the SDRAM0 memory controller
integrated in the PPC440GP

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
SDRAM0_B0CR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_B0CR at 0x40
SDRAM0_B1CR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_B1CR at 0x44
SDRAM0_B2CR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_B2CR at 0x48
SDRAM0_B3CR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_B3CR at 0x4c
SDRAM0_BEAR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_BEAR at 0x10

1673

VIRTUTECH CONFIDENTIAL
SDRAM0_BESR0
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_BESR0 at 0x0
SDRAM0_BESR1
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_BESR1 at 0x8
SDRAM0_CFG0
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_CFG0 at 0x20
SDRAM0_CFG1
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_CFG1 at 0x21
SDRAM0_CID
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_CID at 0xa4
SDRAM0_CLKTR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_CLKTR at 0x82
SDRAM0_DEVOPT
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_DEVOPT at 0x22
SDRAM0_DLYCAL
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_DLYCAL at 0x84
SDRAM0_ECCESR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_ECCESR at 0x98
SDRAM0_MCSTS
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_MCSTS at 0x24
SDRAM0_MIRQ
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_MIRQ at 0x11
SDRAM0_PMIT
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_PMIT at 0x34
1674

VIRTUTECH CONFIDENTIAL
SDRAM0_RID
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_RID at 0xa8
SDRAM0_RTR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_RTR at 0x30
SDRAM0_SLI0
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_SLI0 at 0x18
SDRAM0_TR0
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_TR0 at 0x80
SDRAM0_TR1
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_TR1 at 0x81
SDRAM0_UABBA
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_UABBA at 0x38
SDRAM0_WDDCTR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_WDDCTR at 0x83
cfgaddr
Optional attribute; read/write access; type: unknown type.
SDRAM0 address register
memory
Required attribute; read/write access; type: s|o.
Physical memory object.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

1675

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ppc440gp-mc>.status
Synopsis
<ppc440gp-mc>.status
Description
Print detailed dynamic information about the simulated device.

1676

VIRTUTECH CONFIDENTIAL

ppc440gp-pci
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-pci
Interfaces Implemented
log_object, io_memory, pci_device, translate, pci_interrupt, pci_bridge
Description
PPC440GP PCI(X) Bridge

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
CIX0_RID
Pseudo attribute; read/write access; type: Integer.
Internal Core Revision ID
PCIX0_BAR0H
Pseudo attribute; read/write access; type: Integer.
BAR 0 High
PCIX0_BAR0L
Pseudo attribute; read/write access; type: Integer.
BAR 0 Low
PCIX0_BAR1
Pseudo attribute; read/write access; type: Integer.
BAR 1
PCIX0_BAR2H
Pseudo attribute; read/write access; type: Integer.
BAR 2 High
PCIX0_BAR2L
Pseudo attribute; read/write access; type: Integer.
BAR 2 Low
1677

VIRTUTECH CONFIDENTIAL
PCIX0_BAR3
Pseudo attribute; read/write access; type: Integer.
Unused BAR 3
PCIX0_BIST
Pseudo attribute; read/write access; type: Integer.
Built In Self Test Control
PCIX0_BRDGOPT1
Pseudo attribute; read/write access; type: Integer.
Bridge Options 1
PCIX0_BRDGOPT2
Pseudo attribute; read/write access; type: Integer.
Bridge Options 2
PCIX0_CACHELS
Pseudo attribute; read/write access; type: Integer.
Cache Line Size
PCIX0_CAP
Pseudo attribute; read/write access; type: Integer.
Capabilities Pointer
PCIX0_CAPID
Pseudo attribute; read/write access; type: Integer.
Capability Identifier
PCIX0_CFGADDR
Optional attribute; read/write access; type: Integer.
Configuration address register.
PCIX0_CID
Pseudo attribute; read/write access; type: Integer.
Internal Core Device ID
PCIX0_CISPTR
Pseudo attribute; read/write access; type: Integer.
Unused Cardbus CIS Pointer
PCIX0_CLS
Pseudo attribute; read/write access; type: Integer.
Class Register
PCIX0_CMD
Pseudo attribute; read/write access; type: Integer.
Command Register
1678

VIRTUTECH CONFIDENTIAL
PCIX0_DEVID
Pseudo attribute; read/write access; type: Integer.
Device ID
PCIX0_EROMBA
Pseudo attribute; read/write access; type: Integer.
Expansion ROM Base Address
PCIX0_ERREN
Pseudo attribute; read/write access; type: Integer.
Error Enable
PCIX0_ERRSTS
Pseudo attribute; read/write access; type: Integer.
Error Status
PCIX0_HDTYPE
Pseudo attribute; read/write access; type: Integer.
Header Type
PCIX0_IDR
Pseudo attribute; read/write access; type: Integer.
Internal Debug Register
PCIX0_INTLN
Pseudo attribute; read/write access; type: Integer.
Interrupt Line
PCIX0_INTPN
Pseudo attribute; read/write access; type: Integer.
Interrupt Pin
PCIX0_LATTIM
Pseudo attribute; read/write access; type: Integer.
Latency Timer
PCIX0_MAXLTNCY
Pseudo attribute; read/write access; type: Integer.
Maximum Latency
PCIX0_MINGNT
Pseudo attribute; read/write access; type: Integer.
Minimum Grant
PCIX0_NIPTR
Pseudo attribute; read/write access; type: Integer.
Next Item Pointer
1679

VIRTUTECH CONFIDENTIAL
PCIX0_OMCAPID
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Capability Identifier
PCIX0_OMMA
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Message Address
PCIX0_OMMC
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Message Control
PCIX0_OMMDATA
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Message Data
PCIX0_OMMEOI
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Message End Of Interrupt
PCIX0_OMMUA
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Message Upper Address
PCIX0_OMNIPTR
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Next Item Pointer
PCIX0_PCIXCMD
Pseudo attribute; read/write access; type: Integer.
Command
PCIX0_PIM0LAH
Pseudo attribute; read/write access; type: Integer.
PIM0 Local Address High
PCIX0_PIM0LAL
Pseudo attribute; read/write access; type: Integer.
PIM0 Local Address Low
PCIX0_PIM0SA
Pseudo attribute; read/write access; type: Integer.
PIM0 Size/Attribute
PCIX0_PIM1LAH
Pseudo attribute; read/write access; type: Integer.
PIM1 Local Address High
1680

VIRTUTECH CONFIDENTIAL
PCIX0_PIM1LAL
Pseudo attribute; read/write access; type: Integer.
PIM1 Local Address Low
PCIX0_PIM1SA
Pseudo attribute; read/write access; type: Integer.
PIM1 Size/Attribute
PCIX0_PIM2LAH
Pseudo attribute; read/write access; type: Integer.
PIM2 Local Address High
PCIX0_PIM2LAL
Pseudo attribute; read/write access; type: Integer.
PIM2 Local Address Low
PCIX0_PIM2SA
Pseudo attribute; read/write access; type: Integer.
PIM2 Size/Attribute
PCIX0_PLBBEARH
Pseudo attribute; read/write access; type: Integer.
PLB Slave Error Address Register High
PCIX0_PLBBEARL
Pseudo attribute; read/write access; type: Integer.
PLB Slave Error Address Register Low
PCIX0_PLBBESR
Pseudo attribute; read/write access; type: Integer.
PLB Slave Error Syndrome Register
PCIX0_PMC
Pseudo attribute; read/write access; type: Integer.
Power Management Capabilities
PCIX0_PMCAPID
Pseudo attribute; read/write access; type: Integer.
PMC Capability Identifier
PCIX0_PMCSR
Pseudo attribute; read/write access; type: Integer.
Power Management Control Status
PCIX0_PMCSRBSE
Pseudo attribute; read/write access; type: Integer.
PMCSR PCI to PCI Bridge Support Extensions
1681

VIRTUTECH CONFIDENTIAL
PCIX0_PMDATA
Pseudo attribute; read/write access; type: Integer.
PMC Data Register
PCIX0_PMNIPTR
Pseudo attribute; read/write access; type: Integer.
PMC Next Item Pointer
PCIX0_PMSCRR
Pseudo attribute; read/write access; type: Integer.
Power Management State Change Request Register
PCIX0_POM0LAH
Pseudo attribute; read/write access; type: Integer.
POM0 Local Address High
PCIX0_POM0LAL
Pseudo attribute; read/write access; type: Integer.
POM0 Local Address Low
PCIX0_POM0PCIAH
Pseudo attribute; read/write access; type: Integer.
POM0 PCI Address High
PCIX0_POM0PCIAL
Pseudo attribute; read/write access; type: Integer.
POM0 PCI Address Low
PCIX0_POM0SA
Pseudo attribute; read/write access; type: Integer.
POM0 Size Attribute
PCIX0_POM1LAH
Pseudo attribute; read/write access; type: Integer.
POM1 Local Address High
PCIX0_POM1LAL
Pseudo attribute; read/write access; type: Integer.
POM1 Local Address Low
PCIX0_POM1PCIAH
Pseudo attribute; read/write access; type: Integer.
POM1 PCI Address High
PCIX0_POM1PCIAL
Pseudo attribute; read/write access; type: Integer.
POM1 PCI Address Low
1682

VIRTUTECH CONFIDENTIAL
PCIX0_POM1SA
Pseudo attribute; read/write access; type: Integer.
POM1 Size Attribute
PCIX0_POM2SA
Pseudo attribute; read/write access; type: Integer.
POM2 Size/Attribute
PCIX0_RES0
Pseudo attribute; read/write access; type: Integer.
Reserved
PCIX0_RES1
Pseudo attribute; read/write access; type: Integer.
Reserved
PCIX0_RES2
Pseudo attribute; read/write access; type: Integer.
Reserved
PCIX0_REVID
Pseudo attribute; read/write access; type: Integer.
Revision ID
PCIX0_SBSYSID
Pseudo attribute; read/write access; type: Integer.
Subsystem ID
PCIX0_SBSYSVID
Pseudo attribute; read/write access; type: Integer.
Subsystem Vendor ID
PCIX0_STATUS
Pseudo attribute; read/write access; type: Integer.
Status Register
PCIX0_STS
Pseudo attribute; read/write access; type: Integer.
Status
PCIX0_VENDID
Pseudo attribute; read/write access; type: Integer.
Vendor ID

1683

VIRTUTECH CONFIDENTIAL
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
irq_routing
Optional attribute; read/write access; type: [[ioi]].
Interrupt routing table.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
plb
Required attribute; read/write access; type: Object.
Memory space object representing the PLB address space.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

1684

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ppc440gp-pci>.status
Synopsis
<ppc440gp-pci>.status
Description
Print detailed dynamic information about the simulated device.

1685

VIRTUTECH CONFIDENTIAL

ppc440gp-plb
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-plb
Interfaces Implemented
log_object, io_memory
Ports
Reset (signal)
Description
The ppc440gp-plb device implements the functionality of the ppc440gp processor local bus (PLB) arbiter.

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
acr
Optional attribute; read/write access; type: Integer.
PLB Arbiter Control Register
bearh
Optional attribute; read/write access; type: Integer.
PLB Bus Error Address Register
bearl
Optional attribute; read/write access; type: Integer.
PLB Bus Error Address Register
besr
Optional attribute; read/write access; type: Integer.
PLB Bus Error Status Register
revid
Optional attribute; read/write access; type: Integer.
PLB Arbiter Revision ID
1686

VIRTUTECH CONFIDENTIAL

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

1687

VIRTUTECH CONFIDENTIAL

ppc440gp-sram
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-sram
Interfaces Implemented
log_object, io_memory
Description
The ppc440gp-sram device implements the functionality of the ppc440gp SRAM controller.

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
SRAM0_BEAR
Optional attribute; read/write access; type: Integer.
Bus Error Address Register
SRAM0_BESR0
Optional attribute; read/write access; type: Integer.
Bus Error Status Register 0
SRAM0_BESR1
Optional attribute; read/write access; type: Integer.
Bus Error Status Register 1
SRAM0_CID
Optional attribute; read/write access; type: Integer.
Bus Core ID Register 1
SRAM0_DPC
Optional attribute; read/write access; type: Integer.
Data Parity Check Register

1688

VIRTUTECH CONFIDENTIAL
SRAM0_PMEG
Optional attribute; read/write access; type: Integer.
Power Management
SRAM0_REVID
Optional attribute; read/write access; type: Integer.
Bus Revision ID Register
SRAM0_SB0CR
Optional attribute; read/write access; type: Integer.
Bank Configuration Register 0
SRAM0_SB1CR
Optional attribute; read/write access; type: Integer.
Bank Configuration Register 1
SRAM0_SB2CR
Optional attribute; read/write access; type: Integer.
Bank Configuration Register 2
SRAM0_SB3CR
Optional attribute; read/write access; type: Integer.
Bank Configuration Register 3
plb
Required attribute; read/write access; type: s|o.
Processor Local Bus (PLB) memory space.
sram
Required attribute; read/write access; type: s|o.
SRAM memory object.

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

1689

VIRTUTECH CONFIDENTIAL

ppc440gp-uic
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-uic
Interfaces Implemented
log_object, io_memory, pci_interrupt, simple_interrupt
Ports
Reset (signal)
Description
The ppc440gp-uic device implements the functionality of the Universal Interrupt Controller on the ppc440gp chip.

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
UICx_CR
Pseudo attribute; read/write access; type: Integer.
Value of the critical register. Note that this attribute is obsolete. Please use cr
instead.
UICx_ER
Pseudo attribute; read/write access; type: Integer.
Value of the enable register. Note that this attribute is obsolete. Please use er
instead.
UICx_PR
Pseudo attribute; read/write access; type: Integer.
Value of the polarity register. Note that this attribute is obsolete. Please use pr
instead.
UICx_SR
Pseudo attribute; read/write access; type: Integer.
Value of the status register. Note that this attribute is obsolete. Please use sr
instead.
1690

VIRTUTECH CONFIDENTIAL
UICx_TR
Pseudo attribute; read/write access; type: Integer.
Value of the trigger register. Note that this attribute is obsolete. Please use tr
instead.
UICx_VCR
Pseudo attribute; read/write access; type: Integer.
Value of the vector configuration register. Note that this attribute is obsolete.
Please use vcr instead.
cr
Optional attribute; read/write access; type: Integer.
critical
critical_interrupt_pending
Optional attribute; read/write access; type: Integer.
Set to 1 when the outgoing critical interrupt signal is asserted.
critical_target
Required attribute; read/write access; type: o|s.
Target object to receive critical interrupts.
critical_target_level
Required attribute; read/write access; type: Integer.
The interrupt level sent to the target of critical interrupts.
er
Optional attribute; read/write access; type: Integer.
enable
external_irq_levels
Optional attribute; read/write access; type: Integer.
Similar to the SR register but reflects the current level from the irq source.
interrupt_pending
Optional attribute; read/write access; type: Integer.
Set to 1 when the outgoing interrupt signal is asserted.
msr
Pseudo attribute; read/write access; type: Integer.
masked status
pr
Optional attribute; read/write access; type: Integer.
polarity
1691

VIRTUTECH CONFIDENTIAL
sr
Optional attribute; read/write access; type: Integer.
status
srs
Pseudo attribute; read/write access; type: Integer.
status
target
Required attribute; read/write access; type: o|s.
Target object to receive non-critical interrupts.
target_level
Required attribute; read/write access; type: Integer.
The interrupt level sent to the target of non-critical interrupts.
tr
Optional attribute; read/write access; type: Integer.
trigger
vcr
Optional attribute; read/write access; type: Integer.
vector configuration
vr
Pseudo attribute; read/write access; type: Integer.
vector

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

Command Descriptions
<ppc440gp-uic>.status
Synopsis
<ppc440gp-uic>.status
Description
Print detailed dynamic information about the simulated device.

1692

VIRTUTECH CONFIDENTIAL

ppc440gp-zmii
Provided by
440gp-devices
Class Hierarchy
conf-object log-object ppc440gp-zmii
Interfaces Implemented
log_object, io_memory
Description
The ppc440gp-zmii device implements the functionality of the ppc440gp ZMII bridge.
The ZMII bridge passes MII and MDI signals from the EMACs to the PHYs, or formats
the MII signals to support the reduced media independent interface (RMII) or serial
media independent interface (SMII).

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
ZMII0_FER
Pseudo attribute; read/write access; type: Integer.
ZMII function enable register.
ZMII0_SMIISR
Pseudo attribute; read/write access; type: Integer.
ZMII SMII status register.
ZMII0_SSR
Pseudo attribute; read/write access; type: Integer.
ZMII speed select register.
fer
Optional attribute; read/write access; type: Integer.
ZMII function enable register.
smiisr
Optional attribute; read/write access; type: Integer.
ZMII SMII status register.
1693

VIRTUTECH CONFIDENTIAL
ssr
Optional attribute; read/write access; type: Integer.
ZMII speed select register.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

Command Descriptions
<ppc440gp-zmii>.status
Synopsis
<ppc440gp-zmii>.status
Description
Print detailed dynamic information about the simulated device.

1694

VIRTUTECH CONFIDENTIAL

ppc440gx
Provided by
ppc440gx, ppc440gx-turbo
Class Hierarchy
conf-object log-object ppc440gx
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc440gx processor simulation

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.
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 (ppc32)
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null mode)
1695

VIRTUTECH CONFIDENTIAL
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.
bootstrap_tlb_entry
Optional attribute; read/write access; type: [i,i,i].
(w0,w1,w2) Initial TLB entry at reset in shadow TLB
branch_prof_support
Pseudo attribute; read-only access; type: b.
True if this processor supports branch profiling in -stall mode, false otherwise.
ccr0
Optional attribute; read/write access; type: Integer.
Core Configuration register 0
ccr1
Optional attribute; read/write access; type: Integer.
Core Configuration register 1
chip_reset_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the chip reset signal. The object should implement the signal
interface.
core_reset_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the core reset signal. The object should implement the signal
interface.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
csrr0
Optional attribute; read/write access; type: Integer.
Critical save/restore reg 0

1696

VIRTUTECH CONFIDENTIAL
csrr1
Optional attribute; read/write access; type: Integer.
Critical save/restore reg 1
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dac1
Optional attribute; read/write access; type: Integer.
Data Address Compare 1
dac2
Optional attribute; read/write access; type: Integer.
Data Address Compare 2
dbcr0
Optional attribute; read/write access; type: Integer.
Debug Control register 0
dbcr1
Optional attribute; read/write access; type: Integer.
Debug Control register 1
dbcr2
Optional attribute; read/write access; type: Integer.
Debug Control register 2
dbdr
Optional attribute; read/write access; type: Integer.
Debug Data Register
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
1697

VIRTUTECH CONFIDENTIAL
dbsr
Optional attribute; read/write access; type: Integer.
Debug Status register
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dcdbtrh
Optional attribute; read/write access; type: Integer.
Data Cache Debug Tag Register High
dcdbtrl
Optional attribute; read/write access; type: Integer.
Data Cache Debug Tag Register Low
dcr_space
Required attribute; read/write access; type: Object.
Device control register space mappings
dear
Optional attribute; read/write access; type: Integer.
Data exception address
dec
Optional attribute; read/write access; type: Integer.
Decrementer register
dec_at_zero
Optional attribute; read/write access; type: Integer.
Decrementer unarmed and at zero
dec_remainder
Optional attribute; read/write access; type: Integer.
Decrementer remainder
decar
Optional attribute; read/write access; type: Integer.
Decrementer Auto-reload
disable_watchdog_reboots
Optional attribute; read/write access; type: Integer.
(temporary) Disable reboot feature when watchdog triggers
dnv0
Optional attribute; read/write access; type: Integer.
Data cache normal victim 0
1698

VIRTUTECH CONFIDENTIAL
dnv1
Optional attribute; read/write access; type: Integer.
Data cache normal victim 1
dnv2
Optional attribute; read/write access; type: Integer.
Data cache normal victim 2
dnv3
Optional attribute; read/write access; type: Integer.
Data cache normal victim 3
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.
dtv0
Optional attribute; read/write access; type: Integer.
Data cache transient victim 0
dtv1
Optional attribute; read/write access; type: Integer.
Data cache transient victim 1
dtv2
Optional attribute; read/write access; type: Integer.
Data cache transient victim 2
dtv3
Optional attribute; read/write access; type: Integer.
Data cache transient victim 3
dvc1
Optional attribute; read/write access; type: Integer.
Data Value Compare 1
dvc2
Optional attribute; read/write access; type: Integer.
Data Value Compare 2

1699

VIRTUTECH CONFIDENTIAL
dvlim
Optional attribute; read/write access; type: Integer.
Data cache victim limit
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.
esr
Optional attribute; read/write access; type: Integer.
Exception syndrome Register
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).
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
iac1
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 1
iac2
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 2
iac3
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 3
iac4
Optional attribute; read/write access; type: Integer.
Instruction Address Compare 4
1700

VIRTUTECH CONFIDENTIAL
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
icdbdr
Optional attribute; read/write access; type: Integer.
Instruction Cache Debug Data reg
icdbtrh
Optional attribute; read/write access; type: Integer.
Instruction Cache Debug Tag Register High
icdbtrl
Optional attribute; read/write access; type: Integer.
Instruction Cache Debug Tag Register Low
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze 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
inv0
Optional attribute; read/write access; type: Integer.
Instruction cache normal victim 0
inv1
Optional attribute; read/write access; type: Integer.
Instruction cache normal victim 1
inv2
Optional attribute; read/write access; type: Integer.
Instruction cache normal victim 2
inv3
Optional attribute; read/write access; type: Integer.
Instruction cache normal victim 3
is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
1701

VIRTUTECH CONFIDENTIAL
itv0
Optional attribute; read/write access; type: Integer.
Instruction cache transient victim 0
itv1
Optional attribute; read/write access; type: Integer.
Instruction cache transient victim 1
itv2
Optional attribute; read/write access; type: Integer.
Instruction cache transient victim 2
itv3
Optional attribute; read/write access; type: Integer.
Instruction cache transient victim 3
ivlim
Optional attribute; read/write access; type: Integer.
Instruction cache victim limit
ivor0
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 0
ivor1
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 1
ivor10
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 10
ivor11
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 11
ivor12
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 12
ivor13
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 13
ivor14
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 14
1702

VIRTUTECH CONFIDENTIAL
ivor15
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 15
ivor2
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 2
ivor3
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 3
ivor4
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 4
ivor5
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 5
ivor6
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 6
ivor7
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 7
ivor8
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 8
ivor9
Optional attribute; read/write access; type: Integer.
Interrupt vector offset reg 9
ivpr
Optional attribute; read/write access; type: Integer.
Instruction vector prefix register
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions
lr
Optional attribute; read/write access; type: Integer.
Link register
1703

VIRTUTECH CONFIDENTIAL
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
mcsr
Optional attribute; read/write access; type: Integer.
Machine check syndrome reg
mcsrr0
Optional attribute; read/write access; type: Integer.
Machine check save/restore reg 0
mcsrr1
Optional attribute; read/write access; type: Integer.
Machine check save/restore reg 1
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).
mmucr
Optional attribute; read/write access; type: Integer.
Memory Management Unit Control Register
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
1704

VIRTUTECH CONFIDENTIAL
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pid
Optional attribute; read/write access; type: Integer.
Process ID
pir
Optional attribute; read/write access; type: Integer.
Processor ID
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.
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
1705

VIRTUTECH CONFIDENTIAL
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
rstcfg
Optional attribute; read/write access; type: Integer.
Reset configuration
sdtlb
Optional attribute; read/write access; type: [[i,i,i]].
(((w0,w1,w2)). . . ..) Shadow Data TLB
sitlb
Optional attribute; read/write access; type: [[i,i,i]].
(((w0,w1,w2)). . . ..) Shadow Instruction TLB
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg4
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg5
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg6
Optional attribute; read/write access; type: Integer.
Provided for OS use
1706

VIRTUTECH CONFIDENTIAL
sprg7
Optional attribute; read/write access; type: Integer.
Provided for OS use
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
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.
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
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.

1707

VIRTUTECH CONFIDENTIAL
svr
Optional attribute; read/write access; type: Integer.
System version register
system_reset_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the system reset signal. The object should implement the signal interface.
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
tcr
Optional attribute; read/write access; type: Integer.
Timer Control register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
1708

VIRTUTECH CONFIDENTIAL
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
tsr
Optional attribute; read/write access; type: Integer.
Timer Status register
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.
1709

VIRTUTECH CONFIDENTIAL
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.

1710

VIRTUTECH CONFIDENTIAL
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.
usprg0
Optional attribute; read/write access; type: Integer.
User general register 0
utlb
Optional attribute; read/write access; type: [[i,i,i]].
(((w0,w1,w2)). . . ..) Unified TLB
watchdog_target
Optional attribute; read/write access; type: n|o|[os].
Object listening to the watchdog signal. The object should implement the signal
interface.
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
1711

VIRTUTECH CONFIDENTIAL
Commands
bootstrap-tlb-entry
print-shadow-tlb
print-utlb
temperature

print or change the default bootstrap mapping


print shadow tlb contents
print unified tlb contents
set or query the temperature of the processor

Command Descriptions
<ppc440gx>.bootstrap-tlb-entry
Synopsis
<ppc440gx>.bootstrap-tlb-entry [-update] [EPN] [TS] [TID] [ERPN] [RPN]
Description
Modify or print current default mapping which is copied to shadow TLB entry zero
when processor is reset. The -update causes the shadow tlb entry to be updated directly. Several fields, but not all, can be modified by specifying the field name and its
value.

<ppc440gx>.print-shadow-tlb
Synopsis
<ppc440gx>.print-shadow-tlb
Description
Prints the contents of the shadown I and D TLB of the processor cpu_name. If no CPU
is specified, the current CPU will be selected. Simics caches instruction and data information internally, therfore the content of the shadow entries does not necessarely
match cached entries on the hardware. Support for shadow TLBs are mainly maintained by Simics to support the bootstrap.

<ppc440gx>.print-utlb
Synopsis
<ppc440gx>.print-utlb
Description
Prints the contents of the unified TLB of the processor.

<ppc440gx>.temperature
Synopsis
<ppc440gx>.temperature [degrees-celsius]

1712

VIRTUTECH CONFIDENTIAL
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1713

VIRTUTECH CONFIDENTIAL

ppc440gx-cpc
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-cpc
Interfaces Implemented
log_object, io_memory
Description
The ppc440gx-cpc device implements the functionality of the CPC0 (Clocking, Power
Management, and Chip Control) integrated in the ppc440gx.

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
CPC0_CR0
Optional attribute; read/write access; type: Integer.
UART and Timer Configuration Register 0
CPC0_CR1
Optional attribute; read/write access; type: Integer.
CPU Master Priority Configuration Register 1
CPC0_CUST0
Optional attribute; read/write access; type: Integer.
Customer Configuration Register 0
CPC0_CUST1
Optional attribute; read/write access; type: Integer.
Customer Configuration Register 1
CPC0_ER
Optional attribute; read/write access; type: Integer.
CPM Enable Register

1714

VIRTUTECH CONFIDENTIAL
CPC0_FR
Optional attribute; read/write access; type: Integer.
CPM Force Register
CPC0_GPIO
Optional attribute; read/write access; type: Integer.
GPIO Configuration Register
CPC0_JTAGID
Optional attribute; read/write access; type: Integer.
JTAG ID Register
CPC0_MIRQ0
Optional attribute; read/write access; type: Integer.
Master Interrupt Request Register 0
CPC0_MIRQ1
Optional attribute; read/write access; type: Integer.
Master Interrupt Request Register 1
CPC0_PLB
Optional attribute; read/write access; type: Integer.
PLB Configuration Register
CPC0_SR
Optional attribute; read/write access; type: Integer.
CPM Status Register
CPC0_STRP0
Optional attribute; read/write access; type: Integer.
Power-on Configuration Register 0
CPC0_STRP1
Optional attribute; read/write access; type: Integer.
Power-on Configuration Register 1
CPC0_STRP2
Optional attribute; read/write access; type: Integer.
Power-on Configuration Register 3
CPC0_STRP3
Optional attribute; read/write access; type: Integer.
Power-on Configuration Register 4
CPC0_SYS0
Optional attribute; read/write access; type: Integer.
System Configuration Register 0
1715

VIRTUTECH CONFIDENTIAL
CPC0_SYS1
Optional attribute; read/write access; type: Integer.
System Configuration Register 1

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

Command Descriptions
<ppc440gx-cpc>.status
Synopsis
<ppc440gx-cpc>.status
Description
Print detailed dynamic information about the simulated device.

1716

VIRTUTECH CONFIDENTIAL

ppc440gx-cpr
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-cpr
Interfaces Implemented
log_object, io_memory
Description
The 440gx-cpr device implements the functionality of the CPR0 (Clocking, Power
Management, and Chip Control) integrated in the PPC440GP.

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
cfgaddr
Optional attribute; read/write access; type: Integer.
Clocking configuration address register.
clkupd
Optional attribute; read/write access; type: Integer.
Clocking Update Register
mald
Optional attribute; read/write access; type: Integer.
MAL Clock Divider Register
opbd
Optional attribute; read/write access; type: Integer.
OPB Clock Divider Register
perd
Optional attribute; read/write access; type: Integer.
Peripheral Clock Divider Register

1717

VIRTUTECH CONFIDENTIAL
pllc
Optional attribute; read/write access; type: Integer.
PLL Control Register
plld
Optional attribute; read/write access; type: Integer.
PLL Divider Register
primad
Optional attribute; read/write access; type: Integer.
Primary A Divider Register
primbd
Optional attribute; read/write access; type: Integer.
Primary B Divider Register

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

1718

VIRTUTECH CONFIDENTIAL

ppc440gx-dma
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-dma
Interfaces Implemented
log_object, io_memory
Ports
Reset (signal)
Description
The ppc440gx-dma device implements the functionality of the ppc440gx direct memory access (DMA) device.

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
DMA0_CR0
Optional attribute; read/write access; type: Integer.
Channel Control Register 0
DMA0_CR1
Optional attribute; read/write access; type: Integer.
Channel Control Register 1
DMA0_CR2
Optional attribute; read/write access; type: Integer.
Channel Control Register 2
DMA0_CR3
Optional attribute; read/write access; type: Integer.
Channel Control Register 3
DMA0_CTC0
Optional attribute; read/write access; type: Integer.
Count and Control Register 0
1719

VIRTUTECH CONFIDENTIAL
DMA0_CTC1
Optional attribute; read/write access; type: Integer.
Count and Control Register 1
DMA0_CTC2
Optional attribute; read/write access; type: Integer.
Count and Control Register 2
DMA0_CTC3
Optional attribute; read/write access; type: Integer.
Count and Control Register 3
DMA0_DAH0
Optional attribute; read/write access; type: Integer.
Destination Address High Register 0
DMA0_DAH1
Optional attribute; read/write access; type: Integer.
Destination Address High Register 1
DMA0_DAH2
Optional attribute; read/write access; type: Integer.
Destination Address High Register 2
DMA0_DAH3
Optional attribute; read/write access; type: Integer.
Destination Address High Register 3
DMA0_DAL0
Optional attribute; read/write access; type: Integer.
Destination Address Low Register 0
DMA0_DAL1
Optional attribute; read/write access; type: Integer.
Destination Address Low Register 1
DMA0_DAL2
Optional attribute; read/write access; type: Integer.
Destination Address Low Register 2
DMA0_DAL3
Optional attribute; read/write access; type: Integer.
Destination Address Low Register 3
DMA0_POL
Optional attribute; read/write access; type: Integer.
Polarity Configuration Register
1720

VIRTUTECH CONFIDENTIAL
DMA0_SAH0
Optional attribute; read/write access; type: Integer.
Source Address High Register 0
DMA0_SAH1
Optional attribute; read/write access; type: Integer.
Source Address High Register 1
DMA0_SAH2
Optional attribute; read/write access; type: Integer.
Source Address High Register 2
DMA0_SAH3
Optional attribute; read/write access; type: Integer.
Source Address High Register 3
DMA0_SAL0
Optional attribute; read/write access; type: Integer.
Source Address Low Register 0
DMA0_SAL1
Optional attribute; read/write access; type: Integer.
Source Address Low Register 1
DMA0_SAL2
Optional attribute; read/write access; type: Integer.
Source Address Low Register 2
DMA0_SAL3
Optional attribute; read/write access; type: Integer.
Source Address Low Register 3
DMA0_SGC
Optional attribute; read/write access; type: Integer.
Scatter/Gather Command Register
DMA0_SGH0
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address High Register 0
DMA0_SGH1
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address High Register 1
DMA0_SGH2
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address High Register 2
1721

VIRTUTECH CONFIDENTIAL
DMA0_SGH3
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address High Register 3
DMA0_SGL0
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address Low Register 0
DMA0_SGL1
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address Low Register 1
DMA0_SGL2
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address Low Register 2
DMA0_SGL3
Optional attribute; read/write access; type: Integer.
Scatter/Gather Descriptor Address Low Register 3
DMA0_SLP
Optional attribute; read/write access; type: Integer.
Sleep Mode Register
DMA0_SR
Optional attribute; read/write access; type: Integer.
Status Register
cpu
Required attribute; read/write access; type: Object.
CPU object (for reset callback).
interrupt_device
Required attribute; read/write access; type: Object.
Object to receive interrupts.
irq_levels
Optional attribute; read/write access; type: [iiii].
Interrupt numbers per channel. Default is [12,13,14,15].
memory
Required attribute; read/write access; type: Object.
Memory space object for packet transactions.

1722

VIRTUTECH CONFIDENTIAL
pending_interrupts
Optional attribute; read/write access; type: [iiii].
Interrupts that currently are pending (the exact representation is internal to this
device model).
transfer_cycles
Optional attribute; read/write access; type: Integer.
Number of cycles for each DMA transfer. Default is 1000 cycles.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

Command Descriptions
<ppc440gx-dma>.status
Synopsis
<ppc440gx-dma>.status
Description
Print detailed dynamic information about the simulated device.

1723

VIRTUTECH CONFIDENTIAL

ppc440gx-ebc
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-ebc
Interfaces Implemented
log_object, io_memory
Ports
Reset (signal)
Description
The ppc440gx-ebc device implements the functionality of the ppc440gx external bus
controller (EBC) device.

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
EBC0_B0AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 0 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b0ap instead.
EBC0_B0CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 0 Configuration Register. Note that this attribute is obsolete. Use
please use b0cr instead.
EBC0_B1AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 1 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b1ap instead.
EBC0_B1CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 1 Configuration Register. Note that this attribute is obsolete. Use
please use b1cr instead.
1724

VIRTUTECH CONFIDENTIAL
EBC0_B2AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 2 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b2ap instead.
EBC0_B2CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 2 Configuration Register. Note that this attribute is obsolete. Use
please use b2cr instead.
EBC0_B3AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 3 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b3ap instead.
EBC0_B3CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 3 Configuration Register. Note that this attribute is obsolete. Use
please use b3cr instead.
EBC0_B4AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 4 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b4ap instead.
EBC0_B4CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 4 Configuration Register. Note that this attribute is obsolete. Use
please use b4cr instead.
EBC0_B5AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 5 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b5ap instead.
EBC0_B5CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 5 Configuration Register. Note that this attribute is obsolete. Use
please use b5cr instead.
EBC0_B6AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 6 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b6ap instead.

1725

VIRTUTECH CONFIDENTIAL
EBC0_B6CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 6 Configuration Register. Note that this attribute is obsolete. Use
please use b6cr instead.
EBC0_B7AP
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 7 Access Parameter Registers. Note that this attribute is obsolete.
Use please use b7ap instead.
EBC0_B7CR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bank 7 Configuration Register. Note that this attribute is obsolete. Use
please use b7cr instead.
EBC0_BEAR
Pseudo attribute; read/write access; type: Integer.
Bus Error Address Register. Note that this attribute is obsolete. Use please use
bear instead.
EBC0_BESR
Pseudo attribute; read/write access; type: Integer.
Peripheral Bus Error Status Register. Note that this attribute is obsolete. Use
please use besr instead.
EBC0_CFG
Pseudo attribute; read/write access; type: Integer.
External Bus Configuration Register. Note that this attribute is obsolete. Use
please use cfg instead.
EBC0_CFGADDR
Pseudo attribute; read/write access; type: Integer.
Configuration address register. Note that this attribute is obsolete. Please use
cfgaddr instead.
EBC0_CID
Pseudo attribute; read/write access; type: Integer.
EBC ID Register. Note that this attribute is obsolete. Use please use cid instead.
b0ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 0 Access Parameter Registers
b0cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 0 Configuration Register
1726

VIRTUTECH CONFIDENTIAL
b1ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 1 Access Parameter Registers
b1cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 1 Configuration Register
b2ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 2 Access Parameter Registers
b2cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 2 Configuration Register
b3ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 3 Access Parameter Registers
b3cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 3 Configuration Register
b4ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 4 Access Parameter Registers
b4cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 4 Configuration Register
b5ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 5 Access Parameter Registers
b5cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 5 Configuration Register
b6ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 6 Access Parameter Registers
b6cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 6 Configuration Register
1727

VIRTUTECH CONFIDENTIAL
b7ap
Optional attribute; read/write access; type: Integer.
Peripheral Bank 7 Access Parameter Registers
b7cr
Optional attribute; read/write access; type: Integer.
Peripheral Bank 7 Configuration Register
bear
Optional attribute; read/write access; type: Integer.
Bus Error Address Register
besr
Optional attribute; read/write access; type: Integer.
Peripheral Bus Error Status Register
cfg
Optional attribute; read/write access; type: Integer.
External Bus Configuration Register
cfgaddr
Optional attribute; read/write access; type: Integer.
The value of the address register (a register that is written by software to indirectly address the register file of the EBC).
cid
Optional attribute; read/write access; type: Integer.
EBC ID Register
cpu
Required attribute; read/write access; type: Object.
CPU object (for reset callback).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

1728

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ppc440gx-ebc>.status
Synopsis
<ppc440gx-ebc>.status
Description
Print detailed dynamic information about the simulated device.

1729

VIRTUTECH CONFIDENTIAL

ppc440gx-emac
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-emac
Interfaces Implemented
log_object, ethernet_device, io_memory
Ports
Reset (signal)
Description
The ppc440gx-emac class models the ethernet media access controller (EMAC) of the
ppc440gx system-on-chip 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
EMACx_GAHT1
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 1
EMACx_GAHT2
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 2
EMACx_GAHT3
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 3
EMACx_GAHT4
Optional attribute; read/write access; type: Integer.
Group Address Hash Table 4
EMACx_IAHR
Optional attribute; read/write access; type: Integer.
Individual Address High
1730

VIRTUTECH CONFIDENTIAL
EMACx_IAHT1
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 1
EMACx_IAHT2
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 2
EMACx_IAHT3
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 3
EMACx_IAHT4
Optional attribute; read/write access; type: Integer.
Individual Address Hash Table 4
EMACx_IALR
Optional attribute; read/write access; type: Integer.
Individual Address Low
EMACx_IPCR
Optional attribute; read/write access; type: Integer.
Internal PCS Configuration Register
EMACx_IPGVR
Optional attribute; read/write access; type: Integer.
Inter-Packet Gap Value Register
EMACx_ISER
Optional attribute; read/write access; type: Integer.
Interrupt Status Enable Register
EMACx_ISR
Optional attribute; read/write access; type: Integer.
Interrupt Status Register
EMACx_LSAH
Optional attribute; read/write access; type: Integer.
Last Source Address High
EMACx_LSAL
Optional attribute; read/write access; type: Integer.
Last Source Address Low
EMACx_MR0
Optional attribute; read/write access; type: Integer.
Mode Register 0
1731

VIRTUTECH CONFIDENTIAL
EMACx_MR1
Optional attribute; read/write access; type: Integer.
Mode Register 1
EMACx_OCRX
Optional attribute; read/write access; type: Integer.
Number of Octets Received
EMACx_OCTX
Optional attribute; read/write access; type: Integer.
Number of Octets Transmitted
EMACx_PTR
Optional attribute; read/write access; type: Integer.
Pause Timer Register
EMACx_RMR
Optional attribute; read/write access; type: Integer.
Receive Mode Register
EMACx_RWMR
Optional attribute; read/write access; type: Integer.
Receive Low/High Mark Register
EMACx_STACR
Optional attribute; read/write access; type: Integer.
STA Control Register
EMACx_TMR0
Optional attribute; read/write access; type: Integer.
Transmit Mode Register 0
EMACx_TMR1
Optional attribute; read/write access; type: Integer.
Transmit Mode Register 1
EMACx_TRTR
Optional attribute; read/write access; type: Integer.
Transmit Request Threshold Register
EMACx_VTCI
Optional attribute; read/write access; type: Integer.
VLAN TCI Register
EMACx_VTPID
Optional attribute; read/write access; type: Integer.
VLAN TPID Register
1732

VIRTUTECH CONFIDENTIAL
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
anar
Optional attribute; read/write access; type: unknown type.
Internal Register
aner
Optional attribute; read/write access; type: unknown type.
Internal Register
anlpar
Optional attribute; read/write access; type: unknown type.
Internal Register
bmcr
Optional attribute; read/write access; type: unknown type.
Internal Register
bmsr
Optional attribute; read/write access; type: unknown type.
Internal Register
cs_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
1733

VIRTUTECH CONFIDENTIAL
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
link
Optional attribute; read/write access; type: Object or Nil.
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.
mal
Required attribute; read/write access; type: Object.
MAL object to be used for packet transfers.
mode
Optional attribute; read/write access; type: unknown type.
Internal Register
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
poll_reg
Optional attribute; read/write access; type: unknown type.
Internal Register
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
1734

VIRTUTECH CONFIDENTIAL
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
tp10_conf
Optional attribute; read/write access; type: unknown type.
Internal Register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
status

connect to a simulated Ethernet link


disconnect from simulated link
print static information about device
print dynamic information about device

Command Descriptions
<ppc440gx-emac>.connect
Synopsis
<ppc440gx-emac>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<ppc440gx-emac>.disconnect

<ppc440gx-emac>.disconnect
Synopsis
<ppc440gx-emac>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<ppc440gx-emac>.connect

<ppc440gx-emac>.info
1735

VIRTUTECH CONFIDENTIAL
Synopsis
<ppc440gx-emac>.info
Description
Print detailed static information about the simulated device.

<ppc440gx-emac>.status
Synopsis
<ppc440gx-emac>.status
Description
Print detailed dynamic information about the simulated device.

1736

VIRTUTECH CONFIDENTIAL

ppc440gx-gpio
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-gpio
Interfaces Implemented
log_object, io_memory
Description
The ppc440gp-gpio class models the ethernet media access controller (GPIO) of the
PowerPC 440GP system-on-chip 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
GPIO0_IR
Optional attribute; read/write access; type: Integer.
GPIO Input Register
GPIO0_ODR
Optional attribute; read/write access; type: Integer.
GPIO Open Drain Register
GPIO0_OR
Optional attribute; read/write access; type: Integer.
GPIO Output Register
GPIO0_TCR
Optional attribute; read/write access; type: Integer.
GPIO Three-State Control Register

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

1737

VIRTUTECH CONFIDENTIAL
Commands
status print dynamic information about device

Command Descriptions
<ppc440gx-gpio>.status
Synopsis
<ppc440gx-gpio>.status
Description
Print detailed dynamic information about the simulated device.

1738

VIRTUTECH CONFIDENTIAL

ppc440gx-iic
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-iic
Interfaces Implemented
log_object, event_poster, io_memory
Ports
Reset (signal)
Description
The ppc440gx-iic device implements the functionality of the IIC bus interface on the
ppc440gx chip

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
IICx_CLKDIV
Optional attribute; read/write access; type: Integer.
Clock Divide
IICx_CNTL
Optional attribute; read/write access; type: Integer.
Control
IICx_DIRECTCNTL
Optional attribute; read/write access; type: Integer.
Direct Control
IICx_EXTSTS
Optional attribute; read/write access; type: Integer.
Extended Status
IICx_HMADR
Optional attribute; read/write access; type: Integer.
High Master Address
1739

VIRTUTECH CONFIDENTIAL
IICx_HSADR
Optional attribute; read/write access; type: Integer.
High Slave Address
IICx_INTRMSK
Optional attribute; read/write access; type: Integer.
Interrupt Mask
IICx_LMADR
Optional attribute; read/write access; type: Integer.
Low Master Address
IICx_LSADR
Optional attribute; read/write access; type: Integer.
Low Slave Address
IICx_MDBUF
Optional attribute; read/write access; type: Integer.
Master Data Buffer
IICx_MDCNTL
Optional attribute; read/write access; type: Integer.
Mode Control
IICx_RESERVED1
Optional attribute; read/write access; type: Integer.
Reserved (MDBUF high)
IICx_RESERVED3
Optional attribute; read/write access; type: Integer.
Reserved (SDBUF high)
IICx_SDBUF
Optional attribute; read/write access; type: Integer.
Slave Data Buffer
IICx_STS
Optional attribute; read/write access; type: Integer.
Status
IICx_XFRCNT
Optional attribute; read/write access; type: Integer.
Transfer Count
IICx_XTCNTLSS
Optional attribute; read/write access; type: Integer.
Extended Control and Slave Status
1740

VIRTUTECH CONFIDENTIAL
i2c_bus
Required attribute; read/write access; type: unknown type.
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
interrupt_device
Required attribute; read/write access; type: Object.
Object to receive interrupts.
interrupt_level
Required attribute; read/write access; type: Integer.
Interrupt level for outgoing interrupts.
interrupt_pending
Optional attribute; read/write access; type: Integer.
Set to 1 when an outgoing interrupt is pending.
master_fifo
Optional attribute; read/write access; type: [i{0:4}].
The master data buffer.
slave_fifo
Optional attribute; read/write access; type: [i{0:4}].
The slave data buffer.
transfer_delay
Optional attribute; read/write access; type: Float.
The time required for each i2c transfer.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

1741

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ppc440gx-iic>.status
Synopsis
<ppc440gx-iic>.status
Description
Print detailed dynamic information about the simulated device.

1742

VIRTUTECH CONFIDENTIAL

ppc440gx-l2c
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-l2c
Interfaces Implemented
log_object, io_memory
Description
The 440gx-l2c device implements the functionality of the L2C0 (Clocking, Power Management, and Chip Control) integrated in the PPC440GP.

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
L2C0_ADDR
Optional attribute; read/write access; type: Integer.
L2 Cache Address Register
L2C0_CFG
Optional attribute; read/write access; type: Integer.
L2 Cache Configuration Register
L2C0_CMD
Optional attribute; read/write access; type: Integer.
L2 Cache Command Register
L2C0_DATA
Optional attribute; read/write access; type: Integer.
L2 Cache Data Register
L2C0_REVID
Optional attribute; read/write access; type: Integer.
L2 Cache Revision ID Register

1743

VIRTUTECH CONFIDENTIAL
L2C0_SNP0
Optional attribute; read/write access; type: Integer.
L2 Cache Snoop Register 0
L2C0_SNP1
Optional attribute; read/write access; type: Integer.
L2 Cache Snoop Register 1
L2C0_SR
Optional attribute; read/write access; type: Integer.
L2 Cache Status Register

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

1744

VIRTUTECH CONFIDENTIAL

ppc440gx-mal
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-mal
Interfaces Implemented
log_object, io_memory
Ports
Reset (signal)
Description
The ppc440gx-mal device implements the functionality of the ppc440gx memory access layer (MAL).

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
MAL0_CFG
Optional attribute; read/write access; type: Integer.
Configuration register
MAL0_ESR
Optional attribute; read/write access; type: Integer.
Error status register
MAL0_IER
Optional attribute; read/write access; type: Integer.
Interrupt enable register
MAL0_RCBS0
Optional attribute; read/write access; type: Integer.
RX channel 0 buffer size registers
MAL0_RCBS1
Optional attribute; read/write access; type: Integer.
RX channel 1 buffer size registers
1745

VIRTUTECH CONFIDENTIAL
MAL0_RCBS2
Optional attribute; read/write access; type: Integer.
RX channel 2 buffer size registers
MAL0_RCBS3
Optional attribute; read/write access; type: Integer.
RX channel 3 buffer size registers
MAL0_RXBADDR
Optional attribute; read/write access; type: Integer.
RX descriptor base address register
MAL0_RXCARR
Optional attribute; read/write access; type: Integer.
RX channel active reset register
MAL0_RXCASR
Optional attribute; read/write access; type: Integer.
RX channel active set register
MAL0_RXCTP0R
Optional attribute; read/write access; type: Integer.
RX channel 0 table pointer register
MAL0_RXCTP1R
Optional attribute; read/write access; type: Integer.
RX channel 1 table pointer register
MAL0_RXCTP2R
Optional attribute; read/write access; type: Integer.
RX channel 2 table pointer register
MAL0_RXCTP3R
Optional attribute; read/write access; type: Integer.
RX channel 3 table pointer register
MAL0_RXDEIR
Optional attribute; read/write access; type: Integer.
RX descriptor error interrupt register
MAL0_RXEOBISR
Optional attribute; read/write access; type: Integer.
RX end of buffer interrupt status register
MAL0_RXTATTRR
Optional attribute; read/write access; type: Integer.
RX PLB attribute register
1746

VIRTUTECH CONFIDENTIAL
MAL0_TXBADDR
Optional attribute; read/write access; type: Integer.
TX descriptor base address register
MAL0_TXCARR
Optional attribute; read/write access; type: Integer.
TX channel active reset register
MAL0_TXCASR
Optional attribute; read/write access; type: Integer.
TX channel active set register
MAL0_TXCTP0R
Optional attribute; read/write access; type: Integer.
TX channel 0 table pointer register
MAL0_TXCTP1R
Optional attribute; read/write access; type: Integer.
TX channel 1 table pointer register
MAL0_TXCTP2R
Optional attribute; read/write access; type: Integer.
TX channel 2 table pointer register
MAL0_TXCTP3R
Optional attribute; read/write access; type: Integer.
TX channel 3 table pointer register
MAL0_TXDEIR
Optional attribute; read/write access; type: Integer.
TX descriptor error interrupt register
MAL0_TXEOBISR
Optional attribute; read/write access; type: Integer.
TX end of buffer interrupt status register
MAL0_TXTATTRR
Optional attribute; read/write access; type: Integer.
TX PLB attribute register
cpu
Required attribute; read/write access; type: Object.
CPU object (for reset callback).

1747

VIRTUTECH CONFIDENTIAL
eob_levels
Optional attribute; read/write access; type: [ii].
Interrupt levels to be passed to the TX and RX end-of-buffer interrupt target objects respectively.
eob_targets
Optional attribute; read/write access; type: [oo].
Objects to receive TX and RX end-of-buffer interrupts.
interrupt_levels
Pseudo attribute; read/write access; type: [ii].
Deprecated (for backward compatibility only).
interrupts
Pseudo attribute; read/write access; type: [oo].
Deprecated (for backward compatibility only).
irq_dev
Pseudo attribute; read/write access; type: Object.
Deprecated (for backward compatibility only).
memory
Required attribute; read/write access; type: Object.
Memory space object for packet transactions.
next_rx_descriptor
Optional attribute; read/write access; type: [i{4}].
The index of rx descriptors to be processed next (per channel).
next_tx_descriptor
Optional attribute; read/write access; type: [i{4}].
The index of tx descriptors to be processed next (per channel).
pending_interrupts
Optional attribute; read/write access; type: Integer.
Interrupts that currently are pending (the exact representation is internal to this
device model).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

1748

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ppc440gx-mal>.status
Synopsis
<ppc440gx-mal>.status
Description
Print detailed dynamic information about the simulated device.

1749

VIRTUTECH CONFIDENTIAL

ppc440gx-opb
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-opb
Interfaces Implemented
log_object, io_memory
Ports
Reset (signal)
Description
The ppc440gx-opb device implements the functionality of the ppc440gx on-chip peripheral bus (OPB) arbiter.

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
bctrl
Optional attribute; read/write access; type: Integer.
OPB to PLB Bridge Control Register
bearh
Optional attribute; read/write access; type: Integer.
OPB to PLB Bridge Error Address Register High
bearl
Optional attribute; read/write access; type: Integer.
OPB to PLB Bridge Error Address Register Low
bstat
Optional attribute; read/write access; type: Integer.
OPB to PLB Bridge Status Register
revid
Optional attribute; read/write access; type: Integer.
OPB to PLB Bridge Revision ID Register
1750

VIRTUTECH CONFIDENTIAL

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

1751

VIRTUTECH CONFIDENTIAL

ppc440gx-pci
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-pci
Interfaces Implemented
log_object, io_memory, pci_device, translate, pci_interrupt, pci_bridge
Description
PPC440GP PCI(X) Bridge

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
CIX0_RID
Pseudo attribute; read/write access; type: Integer.
Internal Core Revision ID
PCIX0_BAR0H
Pseudo attribute; read/write access; type: Integer.
BAR 0 High
PCIX0_BAR0L
Pseudo attribute; read/write access; type: Integer.
BAR 0 Low
PCIX0_BAR1
Pseudo attribute; read/write access; type: Integer.
BAR 1
PCIX0_BAR2H
Pseudo attribute; read/write access; type: Integer.
BAR 2 High
PCIX0_BAR2L
Pseudo attribute; read/write access; type: Integer.
BAR 2 Low
1752

VIRTUTECH CONFIDENTIAL
PCIX0_BAR3
Pseudo attribute; read/write access; type: Integer.
Unused BAR 3
PCIX0_BIST
Pseudo attribute; read/write access; type: Integer.
Built In Self Test Control
PCIX0_BRDGOPT1
Pseudo attribute; read/write access; type: Integer.
Bridge Options 1
PCIX0_BRDGOPT2
Pseudo attribute; read/write access; type: Integer.
Bridge Options 2
PCIX0_CACHELS
Pseudo attribute; read/write access; type: Integer.
Cache Line Size
PCIX0_CAP
Pseudo attribute; read/write access; type: Integer.
Capabilities Pointer
PCIX0_CAPID
Pseudo attribute; read/write access; type: Integer.
Capability Identifier
PCIX0_CFGADDR
Optional attribute; read/write access; type: Integer.
Configuration address register.
PCIX0_CID
Pseudo attribute; read/write access; type: Integer.
Internal Core Device ID
PCIX0_CISPTR
Pseudo attribute; read/write access; type: Integer.
Unused Cardbus CIS Pointer
PCIX0_CLS
Pseudo attribute; read/write access; type: Integer.
Class Register
PCIX0_CMD
Pseudo attribute; read/write access; type: Integer.
Command Register
1753

VIRTUTECH CONFIDENTIAL
PCIX0_DEVID
Pseudo attribute; read/write access; type: Integer.
Device ID
PCIX0_EROMBA
Pseudo attribute; read/write access; type: Integer.
Expansion ROM Base Address
PCIX0_ERREN
Pseudo attribute; read/write access; type: Integer.
Error Enable
PCIX0_ERRSTS
Pseudo attribute; read/write access; type: Integer.
Error Status
PCIX0_HDTYPE
Pseudo attribute; read/write access; type: Integer.
Header Type
PCIX0_IDR
Pseudo attribute; read/write access; type: Integer.
Internal Debug Register
PCIX0_INTLN
Pseudo attribute; read/write access; type: Integer.
Interrupt Line
PCIX0_INTPN
Pseudo attribute; read/write access; type: Integer.
Interrupt Pin
PCIX0_LATTIM
Pseudo attribute; read/write access; type: Integer.
Latency Timer
PCIX0_MAXLTNCY
Pseudo attribute; read/write access; type: Integer.
Maximum Latency
PCIX0_MINGNT
Pseudo attribute; read/write access; type: Integer.
Minimum Grant
PCIX0_NIPTR
Pseudo attribute; read/write access; type: Integer.
Next Item Pointer
1754

VIRTUTECH CONFIDENTIAL
PCIX0_OMCAPID
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Capability Identifier
PCIX0_OMMA
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Message Address
PCIX0_OMMC
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Message Control
PCIX0_OMMDATA
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Message Data
PCIX0_OMMEOI
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Message End Of Interrupt
PCIX0_OMMUA
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Message Upper Address
PCIX0_OMNIPTR
Pseudo attribute; read/write access; type: Integer.
Outbound MSI Next Item Pointer
PCIX0_PCIXCMD
Pseudo attribute; read/write access; type: Integer.
Command
PCIX0_PIM0LAH
Pseudo attribute; read/write access; type: Integer.
PIM0 Local Address High
PCIX0_PIM0LAL
Pseudo attribute; read/write access; type: Integer.
PIM0 Local Address Low
PCIX0_PIM0SA
Pseudo attribute; read/write access; type: Integer.
PIM0 Size/Attribute
PCIX0_PIM1LAH
Pseudo attribute; read/write access; type: Integer.
PIM1 Local Address High
1755

VIRTUTECH CONFIDENTIAL
PCIX0_PIM1LAL
Pseudo attribute; read/write access; type: Integer.
PIM1 Local Address Low
PCIX0_PIM1SA
Pseudo attribute; read/write access; type: Integer.
PIM1 Size/Attribute
PCIX0_PIM2LAH
Pseudo attribute; read/write access; type: Integer.
PIM2 Local Address High
PCIX0_PIM2LAL
Pseudo attribute; read/write access; type: Integer.
PIM2 Local Address Low
PCIX0_PIM2SA
Pseudo attribute; read/write access; type: Integer.
PIM2 Size/Attribute
PCIX0_PLBBEARH
Pseudo attribute; read/write access; type: Integer.
PLB Slave Error Address Register High
PCIX0_PLBBEARL
Pseudo attribute; read/write access; type: Integer.
PLB Slave Error Address Register Low
PCIX0_PLBBESR
Pseudo attribute; read/write access; type: Integer.
PLB Slave Error Syndrome Register
PCIX0_PMC
Pseudo attribute; read/write access; type: Integer.
Power Management Capabilities
PCIX0_PMCAPID
Pseudo attribute; read/write access; type: Integer.
PMC Capability Identifier
PCIX0_PMCSR
Pseudo attribute; read/write access; type: Integer.
Power Management Control Status
PCIX0_PMCSRBSE
Pseudo attribute; read/write access; type: Integer.
PMCSR PCI to PCI Bridge Support Extensions
1756

VIRTUTECH CONFIDENTIAL
PCIX0_PMDATA
Pseudo attribute; read/write access; type: Integer.
PMC Data Register
PCIX0_PMNIPTR
Pseudo attribute; read/write access; type: Integer.
PMC Next Item Pointer
PCIX0_PMSCRR
Pseudo attribute; read/write access; type: Integer.
Power Management State Change Request Register
PCIX0_POM0LAH
Pseudo attribute; read/write access; type: Integer.
POM0 Local Address High
PCIX0_POM0LAL
Pseudo attribute; read/write access; type: Integer.
POM0 Local Address Low
PCIX0_POM0PCIAH
Pseudo attribute; read/write access; type: Integer.
POM0 PCI Address High
PCIX0_POM0PCIAL
Pseudo attribute; read/write access; type: Integer.
POM0 PCI Address Low
PCIX0_POM0SA
Pseudo attribute; read/write access; type: Integer.
POM0 Size Attribute
PCIX0_POM1LAH
Pseudo attribute; read/write access; type: Integer.
POM1 Local Address High
PCIX0_POM1LAL
Pseudo attribute; read/write access; type: Integer.
POM1 Local Address Low
PCIX0_POM1PCIAH
Pseudo attribute; read/write access; type: Integer.
POM1 PCI Address High
PCIX0_POM1PCIAL
Pseudo attribute; read/write access; type: Integer.
POM1 PCI Address Low
1757

VIRTUTECH CONFIDENTIAL
PCIX0_POM1SA
Pseudo attribute; read/write access; type: Integer.
POM1 Size Attribute
PCIX0_POM2SA
Pseudo attribute; read/write access; type: Integer.
POM2 Size/Attribute
PCIX0_RES0
Pseudo attribute; read/write access; type: Integer.
Reserved
PCIX0_RES1
Pseudo attribute; read/write access; type: Integer.
Reserved
PCIX0_RES2
Pseudo attribute; read/write access; type: Integer.
Reserved
PCIX0_REVID
Pseudo attribute; read/write access; type: Integer.
Revision ID
PCIX0_SBSYSID
Pseudo attribute; read/write access; type: Integer.
Subsystem ID
PCIX0_SBSYSVID
Pseudo attribute; read/write access; type: Integer.
Subsystem Vendor ID
PCIX0_STATUS
Pseudo attribute; read/write access; type: Integer.
Status Register
PCIX0_STS
Pseudo attribute; read/write access; type: Integer.
Status
PCIX0_VENDID
Pseudo attribute; read/write access; type: Integer.
Vendor ID

1758

VIRTUTECH CONFIDENTIAL
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
irq_routing
Optional attribute; read/write access; type: [[ioi]].
Interrupt routing table.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
plb
Required attribute; read/write access; type: Object.
Memory space object representing the PLB address space.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

1759

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ppc440gx-pci>.status
Synopsis
<ppc440gx-pci>.status
Description
Print detailed dynamic information about the simulated device.

1760

VIRTUTECH CONFIDENTIAL

ppc440gx-plb
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-plb
Interfaces Implemented
log_object, io_memory
Ports
Reset (signal)
Description
The ppc440gx-plb device implements the functionality of the ppc440gx processor local
bus (PLB) arbiter.

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
acr
Optional attribute; read/write access; type: Integer.
PLB Arbiter Control Register
bearh
Optional attribute; read/write access; type: Integer.
PLB Bus Error Address Register
bearl
Optional attribute; read/write access; type: Integer.
PLB Bus Error Address Register
besr
Optional attribute; read/write access; type: Integer.
PLB Bus Error Status Register
revid
Optional attribute; read/write access; type: Integer.
PLB Arbiter Revision ID
1761

VIRTUTECH CONFIDENTIAL

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

1762

VIRTUTECH CONFIDENTIAL

ppc440gx-rgmii
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-rgmii
Interfaces Implemented
log_object, io_memory
Description
The ppc440gx-rgmii device implements the functionality of the ppc440gx RGMII bridge.
The RGMII bridge provides the capability for the EMACs to connect to external ethernet PHYs that support the reduced gigabit media independent interface (RGMII) or
the reduced ten bit interface (RTBI) or their standard GMII or TBI versions.

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
fer
Optional attribute; read/write access; type: Integer.
RGMII function enable register.
ssr
Optional attribute; read/write access; type: Integer.
RGMII speed select register.

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

1763

VIRTUTECH CONFIDENTIAL

ppc440gx-sdr
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-sdr
Interfaces Implemented
log_object, io_memory
Description
The ppc440gx-sdr device implements the functionality of the ppc440gx system device
control register (SDR) register file.

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
amp
Optional attribute; read/write access; type: Integer.
Alternate PLB Master Priority Register
cfgaddr
Optional attribute; read/write access; type: Integer.
Address register.
cp440
Optional attribute; read/write access; type: Integer.
CPU Control Register
cpu
Required attribute; read/write access; type: Object.
CPU object within the system.
cust0
Optional attribute; read/write access; type: Integer.
Customer Configuration Register 0

1764

VIRTUTECH CONFIDENTIAL
cust1
Optional attribute; read/write access; type: Integer.
Customer Configuration Register 1
ddrdl
Optional attribute; read/write access; type: Integer.
DDR Delay Line Register
ebc
Optional attribute; read/write access; type: Integer.
EBC Configuration Register
ecid0
Optional attribute; read/write access; type: Integer.
Electronic Chip ID Register 0
ecid1
Optional attribute; read/write access; type: Integer.
Electronic Chip ID Register 1
ecid2
Optional attribute; read/write access; type: Integer.
Electronic Chip ID Register 2
jtag
Optional attribute; read/write access; type: Integer.
JTAG ID Register
malrbl
Optional attribute; read/write access; type: Integer.
MAL Receive Burst Length Register
malrbs
Optional attribute; read/write access; type: Integer.
MAL Receive Bus Size Register
maltbl
Optional attribute; read/write access; type: Integer.
MAL Transmit Burst Length Register
maltbs
Optional attribute; read/write access; type: Integer.
MAL Transmit Bus Size Register
mfr
Optional attribute; read/write access; type: Integer.
Miscellaneous Function Register
1765

VIRTUTECH CONFIDENTIAL
mirq0
Optional attribute; read/write access; type: Integer.
Master Interrupt Request Register 0
mirq1
Optional attribute; read/write access; type: Integer.
Master Interrupt Request Register 1
pfc0
Optional attribute; read/write access; type: Integer.
Pin Function Control Register 0
pfc1
Optional attribute; read/write access; type: Integer.
Pin Function Control Register 1
pinstp
Optional attribute; read/write access; type: Integer.
Pin Strapping Register
plbtr
Optional attribute; read/write access; type: Integer.
PLB Trace Register
sdcs
Optional attribute; read/write access; type: Integer.
Serial Device Controller Settings Register
sdstp0
Optional attribute; read/write access; type: Integer.
Serial Device Strap Register 0
sdstp1
Optional attribute; read/write access; type: Integer.
Serial Device Strap Register 1
sdstp2
Optional attribute; read/write access; type: Integer.
Serial Device Strap Register 2
sdstp3
Optional attribute; read/write access; type: Integer.
Serial Device Strap Register 3
slpipe
Optional attribute; read/write access; type: Integer.
Slave Address Pipeline Register
1766

VIRTUTECH CONFIDENTIAL
srst
Optional attribute; read/write access; type: Integer.
Soft Reset Register
uart0
Optional attribute; read/write access; type: Integer.
UART Configuration Register 0
uart1
Optional attribute; read/write access; type: Integer.
UART Configuration Register 1
uic
Required attribute; read/write access; type: [oooo].
Universal Interrupt Controllers (UICs) within the system.
xcr
Optional attribute; read/write access; type: Integer.
PCIX Control Register
xpllc
Optional attribute; read/write access; type: Integer.
PLL Control Register
xplld
Optional attribute; read/write access; type: Integer.
PLL Divisor Register

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

1767

VIRTUTECH CONFIDENTIAL

ppc440gx-sdram
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-sdram
Interfaces Implemented
log_object, io_memory
Description
The 4xx-sdram device implements the functionality of the SDRAM0 memory controller integrated in the PPC440GP

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
SDRAM0_B0CR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_B0CR at 0x40
SDRAM0_B1CR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_B1CR at 0x44
SDRAM0_B2CR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_B2CR at 0x48
SDRAM0_B3CR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_B3CR at 0x4c
SDRAM0_BEAR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_BEAR at 0x10

1768

VIRTUTECH CONFIDENTIAL
SDRAM0_BESR0
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_BESR0 at 0x0
SDRAM0_BESR1
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_BESR1 at 0x8
SDRAM0_CFG0
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_CFG0 at 0x20
SDRAM0_CFG1
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_CFG1 at 0x21
SDRAM0_CID
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_CID at 0xa4
SDRAM0_CLKTR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_CLKTR at 0x82
SDRAM0_DEVOPT
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_DEVOPT at 0x22
SDRAM0_DLYCAL
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_DLYCAL at 0x84
SDRAM0_ECCESR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_ECCESR at 0x98
SDRAM0_MCSTS
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_MCSTS at 0x24
SDRAM0_MIRQ
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_MIRQ at 0x11
SDRAM0_PMIT
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_PMIT at 0x34
1769

VIRTUTECH CONFIDENTIAL
SDRAM0_RID
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_RID at 0xa8
SDRAM0_RTR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_RTR at 0x30
SDRAM0_SLI0
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_SLI0 at 0x18
SDRAM0_TR0
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_TR0 at 0x80
SDRAM0_TR1
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_TR1 at 0x81
SDRAM0_UABBA
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_UABBA at 0x38
SDRAM0_WDDCTR
Optional attribute; read/write access; type: unknown type.
SDRAM0 controller and configuration register SDRAM0_WDDCTR at 0x83
cfgaddr
Optional attribute; read/write access; type: unknown type.
SDRAM0 address register
memory
Required attribute; read/write access; type: s|o.
Physical memory object.

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

1770

VIRTUTECH CONFIDENTIAL

ppc440gx-sram
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-sram
Interfaces Implemented
log_object, io_memory
Description
The ppc440gx-sram device implements the functionality of the ppc440gx SRAM controller.

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
SRAM0_BEAR
Optional attribute; read/write access; type: Integer.
Bus Error Address Register
SRAM0_BESR0
Optional attribute; read/write access; type: Integer.
Bus Error Status Register 0
SRAM0_BESR1
Optional attribute; read/write access; type: Integer.
Bus Error Status Register 1
SRAM0_CID
Optional attribute; read/write access; type: Integer.
Bus Core ID Register 1
SRAM0_DPC
Optional attribute; read/write access; type: Integer.
Data Parity Check Register

1771

VIRTUTECH CONFIDENTIAL
SRAM0_PMEG
Optional attribute; read/write access; type: Integer.
Power Management
SRAM0_REVID
Optional attribute; read/write access; type: Integer.
Bus Revision ID Register
SRAM0_SB0CR
Optional attribute; read/write access; type: Integer.
Bank Configuration Register 0
SRAM0_SB1CR
Optional attribute; read/write access; type: Integer.
Bank Configuration Register 1
SRAM0_SB2CR
Optional attribute; read/write access; type: Integer.
Bank Configuration Register 2
SRAM0_SB3CR
Optional attribute; read/write access; type: Integer.
Bank Configuration Register 3
plb
Required attribute; read/write access; type: s|o.
Processor Local Bus (PLB) memory space.
sram
Required attribute; read/write access; type: s|o.
SRAM memory object.

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

1772

VIRTUTECH CONFIDENTIAL

ppc440gx-uic
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-uic
Interfaces Implemented
log_object, io_memory, pci_interrupt, simple_interrupt
Ports
Reset (signal)
Description
The ppc440gx-uic device implements the functionality of the Universal Interrupt Controller on the ppc440gx chip.

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
UICx_CR
Pseudo attribute; read/write access; type: Integer.
Value of the critical register. Note that this attribute is obsolete. Please use cr
instead.
UICx_ER
Pseudo attribute; read/write access; type: Integer.
Value of the enable register. Note that this attribute is obsolete. Please use er
instead.
UICx_PR
Pseudo attribute; read/write access; type: Integer.
Value of the polarity register. Note that this attribute is obsolete. Please use pr
instead.
UICx_SR
Pseudo attribute; read/write access; type: Integer.
Value of the status register. Note that this attribute is obsolete. Please use sr
instead.
1773

VIRTUTECH CONFIDENTIAL
UICx_TR
Pseudo attribute; read/write access; type: Integer.
Value of the trigger register. Note that this attribute is obsolete. Please use tr
instead.
UICx_VCR
Pseudo attribute; read/write access; type: Integer.
Value of the vector configuration register. Note that this attribute is obsolete.
Please use vcr instead.
cr
Optional attribute; read/write access; type: Integer.
critical
critical_interrupt_pending
Optional attribute; read/write access; type: Integer.
Set to 1 when the outgoing critical interrupt signal is asserted.
critical_target
Required attribute; read/write access; type: o|s.
Target object to receive critical interrupts.
critical_target_level
Required attribute; read/write access; type: Integer.
The interrupt level sent to the target of critical interrupts.
er
Optional attribute; read/write access; type: Integer.
enable
external_irq_levels
Optional attribute; read/write access; type: Integer.
Similar to the SR register but reflects the current level from the irq source.
interrupt_pending
Optional attribute; read/write access; type: Integer.
Set to 1 when the outgoing interrupt signal is asserted.
msr
Pseudo attribute; read/write access; type: Integer.
masked status
pr
Optional attribute; read/write access; type: Integer.
polarity
1774

VIRTUTECH CONFIDENTIAL
sr
Optional attribute; read/write access; type: Integer.
status
srs
Pseudo attribute; read/write access; type: Integer.
status
target
Required attribute; read/write access; type: o|s.
Target object to receive non-critical interrupts.
target_level
Required attribute; read/write access; type: Integer.
The interrupt level sent to the target of non-critical interrupts.
tr
Optional attribute; read/write access; type: Integer.
trigger
vcr
Optional attribute; read/write access; type: Integer.
vector configuration
vr
Pseudo attribute; read/write access; type: Integer.
vector

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

Command Descriptions
<ppc440gx-uic>.status
Synopsis
<ppc440gx-uic>.status
Description
Print detailed dynamic information about the simulated device.

1775

VIRTUTECH CONFIDENTIAL

ppc440gx-zmii
Provided by
440gx-devices
Class Hierarchy
conf-object log-object ppc440gx-zmii
Interfaces Implemented
log_object, io_memory
Description
The ppc440gx-zmii device implements the functionality of the ppc440gx ZMII bridge.
The ZMII bridge passes MII and MDI signals from the EMACs to the PHYs, or formats
the MII signals to support the reduced media independent interface (RMII) or serial
media independent interface (SMII).

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
ZMII0_FER
Pseudo attribute; read/write access; type: Integer.
ZMII function enable register.
ZMII0_SMIISR
Pseudo attribute; read/write access; type: Integer.
ZMII SMII status register.
ZMII0_SSR
Pseudo attribute; read/write access; type: Integer.
ZMII speed select register.
fer
Optional attribute; read/write access; type: Integer.
ZMII function enable register.
smiisr
Optional attribute; read/write access; type: Integer.
ZMII SMII status register.
1776

VIRTUTECH CONFIDENTIAL
ssr
Optional attribute; read/write access; type: Integer.
ZMII speed select register.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
status print dynamic information about device

Command Descriptions
<ppc440gx-zmii>.status
Synopsis
<ppc440gx-zmii>.status
Description
Print detailed dynamic information about the simulated device.

1777

VIRTUTECH CONFIDENTIAL

ppc603e
Provided by
ppc603e, ppc603e-turbo
Class Hierarchy
conf-object log-object ppc603e
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc603e processor simulation

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.
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 (ppc32)
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null mode)
1778

VIRTUTECH CONFIDENTIAL
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.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dar
Optional attribute; read/write access; type: Integer.
Data address register
dbat
Pseudo attribute; read/write access; type: [[ii]].
((du0,dl0), (du1,dl2),. . . (du3,dl3)) List for accessing all DBATs
dbat0l
Optional attribute; read/write access; type: Integer.
Data BAT lower 0
1779

VIRTUTECH CONFIDENTIAL
dbat0u
Optional attribute; read/write access; type: Integer.
Data BAT upper 0
dbat1l
Optional attribute; read/write access; type: Integer.
Data BAT lower 1
dbat1u
Optional attribute; read/write access; type: Integer.
Data BAT upper 1
dbat2l
Optional attribute; read/write access; type: Integer.
Data BAT lower 2
dbat2u
Optional attribute; read/write access; type: Integer.
Data BAT upper 2
dbat3l
Optional attribute; read/write access; type: Integer.
Data BAT lower 3
dbat3u
Optional attribute; read/write access; type: Integer.
Data BAT upper 3
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dcmp
Optional attribute; read/write access; type: Integer.
PTE compare value for DTLB miss
dec
Optional attribute; read/write access; type: Integer.
Decrementer register
dec_remainder
Optional attribute; read/write access; type: Integer.
Decrementer remainder
1780

VIRTUTECH CONFIDENTIAL
dmiss
Optional attribute; read/write access; type: Integer.
Address which caused DTLB miss exception
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.
dsisr
Optional attribute; read/write access; type: Integer.
DSI source register
dtlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Data TLB
ear
Optional attribute; read/write access; type: Integer.
External access register
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).
fprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(f0, f1, . . . , f31) Floating-point registers
fpscr
Optional attribute; read/write access; type: Integer.
Floating-point condition register
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
1781

VIRTUTECH CONFIDENTIAL
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
gprs_shadow
Optional attribute; read/write access; type: [iiii].
(gpr0, gpr1, gpr2, gpr3) Saved registers when MSR[TGPR] is active
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
hash1
Optional attribute; read/write access; type: Integer.
Primary PTEG address
hash2
Optional attribute; read/write access; type: Integer.
Secondary PTEG address
hid0
Optional attribute; read/write access; type: Integer.
Hardware implementation register 0
hid1
Optional attribute; read/write access; type: Integer.
Hardware implementation register 1
host_floating_point_enable
Session class attribute; read/write access; type: b.
Use host floating point hardware when set to non-zero. This mode is currently
only available for 32-bit x86 machines with SSE and SSE2. Supported instructions
are fabs, fnabs, fneg, fmr, fadd, fadds, fdiv, fdivs, fmul, fmuls, fsub, fubs, fmadd, fmadds,
fmsub, fmsubs, fnmadd, fnmadds, fnmsub, and fnmsubs. The remaining instructions
are emulated in software.
Known Limitations: Indeterminism: The simulation can be indeterministic when
enabling this mode. NaNs: The calculated result contains incorrect NaN when
more than one operand contain NaNs. FPSCR: Only a subset of the FPSCR bits
are set correctly. Supported bits are OX, UX, ZX, XX, FI, and FPRF. FX and FEX
may be correct if they are generated from the supported bits. Some FPSCR bit
can be incorrect for multiply-add/sub instructions.
iabr
Optional attribute; read/write access; type: Integer.
Instruction Address Breakpoint Register
1782

VIRTUTECH CONFIDENTIAL
ibat
Pseudo attribute; read/write access; type: [[ii]].
((iu0,il0), (iu1,il2),. . . (iu3,il3)) List for accessing all IBATs
ibat0l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 0
ibat0u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 0
ibat1l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 1
ibat1u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 1
ibat2l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 2
ibat2u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 2
ibat3l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 3
ibat3u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 3
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
icmp
Optional attribute; read/write access; type: Integer.
PTE compare value for ITLB miss
imiss
Optional attribute; read/write access; type: Integer.
Address which caused ITLB miss exception
1783

VIRTUTECH CONFIDENTIAL
imprecise_fp_exceptions_enable
Optional attribute; read/write access; type: b.
Enable imprecise floating point exceptions when MSR[FE0 FE1] is set to imprecise non-recoverable exceptions.
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze 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
is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
itlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Instruction TLB
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions
lr
Optional attribute; read/write access; type: Integer.
Link register
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
memory_profiling_granularity_log2
Pseudo attribute; read-only access; type: Integer.
Base 2 logarithm of memory profiling granularity.
1784

VIRTUTECH CONFIDENTIAL
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).
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
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.

1785

VIRTUTECH CONFIDENTIAL
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
rpa
Optional attribute; read/write access; type: Integer.
Second word for TLB entry
sdr1
Optional attribute; read/write access; type: Integer.
Storage Description Register
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use

1786

VIRTUTECH CONFIDENTIAL
sr
Optional attribute; read/write access; type: [i{16}]; integer indexed; indexed
type: Integer.
(sr0, sr1,.., sr15) Segment registers
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
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.
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
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.
1787

VIRTUTECH CONFIDENTIAL
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder

1788

VIRTUTECH CONFIDENTIAL
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
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.

1789

VIRTUTECH CONFIDENTIAL
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.
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register
1790

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
Commands
pregs-fpu
print-dtlb
print-itlb
temperature

print the floating point registers


print data tlb contents
print instruction tlb contents
set or query the temperature of the processor

Command Descriptions
<ppc603e>.pregs-fpu
Synopsis
<ppc603e>.pregs-fpu [-f] [-x] [-i] [-b]
pregs-fpu [cpu-name] [-f] [-x] [-i] [-b]
Description
Prints the contents of the floating point registers.
This command can take one subregister size flag and one formatting flag.
The formatting flags -f, -x, and -i select the formatting of the output. The -f flag prints
the floating-point values of the registers. The -x flag prints the contents of the registers
as hexadecimal integers. The -i flag prints the contents of the registers as decimal
integers. With the -b flag, the registers are printed in binary floating point form.

<ppc603e>.print-dtlb
Synopsis
<ppc603e>.print-dtlb
Description
Prints the contents of the data TLB of the processor.

<ppc603e>.print-itlb
1791

VIRTUTECH CONFIDENTIAL
Synopsis
<ppc603e>.print-itlb
Description
Prints the contents of the instruction TLB of the processor.

<ppc603e>.temperature
Synopsis
<ppc603e>.temperature [degrees-celsius]
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1792

VIRTUTECH CONFIDENTIAL

ppc64-linux-process-tracker
Provided by
ppc64-linux-process-tracker
Class Hierarchy
conf-object log-object ppc64-linux-process-tracker
Interfaces Implemented
log_object, tracker_unix, tracker_settings, tracker
Description

Process tracker for Linux on ppc64. Note: This process tracker has been superseded by the generic l

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
pid_offset_in_task_struct
Session attribute; read/write access; type: Integer.
Offset (in bytes) of the pid in the task_struct struct.
processors
Session attribute; read/write access; type: [o].
Processors whose modes are being tracked.
task_struct_offset_in_paca
Session attribute; read/write access; type: Integer.
Offset (in bytes) of the task_struct pointer in the paca struct.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface tracker
activate, add-processor, deactivate, remove-processor

1793

VIRTUTECH CONFIDENTIAL
Commands
status print status of the device

Command Descriptions
<ppc64-linux-process-tracker>.status
Synopsis
<ppc64-linux-process-tracker>.status
Description
Print detailed information about the current status of the device.

1794

VIRTUTECH CONFIDENTIAL

ppc7400
Provided by
ppc7400, ppc7400-turbo
Class Hierarchy
conf-object log-object ppc7400
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc7400 processor simulation

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.
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 (ppc32)
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null mode)
1795

VIRTUTECH CONFIDENTIAL
bamr
Optional attribute; read/write access; type: Integer.
Breakpoint address mask register
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.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dabr
Optional attribute; read/write access; type: Integer.
Data Address Breakpoint Register
dar
Optional attribute; read/write access; type: Integer.
Data address register
1796

VIRTUTECH CONFIDENTIAL
dbat
Pseudo attribute; read/write access; type: [[ii]].
((du0,dl0), (du1,dl2),. . . (du3,dl3)) List for accessing all DBATs
dbat0l
Optional attribute; read/write access; type: Integer.
Data BAT lower 0
dbat0u
Optional attribute; read/write access; type: Integer.
Data BAT upper 0
dbat1l
Optional attribute; read/write access; type: Integer.
Data BAT lower 1
dbat1u
Optional attribute; read/write access; type: Integer.
Data BAT upper 1
dbat2l
Optional attribute; read/write access; type: Integer.
Data BAT lower 2
dbat2u
Optional attribute; read/write access; type: Integer.
Data BAT upper 2
dbat3l
Optional attribute; read/write access; type: Integer.
Data BAT lower 3
dbat3u
Optional attribute; read/write access; type: Integer.
Data BAT upper 3
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dec
Optional attribute; read/write access; type: Integer.
Decrementer register
1797

VIRTUTECH CONFIDENTIAL
dec_remainder
Optional attribute; read/write access; type: Integer.
Decrementer remainder
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.
dsisr
Optional attribute; read/write access; type: Integer.
DSI source register
dtlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Data TLB
ear
Optional attribute; read/write access; type: Integer.
External access register
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).
fprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(f0, f1, . . . , f31) Floating-point registers
fpscr
Optional attribute; read/write access; type: Integer.
Floating-point condition register
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
1798

VIRTUTECH CONFIDENTIAL
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
hid0
Optional attribute; read/write access; type: Integer.
Hardware implementation register 0
hid1
Optional attribute; read/write access; type: Integer.
Hardware implementation register 1
host_floating_point_enable
Session class attribute; read/write access; type: b.
Use host floating point hardware when set to non-zero. This mode is currently
only available for 32-bit x86 machines with SSE and SSE2. Supported instructions
are fabs, fnabs, fneg, fmr, fadd, fadds, fdiv, fdivs, fmul, fmuls, fsub, fubs, fmadd, fmadds,
fmsub, fmsubs, fnmadd, fnmadds, fnmsub, and fnmsubs. The remaining instructions
are emulated in software.
Known Limitations: Indeterminism: The simulation can be indeterministic when
enabling this mode. NaNs: The calculated result contains incorrect NaN when
more than one operand contain NaNs. FPSCR: Only a subset of the FPSCR bits
are set correctly. Supported bits are OX, UX, ZX, XX, FI, and FPRF. FX and FEX
may be correct if they are generated from the supported bits. Some FPSCR bit
can be incorrect for multiply-add/sub instructions.
iabr
Optional attribute; read/write access; type: Integer.
Instruction Address Breakpoint Register
ibat
Pseudo attribute; read/write access; type: [[ii]].
((iu0,il0), (iu1,il2),. . . (iu3,il3)) List for accessing all IBATs
ibat0l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 0
ibat0u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 0
1799

VIRTUTECH CONFIDENTIAL
ibat1l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 1
ibat1u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 1
ibat2l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 2
ibat2u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 2
ibat3l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 3
ibat3u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 3
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
ictc
Optional attribute; read/write access; type: Integer.
Instruction Cache Throttling Control Register
imprecise_fp_exceptions_enable
Optional attribute; read/write access; type: b.
Enable imprecise floating point exceptions when MSR[FE0 FE1] is set to imprecise non-recoverable exceptions.
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze mode.
instruction_fetch_line_size
Session attribute; read/write access; type: Integer.
Instruction fetch line size for this processor.

1800

VIRTUTECH CONFIDENTIAL
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.
itlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Instruction TLB
l2cr
Optional attribute; read/write access; type: Integer.
L2 Control Register
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions
lr
Optional attribute; read/write access; type: Integer.
Link register
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
mmcr0
Optional attribute; read/write access; type: Integer.
Monitor Control 0
1801

VIRTUTECH CONFIDENTIAL
mmcr1
Optional attribute; read/write access; type: Integer.
Monitor Control 1
mmcr2
Optional attribute; read/write access; type: Integer.
Monitor Control 2
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
msscr0
Optional attribute; read/write access; type: Integer.
Memory subsystem control register
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
1802

VIRTUTECH CONFIDENTIAL
pir
Optional attribute; read/write access; type: Integer.
Processor ID
pmc1
Optional attribute; read/write access; type: Integer.
Performance Counter 1
pmc2
Optional attribute; read/write access; type: Integer.
Performance Counter 2
pmc3
Optional attribute; read/write access; type: Integer.
Performance Counter 3
pmc4
Optional attribute; read/write access; type: Integer.
Performance Counter 4
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.
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
sdr1
Optional attribute; read/write access; type: Integer.
Storage Description Register
1803

VIRTUTECH CONFIDENTIAL
siar
Optional attribute; read/write access; type: Integer.
Sampled Instruction Address
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use
sr
Optional attribute; read/write access; type: [i{16}]; integer indexed; indexed
type: Integer.
(sr0, sr1,.., sr15) Segment registers
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
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.

1804

VIRTUTECH CONFIDENTIAL
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
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.
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
thrm1
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 1
thrm2
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 2

1805

VIRTUTECH CONFIDENTIAL
thrm3
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 3
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
1806

VIRTUTECH CONFIDENTIAL
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.
1807

VIRTUTECH CONFIDENTIAL
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.
vrs
Optional attribute; read/write access; type: [[i,i]{32}]; integer indexed; indexed
type: [i,i].
((vr0h,vr0l), (vr1h,vr1l) . . . .., (vr31h,vr31l)) Altivec registers (128 bits)
vrsave
Optional attribute; read/write access; type: Integer.
Vector save/restore register
vscr
Optional attribute; read/write access; type: Integer.
Vector status and control register
1808

VIRTUTECH CONFIDENTIAL
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
Commands
pregs-altivec
print-dtlb
print-itlb
temperature

print cpu altivec registers


print data tlb contents
print instruction tlb contents
set or query the temperature of the processor

Command Descriptions
<ppc7400>.pregs-altivec
Synopsis
<ppc7400>.pregs-altivec
pregs-altivec [cpu-name]
Description
Prints the altivec vector register file of the processor cpu_name. If no CPU is specified,
the current CPU will be selected.

<ppc7400>.print-dtlb
Synopsis
<ppc7400>.print-dtlb
Description
Prints the contents of the data TLB of the processor.

<ppc7400>.print-itlb
1809

VIRTUTECH CONFIDENTIAL
Synopsis
<ppc7400>.print-itlb
Description
Prints the contents of the instruction TLB of the processor.

<ppc7400>.temperature
Synopsis
<ppc7400>.temperature [degrees-celsius]
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1810

VIRTUTECH CONFIDENTIAL

ppc7447
Provided by
ppc7447, ppc7447-turbo
Class Hierarchy
conf-object log-object ppc7447
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc7447 processor simulation

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.
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 (ppc32)
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null mode)
1811

VIRTUTECH CONFIDENTIAL
bamr
Optional attribute; read/write access; type: Integer.
Breakpoint address mask register
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.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dabr
Optional attribute; read/write access; type: Integer.
Data Address Breakpoint Register
dar
Optional attribute; read/write access; type: Integer.
Data address register
1812

VIRTUTECH CONFIDENTIAL
dbat
Pseudo attribute; read/write access; type: [[ii]].
((du0,dl0), (du1,dl2),. . . (du3,dl3)) List for accessing all DBATs
dbat0l
Optional attribute; read/write access; type: Integer.
Data BAT lower 0
dbat0u
Optional attribute; read/write access; type: Integer.
Data BAT upper 0
dbat1l
Optional attribute; read/write access; type: Integer.
Data BAT lower 1
dbat1u
Optional attribute; read/write access; type: Integer.
Data BAT upper 1
dbat2l
Optional attribute; read/write access; type: Integer.
Data BAT lower 2
dbat2u
Optional attribute; read/write access; type: Integer.
Data BAT upper 2
dbat3l
Optional attribute; read/write access; type: Integer.
Data BAT lower 3
dbat3u
Optional attribute; read/write access; type: Integer.
Data BAT upper 3
dbat4l
Optional attribute; read/write access; type: Integer.
Data BAT lower 4
dbat4u
Optional attribute; read/write access; type: Integer.
Data BAT upper 4
dbat5l
Optional attribute; read/write access; type: Integer.
Data BAT lower 5
1813

VIRTUTECH CONFIDENTIAL
dbat5u
Optional attribute; read/write access; type: Integer.
Data BAT upper 5
dbat6l
Optional attribute; read/write access; type: Integer.
Data BAT lower 6
dbat6u
Optional attribute; read/write access; type: Integer.
Data BAT upper 6
dbat7l
Optional attribute; read/write access; type: Integer.
Data BAT lower 7
dbat7u
Optional attribute; read/write access; type: Integer.
Data BAT upper 7
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dec
Optional attribute; read/write access; type: Integer.
Decrementer register
dec_remainder
Optional attribute; read/write access; type: Integer.
Decrementer remainder
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.

1814

VIRTUTECH CONFIDENTIAL
dsisr
Optional attribute; read/write access; type: Integer.
DSI source register
dtlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Data TLB
ear
Optional attribute; read/write access; type: Integer.
External access register
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).
fprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(f0, f1, . . . , f31) Floating-point registers
fpscr
Optional attribute; read/write access; type: Integer.
Floating-point condition register
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
hid0
Optional attribute; read/write access; type: Integer.
Hardware implementation register 0
1815

VIRTUTECH CONFIDENTIAL
hid1
Optional attribute; read/write access; type: Integer.
Hardware implementation register 1
host_floating_point_enable
Session class attribute; read/write access; type: b.
Use host floating point hardware when set to non-zero. This mode is currently
only available for 32-bit x86 machines with SSE and SSE2. Supported instructions
are fabs, fnabs, fneg, fmr, fadd, fadds, fdiv, fdivs, fmul, fmuls, fsub, fubs, fmadd, fmadds,
fmsub, fmsubs, fnmadd, fnmadds, fnmsub, and fnmsubs. The remaining instructions
are emulated in software.
Known Limitations: Indeterminism: The simulation can be indeterministic when
enabling this mode. NaNs: The calculated result contains incorrect NaN when
more than one operand contain NaNs. FPSCR: Only a subset of the FPSCR bits
are set correctly. Supported bits are OX, UX, ZX, XX, FI, and FPRF. FX and FEX
may be correct if they are generated from the supported bits. Some FPSCR bit
can be incorrect for multiply-add/sub instructions.
iabr
Optional attribute; read/write access; type: Integer.
Instruction Address Breakpoint Register
ibat
Pseudo attribute; read/write access; type: [[ii]].
((iu0,il0), (iu1,il2),. . . (iu3,il3)) List for accessing all IBATs
ibat0l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 0
ibat0u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 0
ibat1l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 1
ibat1u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 1
ibat2l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 2
1816

VIRTUTECH CONFIDENTIAL
ibat2u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 2
ibat3l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 3
ibat3u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 3
ibat4l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 4
ibat4u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 4
ibat5l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 5
ibat5u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 5
ibat6l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 6
ibat6u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 6
ibat7l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 7
ibat7u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 7
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
1817

VIRTUTECH CONFIDENTIAL
ictc
Optional attribute; read/write access; type: Integer.
Instruction Cache Throttling Control Register
ictrl
Optional attribute; read/write access; type: Integer.
Instruction cache/interrupt control register
imprecise_fp_exceptions_enable
Optional attribute; read/write access; type: b.
Enable imprecise floating point exceptions when MSR[FE0 FE1] is set to imprecise non-recoverable exceptions.
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze 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
is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
itlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Instruction TLB
l2cr
Optional attribute; read/write access; type: Integer.
L2 Control Register
ldstcr
Optional attribute; read/write access; type: Integer.
Load/Store control register
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions

1818

VIRTUTECH CONFIDENTIAL
lr
Optional attribute; read/write access; type: Integer.
Link register
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
mmcr0
Optional attribute; read/write access; type: Integer.
Monitor Control 0
mmcr1
Optional attribute; read/write access; type: Integer.
Monitor Control 1
mmcr2
Optional attribute; read/write access; type: Integer.
Monitor Control 2
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
1819

VIRTUTECH CONFIDENTIAL
msscr0
Optional attribute; read/write access; type: Integer.
Memory subsystem control register
msssr0
Optional attribute; read/write access; type: Integer.
Memory subsystem status register
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pir
Optional attribute; read/write access; type: Integer.
Processor ID
pmc1
Optional attribute; read/write access; type: Integer.
Performance Counter 1
pmc2
Optional attribute; read/write access; type: Integer.
Performance Counter 2
pmc3
Optional attribute; read/write access; type: Integer.
Performance Counter 3

1820

VIRTUTECH CONFIDENTIAL
pmc4
Optional attribute; read/write access; type: Integer.
Performance Counter 4
pmc5
Optional attribute; read/write access; type: Integer.
Performance Counter 5
pmc6
Optional attribute; read/write access; type: Integer.
Performance Counter 6
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.
ptehi
Optional attribute; read/write access; type: Integer.
PTE high register
ptelo
Optional attribute; read/write access; type: Integer.
PTE low register
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
sdr1
Optional attribute; read/write access; type: Integer.
Storage Description Register
1821

VIRTUTECH CONFIDENTIAL
siar
Optional attribute; read/write access; type: Integer.
Sampled Instruction Address
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg4
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg5
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg6
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg7
Optional attribute; read/write access; type: Integer.
Provided for OS use
sr
Optional attribute; read/write access; type: [i{16}]; integer indexed; indexed
type: Integer.
(sr0, sr1,.., sr15) Segment registers

1822

VIRTUTECH CONFIDENTIAL
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
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.
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
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.
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register

1823

VIRTUTECH CONFIDENTIAL
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
1824

VIRTUTECH CONFIDENTIAL
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
tlbmiss
Optional attribute; read/write access; type: Integer.
TLB miss register
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.
1825

VIRTUTECH CONFIDENTIAL
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.
vrs
Optional attribute; read/write access; type: [[i,i]{32}]; integer indexed; indexed
type: [i,i].
((vr0h,vr0l), (vr1h,vr1l) . . . .., (vr31h,vr31l)) Altivec registers (128 bits)
1826

VIRTUTECH CONFIDENTIAL
vrsave
Optional attribute; read/write access; type: Integer.
Vector save/restore register
vscr
Optional attribute; read/write access; type: Integer.
Vector status and control register
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
Commands
print-dtlb
print-itlb
temperature

print data tlb contents


print instruction tlb contents
set or query the temperature of the processor

Command Descriptions
<ppc7447>.print-dtlb
Synopsis
<ppc7447>.print-dtlb
Description
Prints the contents of the data TLB of the processor.

<ppc7447>.print-itlb
Synopsis
<ppc7447>.print-itlb
1827

VIRTUTECH CONFIDENTIAL
Description
Prints the contents of the instruction TLB of the processor.

<ppc7447>.temperature
Synopsis
<ppc7447>.temperature [degrees-celsius]
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1828

VIRTUTECH CONFIDENTIAL

ppc7450
Provided by
ppc7450, ppc7450-turbo
Class Hierarchy
conf-object log-object ppc7450
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc7450 processor simulation

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.
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 (ppc32)
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null mode)
1829

VIRTUTECH CONFIDENTIAL
bamr
Optional attribute; read/write access; type: Integer.
Breakpoint address mask register
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.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dabr
Optional attribute; read/write access; type: Integer.
Data Address Breakpoint Register
dar
Optional attribute; read/write access; type: Integer.
Data address register
1830

VIRTUTECH CONFIDENTIAL
dbat
Pseudo attribute; read/write access; type: [[ii]].
((du0,dl0), (du1,dl2),. . . (du3,dl3)) List for accessing all DBATs
dbat0l
Optional attribute; read/write access; type: Integer.
Data BAT lower 0
dbat0u
Optional attribute; read/write access; type: Integer.
Data BAT upper 0
dbat1l
Optional attribute; read/write access; type: Integer.
Data BAT lower 1
dbat1u
Optional attribute; read/write access; type: Integer.
Data BAT upper 1
dbat2l
Optional attribute; read/write access; type: Integer.
Data BAT lower 2
dbat2u
Optional attribute; read/write access; type: Integer.
Data BAT upper 2
dbat3l
Optional attribute; read/write access; type: Integer.
Data BAT lower 3
dbat3u
Optional attribute; read/write access; type: Integer.
Data BAT upper 3
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dec
Optional attribute; read/write access; type: Integer.
Decrementer register
1831

VIRTUTECH CONFIDENTIAL
dec_remainder
Optional attribute; read/write access; type: Integer.
Decrementer remainder
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.
dsisr
Optional attribute; read/write access; type: Integer.
DSI source register
dtlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Data TLB
ear
Optional attribute; read/write access; type: Integer.
External access register
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).
fprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(f0, f1, . . . , f31) Floating-point registers
fpscr
Optional attribute; read/write access; type: Integer.
Floating-point condition register
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
1832

VIRTUTECH CONFIDENTIAL
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
hid0
Optional attribute; read/write access; type: Integer.
Hardware implementation register 0
hid1
Optional attribute; read/write access; type: Integer.
Hardware implementation register 1
host_floating_point_enable
Session class attribute; read/write access; type: b.
Use host floating point hardware when set to non-zero. This mode is currently
only available for 32-bit x86 machines with SSE and SSE2. Supported instructions
are fabs, fnabs, fneg, fmr, fadd, fadds, fdiv, fdivs, fmul, fmuls, fsub, fubs, fmadd, fmadds,
fmsub, fmsubs, fnmadd, fnmadds, fnmsub, and fnmsubs. The remaining instructions
are emulated in software.
Known Limitations: Indeterminism: The simulation can be indeterministic when
enabling this mode. NaNs: The calculated result contains incorrect NaN when
more than one operand contain NaNs. FPSCR: Only a subset of the FPSCR bits
are set correctly. Supported bits are OX, UX, ZX, XX, FI, and FPRF. FX and FEX
may be correct if they are generated from the supported bits. Some FPSCR bit
can be incorrect for multiply-add/sub instructions.
iabr
Optional attribute; read/write access; type: Integer.
Instruction Address Breakpoint Register
ibat
Pseudo attribute; read/write access; type: [[ii]].
((iu0,il0), (iu1,il2),. . . (iu3,il3)) List for accessing all IBATs
ibat0l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 0
ibat0u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 0
1833

VIRTUTECH CONFIDENTIAL
ibat1l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 1
ibat1u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 1
ibat2l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 2
ibat2u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 2
ibat3l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 3
ibat3u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 3
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
ictc
Optional attribute; read/write access; type: Integer.
Instruction Cache Throttling Control Register
ictrl
Optional attribute; read/write access; type: Integer.
Instruction cache/interrupt control register
imprecise_fp_exceptions_enable
Optional attribute; read/write access; type: b.
Enable imprecise floating point exceptions when MSR[FE0 FE1] is set to imprecise non-recoverable exceptions.
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze mode.

1834

VIRTUTECH CONFIDENTIAL
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.
itlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Instruction TLB
l2cr
Optional attribute; read/write access; type: Integer.
L2 Control Register
l3cr
Optional attribute; read/write access; type: Integer.
L3 cache control register
l3pm
Optional attribute; read/write access; type: Integer.
L3 private memory register
ldstcr
Optional attribute; read/write access; type: Integer.
Load/Store control register
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions
lr
Optional attribute; read/write access; type: Integer.
Link register
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture

1835

VIRTUTECH CONFIDENTIAL
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
mmcr0
Optional attribute; read/write access; type: Integer.
Monitor Control 0
mmcr1
Optional attribute; read/write access; type: Integer.
Monitor Control 1
mmcr2
Optional attribute; read/write access; type: Integer.
Monitor Control 2
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
msscr0
Optional attribute; read/write access; type: Integer.
Memory subsystem control register
msssr0
Optional attribute; read/write access; type: Integer.
Memory subsystem status register
1836

VIRTUTECH CONFIDENTIAL
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pir
Optional attribute; read/write access; type: Integer.
Processor ID
pmc1
Optional attribute; read/write access; type: Integer.
Performance Counter 1
pmc2
Optional attribute; read/write access; type: Integer.
Performance Counter 2
pmc3
Optional attribute; read/write access; type: Integer.
Performance Counter 3
pmc4
Optional attribute; read/write access; type: Integer.
Performance Counter 4
pmc5
Optional attribute; read/write access; type: Integer.
Performance Counter 5

1837

VIRTUTECH CONFIDENTIAL
pmc6
Optional attribute; read/write access; type: Integer.
Performance Counter 6
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.
ptehi
Optional attribute; read/write access; type: Integer.
PTE high register
ptelo
Optional attribute; read/write access; type: Integer.
PTE low register
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
sdr1
Optional attribute; read/write access; type: Integer.
Storage Description Register
siar
Optional attribute; read/write access; type: Integer.
Sampled Instruction Address
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
1838

VIRTUTECH CONFIDENTIAL
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use
sr
Optional attribute; read/write access; type: [i{16}]; integer indexed; indexed
type: Integer.
(sr0, sr1,.., sr15) Segment registers
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
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.
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
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.
1839

VIRTUTECH CONFIDENTIAL
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.
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
1840

VIRTUTECH CONFIDENTIAL
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
tlbmiss
Optional attribute; read/write access; type: Integer.
TLB miss register
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.
1841

VIRTUTECH CONFIDENTIAL
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.

1842

VIRTUTECH CONFIDENTIAL
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.
vrs
Optional attribute; read/write access; type: [[i,i]{32}]; integer indexed; indexed
type: [i,i].
((vr0h,vr0l), (vr1h,vr1l) . . . .., (vr31h,vr31l)) Altivec registers (128 bits)
vrsave
Optional attribute; read/write access; type: Integer.
Vector save/restore register
vscr
Optional attribute; read/write access; type: Integer.
Vector status and control register
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
1843

VIRTUTECH CONFIDENTIAL
Commands
print-dtlb
print-itlb
temperature

print data tlb contents


print instruction tlb contents
set or query the temperature of the processor

Command Descriptions
<ppc7450>.print-dtlb
Synopsis
<ppc7450>.print-dtlb
Description
Prints the contents of the data TLB of the processor.

<ppc7450>.print-itlb
Synopsis
<ppc7450>.print-itlb
Description
Prints the contents of the instruction TLB of the processor.

<ppc7450>.temperature
Synopsis
<ppc7450>.temperature [degrees-celsius]
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1844

VIRTUTECH CONFIDENTIAL

ppc7457
Provided by
ppc7457, ppc7457-turbo
Class Hierarchy
conf-object log-object ppc7457
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc7457 processor simulation

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.
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 (ppc32)
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null mode)
1845

VIRTUTECH CONFIDENTIAL
bamr
Optional attribute; read/write access; type: Integer.
Breakpoint address mask register
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.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dabr
Optional attribute; read/write access; type: Integer.
Data Address Breakpoint Register
dar
Optional attribute; read/write access; type: Integer.
Data address register
1846

VIRTUTECH CONFIDENTIAL
dbat
Pseudo attribute; read/write access; type: [[ii]].
((du0,dl0), (du1,dl2),. . . (du3,dl3)) List for accessing all DBATs
dbat0l
Optional attribute; read/write access; type: Integer.
Data BAT lower 0
dbat0u
Optional attribute; read/write access; type: Integer.
Data BAT upper 0
dbat1l
Optional attribute; read/write access; type: Integer.
Data BAT lower 1
dbat1u
Optional attribute; read/write access; type: Integer.
Data BAT upper 1
dbat2l
Optional attribute; read/write access; type: Integer.
Data BAT lower 2
dbat2u
Optional attribute; read/write access; type: Integer.
Data BAT upper 2
dbat3l
Optional attribute; read/write access; type: Integer.
Data BAT lower 3
dbat3u
Optional attribute; read/write access; type: Integer.
Data BAT upper 3
dbat4l
Optional attribute; read/write access; type: Integer.
Data BAT lower 4
dbat4u
Optional attribute; read/write access; type: Integer.
Data BAT upper 4
dbat5l
Optional attribute; read/write access; type: Integer.
Data BAT lower 5
1847

VIRTUTECH CONFIDENTIAL
dbat5u
Optional attribute; read/write access; type: Integer.
Data BAT upper 5
dbat6l
Optional attribute; read/write access; type: Integer.
Data BAT lower 6
dbat6u
Optional attribute; read/write access; type: Integer.
Data BAT upper 6
dbat7l
Optional attribute; read/write access; type: Integer.
Data BAT lower 7
dbat7u
Optional attribute; read/write access; type: Integer.
Data BAT upper 7
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dec
Optional attribute; read/write access; type: Integer.
Decrementer register
dec_remainder
Optional attribute; read/write access; type: Integer.
Decrementer remainder
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.

1848

VIRTUTECH CONFIDENTIAL
dsisr
Optional attribute; read/write access; type: Integer.
DSI source register
dtlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Data TLB
ear
Optional attribute; read/write access; type: Integer.
External access register
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).
fprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(f0, f1, . . . , f31) Floating-point registers
fpscr
Optional attribute; read/write access; type: Integer.
Floating-point condition register
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
hid0
Optional attribute; read/write access; type: Integer.
Hardware implementation register 0
1849

VIRTUTECH CONFIDENTIAL
hid1
Optional attribute; read/write access; type: Integer.
Hardware implementation register 1
host_floating_point_enable
Session class attribute; read/write access; type: b.
Use host floating point hardware when set to non-zero. This mode is currently
only available for 32-bit x86 machines with SSE and SSE2. Supported instructions
are fabs, fnabs, fneg, fmr, fadd, fadds, fdiv, fdivs, fmul, fmuls, fsub, fubs, fmadd, fmadds,
fmsub, fmsubs, fnmadd, fnmadds, fnmsub, and fnmsubs. The remaining instructions
are emulated in software.
Known Limitations: Indeterminism: The simulation can be indeterministic when
enabling this mode. NaNs: The calculated result contains incorrect NaN when
more than one operand contain NaNs. FPSCR: Only a subset of the FPSCR bits
are set correctly. Supported bits are OX, UX, ZX, XX, FI, and FPRF. FX and FEX
may be correct if they are generated from the supported bits. Some FPSCR bit
can be incorrect for multiply-add/sub instructions.
iabr
Optional attribute; read/write access; type: Integer.
Instruction Address Breakpoint Register
ibat
Pseudo attribute; read/write access; type: [[ii]].
((iu0,il0), (iu1,il2),. . . (iu3,il3)) List for accessing all IBATs
ibat0l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 0
ibat0u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 0
ibat1l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 1
ibat1u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 1
ibat2l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 2
1850

VIRTUTECH CONFIDENTIAL
ibat2u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 2
ibat3l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 3
ibat3u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 3
ibat4l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 4
ibat4u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 4
ibat5l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 5
ibat5u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 5
ibat6l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 6
ibat6u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 6
ibat7l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 7
ibat7u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 7
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
1851

VIRTUTECH CONFIDENTIAL
ictc
Optional attribute; read/write access; type: Integer.
Instruction Cache Throttling Control Register
ictrl
Optional attribute; read/write access; type: Integer.
Instruction cache/interrupt control register
imprecise_fp_exceptions_enable
Optional attribute; read/write access; type: b.
Enable imprecise floating point exceptions when MSR[FE0 FE1] is set to imprecise non-recoverable exceptions.
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze 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
is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
itlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Instruction TLB
l2cr
Optional attribute; read/write access; type: Integer.
L2 Control Register
l3cr
Optional attribute; read/write access; type: Integer.
L3 cache control register
l3itcr0
Optional attribute; read/write access; type: Integer.
L3 cache input timing control register 0

1852

VIRTUTECH CONFIDENTIAL
l3itcr1
Optional attribute; read/write access; type: Integer.
L3 cache input timing control register 1
l3itcr2
Optional attribute; read/write access; type: Integer.
L3 cache input timing control register 2
l3itcr3
Optional attribute; read/write access; type: Integer.
L3 cache input timing control register 3
l3ohcr
Optional attribute; read/write access; type: Integer.
L3 cache output hold control register
l3pm
Optional attribute; read/write access; type: Integer.
L3 private memory register
ldstcr
Optional attribute; read/write access; type: Integer.
Load/Store control register
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions
lr
Optional attribute; read/write access; type: Integer.
Link register
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
memory_profiling_granularity_log2
Pseudo attribute; read-only access; type: Integer.
Base 2 logarithm of memory profiling granularity.

1853

VIRTUTECH CONFIDENTIAL
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).
mmcr0
Optional attribute; read/write access; type: Integer.
Monitor Control 0
mmcr1
Optional attribute; read/write access; type: Integer.
Monitor Control 1
mmcr2
Optional attribute; read/write access; type: Integer.
Monitor Control 2
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
msscr0
Optional attribute; read/write access; type: Integer.
Memory subsystem control register
msssr0
Optional attribute; read/write access; type: Integer.
Memory subsystem status register
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: Integer.
Program counter
1854

VIRTUTECH CONFIDENTIAL
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pir
Optional attribute; read/write access; type: Integer.
Processor ID
pmc1
Optional attribute; read/write access; type: Integer.
Performance Counter 1
pmc2
Optional attribute; read/write access; type: Integer.
Performance Counter 2
pmc3
Optional attribute; read/write access; type: Integer.
Performance Counter 3
pmc4
Optional attribute; read/write access; type: Integer.
Performance Counter 4
pmc5
Optional attribute; read/write access; type: Integer.
Performance Counter 5
pmc6
Optional attribute; read/write access; type: Integer.
Performance Counter 6
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.
1855

VIRTUTECH CONFIDENTIAL
ptehi
Optional attribute; read/write access; type: Integer.
PTE high register
ptelo
Optional attribute; read/write access; type: Integer.
PTE low register
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
sdr1
Optional attribute; read/write access; type: Integer.
Storage Description Register
siar
Optional attribute; read/write access; type: Integer.
Sampled Instruction Address
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
1856

VIRTUTECH CONFIDENTIAL
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg4
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg5
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg6
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg7
Optional attribute; read/write access; type: Integer.
Provided for OS use
sr
Optional attribute; read/write access; type: [i{16}]; integer indexed; indexed
type: Integer.
(sr0, sr1,.., sr15) Segment registers
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
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.
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
1857

VIRTUTECH CONFIDENTIAL
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.
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
1858

VIRTUTECH CONFIDENTIAL
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
tlbmiss
Optional attribute; read/write access; type: Integer.
TLB miss register
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.

1859

VIRTUTECH CONFIDENTIAL
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.

1860

VIRTUTECH CONFIDENTIAL
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.
vrs
Optional attribute; read/write access; type: [[i,i]{32}]; integer indexed; indexed
type: [i,i].
((vr0h,vr0l), (vr1h,vr1l) . . . .., (vr31h,vr31l)) Altivec registers (128 bits)
vrsave
Optional attribute; read/write access; type: Integer.
Vector save/restore register
vscr
Optional attribute; read/write access; type: Integer.
Vector status and control register
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register

1861

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
Commands
print-dtlb
print-itlb
temperature

print data tlb contents


print instruction tlb contents
set or query the temperature of the processor

Command Descriptions
<ppc7457>.print-dtlb
Synopsis
<ppc7457>.print-dtlb
Description
Prints the contents of the data TLB of the processor.

<ppc7457>.print-itlb
Synopsis
<ppc7457>.print-itlb
Description
Prints the contents of the instruction TLB of the processor.

<ppc7457>.temperature
Synopsis
<ppc7457>.temperature [degrees-celsius]
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1862

VIRTUTECH CONFIDENTIAL

ppc750
Provided by
ppc750, ppc750-turbo
Class Hierarchy
conf-object log-object ppc750
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc750 processor simulation

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.
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 (ppc32)
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null mode)
1863

VIRTUTECH CONFIDENTIAL
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.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dabr
Optional attribute; read/write access; type: Integer.
Data Address Breakpoint Register
dar
Optional attribute; read/write access; type: Integer.
Data address register
dbat
Pseudo attribute; read/write access; type: [[ii]].
((du0,dl0), (du1,dl2),. . . (du3,dl3)) List for accessing all DBATs
1864

VIRTUTECH CONFIDENTIAL
dbat0l
Optional attribute; read/write access; type: Integer.
Data BAT lower 0
dbat0u
Optional attribute; read/write access; type: Integer.
Data BAT upper 0
dbat1l
Optional attribute; read/write access; type: Integer.
Data BAT lower 1
dbat1u
Optional attribute; read/write access; type: Integer.
Data BAT upper 1
dbat2l
Optional attribute; read/write access; type: Integer.
Data BAT lower 2
dbat2u
Optional attribute; read/write access; type: Integer.
Data BAT upper 2
dbat3l
Optional attribute; read/write access; type: Integer.
Data BAT lower 3
dbat3u
Optional attribute; read/write access; type: Integer.
Data BAT upper 3
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dec
Optional attribute; read/write access; type: Integer.
Decrementer register
dec_remainder
Optional attribute; read/write access; type: Integer.
Decrementer remainder
1865

VIRTUTECH CONFIDENTIAL
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.
dsisr
Optional attribute; read/write access; type: Integer.
DSI source register
dtlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Data TLB
ear
Optional attribute; read/write access; type: Integer.
External access register
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).
fprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(f0, f1, . . . , f31) Floating-point registers
fpscr
Optional attribute; read/write access; type: Integer.
Floating-point condition register
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.

1866

VIRTUTECH CONFIDENTIAL
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
hid0
Optional attribute; read/write access; type: Integer.
Hardware implementation register 0
hid1
Optional attribute; read/write access; type: Integer.
Hardware implementation register 1
host_floating_point_enable
Session class attribute; read/write access; type: b.
Use host floating point hardware when set to non-zero. This mode is currently
only available for 32-bit x86 machines with SSE and SSE2. Supported instructions
are fabs, fnabs, fneg, fmr, fadd, fadds, fdiv, fdivs, fmul, fmuls, fsub, fubs, fmadd, fmadds,
fmsub, fmsubs, fnmadd, fnmadds, fnmsub, and fnmsubs. The remaining instructions
are emulated in software.
Known Limitations: Indeterminism: The simulation can be indeterministic when
enabling this mode. NaNs: The calculated result contains incorrect NaN when
more than one operand contain NaNs. FPSCR: Only a subset of the FPSCR bits
are set correctly. Supported bits are OX, UX, ZX, XX, FI, and FPRF. FX and FEX
may be correct if they are generated from the supported bits. Some FPSCR bit
can be incorrect for multiply-add/sub instructions.
iabr
Optional attribute; read/write access; type: Integer.
Instruction Address Breakpoint Register
ibat
Pseudo attribute; read/write access; type: [[ii]].
((iu0,il0), (iu1,il2),. . . (iu3,il3)) List for accessing all IBATs
ibat0l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 0
ibat0u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 0
1867

VIRTUTECH CONFIDENTIAL
ibat1l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 1
ibat1u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 1
ibat2l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 2
ibat2u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 2
ibat3l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 3
ibat3u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 3
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
ictc
Optional attribute; read/write access; type: Integer.
Instruction Cache Throttling Control Register
imprecise_fp_exceptions_enable
Optional attribute; read/write access; type: b.
Enable imprecise floating point exceptions when MSR[FE0 FE1] is set to imprecise non-recoverable exceptions.
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze mode.
instruction_fetch_line_size
Session attribute; read/write access; type: Integer.
Instruction fetch line size for this processor.

1868

VIRTUTECH CONFIDENTIAL
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.
itlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Instruction TLB
l2cr
Optional attribute; read/write access; type: Integer.
L2 Control Register
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions
lr
Optional attribute; read/write access; type: Integer.
Link register
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
mmcr0
Optional attribute; read/write access; type: Integer.
Monitor Control 0
1869

VIRTUTECH CONFIDENTIAL
mmcr1
Optional attribute; read/write access; type: Integer.
Monitor Control 1
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pmc1
Optional attribute; read/write access; type: Integer.
Performance Counter 1
pmc2
Optional attribute; read/write access; type: Integer.
Performance Counter 2
1870

VIRTUTECH CONFIDENTIAL
pmc3
Optional attribute; read/write access; type: Integer.
Performance Counter 3
pmc4
Optional attribute; read/write access; type: Integer.
Performance Counter 4
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.
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
sdr1
Optional attribute; read/write access; type: Integer.
Storage Description Register
siar
Optional attribute; read/write access; type: Integer.
Sampled Instruction Address
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
1871

VIRTUTECH CONFIDENTIAL
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use
sr
Optional attribute; read/write access; type: [i{16}]; integer indexed; indexed
type: Integer.
(sr0, sr1,.., sr15) Segment registers
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
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.
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
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.

1872

VIRTUTECH CONFIDENTIAL
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.
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
thrm1
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 1
thrm2
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 2
thrm3
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 3
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
1873

VIRTUTECH CONFIDENTIAL
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
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.

1874

VIRTUTECH CONFIDENTIAL
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.

1875

VIRTUTECH CONFIDENTIAL
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.
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
Commands
print-dtlb
print-itlb
temperature

print data tlb contents


print instruction tlb contents
set or query the temperature of the processor

1876

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ppc750>.print-dtlb
Synopsis
<ppc750>.print-dtlb
Description
Prints the contents of the data TLB of the processor.

<ppc750>.print-itlb
Synopsis
<ppc750>.print-itlb
Description
Prints the contents of the instruction TLB of the processor.

<ppc750>.temperature
Synopsis
<ppc750>.temperature [degrees-celsius]
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1877

VIRTUTECH CONFIDENTIAL

ppc750fx
Provided by
ppc750fx, ppc750fx-turbo
Class Hierarchy
conf-object log-object ppc750fx
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc750fx processor simulation

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.
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 (ppc32)
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null mode)
1878

VIRTUTECH CONFIDENTIAL
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.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dabr
Optional attribute; read/write access; type: Integer.
Data Address Breakpoint Register
dar
Optional attribute; read/write access; type: Integer.
Data address register
dbat
Pseudo attribute; read/write access; type: [[ii]].
((du0,dl0), (du1,dl2),. . . (du3,dl3)) List for accessing all DBATs
1879

VIRTUTECH CONFIDENTIAL
dbat0l
Optional attribute; read/write access; type: Integer.
Data BAT lower 0
dbat0u
Optional attribute; read/write access; type: Integer.
Data BAT upper 0
dbat1l
Optional attribute; read/write access; type: Integer.
Data BAT lower 1
dbat1u
Optional attribute; read/write access; type: Integer.
Data BAT upper 1
dbat2l
Optional attribute; read/write access; type: Integer.
Data BAT lower 2
dbat2u
Optional attribute; read/write access; type: Integer.
Data BAT upper 2
dbat3l
Optional attribute; read/write access; type: Integer.
Data BAT lower 3
dbat3u
Optional attribute; read/write access; type: Integer.
Data BAT upper 3
dbat4l
Optional attribute; read/write access; type: Integer.
Data BAT lower 4
dbat4u
Optional attribute; read/write access; type: Integer.
Data BAT upper 4
dbat5l
Optional attribute; read/write access; type: Integer.
Data BAT lower 5
dbat5u
Optional attribute; read/write access; type: Integer.
Data BAT upper 5
1880

VIRTUTECH CONFIDENTIAL
dbat6l
Optional attribute; read/write access; type: Integer.
Data BAT lower 6
dbat6u
Optional attribute; read/write access; type: Integer.
Data BAT upper 6
dbat7l
Optional attribute; read/write access; type: Integer.
Data BAT lower 7
dbat7u
Optional attribute; read/write access; type: Integer.
Data BAT upper 7
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dec
Optional attribute; read/write access; type: Integer.
Decrementer register
dec_remainder
Optional attribute; read/write access; type: Integer.
Decrementer remainder
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.
dsisr
Optional attribute; read/write access; type: Integer.
DSI source register

1881

VIRTUTECH CONFIDENTIAL
dtlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Data TLB
ear
Optional attribute; read/write access; type: Integer.
External access register
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).
fprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(f0, f1, . . . , f31) Floating-point registers
fpscr
Optional attribute; read/write access; type: Integer.
Floating-point condition register
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
hid0
Optional attribute; read/write access; type: Integer.
Hardware implementation register 0
hid1
Optional attribute; read/write access; type: Integer.
Hardware implementation register 1
1882

VIRTUTECH CONFIDENTIAL
hid2
Optional attribute; read/write access; type: Integer.
Hardware implementation register 2
host_floating_point_enable
Session class attribute; read/write access; type: b.
Use host floating point hardware when set to non-zero. This mode is currently
only available for 32-bit x86 machines with SSE and SSE2. Supported instructions
are fabs, fnabs, fneg, fmr, fadd, fadds, fdiv, fdivs, fmul, fmuls, fsub, fubs, fmadd, fmadds,
fmsub, fmsubs, fnmadd, fnmadds, fnmsub, and fnmsubs. The remaining instructions
are emulated in software.
Known Limitations: Indeterminism: The simulation can be indeterministic when
enabling this mode. NaNs: The calculated result contains incorrect NaN when
more than one operand contain NaNs. FPSCR: Only a subset of the FPSCR bits
are set correctly. Supported bits are OX, UX, ZX, XX, FI, and FPRF. FX and FEX
may be correct if they are generated from the supported bits. Some FPSCR bit
can be incorrect for multiply-add/sub instructions.
iabr
Optional attribute; read/write access; type: Integer.
Instruction Address Breakpoint Register
ibat
Pseudo attribute; read/write access; type: [[ii]].
((iu0,il0), (iu1,il2),. . . (iu3,il3)) List for accessing all IBATs
ibat0l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 0
ibat0u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 0
ibat1l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 1
ibat1u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 1
ibat2l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 2
1883

VIRTUTECH CONFIDENTIAL
ibat2u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 2
ibat3l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 3
ibat3u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 3
ibat4l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 4
ibat4u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 4
ibat5l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 5
ibat5u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 5
ibat6l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 6
ibat6u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 6
ibat7l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 7
ibat7u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 7
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
1884

VIRTUTECH CONFIDENTIAL
ictc
Optional attribute; read/write access; type: Integer.
Instruction Cache Throttling Control Register
imprecise_fp_exceptions_enable
Optional attribute; read/write access; type: b.
Enable imprecise floating point exceptions when MSR[FE0 FE1] is set to imprecise non-recoverable exceptions.
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze 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
is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
itlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Instruction TLB
l2cr
Optional attribute; read/write access; type: Integer.
L2 Control Register
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions
lr
Optional attribute; read/write access; type: Integer.
Link register
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
1885

VIRTUTECH CONFIDENTIAL
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
mmcr0
Optional attribute; read/write access; type: Integer.
Monitor Control 0
mmcr1
Optional attribute; read/write access; type: Integer.
Monitor Control 1
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
1886

VIRTUTECH CONFIDENTIAL
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pmc1
Optional attribute; read/write access; type: Integer.
Performance Counter 1
pmc2
Optional attribute; read/write access; type: Integer.
Performance Counter 2
pmc3
Optional attribute; read/write access; type: Integer.
Performance Counter 3
pmc4
Optional attribute; read/write access; type: Integer.
Performance Counter 4
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.
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
1887

VIRTUTECH CONFIDENTIAL
sdr1
Optional attribute; read/write access; type: Integer.
Storage Description Register
siar
Optional attribute; read/write access; type: Integer.
Sampled Instruction Address
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use
sr
Optional attribute; read/write access; type: [i{16}]; integer indexed; indexed
type: Integer.
(sr0, sr1,.., sr15) Segment registers
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
stall_time
Optional attribute; read/write access; type: Integer.
The number of cycles the processor will stall

1888

VIRTUTECH CONFIDENTIAL
stalling_info
Optional attribute; read/write access; type: [iii].
If is_stalling is set, this contains information about the current memory operation.
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
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.
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
thrm1
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 1

1889

VIRTUTECH CONFIDENTIAL
thrm2
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 2
thrm3
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 3
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
1890

VIRTUTECH CONFIDENTIAL
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
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.
1891

VIRTUTECH CONFIDENTIAL
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.
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register

1892

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
Commands
print-dtlb
print-itlb
temperature

print data tlb contents


print instruction tlb contents
set or query the temperature of the processor

Command Descriptions
<ppc750fx>.print-dtlb
Synopsis
<ppc750fx>.print-dtlb
Description
Prints the contents of the data TLB of the processor.

<ppc750fx>.print-itlb
Synopsis
<ppc750fx>.print-itlb
Description
Prints the contents of the instruction TLB of the processor.

<ppc750fx>.temperature
Synopsis
<ppc750fx>.temperature [degrees-celsius]
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1893

VIRTUTECH CONFIDENTIAL

ppc750gx
Provided by
ppc750gx, ppc750gx-turbo
Class Hierarchy
conf-object log-object ppc750gx
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc750gx processor simulation

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.
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 (ppc32)
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null mode)
1894

VIRTUTECH CONFIDENTIAL
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.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dabr
Optional attribute; read/write access; type: Integer.
Data Address Breakpoint Register
dar
Optional attribute; read/write access; type: Integer.
Data address register
dbat
Pseudo attribute; read/write access; type: [[ii]].
((du0,dl0), (du1,dl2),. . . (du3,dl3)) List for accessing all DBATs
1895

VIRTUTECH CONFIDENTIAL
dbat0l
Optional attribute; read/write access; type: Integer.
Data BAT lower 0
dbat0u
Optional attribute; read/write access; type: Integer.
Data BAT upper 0
dbat1l
Optional attribute; read/write access; type: Integer.
Data BAT lower 1
dbat1u
Optional attribute; read/write access; type: Integer.
Data BAT upper 1
dbat2l
Optional attribute; read/write access; type: Integer.
Data BAT lower 2
dbat2u
Optional attribute; read/write access; type: Integer.
Data BAT upper 2
dbat3l
Optional attribute; read/write access; type: Integer.
Data BAT lower 3
dbat3u
Optional attribute; read/write access; type: Integer.
Data BAT upper 3
dbat4l
Optional attribute; read/write access; type: Integer.
Data BAT lower 4
dbat4u
Optional attribute; read/write access; type: Integer.
Data BAT upper 4
dbat5l
Optional attribute; read/write access; type: Integer.
Data BAT lower 5
dbat5u
Optional attribute; read/write access; type: Integer.
Data BAT upper 5
1896

VIRTUTECH CONFIDENTIAL
dbat6l
Optional attribute; read/write access; type: Integer.
Data BAT lower 6
dbat6u
Optional attribute; read/write access; type: Integer.
Data BAT upper 6
dbat7l
Optional attribute; read/write access; type: Integer.
Data BAT lower 7
dbat7u
Optional attribute; read/write access; type: Integer.
Data BAT upper 7
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dec
Optional attribute; read/write access; type: Integer.
Decrementer register
dec_remainder
Optional attribute; read/write access; type: Integer.
Decrementer remainder
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.
dsisr
Optional attribute; read/write access; type: Integer.
DSI source register

1897

VIRTUTECH CONFIDENTIAL
dtlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Data TLB
ear
Optional attribute; read/write access; type: Integer.
External access register
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).
fprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(f0, f1, . . . , f31) Floating-point registers
fpscr
Optional attribute; read/write access; type: Integer.
Floating-point condition register
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
hid0
Optional attribute; read/write access; type: Integer.
Hardware implementation register 0
hid1
Optional attribute; read/write access; type: Integer.
Hardware implementation register 1
1898

VIRTUTECH CONFIDENTIAL
hid2
Optional attribute; read/write access; type: Integer.
Hardware implementation register 2
host_floating_point_enable
Session class attribute; read/write access; type: b.
Use host floating point hardware when set to non-zero. This mode is currently
only available for 32-bit x86 machines with SSE and SSE2. Supported instructions
are fabs, fnabs, fneg, fmr, fadd, fadds, fdiv, fdivs, fmul, fmuls, fsub, fubs, fmadd, fmadds,
fmsub, fmsubs, fnmadd, fnmadds, fnmsub, and fnmsubs. The remaining instructions
are emulated in software.
Known Limitations: Indeterminism: The simulation can be indeterministic when
enabling this mode. NaNs: The calculated result contains incorrect NaN when
more than one operand contain NaNs. FPSCR: Only a subset of the FPSCR bits
are set correctly. Supported bits are OX, UX, ZX, XX, FI, and FPRF. FX and FEX
may be correct if they are generated from the supported bits. Some FPSCR bit
can be incorrect for multiply-add/sub instructions.
iabr
Optional attribute; read/write access; type: Integer.
Instruction Address Breakpoint Register
ibat
Pseudo attribute; read/write access; type: [[ii]].
((iu0,il0), (iu1,il2),. . . (iu3,il3)) List for accessing all IBATs
ibat0l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 0
ibat0u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 0
ibat1l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 1
ibat1u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 1
ibat2l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 2
1899

VIRTUTECH CONFIDENTIAL
ibat2u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 2
ibat3l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 3
ibat3u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 3
ibat4l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 4
ibat4u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 4
ibat5l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 5
ibat5u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 5
ibat6l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 6
ibat6u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 6
ibat7l
Optional attribute; read/write access; type: Integer.
Instruction BAT lower 7
ibat7u
Optional attribute; read/write access; type: Integer.
Instruction BAT upper 7
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
1900

VIRTUTECH CONFIDENTIAL
ictc
Optional attribute; read/write access; type: Integer.
Instruction Cache Throttling Control Register
imprecise_fp_exceptions_enable
Optional attribute; read/write access; type: b.
Enable imprecise floating point exceptions when MSR[FE0 FE1] is set to imprecise non-recoverable exceptions.
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze 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
is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
itlb
Optional attribute; read/write access; type: [[[iiiii]{2}]].
(((valid0, lru0, tag0, eapi0, pte0), (valid1, lru1, tag1, eapi1, pte1)), . . . ) Instruction TLB
l2cr
Optional attribute; read/write access; type: Integer.
L2 Control Register
lock_granularity
Optional attribute; read/write access; type: Integer.
Lock granularity of atomic instructions
lr
Optional attribute; read/write access; type: Integer.
Link register
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
1901

VIRTUTECH CONFIDENTIAL
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
mmcr0
Optional attribute; read/write access; type: Integer.
Monitor Control 0
mmcr1
Optional attribute; read/write access; type: Integer.
Monitor Control 1
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
1902

VIRTUTECH CONFIDENTIAL
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pmc1
Optional attribute; read/write access; type: Integer.
Performance Counter 1
pmc2
Optional attribute; read/write access; type: Integer.
Performance Counter 2
pmc3
Optional attribute; read/write access; type: Integer.
Performance Counter 3
pmc4
Optional attribute; read/write access; type: Integer.
Performance Counter 4
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.
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
1903

VIRTUTECH CONFIDENTIAL
sdr1
Optional attribute; read/write access; type: Integer.
Storage Description Register
siar
Optional attribute; read/write access; type: Integer.
Sampled Instruction Address
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use
sr
Optional attribute; read/write access; type: [i{16}]; integer indexed; indexed
type: Integer.
(sr0, sr1,.., sr15) Segment registers
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
stall_time
Optional attribute; read/write access; type: Integer.
The number of cycles the processor will stall

1904

VIRTUTECH CONFIDENTIAL
stalling_info
Optional attribute; read/write access; type: [iii].
If is_stalling is set, this contains information about the current memory operation.
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
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.
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
thrm1
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 1

1905

VIRTUTECH CONFIDENTIAL
thrm2
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 2
thrm3
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 3
thrm4
Optional attribute; read/write access; type: Integer.
Thermal Assist Unit Register 4
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder

1906

VIRTUTECH CONFIDENTIAL
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
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.

1907

VIRTUTECH CONFIDENTIAL
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.
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register
1908

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
Commands
print-dtlb
print-itlb
temperature

print data tlb contents


print instruction tlb contents
set or query the temperature of the processor

Command Descriptions
<ppc750gx>.print-dtlb
Synopsis
<ppc750gx>.print-dtlb
Description
Prints the contents of the data TLB of the processor.

<ppc750gx>.print-itlb
Synopsis
<ppc750gx>.print-itlb
Description
Prints the contents of the instruction TLB of the processor.

<ppc750gx>.temperature
Synopsis
<ppc750gx>.temperature [degrees-celsius]
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1909

VIRTUTECH CONFIDENTIAL

ppc970-simple
Provided by
ppc970fx-components
Class Hierarchy
conf-object log-object component top-component ppc970-simple
Interfaces Implemented
log_object, component
Description
A simple system containing a ppc970fx 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_frequency
Required attribute; read/write access; type: Float.
Processor frequency in MHz.
map_offset
Optional attribute; read/write access; type: Integer.
Base address for device mappings. Offsets at 4 GB and above will not work
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes.
time_of_day
Optional attribute; read/write access; type: String.
Date and time to initialize the OpenFirmware RTC to

1910

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<ppc970-simple>.info
Synopsis
<ppc970-simple>.info
Description
Print detailed information about the configuration of the device.

<ppc970-simple>.status
Synopsis
<ppc970-simple>.status
Description
Print detailed information about the current status of the device.

1911

VIRTUTECH CONFIDENTIAL

ppc970fx
Provided by
ppc970fx, ppc970fx-turbo
Class Hierarchy
conf-object log-object ppc970fx
Interfaces Implemented
log_object, simple_interrupt, exception, int_register, ppc, processor, event_poster
Ports
SRESET (signal), HRESET (signal)
Description
ppc970fx processor simulation

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
accr
Optional attribute; read/write access; type: Integer.
Address Compare Control Register
address_width
Pseudo class attribute; read-only access; type: unknown type.
(phys-bits, virt-bits) Number of bits in physical and virtual addresses.
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 (ppc64)
1912

VIRTUTECH CONFIDENTIAL
asr
Optional attribute; read/write access; type: Integer.
Address Space register
available_timebase_modes
Pseudo class attribute; read-only access; type: [s].
Lists all available timebase modes (except the default null 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.
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_groupinterface and the ppc-broadcast-businterface.
cr
Optional attribute; read/write access; type: Integer.
Condition register
ctr
Optional attribute; read/write access; type: Integer.
Counter register
current_context
Session attribute; read/write access; type: Object.
Current context object.
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.
dabr
Optional attribute; read/write access; type: Integer.
Data Address Breakpoint Register
1913

VIRTUTECH CONFIDENTIAL
dar
Optional attribute; read/write access; type: Integer.
Data address register
dbg_compile_block
Pseudo attribute; write-only access; type: unknown type.
Force compile of block.
dcache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by data cache control instructions.
dec
Optional attribute; read/write access; type: Integer.
Decrementer register
dec_remainder
Optional attribute; read/write access; type: Integer.
Decrementer remainder
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.
dsisr
Optional attribute; read/write access; type: Integer.
DSI source register
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).
fprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(f0, f1, . . . , f31) Floating-point registers
1914

VIRTUTECH CONFIDENTIAL
fpscr
Optional attribute; read/write access; type: Integer.
Floating-point condition register
freq_mhz
Required attribute; read/write access; type: i|f.
Processor clock frequency in MHz.
gprs
Optional attribute; read/write access; type: [i{32}]; integer indexed; indexed
type: Integer.
(r0, r1, . . . , r31) General purpose registers
halt_steps
Optional attribute; read/write access; type: Integer.
Number of steps spent waiting in nap/doze mode.
hid0
Optional attribute; read/write access; type: Integer.
Hardware implementation register 0
hid1
Optional attribute; read/write access; type: Integer.
Hardware implementation register 1
hid4
Optional attribute; read/write access; type: Integer.
Hardware implementation register 4
hid5
Optional attribute; read/write access; type: Integer.
Hardware implementation register 5
hior
Optional attribute; read/write access; type: Integer.
Hardware Interrupt Offset Register
host_floating_point_enable
Session class attribute; read/write access; type: b.
Use host floating point hardware when set to non-zero. This mode is currently
only available for 32-bit x86 machines with SSE and SSE2. Supported instructions
are fabs, fnabs, fneg, fmr, fadd, fadds, fdiv, fdivs, fmul, fmuls, fsub, fubs, fmadd, fmadds,
fmsub, fmsubs, fnmadd, fnmadds, fnmsub, and fnmsubs. The remaining instructions
are emulated in software.
Known Limitations: Indeterminism: The simulation can be indeterministic when
enabling this mode. NaNs: The calculated result contains incorrect NaN when
1915

VIRTUTECH CONFIDENTIAL
more than one operand contain NaNs. FPSCR: Only a subset of the FPSCR bits
are set correctly. Supported bits are OX, UX, ZX, XX, FI, and FPRF. FX and FEX
may be correct if they are generated from the supported bits. Some FPSCR bit
can be incorrect for multiply-add/sub instructions.
iabr
Optional attribute; read/write access; type: Integer.
Instruction Address Breakpoint Register
icache
Optional attribute; read/write access; type: Object or Nil.
Cache object affected by instruction cache control instructions.
imc
Optional attribute; read/write access; type: Integer.
Intruction Match CAM Array Access Register
imprecise_fp_exceptions_enable
Optional attribute; read/write access; type: b.
Enable imprecise floating point exceptions when MSR[FE0 FE1] is set to imprecise non-recoverable exceptions.
in_sleep_state
Optional attribute; read/write access; type: Integer.
Non-zero if CPU is in nap/doze 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
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
lr
Optional attribute; read/write access; type: Integer.
Link register
1916

VIRTUTECH CONFIDENTIAL
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
mmcr0
Optional attribute; read/write access; type: Integer.
Performance Monitor Control Register 0
mmcr1
Optional attribute; read/write access; type: Integer.
Performance Monitor Control Register 1
mmcra
Optional attribute; read/write access; type: Integer.
Performance Monitor Control Register 2
mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
msr
Optional attribute; read/write access; type: Integer.
Machine state register
msr_bit_names
Pseudo attribute; read-only access; type: [s].
(bit0name, bit1name. . . bit32/64name) of the names for each MSR bit defined on
this PowerPC processor. Bits not defined are names with an empty string
ooo_mode
Optional attribute; read/write access; type: String.
in-order or micro-architecture.
1917

VIRTUTECH CONFIDENTIAL
pc
Optional attribute; read/write access; type: Integer.
Program counter
pending_exceptions
Optional attribute; read/write access; type: [s].
List of pending exceptions
pending_irq_name
Pseudo attribute; read-only access; type: String.
Name of an interrupt just about to be taken handled
physical_memory
Required attribute; read/write access; type: Object.
Physical memory space. Must implement both the memory-space and the breakpoint interface.
pir
Optional attribute; read/write access; type: Integer.
Processor ID
pmc1
Optional attribute; read/write access; type: Integer.
Performance Monitor Counter Register 1
pmc2
Optional attribute; read/write access; type: Integer.
Performance Monitor Counter Register 2
pmc3
Optional attribute; read/write access; type: Integer.
Performance Monitor Counter Register 3
pmc4
Optional attribute; read/write access; type: Integer.
Performance Monitor Counter Register 4
pmc5
Optional attribute; read/write access; type: Integer.
Performance Monitor Counter Register 5
pmc6
Optional attribute; read/write access; type: Integer.
Performance Monitor Counter Register 6

1918

VIRTUTECH CONFIDENTIAL
pmc7
Optional attribute; read/write access; type: Integer.
Performance Monitor Counter Register 7
pmc8
Optional attribute; read/write access; type: Integer.
Performance Monitor Counter Register 8
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.
pvr
Optional attribute; read/write access; type: Integer.
Processor version
reservation_address
Optional attribute; read/write access; type: Integer.
Atomic reservation address
reservation_size
Pseudo attribute; read-only access; type: Integer.
Atomic reservation block size
reserve
Optional attribute; read/write access; type: Integer.
Atomic reservation
scomc
Optional attribute; read/write access; type: Integer.
Scan Communication Control Register
scomd
Optional attribute; read/write access; type: Integer.
Scan Communication Data Register
sdar
Optional attribute; read/write access; type: Integer.
Sampled Data Address Register
sdr1
Optional attribute; read/write access; type: Integer.
Storage Description Register
1919

VIRTUTECH CONFIDENTIAL
siar
Optional attribute; read/write access; type: Integer.
Sampled Instruction Address Register
slb
Optional attribute; read/write access; type: [[ii]]; integer indexed; indexed
type: [ii].
((vsid, esid), . . . ) Segment lookaside buffer
spr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
sprg0
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg1
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg2
Optional attribute; read/write access; type: Integer.
Provided for OS use
sprg3
Optional attribute; read/write access; type: Integer.
Provided for OS use
srr0
Optional attribute; read/write access; type: Integer.
Machine save/restore register 0
srr1
Optional attribute; read/write access; type: Integer.
Machine save/restore register 1
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.

1920

VIRTUTECH CONFIDENTIAL
stc_cache_w
Optional attribute; read/write access; type: b.
If set, memory mapped with W=1 will be cached in the STC, making access faster
but slowing access for instructions which would trap when W=1. This is for
improving simulator performance and should have no other effect.
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.
tbl
Optional attribute; read/write access; type: Integer.
Timebase lower register
tbu
Optional attribute; read/write access; type: Integer.
Timebase upper register
temperature
Optional attribute; read/write access; type: Integer.
Temperature of the processor (C)
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.
timebase_freq_mhz
Required attribute; read/write access; type: i|f.
Frequency (in MHz) for time base update
1921

VIRTUTECH CONFIDENTIAL
timebase_mode
Optional attribute; read/write access; type: s|n.
By default, the timebase is connected to the simulated cycles of a processor. Since
Simics schedules processors (including hardware threads) in a round-robin fashion, where each processor gets to execute a large amount of instructions, this can
cause problems. One example would be when one processor writes the value of
timebase to memory at the end of its quantum, and another processors compares
this to the timebase at the beginning of the quantum; time will appear to have
moved backwards. Therefore, there are additional timebase modes available that
tries to work around these problems. Note that these modes may cause timing
irregularies, depending on what software is running on the simulated machine.
The available modes are:
stall - a processor will be stalled til the end of its quantum whenever it reads the
timebase.
quantum-locked - timebase will only change on quantum boundaries.
fast-forward - timebase is fast forwarded when needed and then stopped until
time (simulated cycles) has caught up with it.
Unless you know what you are doing, make sure the timebase mode on all processors (of the same class) are the same.
timebase_remainder
Optional attribute; read/write access; type: Integer.
Timebase remainder
timers_at_quantum_start
Optional attribute; read/write access; type: [[si]].
Values of timer registers at quantum start. Used by quantum-locked timebase
mode.
timers_enabled
Pseudo attribute; read/write access; type: Integer.
If 0, time base/decrementer stand still (internal use only)
tlb
Optional attribute; read/write access; type: [[[i{8}]]].
(((vsid, page, valid, large, big_seg_enc, lp, pte1, epa), . . . ), . . . ) Unified L2 TLB
trig0
Optional attribute; read/write access; type: Integer.
Trigger Register 0
trig1
Optional attribute; read/write access; type: Integer.
Trigger Register 1

1922

VIRTUTECH CONFIDENTIAL
trig2
Optional attribute; read/write access; type: Integer.
Trigger Register 2
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.
1923

VIRTUTECH CONFIDENTIAL
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.
vrs
Optional attribute; read/write access; type: [[i,i]{32}]; integer indexed; indexed
type: [i,i].
((vr0h,vr0l), (vr1h,vr1l) . . . .., (vr31h,vr31l)) Altivec registers (128 bits)
vrsave
Optional attribute; read/write access; type: Integer.
Vector save/restore register
1924

VIRTUTECH CONFIDENTIAL
vscr
Optional attribute; read/write access; type: Integer.
Vector status and control register
xer
Optional attribute; read/write access; type: Integer.
Fixed-point exception register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x
Commands
print-slb
print-tlb
temperature

print SLB contents


print 64-bit TLB contents
set or query the temperature of the processor

Command Descriptions
<ppc970fx>.print-slb
Synopsis
<ppc970fx>.print-slb
Description
Prints the contents of the SLB (Segment Lookaside Buffer). Only valid entries are
shown.

<ppc970fx>.print-tlb
Synopsis
<ppc970fx>.print-tlb
Description
Prints the contents of the TLB in 64-bit PPC implementations. Only valid entries are
shown.
1925

VIRTUTECH CONFIDENTIAL

<ppc970fx>.temperature
Synopsis
<ppc970fx>.temperature [degrees-celsius]
Description
If the simulated PowerPC processor is equipped with a TAU (Thermal Assist Unit),
this command allows TAU related features to be tested. Without any arguments, the
command prints the current set temperature. The temperature can be changed by
specifying the wanted temperature. This command accesses the temperature attribute on the processor.

1926

VIRTUTECH CONFIDENTIAL

preferences
Provided by
Simics Core
Class Hierarchy
conf-object preferences
Interfaces Implemented
None
Description
The preferences class represent Simicss global simulator preferences that, unlike the
sim, usually is the same between sessions.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
command_log
Optional attribute; read/write access; type: b.
Set to TRUE if command should be logged to the command log file.
command_log_file
Optional attribute; read/write access; type: String.
The name of the command log file used if the command_log attribute is TRUE.
compress_images
Optional attribute; read/write access; type: b.
Determines if images saved by write-configuration or save-persistent-state are
compressed or not by default. Using the -z or -u flag will override this preference.
default_cpu_mode
Optional attribute; read/write access; type: String.
Default CPU mode used when loading processor modules. One of normal, stall,
mai and any.
enable_hindsight
Optional attribute; read/write access; type: b.
Set to TRUE if hindsight should be enabled when Simics is started. default
FALSE.

1927

VIRTUTECH CONFIDENTIAL
fail_on_warnings
Optional attribute; read/write access; type: b.
TRUE if Simics should treat some warnings as errors.
hide_console_windows
Optional attribute; read/write access; type: b.
A flag indicating whether Simics should open separate windows for consoles.
Default TRUE.
history_lines
Optional attribute; read/write access; type: Integer.
The number of input lines saved in the command history.
license_file
Optional attribute; read/write access; type: String.
The path to the FlexLM license file.
license_product
Optional attribute; read/write access; type: String.
The name of the Simics license product.
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.
output_radix
Optional attribute; read/write access; type: Integer.
The default output radix for integers in the command line. One of 2, 8, 10 and 16.
Default is 10.
swap_dir
Optional attribute; read/write access; type: String.
Directory where to store swap files, to limit Simics memory usage.

1928

VIRTUTECH CONFIDENTIAL

ps2-keyboard-mouse
Provided by
isa-components
Class Hierarchy
conf-object log-object component ps2-keyboard-mouse
Interfaces Implemented
log_object, component
Description
The ps2-keyboard-mouse component represents the PS/2 8042 keyboard controller
with a connected 105 key keyboard and three button mouse.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<ps2-keyboard-mouse>.info
Synopsis
<ps2-keyboard-mouse>.info
Description
Print detailed information about the configuration of the device.

1929

VIRTUTECH CONFIDENTIAL

<ps2-keyboard-mouse>.status
Synopsis
<ps2-keyboard-mouse>.status
Description
Print detailed information about the current status of the device.

1930

VIRTUTECH CONFIDENTIAL

python
Provided by
Simics Core
Class Hierarchy
conf-object python
Interfaces Implemented
event_poster
Description
Implements the interface to the Python scripting language.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
execute_string
Pseudo attribute; write-only access; type: String.
Executes the string passed as argument as a CLI command.
hap_sleep
Pseudo attribute; read-only access; type: [(s|n)s]|[(s|n)si]|[(s|n)sii]; list indexed;
indexed type: unknown type.
Wait for a hap to occur. This attribute may only be set from a script branch.
script_branches
Pseudo attribute; read-only access; type: [[sios]].
List of all active script branches.
source_file
Pseudo attribute; write-only access; type: String.
This attribute can be set to the name of a Python file that will be sourced (run) in
the Python environment.
source_file_module
Pseudo attribute; write-only access; ; string indexed; indexed type: String.
This attribute can be set to the name of a Python file that will be sourced (run) in
the Python module specified by the string index.

1931

VIRTUTECH CONFIDENTIAL

pyxis
Provided by
pyxis
Class Hierarchy
conf-object log-object pyxis
Interfaces Implemented
log_object, pci_bridge, translate, io_memory
Description
The Pyxis device module simulates the DECchip 2117x PCI Core Logic Chipset found
in many Alpha 21164 based system. This device should be identified as the 21174 (aka
Pyxis) chipset, but is in many aspects based on the 21172 chipset.

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
csrs
Optional attribute; read/write access; type: unknown type.
List of all registers in the Pyxis device
memory
Required attribute; read/write access; type: unknown type.
Name of a physical memory space used for dma transfers. The space must implement the lookup interface.
pci_bus
Required attribute; read/write access; type: unknown type.
Name of a PCI bus object. The object must implement the pci-bus interface
pci_configuration_space
Required attribute; read/write access; type: unknown type.
Name of a memory space used as PCI configuration space. The space must implement the lookup interface.

1932

VIRTUTECH CONFIDENTIAL
pci_io_space
Required attribute; read/write access; type: unknown type.
Name of a memory space used for io mapped PCI devices. The space must implement the lookup interface.
pci_memory_space
Required attribute; read/write access; type: unknown type.
Name of a memory space used for memory mapped PCI devices. The space must
implement the lookup interface.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about device

Command Descriptions
<pyxis>.info
Synopsis
<pyxis>.info
Description
Print detailed information about the simulated device.

1933

VIRTUTECH CONFIDENTIAL

ragexl
Provided by
ragexl
Class Hierarchy
conf-object log-object ragexl
Interfaces Implemented
log_object, io_memory, pci_device, event_poster
Description
The Rage XL device implements the Mach64 graphics chipset from ATI Interactive, Inc.
The device supports accelerated 2D graphics in multiple resolutions and color depths.

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
attrib_next_index
Optional attribute; read/write access; type: unknown type.
Decides whether the next 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: unknown type.
The address of the attribute controller register designated for the next access.
attrib_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-20) is a list of attribute registers.
attrib_video_enable
Optional attribute; read/write access; type: unknown type.
Decides whether video is enabled or not.
clut
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i511). The Color Lookup Table.

1934

VIRTUTECH CONFIDENTIAL
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
console
Optional attribute; read/write access; type: unknown type.
Console object that must implement either gfx-console or both the serial-device
and extended-serial interfaces.
crtc_next
Optional attribute; read/write access; type: unknown type.
Integer register representing the next CRTC address.
crtc_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-24) is a list of CRTC registers.
dump_charset
Pseudo attribute; read/write access; type: unknown type.
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.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
fbdump
Pseudo attribute; write-only access; type: [i{5}].
Frame buffer dump command. See command help for more info
frame_buffer
Pseudo attribute; write-only access; type: Data.
Legacy - dontt use
gfx_latch
Optional attribute; read/write access; type: unknown type.
(Latch-0 . . . Latch-4) List of four graphics data controller latches.

1935

VIRTUTECH CONFIDENTIAL
gfx_next
Optional attribute; read/write access; type: unknown type.
Represents the address of the graphics controller register designated for the next
read/write access.
gfx_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-8) is a list of the nine graphics controller registers found in
an VGA adapter.
gregs
Optional attribute; read/write access; type: unknown type.
Rage setup and control registers.
h_cnt
Optional attribute; read/write access; type: unknown type.
Horizontal counter (used for generating retrace signals).
image
Required attribute; read/write access; type: Object.
Image object containing the VRAM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
memory_space
Required attribute; read/write access; type: unknown type.
Memory space to which the device is mapped. Needed for dynamic remapping.
misc_reg
Optional attribute; read/write access; type: unknown type.
Miscellaneous output register.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pel_addr
Optional attribute; read/write access; type: unknown type.
PEL address register.
1936

VIRTUTECH CONFIDENTIAL
pel_mask
Optional attribute; read/write access; type: unknown type.
PEL mask register.
pel_next_color
Optional attribute; read/write access; type: unknown type.
Next color in access to PEL data register (read, green, or blue).
pel_pal
Optional attribute; read/write access; type: unknown type.
((red, green, blue) . . . (red, green, blue)) List of 256 colors, each a tuple of red, green,
and blue.
print_greg
Pseudo attribute; read/write access; type: unknown type.
Print GUI register contents.
print_sreg
Pseudo attribute; read/write access; type: unknown type.
Print setup register contents.
ramdac_rw_state
Optional attribute; read/write access; type: unknown type.
RAMDAC read/write state.
redraw
Pseudo attribute; write-only access; type: a.
Forces a complete update when set.
refresh_rate
Optional attribute; read/write access; type: unknown type.
Refresh rate (in Hertz).
seq_next
Optional attribute; read/write access; type: unknown type.
Represents the address of the sequence register designated for the next read/write
access.
seq_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-4) is a list of sequence registers found in the VGA adapter.
sregs
Optional attribute; read/write access; type: unknown type.
Rage setup and control registers.
1937

VIRTUTECH CONFIDENTIAL
status
Optional attribute; read/write access; type: [i{15}].
Rage internal status.
status_cmd
Pseudo attribute; write-only access; type: a.
Shows some status on the rage device.
text_page
Pseudo attribute; read-only access; type: [s].
A list representation (one line per element) of the text mode contents.
v_cnt
Optional attribute; read/write access; type: unknown type.
Vertical counter (used for generating retrace signals).
vga_memory
Pseudo attribute; write-only access; type: unknown type.
Contains the VGA memory (256 KB of data).
view_size_x
Pseudo attribute; read-only access; type: Integer.
With of the internal cache.
view_size_y
Pseudo attribute; read-only access; type: Integer.
Height of the internal cache.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
fbdump
info
pci-header
pgreg
psreg
redraw
refresh-rate
status
text-dump

show part of rage framebuffer


Print device status
print PCI device header
print gui register contents
print setup register contents
Redraw display
Set rate at which ragexl updated display
show rage status
Print text contents of display
1938

VIRTUTECH CONFIDENTIAL

Command Descriptions
<ragexl>.fbdump
Synopsis
<ragexl>.fbdump fboffs width height [bpp] [stride]
Description
Display part of the ragexl framebuffer in the console window. fboffs is the starting
offset into the 16 MB rage framebuffer. width and height are the pixel dimensions of
the area to be shown. bpp (bits per pixel) specifies the format of the pixel data and can
be one of 8, 16, 24 or 32 (defaults to current desktop color depth). stride is the byte
offset between adjacent lines (defaults to width bpp / 8).

<ragexl>.info
Synopsis
<ragexl>.info
Description
Print information about the device registers.

<ragexl>.pci-header
Synopsis
<ragexl>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<ragexl>.pgreg
Synopsis
<ragexl>.pgreg reg
Description
Print GUI register contents

<ragexl>.psreg
Synopsis
<ragexl>.psreg reg
Description
Print Setup register contents

1939

VIRTUTECH CONFIDENTIAL

<ragexl>.redraw
Synopsis
<ragexl>.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.

<ragexl>.refresh-rate
Synopsis
<ragexl>.refresh-rate [rate]
Description
Set the rate at which the ragexl device updates the display.
The default is 1000 Hz (simulated). NOTE: The rate is currently the same for all ragexl
devices.

<ragexl>.status
Synopsis
<ragexl>.status [verbose]
Description
Show information about the current rage state, for example the current resolution,
color depth, desktop image offset etc. Currently the verbose flag has no function.

<ragexl>.text-dump
Synopsis
<ragexl>.text-dump
Description
Print the contents of the display in text mode.

1940

VIRTUTECH CONFIDENTIAL

ram
Provided by
Simics Core
Class Hierarchy
conf-object log-object ram
Interfaces Implemented
log_object, ram
Description
Random access memory.

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
image
Required attribute; read/write access; type: Object.
Object holding data. Must implement the image interface.
lock_granularity
Optional attribute; read/write access; type: Integer.
In MAI atomic instructions lock a ram region when they execute. This is the
granularity of such region. Must be a power of 2. 0 means no locking. 8 is
default.
mapped_size
Pseudo attribute; read-only access; type: Integer.
size of underlying image
tags
Optional attribute; read/write access; type: Object or Nil.
Auxiliary data contents, as an image, or Nil.

1941

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

Command Descriptions
<ram>.info
Synopsis
<ram>.info
Description
Print detailed information about the configuration of the device.

1942

VIRTUTECH CONFIDENTIAL

recorder
Provided by
recorder
Class Hierarchy
conf-object log-object recorder
Interfaces Implemented
log_object, event_poster
Description
The recorder class is used to record and playback I/O events. Recordable events include network traffic and mouse and keyboard events.

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
clients
Pseudo attribute; read-only access; type: [o].
List of connected devices.
in_file
Optional attribute; read/write access; type: String.
Name of input file.
input_during_playback
Session attribute; read/write access; type: Integer.
If nonzero, input is accepted when playback is active.
out_file
Optional attribute; read/write access; type: String.
Name of output file.
playback
Session attribute; read/write access; type: Integer.
If nonzero, playback is active.

1943

VIRTUTECH CONFIDENTIAL
recording
Session attribute; read/write access; type: Integer.
If nonzero, recording is active.
save_file
Pseudo attribute; write-only access; type: String.
Name of save file.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
playback-start
playback-stop
recorder-save
recorder-start
recorder-stop
status

print information about the device


play back recorded I/O
stop playback
save recorder
record input to file
stop recorder
print status of the device

Command Descriptions
<recorder>.info
Synopsis
<recorder>.info
Description
Print detailed information about the configuration of the device.

<recorder>.playback-start
Synopsis
<recorder>.playback-start input-file
Description
Starts playback from specified file. The I/O traffic in the file that is to be played back
must have been recorded using a machine configuration identical to the current configuration. It is highly recommended that console input is blocked when you play
back I/O, or the session may lose its synchronization.

<recorder>.playback-stop

1944

VIRTUTECH CONFIDENTIAL
Synopsis
<recorder>.playback-stop
Description
Stop the I/O playback. Note that once playback has been stopped in cannot be restarted.

<recorder>.recorder-save
Synopsis
<recorder>.recorder-save output-file
Description
Save recorded playback data.

<recorder>.recorder-start
Synopsis
<recorder>.recorder-start output-file
Description
Record input data to specified file. I/O is recorded from all devices that are recording
aware (that includes all devices that are shipped in standard distributions).

<recorder>.recorder-stop
Synopsis
<recorder>.recorder-stop
Description
Stop the recording of incoming data.

<recorder>.status
Synopsis
<recorder>.status
Description
Print detailed information about the current status of the device.

1945

VIRTUTECH CONFIDENTIAL

rev-execution
Provided by
rev-execution
Class Hierarchy
conf-object log-object rev-execution
Interfaces Implemented
log_object, event_poster
Description
Provides support for reverse execution.

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
add_bookmark
Pseudo attribute; write-only access; type: String.
Internal
bookmarks
Pseudo attribute; read-only access; type: [s].
Internal
delete_bookmark
Pseudo attribute; write-only access; type: String.
Internal
labels
Pseudo attribute; read-only access; type: [s].
Internal
mem_limit
Pseudo attribute; read/write access; type: Integer.
Internal
mem_usage
Pseudo attribute; read-only access; type: Integer.
Internal
1946

VIRTUTECH CONFIDENTIAL
nstates
Pseudo attribute; read-only access; type: Integer.
Internal
state_info
Pseudo attribute; read-only access; type: [[sii]].
Internal
state_level
Pseudo attribute; read/write access; type: Integer.
Internal
states
Pseudo attribute; read-only access; type: [[io[i]]]; integer indexed; indexed
type: [io[i]].
Internal

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

1947

VIRTUTECH CONFIDENTIAL

rn-eth-bridge-raw
Provided by
real-network
Class Hierarchy
conf-object log-object rn-eth-bridge-raw
Interfaces Implemented
log_object, ethernet_device
Description
Ethernet bridge using raw interface access.

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
connected
Optional attribute; read/write access; type: Integer.
Set to 1 if the object is connected to the real network and configured properly.
Also used to initiate a new connection.
filter_own_packets
Optional attribute; read/write access; type: Integer.
If non-zero, Simics central will not listen to packets sent from the host it is running on.
host_mac
Pseudo attribute; read-only access; type: String.
The MAC address of the network device connected to the real network.
iface_helper
Session class attribute; read/write access; type: String.
Full path name of helper executable that opens the host network interface. The
same helper is used for both the real-network-router and real-network-bridge
classes. This attribute is not used on Windows hosts.
interface
Optional attribute; read/write access; type: String.
The name of the host network interface to use.
1948

VIRTUTECH CONFIDENTIAL
link
Optional attribute; read/write access; type: Object or Nil.
Simulated Ethernet link to connect to.
link_status_devices
Optional attribute; read/write access; type: [o].
List of devices that should be notified of link status changes (on the host interface). The devices must implement the link-status interface.
link_status_enabled
Optional attribute; read/write access; type: b.
Enables host link status propagation. Note that disabling is not supported.
link_status_inject
Pseudo attribute; write-only access; type: Integer.
Generates a link-status change event. Used for testing of host link status propagation. The value written should be a ieee_802_3_link_status_t value.
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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_packet_rate
Optional attribute; read/write access; type: Integer.
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.
use_pcap
Optional attribute; read/write access; type: Integer.
Set to 1 if PCAP should be used instead of direct access of the host device interface.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

1949

VIRTUTECH CONFIDENTIAL

Command Descriptions
<rn-eth-bridge-raw>.info
Synopsis
<rn-eth-bridge-raw>.info
Description
Print detailed information about the configuration of the device.

<rn-eth-bridge-raw>.status
Synopsis
<rn-eth-bridge-raw>.status
Description
Print detailed information about the current status of the device.

1950

VIRTUTECH CONFIDENTIAL

rn-eth-bridge-tap
Provided by
real-network
Class Hierarchy
conf-object log-object rn-eth-bridge-tap
Interfaces Implemented
log_object, ethernet_device
Description
Ethernet bridge using a TAP interface.

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
close_iface
Pseudo class attribute; write-only access; type: String.
A persistent TUN/TAP interface from a previous session can be closed by giving
its name to this attribute. This attribute is not applicable on Windows platforms.
connected
Optional attribute; read/write access; type: Integer.
Set to 1 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
TUN/TAP device but failed to read the IP address and netmask (or MAC address), this attribute has to be set to 1 again after the TUN/TAP device has been
configured.
gateway_ip
Pseudo attribute; read/write access; type: String.
The IP address of the gateway in the real network.
host_ip
Pseudo attribute; read-only access; type: String.
The IP address of the network device connected to the real network.

1951

VIRTUTECH CONFIDENTIAL
host_mac
Pseudo attribute; read-only access; type: String.
The MAC address of the network device connected to the real network.
host_netmask
Pseudo attribute; read-only access; type: String.
Network address mask of the host ethernet network.
host_network
Pseudo attribute; read-only access; type: String.
Network address of the host ethernet network.
interface
Optional attribute; read/write access; type: String.
The name that the router should use for the TUN/TAP interface on the host.
Useful if the interface already exists, i.e. for persistent interfaces. if not set, a
name for the interface will be selected automatically.
link
Optional attribute; read/write access; type: Object or Nil.
Simulated Ethernet link to connect to.
link_status_devices
Optional attribute; read/write access; type: [o].
List of devices that should be notified of link status changes (on the host interface). The devices must implement the link-status interface.
link_status_enabled
Optional attribute; read/write access; type: b.
Enables host link status propagation. Note that disabling is not supported.
link_status_inject
Pseudo attribute; write-only access; type: Integer.
Generates a link-status change event. Used for testing of host link status propagation. The value written should be a ieee_802_3_link_status_t value.
persistent
Optional attribute; read/write access; type: Integer.
Set to 1 if the TUN/TAP interface opened should be persistent, i.e. if it shouldnt
be removed when Simics exists. A persistent interface is useful to avoid reconfiguration of it everytime a new simulation session is started. Setting this attribute
has no effect on Windows; all TAP-Win32 devices are persistent.
tap_bridge
Optional attribute; read/write access; type: Integer.
Should be set to 1 if the TAP interface is used to setup an Ethernet bridge.
1952

VIRTUTECH CONFIDENTIAL
tun_tap_device
Pseudo class attribute; read/write access; type: String.
The name of the host TUN/TAP device to use to connect to the real network.
A TUN/TAP device supports IP packet tunneling and Ethernet frame bridging
between the host that Simics is running on and the simulated network. Default
is /dev/net/tun. This attribute is not applicable on Windows platforms.
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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_packet_rate
Optional attribute; read/write access; type: Integer.
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.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
finish-connection
info
status

Finalize a real network connection


print information about the device
print status of the device

Command Descriptions
<rn-eth-bridge-tap>.finish-connection
Synopsis
<rn-eth-bridge-tap>.finish-connection
Description
Finish the connection to the real network once the TUN/TAP interface has been assigned an IP address and network mask ethat the real-network object has to read.
This command usually isnt needed since Simics will retry getting the interface configuration when it receives a packet from or to the real network.

<rn-eth-bridge-tap>.info
Synopsis
<rn-eth-bridge-tap>.info
1953

VIRTUTECH CONFIDENTIAL
Description
Print detailed information about the configuration of the device.

<rn-eth-bridge-tap>.status
Synopsis
<rn-eth-bridge-tap>.status
Description
Print detailed information about the current status of the device.

1954

VIRTUTECH CONFIDENTIAL

rn-eth-proxy-raw
Provided by
real-network
Class Hierarchy
conf-object log-object rn-eth-proxy-raw
Interfaces Implemented
log_object, ethernet_device
Description
Ethernet proxy using raw interface access.

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
connected
Optional attribute; read/write access; type: Integer.
Set to 1 if the object is connected to the real network and configured properly.
Also used to initiate a new connection.
external_arp_table
Pseudo attribute; read/write access; type: [[ss]].
ARP table for real network, used to proxy Ethernet frames.
filter_arp
Optional attribute; read/write access; type: Integer.
When this attribute is set to 1 (default), some ARP related optimizations are enabled. For example ARP requests are not forwarded between the real and simulated network if the host is known to reside on the same network as the requester.
filter_own_packets
Optional attribute; read/write access; type: Integer.
If non-zero, Simics central will not listen to packets sent from the host it is running on.
gateway_ip
Pseudo attribute; read/write access; type: String.
The IP address of the gateway in the real network.
1955

VIRTUTECH CONFIDENTIAL
host_ip
Pseudo attribute; read-only access; type: String.
The IP address of the network device connected to the real network.
host_mac
Pseudo attribute; read-only access; type: String.
The MAC address of the network device connected to the real network.
host_netmask
Pseudo attribute; read-only access; type: String.
Network address mask of the host ethernet network.
host_network
Pseudo attribute; read-only access; type: String.
Network address of the host ethernet network.
iface_helper
Session class attribute; read/write access; type: String.
Full path name of helper executable that opens the host network interface. The
same helper is used for both the real-network-router and real-network-bridge
classes. This attribute is not used on Windows hosts.
interface
Optional attribute; read/write access; type: String.
The name of the host network interface to use.
internal_arp_table
Optional attribute; read/write access; type: [[ss]].
ARP table for simulated network, used to proxy Ethernet frames.
link
Optional attribute; read/write access; type: Object or Nil.
Simulated Ethernet link to connect to.
link_status_devices
Optional attribute; read/write access; type: [o].
List of devices that should be notified of link status changes (on the host interface). The devices must implement the link-status interface.
link_status_enabled
Optional attribute; read/write access; type: b.
Enables host link status propagation. Note that disabling is not supported.
link_status_inject
Pseudo attribute; write-only access; type: Integer.
Generates a link-status change event. Used for testing of host link status propagation. The value written should be a ieee_802_3_link_status_t value.
1956

VIRTUTECH CONFIDENTIAL
mac
Optional attribute; read/write access; type: String.
The MAC address of the Ethernet adapter connected to the simulated network.
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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_packet_rate
Optional attribute; read/write access; type: Integer.
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.
use_pcap
Optional attribute; read/write access; type: Integer.
Set to 1 if PCAP should be used instead of direct access of the host device interface.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<rn-eth-proxy-raw>.info
Synopsis
<rn-eth-proxy-raw>.info
Description
Print detailed information about the configuration of the device.

<rn-eth-proxy-raw>.status
Synopsis
<rn-eth-proxy-raw>.status
Description
Print detailed information about the current status of the device.
1957

VIRTUTECH CONFIDENTIAL

rn-eth-proxy-tap
Provided by
real-network
Class Hierarchy
conf-object log-object rn-eth-proxy-tap
Interfaces Implemented
log_object, ethernet_device
Description
Ethernet proxy using a TAP interface.

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
close_iface
Pseudo class attribute; write-only access; type: String.
A persistent TUN/TAP interface from a previous session can be closed by giving
its name to this attribute. This attribute is not applicable on Windows platforms.
connected
Optional attribute; read/write access; type: Integer.
Set to 1 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
TUN/TAP device but failed to read the IP address and netmask (or MAC address), this attribute has to be set to 1 again after the TUN/TAP device has been
configured.
external_arp_table
Pseudo attribute; read/write access; type: [[ss]].
ARP table for real network, used to proxy Ethernet frames.
filter_arp
Optional attribute; read/write access; type: Integer.
When this attribute is set to 1 (default), some ARP related optimizations are enabled. For example ARP requests are not forwarded between the real and simulated network if the host is known to reside on the same network as the requester.
1958

VIRTUTECH CONFIDENTIAL
gateway_ip
Pseudo attribute; read/write access; type: String.
The IP address of the gateway in the real network.
host_ip
Pseudo attribute; read-only access; type: String.
The IP address of the network device connected to the real network.
host_mac
Pseudo attribute; read-only access; type: String.
The MAC address of the network device connected to the real network.
host_netmask
Pseudo attribute; read-only access; type: String.
Network address mask of the host ethernet network.
host_network
Pseudo attribute; read-only access; type: String.
Network address of the host ethernet network.
interface
Optional attribute; read/write access; type: String.
The name that the router should use for the TUN/TAP interface on the host.
Useful if the interface already exists, i.e. for persistent interfaces. if not set, a
name for the interface will be selected automatically.
internal_arp_table
Optional attribute; read/write access; type: [[ss]].
ARP table for simulated network, used to proxy Ethernet frames.
link
Optional attribute; read/write access; type: Object or Nil.
Simulated Ethernet link to connect to.
link_status_devices
Optional attribute; read/write access; type: [o].
List of devices that should be notified of link status changes (on the host interface). The devices must implement the link-status interface.
link_status_enabled
Optional attribute; read/write access; type: b.
Enables host link status propagation. Note that disabling is not supported.
link_status_inject
Pseudo attribute; write-only access; type: Integer.
Generates a link-status change event. Used for testing of host link status propagation. The value written should be a ieee_802_3_link_status_t value.
1959

VIRTUTECH CONFIDENTIAL
mac
Optional attribute; read/write access; type: String.
The MAC address of the Ethernet adapter connected to the simulated network.
persistent
Optional attribute; read/write access; type: Integer.
Set to 1 if the TUN/TAP interface opened should be persistent, i.e. if it shouldnt
be removed when Simics exists. A persistent interface is useful to avoid reconfiguration of it everytime a new simulation session is started. Setting this attribute
has no effect on Windows; all TAP-Win32 devices are persistent.
tap_bridge
Optional attribute; read/write access; type: Integer.
Should be set to 1 if the TAP interface is used to setup an Ethernet bridge.
tun_tap_device
Pseudo class attribute; read/write access; type: String.
The name of the host TUN/TAP device to use to connect to the real network.
A TUN/TAP device supports IP packet tunneling and Ethernet frame bridging
between the host that Simics is running on and the simulated network. Default
is /dev/net/tun. This attribute is not applicable on Windows platforms.
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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_packet_rate
Optional attribute; read/write access; type: Integer.
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.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
finish-connection
info
status

Finalize a real network connection


print information about the device
print status of the device

1960

VIRTUTECH CONFIDENTIAL

Command Descriptions
<rn-eth-proxy-tap>.finish-connection
Synopsis
<rn-eth-proxy-tap>.finish-connection
Description
Finish the connection to the real network once the TUN/TAP interface has been assigned an IP address and network mask ethat the real-network object has to read.
This command usually isnt needed since Simics will retry getting the interface configuration when it receives a packet from or to the real network.

<rn-eth-proxy-tap>.info
Synopsis
<rn-eth-proxy-tap>.info
Description
Print detailed information about the configuration of the device.

<rn-eth-proxy-tap>.status
Synopsis
<rn-eth-proxy-tap>.status
Description
Print detailed information about the current status of the device.

1961

VIRTUTECH CONFIDENTIAL

rn-ip-router-raw
Provided by
real-network
Class Hierarchy
conf-object log-object rn-ip-router-raw
Interfaces Implemented
log_object, ethernet_device
Description
Real-network IP router using raw interface access.

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
arp_table
Optional attribute; read/write access; type: [[ss]].
ARP table for simulated network.
connected
Optional attribute; read/write access; type: Integer.
Set to 1 if the object is connected to the real network and configured properly.
Also used to initiate a new connection.
filter_own_packets
Optional attribute; read/write access; type: Integer.
If non-zero, Simics central will not listen to packets sent from the host it is running on.
gateway
Optional attribute; read/write access; type: String.
Gateway used to route packets to machines in other simulated Ethernet links.
gateway_ip
Pseudo attribute; read/write access; type: String.
The IP address of the gateway in the real network.

1962

VIRTUTECH CONFIDENTIAL
host_ip
Pseudo attribute; read-only access; type: String.
The IP address of the network device connected to the real network.
host_mac
Pseudo attribute; read-only access; type: String.
The MAC address of the network device connected to the real network.
host_netmask
Pseudo attribute; read-only access; type: String.
Network address mask of the host ethernet network.
host_network
Pseudo attribute; read-only access; type: String.
Network address of the host ethernet network.
iface_helper
Session class attribute; read/write access; type: String.
Full path name of helper executable that opens the host network interface. The
same helper is used for both the real-network-router and real-network-bridge
classes. This attribute is not used on Windows hosts.
interface
Optional attribute; read/write access; type: String.
The name of the host network interface to use.
ip
Required attribute; read/write access; type: String.
The IP address of the router connected to the simulated link.
link
Optional attribute; read/write access; type: Object or Nil.
Simulated Ethernet link to connect to.
mac
Optional attribute; read/write access; type: String.
The MAC address of the Ethernet adapter connected to the simulated network.
netmask
Optional attribute; read/write access; type: String.
Network address mask on the simulated link.
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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.
1963

VIRTUTECH CONFIDENTIAL
tx_packet_rate
Optional attribute; read/write access; type: Integer.
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.
use_pcap
Optional attribute; read/write access; type: Integer.
Set to 1 if PCAP should be used instead of direct access of the host device interface.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<rn-ip-router-raw>.info
Synopsis
<rn-ip-router-raw>.info
Description
Print detailed information about the configuration of the device.

<rn-ip-router-raw>.status
Synopsis
<rn-ip-router-raw>.status
Description
Print detailed information about the current status of the device.

1964

VIRTUTECH CONFIDENTIAL

rn-ip-tunnel-tun
Provided by
real-network
Class Hierarchy
conf-object log-object rn-ip-tunnel-tun
Interfaces Implemented
log_object, ethernet_device
Description
Real-network IP tunnel using a TUN interface.

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
arp_table
Optional attribute; read/write access; type: [[ss]].
ARP table for simulated network.
close_iface
Pseudo class attribute; write-only access; type: String.
A persistent TUN/TAP interface from a previous session can be closed by giving
its name to this attribute. This attribute is not applicable on Windows platforms.
connected
Optional attribute; read/write access; type: Integer.
Set to 1 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
TUN/TAP device but failed to read the IP address and netmask (or MAC address), this attribute has to be set to 1 again after the TUN/TAP device has been
configured.
gateway_ip
Pseudo attribute; read/write access; type: String.
The IP address of the gateway in the real network.

1965

VIRTUTECH CONFIDENTIAL
host_ip
Pseudo attribute; read-only access; type: String.
The IP address of the network device connected to the real network.
host_netmask
Pseudo attribute; read-only access; type: String.
Network address mask of the host ethernet network.
host_network
Pseudo attribute; read-only access; type: String.
Network address of the host ethernet network.
interface
Optional attribute; read/write access; type: String.
The name that the router should use for the TUN/TAP interface on the host.
Useful if the interface already exists, i.e. for persistent interfaces. if not set, a
name for the interface will be selected automatically.
link
Optional attribute; read/write access; type: Object or Nil.
Simulated Ethernet link to connect to.
mac
Optional attribute; read/write access; type: String.
The MAC address of the Ethernet adapter connected to the simulated network.
persistent
Optional attribute; read/write access; type: Integer.
Set to 1 if the TUN/TAP interface opened should be persistent, i.e. if it shouldnt
be removed when Simics exists. A persistent interface is useful to avoid reconfiguration of it everytime a new simulation session is started. Setting this attribute
has no effect on Windows; all TAP-Win32 devices are persistent.
tap_bridge
Optional attribute; read/write access; type: Integer.
Should be set to 1 if the TAP interface is used to setup an Ethernet bridge.
tun_tap_device
Pseudo class attribute; read/write access; type: String.
The name of the host TUN/TAP device to use to connect to the real network.
A TUN/TAP device supports IP packet tunneling and Ethernet frame bridging
between the host that Simics is running on and the simulated network. Default
is /dev/net/tun. This attribute is not applicable on Windows platforms.

1966

VIRTUTECH CONFIDENTIAL
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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_packet_rate
Optional attribute; read/write access; type: Integer.
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.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
finish-connection
info
status

Finalize a real network connection


print information about the device
print status of the device

Command Descriptions
<rn-ip-tunnel-tun>.finish-connection
Synopsis
<rn-ip-tunnel-tun>.finish-connection
Description
Finish the connection to the real network once the TUN/TAP interface has been assigned an IP address and network mask ethat the real-network object has to read.
This command usually isnt needed since Simics will retry getting the interface configuration when it receives a packet from or to the real network.

<rn-ip-tunnel-tun>.info
Synopsis
<rn-ip-tunnel-tun>.info
Description
Print detailed information about the configuration of the device.

<rn-ip-tunnel-tun>.status

1967

VIRTUTECH CONFIDENTIAL
Synopsis
<rn-ip-tunnel-tun>.status
Description
Print detailed information about the current status of the device.

1968

VIRTUTECH CONFIDENTIAL

rom
Provided by
Simics Core
Class Hierarchy
conf-object log-object rom
Interfaces Implemented
log_object, rom
Description
Read-only memory.

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
image
Required attribute; read/write access; type: Object.
Object holding data. Must implement the image interface.
lock_granularity
Optional attribute; read/write access; type: Integer.
In MAI atomic instructions lock a ram region when they execute. This is the
granularity of such region. Must be a power of 2. 0 means no locking. 8 is
default.
mapped_size
Pseudo attribute; read-only access; type: Integer.
size of underlying image
tags
Optional attribute; read/write access; type: Object or Nil.
Auxiliary data contents, as an image, or Nil.

1969

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

Command Descriptions
<rom>.info
Synopsis
<rom>.info
Description
Print detailed information about the configuration of the device.

1970

VIRTUTECH CONFIDENTIAL

rom-device
Provided by
rom-device
Class Hierarchy
conf-object log-object rom-device
Interfaces Implemented
log_object, io_memory
Description
The ROM device is a generic Simics module that holds a memory mapped image of
non-writable memory. This device is used for the VGA bios implementation in the
164LX model.

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
file
Optional attribute; read/write access; type: unknown type.
File containing a ROM image (to be mapped into memory).

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

1971

VIRTUTECH CONFIDENTIAL

SA1110-device
Provided by
SA1110
Class Hierarchy
conf-object log-object SA1110-device
Interfaces Implemented
log_object, event_poster, serial_device, io_memory
Description
The devices of the Intel StrongArm 1110 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
console
Required attribute; read/write access; type: Object.
The serial-device to connect to.
gpio
Optional attribute; read/write access; type: [iiiiiiii].
GPIO data
ic
Optional attribute; read/write access; type: [iiiiii].
IC data
irq_dev
Required attribute; read/write access; type: Object.
The simple-interrupt to connect to.
ost
Optional attribute; read/write access; type: [iiiiiiiiif].
OST data
ppc
Optional attribute; read/write access; type: [iiiii].
PPC data
1972

VIRTUTECH CONFIDENTIAL
rtc
Optional attribute; read/write access; type: [iiii].
RTC data
sp1
Optional attribute; read/write access; type: [iiiiiii[iiiiiiiiiiii]ii[iiiiiiii]ii].
SP1 data

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about device

Command Descriptions
<SA1110-device>.info
Synopsis
<SA1110-device>.info
Description
Print detailed information about the simulated device.

1973

VIRTUTECH CONFIDENTIAL

sample-device
Provided by
sample-device
Class Hierarchy
conf-object log-object sample-device
Interfaces Implemented
log_object, io_memory
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.

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
add_log
Pseudo attribute; write-only access; type: String.
Write-only. Strings written to this attribute will end up in the devices log file.
range_sum
Pseudo attribute; read-only access; type: Integer; list indexed; indexed type:
Integer.
Read-only. When read from index [i0, i1], the sum of the integers between i0
and i1 will be returned.
value
Optional attribute; read/write access; type: Integer.
The value field.

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

1974

VIRTUTECH CONFIDENTIAL
Commands
add-log
info
range-sum
status

add a text line to the device log


print information about the device
calculate range sum
print status of the device

Command Descriptions
<sample-device>.add-log
Synopsis
<sample-device>.add-log [log-string]
Description
Add a line of text to the device log. Use the io command to view the log.

<sample-device>.info
Synopsis
<sample-device>.info
Description
Print detailed information about the configuration of the device.

<sample-device>.range-sum
Synopsis
<sample-device>.range-sum start end
Description
Calculate the sum of all integers from start to end.

<sample-device>.status
Synopsis
<sample-device>.status
Description
Print detailed information about the current status of the device.

1975

VIRTUTECH CONFIDENTIAL

sample-device-python
Provided by
sample-device-python
Class Hierarchy
conf-object log-object sample-device-python
Interfaces Implemented
log_object, io_memory
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/sampledevice-python.

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

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<sample-device-python>.info
Synopsis
<sample-device-python>.info
1976

VIRTUTECH CONFIDENTIAL
Description
Print detailed information about the configuration of the device.

<sample-device-python>.status
Synopsis
<sample-device-python>.status
Description
Print detailed information about the current status of the device.

1977

VIRTUTECH CONFIDENTIAL

sample-gcache
Provided by
timing-components
Class Hierarchy
conf-object log-object component sample-gcache
Interfaces Implemented
log_object, component
Description
A pre-configured combined L1 instruction and data cache

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<sample-gcache>.info
Synopsis
<sample-gcache>.info
Description
Print detailed information about the configuration of the device.

<sample-gcache>.status
1978

VIRTUTECH CONFIDENTIAL
Synopsis
<sample-gcache>.status
Description
Print detailed information about the current status of the device.

1979

VIRTUTECH CONFIDENTIAL

sample-i2c-device
Provided by
sample-i2c-device
Class Hierarchy
conf-object log-object sample-i2c-device
Interfaces Implemented
log_object
Description
The is the sample-i2c-device class which is an example of how i2c devices can be written in Simics.

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
Required attribute; read/write access; type: Integer.
Address on the i2c bus.
i2c_bus
Required attribute; read/write access; type: unknown type.
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
read_value
Optional attribute; read/write access; type: Integer.
Value to return on reads.
written_value
Optional attribute; read/write access; type: Integer.
Last byte written to this device.

1980

VIRTUTECH CONFIDENTIAL

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

1981

VIRTUTECH CONFIDENTIAL

sample-ma-model
Provided by
timing-components
Class Hierarchy
conf-object log-object component sample-ma-model
Interfaces Implemented
log_object, component
Description
A sample SPARC MAI model with a simple cache

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<sample-ma-model>.info
Synopsis
<sample-ma-model>.info
Description
Print detailed information about the configuration of the device.

<sample-ma-model>.status
1982

VIRTUTECH CONFIDENTIAL
Synopsis
<sample-ma-model>.status
Description
Print detailed information about the current status of the device.

1983

VIRTUTECH CONFIDENTIAL

sample-memhier
Provided by
sample-memhier
Class Hierarchy
conf-object sample-memhier
Interfaces Implemented
timing_model
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.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
count
Optional attribute; read/write access; type: Integer.
Number of memory operations traced so far.
trace_file
Optional attribute; read/write access; type: String.
Name of output file the trace is written to.

1984

VIRTUTECH CONFIDENTIAL

sample-ooo-model
Provided by
timing-components
Class Hierarchy
conf-object log-object component sample-ooo-model
Interfaces Implemented
log_object, component
Description
A sample SPARC MAI model based on ooo_micro_arch and a simple cache.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<sample-ooo-model>.info
Synopsis
<sample-ooo-model>.info
Description
Print detailed information about the configuration of the device.

<sample-ooo-model>.status
1985

VIRTUTECH CONFIDENTIAL
Synopsis
<sample-ooo-model>.status
Description
Print detailed information about the current status of the device.

1986

VIRTUTECH CONFIDENTIAL

sample-pci-device
Provided by
sample-pci-device
Class Hierarchy
conf-object log-object sample-pci-device
Interfaces Implemented
log_object, io_memory, pci_device
Description
This is the sample-pci-device class which is an example of how to write PCI devices
in Simics.

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
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
dummy_attribute
Required attribute; read/write access; type: Integer.
this attribute represents. . .
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
1987

VIRTUTECH CONFIDENTIAL
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

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

1988

VIRTUTECH CONFIDENTIAL

sample-x86-ma-model
Provided by
timing-components
Class Hierarchy
conf-object log-object component sample-x86-ma-model
Interfaces Implemented
log_object, component
Description
A sample x86 MAI model

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<sample-x86-ma-model>.info
Synopsis
<sample-x86-ma-model>.info
Description
Print detailed information about the configuration of the device.

<sample-x86-ma-model>.status
1989

VIRTUTECH CONFIDENTIAL
Synopsis
<sample-x86-ma-model>.status
Description
Print detailed information about the current status of the device.

1990

VIRTUTECH CONFIDENTIAL

sample_micro_arch
Provided by
sample-micro-arch
Class Hierarchy
conf-object log-object sample_micro_arch
Interfaces Implemented
log_object
Description
This class demonstrates the Micro Architectural Interface. The processor modeled can
fetch, execute, and commit a configurable number of instructions per cycle (by setting
some attributes). Default is 4, 4, and 4 respectively. It has a simple branch-predictor
that uses a hash table to lookup the target address from the address of the branch
instruction. The hash table is updated for every successfully committed branch.
Besides speculating on the target address, the architecture also speculate fall through
for every branch. This way 2 possible execution paths are created for every branch.
This makes the instruction tree into a binary tree. The number of instructions executed
and fetch per cycle is actually also per branch in the instruction tree.
This demo models no pipeline stages other than those found in Simics. Instructions
are fetched and decoded at once making the fetch staged itself invisible.
If an exception occurs the tree is drained and all the speculative instructions beyond
the faulting one are discarded.

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
commits_per_cycle
Optional attribute; read/write access; type: Integer.
Number of instructions to commit each cycle.
cpu
Required attribute; read/write access; type: Object.
The CPU of the micro architecture model

1991

VIRTUTECH CONFIDENTIAL
drain_queue
Session attribute; read/write access; type: Integer.
Tell the model to stop fetching so that the instruction queue will empty itself.
Useful to save a checkpoint.
execute_per_cycle
Optional attribute; read/write access; type: Integer.
Number of instructions to execute each cycle per instruction tree branch.
fetches_per_cycle
Optional attribute; read/write access; type: Integer.
Number of instructions to fetch each cycle.
out_of_order_retire
Optional attribute; read/write access; type: Integer.
Number of instructions to retire each cycle per instruction tree branch.
retires_per_cycle
Optional attribute; read/write access; type: Integer.
Number of instructions to retire each cycle per instruction tree branch.

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

1992

VIRTUTECH CONFIDENTIAL

sample_micro_arch_x86
Provided by
sample-micro-arch-x86
Class Hierarchy
conf-object log-object sample_micro_arch_x86
Interfaces Implemented
log_object, event_poster
Description
sample-micro-arch-x86 is a sample processor timing model for x86 MAI. It drives an
x86 out-of-order processor with a simple pipeline and branch prediction.

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
branch_miss_penalty
Optional attribute; read/write access; type: unknown type.
Penalty taken when mispredicting a branch (no fetch is performed during this
penalty time).
commits_per_cycle
Optional attribute; read/write access; type: unknown type.
Number of commits allowed per cycle.
committed_steps
Session attribute; read/write access; type: unknown type.
Committed steps since the model started.
cpu
Required attribute; read/write access; type: Object.
CPU to connect the model to.
drain_queue
Session attribute; read/write access; type: unknown type.
Tell the model to stop fetching so that the instruction queue will empty itself.
Useful to save a checkpoint.
1993

VIRTUTECH CONFIDENTIAL
executes_per_cycle
Optional attribute; read/write access; type: unknown type.
Number of execution phases allowed per cycle.
fetches_per_cycle
Optional attribute; read/write access; type: unknown type.
Number of fetches allowed per cycle.
max_in_flight
Optional attribute; read/write access; type: unknown type.
Maximum number of instructions in-flight.
retires_per_cycle
Optional attribute; read/write access; type: unknown type.
Number of store retiring allowed per cycle.

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

1994

VIRTUTECH CONFIDENTIAL

sapic-bus
Provided by
sapic-bus
Class Hierarchy
conf-object log-object sapic-bus
Interfaces Implemented
log_object
Description
The SAPIC bus connects processors with the I/O-SAPICs in the system, and routes
interrupts to the destination CPU.

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
iosapic
Optional attribute; read/write access; type: Object.
The I/O-SAPIC (an object implementing the iosapic interface) connected to the
bus. Note that only single I/O-SAPIC systems is supported.
sapics
Required attribute; read/write access; type: [o].
(sapic). List of all SAPICs on the bus. An SAPIC is usually an IA64 processor.
The list index must match the SAPIC ID, and the connected objects must implement the sapic interface.

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

1995

VIRTUTECH CONFIDENTIAL

sb16
Provided by
sb16
Class Hierarchy
conf-object log-object sb16
Interfaces Implemented
log_object, event_poster, io_memory
Description
The sb16 device implements the basic functions of a Soundblaster 16 soundcard. Sound
is output when silence (one block of identical samples) is detected after having received some valid (nonsilent) data, or when more that 16Kb of audio data has been
buffered.

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
dma_channel_16
Required attribute; read/write access; type: unknown type.
Soundblaster 16 bit DMA channel.
dma_channel_8
Required attribute; read/write access; type: unknown type.
Soundblaster 8 bit DMA channel.
dma_dev
Required attribute; read/write access; type: unknown type.
DMA device implementing the common-dma interface.
dsp_dev
Required attribute; read/write access; type: unknown type.
The file that audio output will be written to. If naming a valid audio device file
(like /dev/dsp under Linux) data will be played through the host sound card,
otherwise it will be written to a regular file.

1996

VIRTUTECH CONFIDENTIAL
irq_dev
Required attribute; read/write access; type: unknown type.
Interrupt device implementing the simple-interrupt interface.
irq_level
Required attribute; read/write access; type: unknown type.
Soundblaster interrupt level.

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

1997

VIRTUTECH CONFIDENTIAL

sbbc-pci
Provided by
sbbc-pci
Class Hierarchy
conf-object log-object sbbc-pci
Interfaces Implemented
log_object, io_memory, pci_device
Description
The sbbc-pci models the sbbc pci device found in Serengeti servers. It is used for
communication between the OS/OBP and the Service Processor. The sbbc-pci handles
interrupts, and read/writes to the IOSRAM memory.

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
access_ignore
Session attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
Access info ignore strings.
access_info
Session attribute; read/write access; type: unknown type.
Access info debugging enable/disable.
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.

1998

VIRTUTECH CONFIDENTIAL
epld_interrupt
Optional attribute; read/write access; type: unknown type.
EPLD Interrupt Register
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_enable
Optional attribute; read/write access; type: unknown type.
PCI interrupt enable register.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
interrupt_status
Optional attribute; read/write access; type: unknown type.
PCI interrupt status register.
irq_generation_0
Optional attribute; read/write access; type: unknown type.
Interrupt generation register 0
irq_generation_1
Optional attribute; read/write access; type: unknown type.
Interrupt generation register 1
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
sc
Required attribute; read/write access; type: unknown type.
Console implementing the _serengeti_console interface.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

1999

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
access-ignore
access-info
info
pci-header
status

add string to ignore for access info


toggle debug output for IOSRAM accesses
print information about the device
print PCI device header
print status of the device

Command Descriptions
<sbbc-pci>.access-ignore
Synopsis
<sbbc-pci>.access-ignore [ignore-str]
Description
Adds a string to the list of strings that will be ignored when access-info debugging is
enabled. Adding a string a second time will remove it from the list.

<sbbc-pci>.access-info
Synopsis
<sbbc-pci>.access-info
Description
When access info debugging is enabled, the sbbc-pci device will print where the IOSRAM is accessed.

<sbbc-pci>.info
Synopsis
<sbbc-pci>.info
Description
Print detailed information about the configuration of the device.

<sbbc-pci>.pci-header
Synopsis
<sbbc-pci>.pci-header
2000

VIRTUTECH CONFIDENTIAL
Description
Print the PCI header, i.e the configuration registers.

<sbbc-pci>.status
Synopsis
<sbbc-pci>.status
Description
Print detailed information about the current status of the device.

2001

VIRTUTECH CONFIDENTIAL

sbus-hme
Provided by
sbus-hme
Class Hierarchy
conf-object log-object sbus-hme
Interfaces Implemented
log_object, ethernet_device, event_poster, io_memory
Description
Sbus based hme network device.

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
add_crc_on_inject
Optional attribute; read/write access; type: Integer.
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.
align_error_counter
Optional attribute; read/write access; type: Integer.
Internal Register
anar
Optional attribute; read/write access; type: unknown type.
Internal Register
aner
Optional attribute; read/write access; type: unknown type.
Internal Register
anlpar
Optional attribute; read/write access; type: unknown type.
Internal Register
2002

VIRTUTECH CONFIDENTIAL
attempt_limit
Optional attribute; read/write access; type: unknown type.
Internal Register
bmcr
Optional attribute; read/write access; type: unknown type.
Internal Register
bmsr
Optional attribute; read/write access; type: unknown type.
Internal Register
cs_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
current_packet
Pseudo attribute; read/write access; type: d|n.
(Obsolete - see the last-frame attribute instead). The packet that is currently
about to be sent or received. The format is a raw Ethernet frame. This attribute
is only valid in Ethernet_Transmit and Ethernet_Receive hap callbacks.
It is possible to override the packet by assigning this attribute. The device will
drop the current packet if the attribute is set to Nil, or with data of zero length.
defer_timer
Optional attribute; read/write access; type: unknown type.
Internal Register
exc_collision
Optional attribute; read/write access; type: unknown type.
Internal Register
fcs_error_counter
Optional attribute; read/write access; type: Integer.
Internal Register
first_collision
Optional attribute; read/write access; type: unknown type.
Internal Register
glob_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
glob_stat
Optional attribute; read/write access; type: unknown type.
Internal Register
2003

VIRTUTECH CONFIDENTIAL
inject_packet
Pseudo attribute; write-only access; type: Data.
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.
interrupt_pin
Optional attribute; read/write access; type: Integer.
External interrupt level
iommu
Optional attribute; read/write access; type: unknown type.
Obsolete - checkpoint compatibility only.
ipg1
Optional attribute; read/write access; type: unknown type.
Internal Register
ipg2
Optional attribute; read/write access; type: unknown type.
Internal Register
irq_dev
Required attribute; read/write access; type: unknown type.
Interrupt device implementing the simple-interrupt interface.
irq_level
Required attribute; read/write access; type: unknown type.
Interrupt level.
irq_mask
Optional attribute; read/write access; type: unknown type.
Internal Register
jam_size
Optional attribute; read/write access; type: unknown type.
Internal Register
last_frame
Pseudo attribute; read/write access; type: d|n.
The frame that is currently about to be sent or received. The format is a raw Ethernet frame. This attribute is only valid in Ethernet_Transmit and Ethernet_
Receive hap callbacks. It is possible to override the packet by assigning this
attribute. The device will drop the current packet if the attribute is set to Nil, or
with data of zero length.
2004

VIRTUTECH CONFIDENTIAL
last_rx_descriptor
Optional attribute; read/write access; type: unknown type.
Internal Register
last_tx_descriptor
Optional attribute; read/write access; type: unknown type.
Internal Register
late_collision
Optional attribute; read/write access; type: unknown type.
Internal Register
len_error_counter
Optional attribute; read/write access; type: Integer.
Internal Register
link
Optional attribute; read/write access; type: Object or Nil.
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.
memory
Required attribute; read/write access; type: unknown type.
The object to be used as memory space, implementing the interface lookup.
mif_config
Optional attribute; read/write access; type: unknown type.
Internal Register
mif_mask
Optional attribute; read/write access; type: unknown type.
Internal Register
mif_status
Optional attribute; read/write access; type: unknown type.
Internal Register
mode
Optional attribute; read/write access; type: unknown type.
Internal Register

2005

VIRTUTECH CONFIDENTIAL
model_crc
Optional attribute; read/write access; type: Integer.
If set to 1, the device will calculate and include an Ethernet CRC on all transmitted frames, and check the CRC on received frames.
network
Pseudo attribute; read/write access; type: Object or Nil.
Obsolete attribute. Use link instead.
next_mii_val
Optional attribute; read/write access; type: unknown type.
Internal Register
normal_collision
Optional attribute; read/write access; type: unknown type.
Internal Register
pa_pattern
Optional attribute; read/write access; type: unknown type.
Internal Register
pa_size
Optional attribute; read/write access; type: unknown type.
Internal Register
pkt_rec
Session attribute; read/write access; type: unknown type.
Number of packets received
pkt_snt
Session attribute; read/write access; type: unknown type.
Number of packets sent
poll_reg
Optional attribute; read/write access; type: unknown type.
Internal Register
random_seed
Optional attribute; read/write access; type: unknown type.
Internal Register
recorder
Required attribute; read/write access; type: Object.
Recorder object that allows recording and later playback of network traffic to the
interface.
2006

VIRTUTECH CONFIDENTIAL
reliability
Optional attribute; read/write access; type: Integer.
This value determined how reliable an established connection is. If set to N it
means that with a probability of 1 out of N a package will be lost (not sent to the
receiver). The default value is 0 which means that no packages will be lost.
reliability_seed
Optional attribute; read/write access; type: Integer.
The seed value for the randomization of packet loss. See the reliability attribute
rx_byte_offset
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_checksum_offset
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_desc_base
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_desc_disp
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_dma_enable
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_frame_counter
Optional attribute; read/write access; type: Integer.
Internal Register
rx_mac_config
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_max_frame
Optional attribute; read/write access; type: unknown type.
Internal Register
rx_min_frame
Optional attribute; read/write access; type: unknown type.
Internal Register
2007

VIRTUTECH CONFIDENTIAL
rx_ring_size_idx
Optional attribute; read/write access; type: unknown type.
Internal Register
sbus_slot
Optional attribute; read/write access; type: unknown type.
Obsolete - checkpoint compatibility only.
serial_clock
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_in
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_data_out
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_num_cycles
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
serial_port_status
Optional attribute; read/write access; type: Integer.
MII Management Interface serial communication state.
sfd_pattern
Optional attribute; read/write access; type: unknown type.
Internal Register
slot_time
Optional attribute; read/write access; type: unknown type.
Internal Register
tp10_conf
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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.
2008

VIRTUTECH CONFIDENTIAL
tx_config
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_desc_base
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_desc_disp
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_mac_config
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_max_frame
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_min_frame
Optional attribute; read/write access; type: unknown type.
Internal Register
tx_next_time
Optional attribute; read/write access; type: Float.
The earliest time at which that the network interface may send another packet.
Used for transmit bandwidth limitation.
tx_ring_size
Optional attribute; read/write access; type: unknown type.
Internal Register
xif_config
Optional attribute; read/write access; type: unknown type.
Internal Register

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
connect
disconnect
info
status

connect to a simulated Ethernet link


disconnect from simulated link
print information about the device
print status of the device

2009

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sbus-hme>.connect
Synopsis
<sbus-hme>.connect [-auto] (link|link-name)
Description
Connect the device to a simulated Ethernet link. The flag -auto is deprecated and
shouldnt be used.
See Also
<sbus-hme>.disconnect

<sbus-hme>.disconnect
Synopsis
<sbus-hme>.disconnect
Description
Disconnect the device from a simulated Ethernet link.
See Also
<sbus-hme>.connect

<sbus-hme>.info
Synopsis
<sbus-hme>.info
Description
Print detailed information about the configuration of the device.

<sbus-hme>.status
Synopsis
<sbus-hme>.status
Description
Print detailed information about the current status of the device.

2010

VIRTUTECH CONFIDENTIAL

scsi-bus
Provided by
scsi-bus
Class Hierarchy
conf-object log-object scsi-bus
Interfaces Implemented
log_object, event_poster
Description
The scsi-bus extension handles the interfacing between scsi devices (i.e. disks) and
scsi controllers. Once a scsi-bus has been created, devices can be added to it.

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
arbitration_delay
Optional attribute; read/write access; type: unknown type.
Delay in seconds for arbitration on the bus
atn
Optional attribute; read/write access; type: unknown type.
The SCSI bus attention signal.
initiator
Optional attribute; read/write access; type: unknown type.
The current initiator during a pending SCSI transaction.
phase
Optional attribute; read/write access; type: unknown type.
An integer representing the current SCSI phase.
req_size
Optional attribute; read/write access; type: unknown type.
Size (in bytes) of a pending data request.

2011

VIRTUTECH CONFIDENTIAL
reselect
Optional attribute; read/write access; type: unknown type.
Set to non-zero when the pending selection phase represents a reselection.
scsi_ext_messages
Pseudo attribute; read-only access; ; integer indexed; indexed type: String.
Pseudo attribute returning the name of an extended message (as a string) given
an integer index representing the message.
scsi_messages
Pseudo attribute; read-only access; ; integer indexed; indexed type: String.
Pseudo attribute returning a message name (as a string) given an integer index
representing the SCSI message.
scsi_phases
Pseudo attribute; read-only access; ; integer indexed; indexed type: String.
Pseudo attribute returning the SCSI phase name (as a string) given an integer
index representing the phase.
target
Optional attribute; read/write access; type: unknown type.
The target of a pending SCSI transaction.
targets
Required attribute; read/write access; type: unknown type.
((target, device, arbiting)+) where target is a SCSI ID, device is a device object, and
arbiting is a flag set to non-zero when the device is participating in bus arbitration.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<scsi-bus>.info
Synopsis
<scsi-bus>.info
Description
Print detailed information about the configuration of the device.
2012

VIRTUTECH CONFIDENTIAL

<scsi-bus>.status
Synopsis
<scsi-bus>.status
Description
Print detailed information about the current status of the device.

2013

VIRTUTECH CONFIDENTIAL

scsi-cdrom
Provided by
scsi-cdrom
Class Hierarchy
conf-object log-object scsi-cdrom
Interfaces Implemented
log_object, event_poster
Description
Generic CD-ROM with SCSI interface.

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
buf_len
Optional attribute; read/write access; type: unknown type.
Length left to transfer to host.
cd_locked
Optional attribute; read/write access; type: unknown type.
Set to 1 if the CD media is locked (by software) in the drive.
cd_media
Optional attribute; read/write access; type: unknown type.
Connected CD media. This object must implement the cdrom-media interface.
Set to NIL to eject current media.
cmd_bytes
Optional attribute; read/write access; type: unknown type.
The command bytes received so far.
cmd_len
Optional attribute; read/write access; type: unknown type.
Length of the command received from the host.

2014

VIRTUTECH CONFIDENTIAL
command
Optional attribute; read/write access; type: unknown type.
The current SCSI command.
data_buffer
Optional attribute; read/write access; type: unknown type.
Buffer with data to transfer.
data_len
Optional attribute; read/write access; type: unknown type.
The length of data to transfer.
lun
Optional attribute; read/write access; type: unknown type.
The currently selected LUN (logical unit).
max_data_width
Optional attribute; read/write access; type: unknown type.
The maximum supported data transfer width in bytes.
may_disc
Optional attribute; read/write access; type: unknown type.
Set to 1 if the CD-ROM may disconnect from the current session.
media_changed
Optional attribute; read/write access; type: unknown type.
Set to 1 if the CD media has changed and no command has been issued to it.
memory
Optional attribute; read/write access; type: unknown type.
Backdoor access: Name of a memory space object, that implements the lookup
interface.
mesg_buffer
Optional attribute; read/write access; type: unknown type.
Buffer with SCSI message to transfer.
mesg_bytes
Optional attribute; read/write access; type: unknown type.
The message bytes received so far.
mesg_len
Optional attribute; read/write access; type: unknown type.
Length of the message received from the host.

2015

VIRTUTECH CONFIDENTIAL
mode_pages
Optional attribute; read/write access; type: unknown type.
Mode pages for the disk.
model
Optional attribute; read/write access; type: unknown type.
Model name of the disk.
ns_per_transfer
Optional attribute; read/write access; type: Integer.
The constant delay, in nanoseconds, for a CD-ROM transfer. This delay will be
added to the size-dependent delay set by the ns_per_unit attribute. Note that
this is not the same as average seek time for random accesses. (This attribute will
be replaced by a more detailed timing model in the future.)
ns_per_unit
Optional attribute; read/write access; type: Integer.
The number of nanoseconds it takes to transfer data of the size set in the timing_
unit_size attribute. This delay will be added to the constant delay set in the
ns_per_transfer attribute. (This attribute will be replaced by a more detailed
timing model in the future.)
queue_length
Optional attribute; read/write access; type: unknown type.
Length of SCSI command queue (not implemented).
req_size
Optional attribute; read/write access; type: unknown type.
Length of data requested from host.
reselect_id
Optional attribute; read/write access; type: unknown type.
SCSI ID of controller to reselect.
reselect_op
Optional attribute; read/write access; type: unknown type.
Operation that will continue after reselection.
reselection_support
Optional attribute; read/write access; type: unknown type.
Set to 1 if the CD-ROM supports reselection (not functional).
reserved_flag
Optional attribute; read/write access; type: unknown type.
Set if the device is reserved.
2016

VIRTUTECH CONFIDENTIAL
reserved_id
Optional attribute; read/write access; type: unknown type.
SCSI ID of the initiator that is allowed to use the reserved device. Only valid if
the reserved_flag attribute is 1.
reserved_initiator
Optional attribute; read/write access; type: unknown type.
SCSI ID of the initiator that performed the reservation of the device. Only valid
if the reserved_flag attribute is 1.
revision
Optional attribute; read/write access; type: unknown type.
Revision string of the disk.
scsi_bus
Required attribute; read/write access; type: unknown type.
Name of the SCSI bus the CD-ROM is connected to. This object must implement
the scsi-bus interface.
scsi_commands
Pseudo attribute; read-only access; ; integer indexed; indexed type: String.
Pseudo attribute returning the SCSI command name (as a string) given an integer
index representing the command.
scsi_target
Required attribute; read/write access; type: unknown type.
Target ID on the SCSI bus for the CD-ROM.
sector_data
Pseudo attribute; read/write access; ; integer indexed; indexed type: Data.
Can be used to access a sector (2048 bytes) on the CD-ROM.
sectors_read
Session attribute; read-only access; type: Integer.
Number of sectors read in the current simulation session.
sectors_written
Session attribute; read-only access; type: Integer.
Number of sectors written in the current simulation session.
selection_time
Optional attribute; read/write access; type: Float.
The selection time on the SCSI bus in seconds.
sense_key
Optional attribute; read/write access; type: unknown type.
Current Sense Key code.
2017

VIRTUTECH CONFIDENTIAL
stat_buffer
Optional attribute; read/write access; type: unknown type.
Buffer with Status to transfer.
stat_len
Optional attribute; read/write access; type: unknown type.
The length of the status field to transfer.
synchronous_support
Optional attribute; read/write access; type: unknown type.
Set to 1 if the CD-ROM supports synchronous transfers (no-op).
timing_unit_size
Optional attribute; read/write access; type: Integer.
The amount of data (in bytes) that the is used to calculate CD-ROM delays together with the ns_per_unit attribute. (This attribute will be replaced by a more
detailed timing model in the future.)
transfer
Optional attribute; read/write access; type: unknown type.
List of active transfer buffers for data message and status.
vendor
Optional attribute; read/write access; type: unknown type.
Vendor name of the disk.
vendor_specific_id
Optional attribute; read/write access; type: unknown type.
Vendor Specific string for the disk - often used as serial id.
vpd_pages
Optional attribute; read/write access; type: unknown type.
VPD pages for the disk.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
eject
info
insert
status

eject media from CD-ROM drive


print information about the device
insert medium in CD-ROM drive
print status of the device

2018

VIRTUTECH CONFIDENTIAL

Command Descriptions
<scsi-cdrom>.eject
Synopsis
<scsi-cdrom>.eject
Description
Eject a media from the CD-ROM drive. The media must have been previously inserted
with the insert command.

<scsi-cdrom>.info
Synopsis
<scsi-cdrom>.info
Description
Print detailed information about the configuration of the device.

<scsi-cdrom>.insert
Synopsis
<scsi-cdrom>.insert medium
Description
Insert a medium in the CD-ROM drive. The medium is the name of a CD-ROM media
object, e.g. a file-cdrom or host-cdrom object.

<scsi-cdrom>.status
Synopsis
<scsi-cdrom>.status
Description
Print detailed information about the current status of the device.

2019

VIRTUTECH CONFIDENTIAL

scsi-disk
Provided by
scsi-disk
Class Hierarchy
conf-object log-object scsi-disk
Interfaces Implemented
log_object, event_poster
Description
Generic disk with SCSI interface.

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
buf_len
Optional attribute; read/write access; type: unknown type.
Length left to transfer to host.
cmd_bytes
Optional attribute; read/write access; type: unknown type.
The command bytes received so far.
cmd_len
Optional attribute; read/write access; type: unknown type.
Length of the command received from the host.
command
Optional attribute; read/write access; type: unknown type.
The current SCSI command.
data_buffer
Optional attribute; read/write access; type: unknown type.
Buffer with data to transfer.
data_len
Optional attribute; read/write access; type: unknown type.
The length of data to transfer.
2020

VIRTUTECH CONFIDENTIAL
geometry
Required attribute; read/write access; type: unknown type.
The geometry of the disk. ()
image
Required attribute; read/write access; type: unknown type.
Name of the image object holding the actual data of the disk. This object must
implement the image interface.
lun
Optional attribute; read/write access; type: unknown type.
The currently selected LUN (logical unit).
max_data_width
Optional attribute; read/write access; type: unknown type.
The maximum supported data transfer width in bytes.
may_disc
Optional attribute; read/write access; type: unknown type.
Set to 1 if the disk may disconnect from the current session.
memory
Optional attribute; read/write access; type: unknown type.
Backdoor access: Name of a memory space object, that implements the lookup
interface.
mesg_buffer
Optional attribute; read/write access; type: unknown type.
Buffer with SCSI message to transfer.
mesg_bytes
Optional attribute; read/write access; type: unknown type.
The message bytes received so far.
mesg_len
Optional attribute; read/write access; type: unknown type.
Length of the message received from the host.
mode_pages
Optional attribute; read/write access; type: unknown type.
Mode pages for the disk.
model
Optional attribute; read/write access; type: unknown type.
Model name of the disk.
2021

VIRTUTECH CONFIDENTIAL
ns_per_transfer
Optional attribute; read/write access; type: Integer.
The constant delay, in nanoseconds, for a disk transfer. This delay will be added
to the size-dependent delay set by the ns_per_unit attribute. Note that this is
not the same as average seek time for random accesses. (This attribute will be
replaced by a more detailed timing model in the future.)
ns_per_unit
Optional attribute; read/write access; type: Integer.
The number of nanoseconds it takes to transfer data of the size set in the timing_
unit_size attribute. This delay will be added to the constant delay set in the
ns_per_transfer attribute. (This attribute will be replaced by a more detailed
timing model in the future.)
queue_length
Optional attribute; read/write access; type: unknown type.
Length of SCSI command queue (not implemented).
req_size
Optional attribute; read/write access; type: unknown type.
Length of data requested from host.
reselect_id
Optional attribute; read/write access; type: unknown type.
SCSI ID of controller to reselect.
reselect_op
Optional attribute; read/write access; type: unknown type.
Operation that will continue after reselection.
reselection_support
Optional attribute; read/write access; type: unknown type.
Set to 1 if the disk supports reselection (not functional).
reserved_flag
Optional attribute; read/write access; type: unknown type.
Set if the device is reserved.
reserved_id
Optional attribute; read/write access; type: unknown type.
SCSI ID of the initiator that is allowed to use the reserved device. Only valid if
the reserved_flag attribute is 1.
reserved_initiator
Optional attribute; read/write access; type: unknown type.
SCSI ID of the initiator that performed the reservation of the device. Only valid
if the reserved_flag attribute is 1.
2022

VIRTUTECH CONFIDENTIAL
revision
Optional attribute; read/write access; type: unknown type.
Revision string of the disk.
scsi_bus
Required attribute; read/write access; type: unknown type.
Name of the SCSI bus the disk is connected to. This object must implement the
scsi-bus interface.
scsi_commands
Pseudo attribute; read-only access; ; integer indexed; indexed type: String.
Pseudo attribute returning the SCSI command name (as a string) given an integer
index representing the command.
scsi_target
Required attribute; read/write access; type: unknown type.
Target ID on the SCSI bus for the disk.
sector_data
Pseudo attribute; read/write access; ; integer indexed; indexed type: Data.
Can be used to access a sector (512 bytes) on the disk.
sectors_read
Session attribute; read-only access; type: Integer.
Number of sectors read in the current simulation session.
sectors_written
Session attribute; read-only access; type: Integer.
Number of sectors written in the current simulation session.
selection_time
Optional attribute; read/write access; type: Float.
The selection time on the SCSI bus in seconds.
sense_key
Optional attribute; read/write access; type: unknown type.
Current Sense Key code.
stat_buffer
Optional attribute; read/write access; type: unknown type.
Buffer with Status to transfer.
stat_len
Optional attribute; read/write access; type: unknown type.
The length of the status field to transfer.
2023

VIRTUTECH CONFIDENTIAL
synchronous_support
Optional attribute; read/write access; type: unknown type.
Set to 1 if the disk supports synchronous transfers (no-op).
timing_unit_size
Optional attribute; read/write access; type: Integer.
The amount of data (in bytes) that the is used to calculate disk delays together
with the ns_per_unit attribute. (This attribute will be replaced by a more detailed timing model in the future.)
transfer
Optional attribute; read/write access; type: unknown type.
List of active transfer buffers for data message and status.
vendor
Optional attribute; read/write access; type: unknown type.
Vendor name of the disk.
vendor_specific_id
Optional attribute; read/write access; type: unknown type.
Vendor Specific string for the disk - often used as serial id.
vpd_pages
Optional attribute; read/write access; type: unknown type.
VPD pages for the disk.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
add-diff-file
add-diff-partial-file
add-sun-partition
create-partition
create-sun-vtoc-header
create-sun-vtoc-partition
delete-sun-vtoc-partition
dump-sun-partition
info
print-partition-info
print-partition-table
print-sun-vtoc

add a diff file to the image


add a partial diff file to the image
add partition from a file
add a partition to disk
write a new VTOC to a Sun disk
write partition data in the VTOC on a Sun disk
delete partition data from the VTOC on a Sun disk
write partition as a file
print information about the device
print info about a pc-style partition
print the disks pc-style partition table
print the VTOC for a Sun disk

2024

VIRTUTECH CONFIDENTIAL
save-diff-file
status

save diff file to disk


print status of the device

Command Descriptions
<scsi-disk>.add-diff-file
Synopsis
<scsi-disk>.add-diff-file filename
Description
Add a diff file to the list of files for an disk. The diff file was typically created with
the save-diff-file command, or by a saved configuration. This is basically the same
command as <image>.add-diff-file.
See Also
<scsi-disk>.save-diff-file, <image>.add-diff-file

<scsi-disk>.add-diff-partial-file
Synopsis
<scsi-disk>.add-diff-partial-file filename start size
Description
Add a diff file to the list of files for an disk. The diff file was typically created with the
save-diff-file command, by one of the dump--partition commands, or by a saved
configuration. This is basically the same command as <image>.add-diff-file.
See Also
<scsi-disk>.save-diff-file, <image>.add-diff-file

<scsi-disk>.add-sun-partition
Synopsis
<scsi-disk>.add-sun-partition number file
Description
Adds an image or diff as a sun partition to the current disk.
See Also
<scsi-disk>.dump-sun-partition

<scsi-disk>.create-partition
Synopsis
<scsi-disk>.create-partition partition start_cylinder start_head start_sector end_cylinder
end_head end_sector (type_id|type_name) start_lba size_in_sectors [-boot-indication]
2025

VIRTUTECH CONFIDENTIAL
Description
Add a partition to a disks partition table. Will create a primary PC-style partition with
number partition. Any existing partition will be overwritten. The start location of the
partition is given both in CHS format with start_cylinder, start_head, start_sector, and
in linear format with start_lba. The partition endpoint is specified in CHS format with
end_cylinder, end_head, and end_sector. The size in 512-byte sectors is size_in_sectors.
The slight overspecification of the parameters is there because they depend on how
the BIOS translates the disk geometry to the BIOS geometry. All CHS coordinates
given to this command should be in the translated BIOS geometry.
The partition boot bit is enabled with the -boot-indication flag (default off).
The partition type can either raw numerical code, or a symbolic name. The following
symbolic names are understood by the command: unused (0x0), DOS 12-bit FAT
(0x1), DOS 3.0+ 16-bit FAT (0x4), DOS 3.3+ extended (0x5), DOS 3.31+ 16-bit
FAT (0x6), OS/2 IFS (0x7), OS/2 boot manager (0xa), Win95 32-bit FAT (0xb),
Win95 32-bit FAT, LBA (0xc), Win95 16-bit FAT, LBA (0xe), Win95 extended, LBA
(0xf), Linux swap (0x82), Linux native (0x83), Linux extended (0x85), Linux
LVM (0x8e), BSD/386 (0xa5), OpenBSD (0xa6), NetBSD (0xa9), and BeOS
(0xeb).
See Also
<scsi-disk>.print-partition-table

<scsi-disk>.create-sun-vtoc-header
Synopsis
<scsi-disk>.create-sun-vtoc-header [C] [H] [S] [-quiet]
Description
Create and write a new VTOC to a Sun disk. The geometry information written is
taken from the configuration attribute geometry of the disk, unless specified with
the C, H and S parameters. A new empty partition table is also created, with only the
standard backup partition as number 2. -quiet makes the command silent in case of
success.
See Also
<scsi-disk>.print-sun-vtoc, <scsi-disk>.create-sun-vtoc-partition, <scsi-disk>.deletesun-vtoc-partition

<scsi-disk>.create-sun-vtoc-partition
Synopsis
<scsi-disk>.create-sun-vtoc-partition number tag flag start-block num-blocks [-quiet]
Description
Write partition information to the VTOC on a Sun disk. This command does not
2026

VIRTUTECH CONFIDENTIAL
change the format of the disk, and it does not create any file system on the partition.
Only the Volume Table Of Contents is modified. No checking is performed to make
sure that partitions do not overlap, or that they do not exceed the disk size. -quiet
makes the command silent in case of success.
See Also
<scsi-disk>.print-sun-vtoc, <scsi-disk>.create-sun-vtoc-header, <scsi-disk>.deletesun-vtoc-partition

<scsi-disk>.delete-sun-vtoc-partition
Synopsis
<scsi-disk>.delete-sun-vtoc-partition number [-quiet]
Description
Delete the information in the VTOC on a Sun disk for the specified partition. No other
modification on the disk is performed. -quiet makes the command silent in case of
success.
See Also
<scsi-disk>.print-sun-vtoc, <scsi-disk>.create-sun-vtoc-header, <scsi-disk>.createsun-vtoc-partition

<scsi-disk>.dump-sun-partition
Synopsis
<scsi-disk>.dump-sun-partition number file
Description
Write all data from a Sun disk partition to the specified file in raw format.
See Also
<scsi-disk>.print-sun-vtoc, <scsi-disk>.add-sun-partition

<scsi-disk>.info
Synopsis
<scsi-disk>.info
Description
Print detailed information about the configuration of the device.

<scsi-disk>.print-partition-info
Synopsis
<scsi-disk>.print-partition-info num [filename]
2027

VIRTUTECH CONFIDENTIAL
Description
Print information about a partition. If a filename is given, then suitable partition parameters for use with image aware e2tools will be written to that file.

<scsi-disk>.print-partition-table
Synopsis
<scsi-disk>.print-partition-table
Description
Print the PC-style partition table for a disk.
See Also
<scsi-disk>.create-partition

<scsi-disk>.print-sun-vtoc
Synopsis
<scsi-disk>.print-sun-vtoc
Description
Print the contents of the VTOC (volume table of contents) for a Sun disk. This is similar
to the Solaris prtvtoc command.
See Also
<scsi-disk>.create-sun-vtoc-header, <scsi-disk>.create-sun-vtoc-partition, <scsi-disk>.deletesun-vtoc-partition

<scsi-disk>.save-diff-file
Synopsis
<scsi-disk>.save-diff-file filename
Description
Writes changes to the image as a diff file in craff format. This is basically the same
command as <image>.safe-diff-file.
See Also
<scsi-disk>.add-diff-file, <image>.save-diff-file

<scsi-disk>.status
Synopsis
<scsi-disk>.status
Description
Print detailed information about the current status of the device.

2028

VIRTUTECH CONFIDENTIAL

sdram-memory-module
Provided by
memory-components
Class Hierarchy
conf-object log-object component sdram-memory-module
Interfaces Implemented
log_object, component
Description
The sdram-memory-module component represents a SRAM memory module.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
banks
Optional attribute; read/write access; type: Integer.
Number of banks.
cas_latency
Optional attribute; read/write access; type: Integer.
CAS-latency; each set bit corresponds to a latency the memory can handle
columns
Optional attribute; read/write access; type: Integer.
Number of columns.
ecc_width
Optional attribute; read/write access; type: Integer.
The error correction width.
memory_megs
Pseudo attribute; read-only access; type: Integer.
Total about of memory in MB.
2029

VIRTUTECH CONFIDENTIAL
module_data_width
Optional attribute; read/write access; type: Integer.
The module SDRAM width.
module_type
Optional attribute; read/write access; type: String.
Type of memory.
primary_width
Optional attribute; read/write access; type: Integer.
Primary SDRAM width.
rank_density
Optional attribute; read/write access; type: Integer.
The rank density.
ranks
Optional attribute; read/write access; type: Integer.
Number of ranks (logical banks).
rows
Optional attribute; read/write access; type: Integer.
Number of rows.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<sdram-memory-module>.info
Synopsis
<sdram-memory-module>.info
Description
Print detailed information about the configuration of the device.

<sdram-memory-module>.status
2030

VIRTUTECH CONFIDENTIAL
Synopsis
<sdram-memory-module>.status
Description
Print detailed information about the current status of the device.

2031

VIRTUTECH CONFIDENTIAL

serengeti-3800-chassis
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component top-component serengeti-3800-chassis
Interfaces Implemented
log_object, component
Description
The sunfire-3800-chassis component represents the chassis, backplane and systemconsole of a Sun Fire 3800 server, with slots for up to two processor boards and two
I/O boards. The system is sometimes called SP for Service Provider server.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
hostid
Required attribute; read/write access; type: Integer.
The hostid of the machine.
mac_address
Required attribute; read/write access; type: String.
The main MAC address is the machine.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

2032

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-nvram-hostid
get-nvram-mac
get-prom-env
info
set-nvram-hostid
set-nvram-mac
set-prom-env
status

get the Sun hostid from NVRAM


get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Set an OBP environment variable
print status of the device

Command Descriptions
<serengeti-3800-chassis>.get-nvram-hostid
Synopsis
<serengeti-3800-chassis>.get-nvram-hostid
Description
Reads the Sun hostid from the NVRAM.
See Also
<serengeti-3800-chassis>.set-nvram-hostid, <serengeti-3800-chassis>.get-nvram-mac,
<serengeti-3800-chassis>.set-nvram-mac

<serengeti-3800-chassis>.get-nvram-mac
Synopsis
<serengeti-3800-chassis>.get-nvram-mac
Description
Reads the default MAC address from the NVRAM.
See Also
<serengeti-3800-chassis>.get-nvram-hostid, <serengeti-3800-chassis>.set-nvram-hostid,
<serengeti-3800-chassis>.set-nvram-mac

<serengeti-3800-chassis>.get-prom-env
Synopsis
<serengeti-3800-chassis>.get-prom-env [variable]

2033

VIRTUTECH CONFIDENTIAL
Description
Prints an OBP variable with its value, or all variables if no argument is specified. Only
variables with string, integer, boolean and enumeration types are supported.
See Also
<serengeti-3800-chassis>.set-prom-env

<serengeti-3800-chassis>.info
Synopsis
<serengeti-3800-chassis>.info
Description
Print detailed information about the configuration of the device.

<serengeti-3800-chassis>.set-nvram-hostid
Synopsis
<serengeti-3800-chassis>.set-nvram-hostid hostid
Description
Writes the Sun hostid into the NVRAM.
See Also
<serengeti-3800-chassis>.get-nvram-hostid, <serengeti-3800-chassis>.get-nvram-mac,
<serengeti-3800-chassis>.set-nvram-mac

<serengeti-3800-chassis>.set-nvram-mac
Synopsis
<serengeti-3800-chassis>.set-nvram-mac mac
Description
Writes the default MAC address into the NVRAM.
See Also
<serengeti-3800-chassis>.get-nvram-hostid, <serengeti-3800-chassis>.set-nvram-hostid,
<serengeti-3800-chassis>.get-nvram-mac

<serengeti-3800-chassis>.set-prom-env
Synopsis
<serengeti-3800-chassis>.set-prom-env variable (int|string)
Description
Sets the value of an OBP variable. Only variables with string, integer, boolean and
enumeration types are supported.
2034

VIRTUTECH CONFIDENTIAL
See Also
<serengeti-3800-chassis>.get-prom-env

<serengeti-3800-chassis>.status
Synopsis
<serengeti-3800-chassis>.status
Description
Print detailed information about the current status of the device.

2035

VIRTUTECH CONFIDENTIAL

serengeti-4800-chassis
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component top-component serengeti-4800-chassis
Interfaces Implemented
log_object, component
Description
The sunfire-4800-chassis component represents the chassis, backplane and systemconsole of a Sun Fire 4800 server, with slots for up to three processor boards and two
I/O boards. The system is sometimes called MD for Midrange Desk-side server.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
hostid
Required attribute; read/write access; type: Integer.
The hostid of the machine.
mac_address
Required attribute; read/write access; type: String.
The main MAC address is the machine.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

2036

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-nvram-hostid
get-nvram-mac
get-prom-env
info
set-nvram-hostid
set-nvram-mac
set-prom-env
status

get the Sun hostid from NVRAM


get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Set an OBP environment variable
print status of the device

Command Descriptions
<serengeti-4800-chassis>.get-nvram-hostid
Synopsis
<serengeti-4800-chassis>.get-nvram-hostid
Description
Reads the Sun hostid from the NVRAM.
See Also
<serengeti-4800-chassis>.set-nvram-hostid, <serengeti-4800-chassis>.get-nvram-mac,
<serengeti-4800-chassis>.set-nvram-mac

<serengeti-4800-chassis>.get-nvram-mac
Synopsis
<serengeti-4800-chassis>.get-nvram-mac
Description
Reads the default MAC address from the NVRAM.
See Also
<serengeti-4800-chassis>.get-nvram-hostid, <serengeti-4800-chassis>.set-nvram-hostid,
<serengeti-4800-chassis>.set-nvram-mac

<serengeti-4800-chassis>.get-prom-env
Synopsis
<serengeti-4800-chassis>.get-prom-env [variable]

2037

VIRTUTECH CONFIDENTIAL
Description
Prints an OBP variable with its value, or all variables if no argument is specified. Only
variables with string, integer, boolean and enumeration types are supported.
See Also
<serengeti-4800-chassis>.set-prom-env

<serengeti-4800-chassis>.info
Synopsis
<serengeti-4800-chassis>.info
Description
Print detailed information about the configuration of the device.

<serengeti-4800-chassis>.set-nvram-hostid
Synopsis
<serengeti-4800-chassis>.set-nvram-hostid hostid
Description
Writes the Sun hostid into the NVRAM.
See Also
<serengeti-4800-chassis>.get-nvram-hostid, <serengeti-4800-chassis>.get-nvram-mac,
<serengeti-4800-chassis>.set-nvram-mac

<serengeti-4800-chassis>.set-nvram-mac
Synopsis
<serengeti-4800-chassis>.set-nvram-mac mac
Description
Writes the default MAC address into the NVRAM.
See Also
<serengeti-4800-chassis>.get-nvram-hostid, <serengeti-4800-chassis>.set-nvram-hostid,
<serengeti-4800-chassis>.get-nvram-mac

<serengeti-4800-chassis>.set-prom-env
Synopsis
<serengeti-4800-chassis>.set-prom-env variable (int|string)
Description
Sets the value of an OBP variable. Only variables with string, integer, boolean and
enumeration types are supported.
2038

VIRTUTECH CONFIDENTIAL
See Also
<serengeti-4800-chassis>.get-prom-env

<serengeti-4800-chassis>.status
Synopsis
<serengeti-4800-chassis>.status
Description
Print detailed information about the current status of the device.

2039

VIRTUTECH CONFIDENTIAL

serengeti-4810-chassis
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component top-component serengeti-4810-chassis
Interfaces Implemented
log_object, component
Description
The sunfire-4810-chassis component represents the chassis, backplane and systemconsole of a Sun Fire 4810 server, with slots for up to three processor boards and two
I/O boards. The system is sometimes called ME for Midrange Enterprise server.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
hostid
Required attribute; read/write access; type: Integer.
The hostid of the machine.
mac_address
Required attribute; read/write access; type: String.
The main MAC address is the machine.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

2040

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-nvram-hostid
get-nvram-mac
get-prom-env
info
set-nvram-hostid
set-nvram-mac
set-prom-env
status

get the Sun hostid from NVRAM


get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Set an OBP environment variable
print status of the device

Command Descriptions
<serengeti-4810-chassis>.get-nvram-hostid
Synopsis
<serengeti-4810-chassis>.get-nvram-hostid
Description
Reads the Sun hostid from the NVRAM.
See Also
<serengeti-4810-chassis>.set-nvram-hostid, <serengeti-4810-chassis>.get-nvram-mac,
<serengeti-4810-chassis>.set-nvram-mac

<serengeti-4810-chassis>.get-nvram-mac
Synopsis
<serengeti-4810-chassis>.get-nvram-mac
Description
Reads the default MAC address from the NVRAM.
See Also
<serengeti-4810-chassis>.get-nvram-hostid, <serengeti-4810-chassis>.set-nvram-hostid,
<serengeti-4810-chassis>.set-nvram-mac

<serengeti-4810-chassis>.get-prom-env
Synopsis
<serengeti-4810-chassis>.get-prom-env [variable]

2041

VIRTUTECH CONFIDENTIAL
Description
Prints an OBP variable with its value, or all variables if no argument is specified. Only
variables with string, integer, boolean and enumeration types are supported.
See Also
<serengeti-4810-chassis>.set-prom-env

<serengeti-4810-chassis>.info
Synopsis
<serengeti-4810-chassis>.info
Description
Print detailed information about the configuration of the device.

<serengeti-4810-chassis>.set-nvram-hostid
Synopsis
<serengeti-4810-chassis>.set-nvram-hostid hostid
Description
Writes the Sun hostid into the NVRAM.
See Also
<serengeti-4810-chassis>.get-nvram-hostid, <serengeti-4810-chassis>.get-nvram-mac,
<serengeti-4810-chassis>.set-nvram-mac

<serengeti-4810-chassis>.set-nvram-mac
Synopsis
<serengeti-4810-chassis>.set-nvram-mac mac
Description
Writes the default MAC address into the NVRAM.
See Also
<serengeti-4810-chassis>.get-nvram-hostid, <serengeti-4810-chassis>.set-nvram-hostid,
<serengeti-4810-chassis>.get-nvram-mac

<serengeti-4810-chassis>.set-prom-env
Synopsis
<serengeti-4810-chassis>.set-prom-env variable (int|string)
Description
Sets the value of an OBP variable. Only variables with string, integer, boolean and
enumeration types are supported.
2042

VIRTUTECH CONFIDENTIAL
See Also
<serengeti-4810-chassis>.get-prom-env

<serengeti-4810-chassis>.status
Synopsis
<serengeti-4810-chassis>.status
Description
Print detailed information about the current status of the device.

2043

VIRTUTECH CONFIDENTIAL

serengeti-6800-chassis
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component top-component serengeti-6800-chassis
Interfaces Implemented
log_object, component
Description
The sunfire-6800-chassis component represents the chassis, backplane and systemconsole of a Sun Fire 6800 server, with slots for up to six processor boards and four
I/O boards. The system is sometimes called DS for Datacenter Server.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
hostid
Required attribute; read/write access; type: Integer.
The hostid of the machine.
mac_address
Required attribute; read/write access; type: String.
The main MAC address is the machine.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

2044

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-nvram-hostid
get-nvram-mac
get-prom-env
info
set-nvram-hostid
set-nvram-mac
set-prom-env
status

get the Sun hostid from NVRAM


get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Set an OBP environment variable
print status of the device

Command Descriptions
<serengeti-6800-chassis>.get-nvram-hostid
Synopsis
<serengeti-6800-chassis>.get-nvram-hostid
Description
Reads the Sun hostid from the NVRAM.
See Also
<serengeti-6800-chassis>.set-nvram-hostid, <serengeti-6800-chassis>.get-nvram-mac,
<serengeti-6800-chassis>.set-nvram-mac

<serengeti-6800-chassis>.get-nvram-mac
Synopsis
<serengeti-6800-chassis>.get-nvram-mac
Description
Reads the default MAC address from the NVRAM.
See Also
<serengeti-6800-chassis>.get-nvram-hostid, <serengeti-6800-chassis>.set-nvram-hostid,
<serengeti-6800-chassis>.set-nvram-mac

<serengeti-6800-chassis>.get-prom-env
Synopsis
<serengeti-6800-chassis>.get-prom-env [variable]

2045

VIRTUTECH CONFIDENTIAL
Description
Prints an OBP variable with its value, or all variables if no argument is specified. Only
variables with string, integer, boolean and enumeration types are supported.
See Also
<serengeti-6800-chassis>.set-prom-env

<serengeti-6800-chassis>.info
Synopsis
<serengeti-6800-chassis>.info
Description
Print detailed information about the configuration of the device.

<serengeti-6800-chassis>.set-nvram-hostid
Synopsis
<serengeti-6800-chassis>.set-nvram-hostid hostid
Description
Writes the Sun hostid into the NVRAM.
See Also
<serengeti-6800-chassis>.get-nvram-hostid, <serengeti-6800-chassis>.get-nvram-mac,
<serengeti-6800-chassis>.set-nvram-mac

<serengeti-6800-chassis>.set-nvram-mac
Synopsis
<serengeti-6800-chassis>.set-nvram-mac mac
Description
Writes the default MAC address into the NVRAM.
See Also
<serengeti-6800-chassis>.get-nvram-hostid, <serengeti-6800-chassis>.set-nvram-hostid,
<serengeti-6800-chassis>.get-nvram-mac

<serengeti-6800-chassis>.set-prom-env
Synopsis
<serengeti-6800-chassis>.set-prom-env variable (int|string)
Description
Sets the value of an OBP variable. Only variables with string, integer, boolean and
enumeration types are supported.
2046

VIRTUTECH CONFIDENTIAL
See Also
<serengeti-6800-chassis>.get-prom-env

<serengeti-6800-chassis>.status
Synopsis
<serengeti-6800-chassis>.status
Description
Print detailed information about the current status of the device.

2047

VIRTUTECH CONFIDENTIAL

serengeti-cluster-chassis
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component top-component serengeti-cluster-chassis
Interfaces Implemented
log_object, component
Description
The sunfire-cluster-chassis component represents the chassis, backplane and systemconsole of up to sixteen Sun Fire 6800 servers connected in a cluster. This setup is to
be considered experimental, and Solaris does not support all possible configurations
of this component.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
hostid
Required attribute; read/write access; type: Integer.
The hostid of the machine.
mac_address
Required attribute; read/write access; type: String.
The main MAC address is the machine.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

2048

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-nvram-hostid
get-nvram-mac
get-prom-env
info
set-nvram-hostid
set-nvram-mac
set-prom-env
status

get the Sun hostid from NVRAM


get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Set an OBP environment variable
print status of the device

Command Descriptions
<serengeti-cluster-chassis>.get-nvram-hostid
Synopsis
<serengeti-cluster-chassis>.get-nvram-hostid
Description
Reads the Sun hostid from the NVRAM.
See Also
<serengeti-cluster-chassis>.set-nvram-hostid, <serengeti-cluster-chassis>.get-nvrammac, <serengeti-cluster-chassis>.set-nvram-mac

<serengeti-cluster-chassis>.get-nvram-mac
Synopsis
<serengeti-cluster-chassis>.get-nvram-mac
Description
Reads the default MAC address from the NVRAM.
See Also
<serengeti-cluster-chassis>.get-nvram-hostid, <serengeti-cluster-chassis>.set-nvramhostid, <serengeti-cluster-chassis>.set-nvram-mac

<serengeti-cluster-chassis>.get-prom-env
Synopsis
<serengeti-cluster-chassis>.get-prom-env [variable]

2049

VIRTUTECH CONFIDENTIAL
Description
Prints an OBP variable with its value, or all variables if no argument is specified. Only
variables with string, integer, boolean and enumeration types are supported.
See Also
<serengeti-cluster-chassis>.set-prom-env

<serengeti-cluster-chassis>.info
Synopsis
<serengeti-cluster-chassis>.info
Description
Print detailed information about the configuration of the device.

<serengeti-cluster-chassis>.set-nvram-hostid
Synopsis
<serengeti-cluster-chassis>.set-nvram-hostid hostid
Description
Writes the Sun hostid into the NVRAM.
See Also
<serengeti-cluster-chassis>.get-nvram-hostid, <serengeti-cluster-chassis>.get-nvrammac, <serengeti-cluster-chassis>.set-nvram-mac

<serengeti-cluster-chassis>.set-nvram-mac
Synopsis
<serengeti-cluster-chassis>.set-nvram-mac mac
Description
Writes the default MAC address into the NVRAM.
See Also
<serengeti-cluster-chassis>.get-nvram-hostid, <serengeti-cluster-chassis>.set-nvramhostid, <serengeti-cluster-chassis>.get-nvram-mac

<serengeti-cluster-chassis>.set-prom-env
Synopsis
<serengeti-cluster-chassis>.set-prom-env variable (int|string)
Description
Sets the value of an OBP variable. Only variables with string, integer, boolean and
enumeration types are supported.
2050

VIRTUTECH CONFIDENTIAL
See Also
<serengeti-cluster-chassis>.get-prom-env

<serengeti-cluster-chassis>.status
Synopsis
<serengeti-cluster-chassis>.status
Description
Print detailed information about the current status of the device.

2051

VIRTUTECH CONFIDENTIAL

serengeti-console
Provided by
serengeti-console
Class Hierarchy
conf-object log-object serengeti-console
Interfaces Implemented
log_object, serial_device, event_poster
Description
The Serengeti Console emulates the System Controller found in Serengeti systems. It
is responsible for console input/output and system configuration and management.
Only a subset of all features found in a real System Controller are emulated in the
Serengeti Console.

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
boards
Required attribute; read/write access; type: unknown type.
((board-id, cpu, cpus)|(board-id, pci)|(board-id, wcb, cpus, wicies)*) List
of all boards. First number in sublist specifies board id. The second is either cpu
(for CPU board), pci (PCI board), or wcb (for WCI board). A cpu board has an
additional list entry for the number of CPU:s on the board and a WCI board has
two additional list entries, number of CPU:s and number of WCI:s.
buffer_info
Pseudo attribute; read-only access; ; integer indexed; indexed type: [ssi].
(type, sub-type, idx) Indexed on buffer offset.
chassis_type
Optional attribute; read/write access; type: unknown type.
The chassis type of the system. Where chassis is SP -- a Service ProviderDS -a Datacenter ServerME -- a Midrange Enterprise ServerMD -- a Midrange Deskside Server

2052

VIRTUTECH CONFIDENTIAL
cons_index
Optional attribute; read/write access; type: unknown type.
The console index.
console
Optional attribute; read/write access; type: Object or Nil.
Text console object implementing the serial-device interface.
event_info_num
Optional attribute; read/write access; type: unknown type.
Internal state
event_info_target
Optional attribute; read/write access; type: unknown type.
Internal state
idprom
Optional attribute; read/write access; type: unknown type.
The mac address/serial # for the system.
interrupt_posted
Optional attribute; read/write access; type: unknown type.
Internal state
io_spaces
Required attribute; read/write access; type: unknown type.
List of node io spaces in the system.
iosram_sbbc
Required attribute; read/write access; type: unknown type.
sbbc-pci object.
irq_bus
Required attribute; read/write access; type: unknown type.
The interrupt bus object used to send and receive interrupts.
just_sent_intr
Optional attribute; read/write access; type: unknown type.
Internal state
master_cpu
Required attribute; read/write access; type: unknown type.
The master CPU.
mem_banks
Optional attribute; read/write access; type: unknown type.
((cpu-id, bank-id, bank-size)) List of all memory banks on a node.
2053

VIRTUTECH CONFIDENTIAL
mem_slices
Required attribute; read/write access; type: unknown type.
((node, start, size, memory-space)*) List of memory slices that the console
can access.
nvci
Required attribute; read/write access; type: unknown type.
nvci object with prom variables.
output_buffer
Optional attribute; read/write access; type: unknown type.
Buffered characters for the console.
output_obp
Optional attribute; read/write access; type: unknown type.
Set to 1 of output from OBP, else 0.
pend_buffer
Optional attribute; read/write access; type: unknown type.
The console pending buffer. 256 bytes.
pend_index
Optional attribute; read/write access; type: unknown type.
The console pending index.
recorder
Required attribute; read/write access; type: Object.
Recorder device for playback of console input.
saved_buffer
Optional attribute; read/write access; type: unknown type.
The console buffer. 256 bytes.
sram
Optional attribute; read/write access; type: unknown type.
The sram.
time
Required attribute; read/write access; type: unknown type; persistent attribute.
The time stored in the rtc. When written to, the syntax understood is "%Y-%m-%d
%H:%M:%S" as per the strptime(3) man page. The string may optionally be
followed by "UTC", or it will be interpreted as local time. When read from, the
format is "yyyy-mm-dd hh:mm:ss UTC".

2054

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-time
info
set-time
set-time-current

get date and time


print information about the device
set date and time
set date and time to the current (real) time

Command Descriptions
<serengeti-console>.get-time
Synopsis
<serengeti-console>.get-time
Description
Return the date and time of the realtime clock (UTC).

<serengeti-console>.info
Synopsis
<serengeti-console>.info
Description
Print detailed information about the configuration of the device.

<serengeti-console>.set-time
Synopsis
<serengeti-console>.set-time time
Description
Set the date and time of the realtime clock (UTC). Format is: YYYY-MM-DD HH:MM:SS.

<serengeti-console>.set-time-current
Synopsis
<serengeti-console>.set-time-current
Description
Set the date and time to the actual wall clock time.

2055

VIRTUTECH CONFIDENTIAL

serengeti-console-old
Provided by
serengeti-console
Class Hierarchy
conf-object log-object serengeti-console-old
Interfaces Implemented
log_object, serial_device, event_poster
Description
Compatibility version of serengeti-console for 1.2 checkpoints.

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
boards
Required attribute; read/write access; type: unknown type.
((board-id, cpu, cpus)|(board-id, pci)|(board-id, wcb, cpus, wicies)*) List
of all boards. First number in sublist specifies board id. The second is either cpu
(for CPU board), pci (PCI board), or wcb (for WCI board). A cpu board has an
additional list entry for the number of CPU:s on the board and a WCI board has
two additional list entries, number of CPU:s and number of WCI:s.
buffer_info
Pseudo attribute; read-only access; ; integer indexed; indexed type: [ssi].
(type, sub-type, idx) Indexed on buffer offset.
chassis_type
Optional attribute; read/write access; type: unknown type.
The chassis type of the system. Where chassis is SP -- a Service ProviderDS -a Datacenter ServerME -- a Midrange Enterprise ServerMD -- a Midrange Deskside Server
cons_index
Optional attribute; read/write access; type: unknown type.
The console index.

2056

VIRTUTECH CONFIDENTIAL
console
Optional attribute; read/write access; type: Object or Nil.
Text console object implementing the serial-device interface.
event_info_num
Optional attribute; read/write access; type: unknown type.
Internal state
event_info_target
Optional attribute; read/write access; type: unknown type.
Internal state
idprom
Optional attribute; read/write access; type: unknown type.
The mac address/serial # for the system.
interrupt_posted
Optional attribute; read/write access; type: unknown type.
Internal state
io_spaces
Required attribute; read/write access; type: unknown type.
List of node io spaces in the system.
iosram_sbbc
Required attribute; read/write access; type: unknown type.
sbbc-pci object.
irq_bus
Required attribute; read/write access; type: unknown type.
The interrupt bus object used to send and receive interrupts.
just_sent_intr
Optional attribute; read/write access; type: unknown type.
Internal state
master_cpu
Required attribute; read/write access; type: unknown type.
The master CPU.
mem_banks
Optional attribute; read/write access; type: unknown type.
((cpu-id, bank-id, bank-size)) List of all memory banks on a node.

2057

VIRTUTECH CONFIDENTIAL
mem_slices
Required attribute; read/write access; type: unknown type.
((node, start, size, memory-space)*) List of memory slices that the console
can access.
nvci
Required attribute; read/write access; type: unknown type.
nvci object with prom variables.
output_buffer
Optional attribute; read/write access; type: unknown type.
Buffered characters for the console.
output_obp
Optional attribute; read/write access; type: unknown type.
Set to 1 of output from OBP, else 0.
pend_buffer
Optional attribute; read/write access; type: unknown type.
The console pending buffer. 256 bytes.
pend_index
Optional attribute; read/write access; type: unknown type.
The console pending index.
recorder
Required attribute; read/write access; type: Object.
Recorder device for playback of console input.
saved_buffer
Optional attribute; read/write access; type: unknown type.
The console buffer. 256 bytes.
sram
Optional attribute; read/write access; type: unknown type.
The sram.
time
Required attribute; read/write access; type: unknown type; persistent attribute.
The time stored in the rtc. When written to, the syntax understood is "%Y-%m-%d
%H:%M:%S" as per the strptime(3) man page. The string may optionally be
followed by "UTC", or it will be interpreted as local time. When read from, the
format is "yyyy-mm-dd hh:mm:ss UTC".

2058

VIRTUTECH CONFIDENTIAL

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

2059

VIRTUTECH CONFIDENTIAL

serengeti-cpci4-board
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component serengeti-cpci4-board
Interfaces Implemented
log_object, component
Description
The serengeti-cpci4-board component represents an I/O board with slots for up to
four CompactPCI cards, for use in Sun Fire 4800-6800 servers, i.e. not the SP model.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<serengeti-cpci4-board>.info
Synopsis
<serengeti-cpci4-board>.info
Description
Print detailed information about the configuration of the device.

2060

VIRTUTECH CONFIDENTIAL

<serengeti-cpci4-board>.status
Synopsis
<serengeti-cpci4-board>.status
Description
Print detailed information about the current status of the device.

2061

VIRTUTECH CONFIDENTIAL

serengeti-pci8-board
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component serengeti-pci8-board
Interfaces Implemented
log_object, component
Description
The serengeti-pci8-board component represents an I/O board with slots for up to
eight PCI cards, for use in Sun Fire 4800-6800 servers, i.e. not the SP model.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<serengeti-pci8-board>.info
Synopsis
<serengeti-pci8-board>.info
Description
Print detailed information about the configuration of the device.

2062

VIRTUTECH CONFIDENTIAL

<serengeti-pci8-board>.status
Synopsis
<serengeti-pci8-board>.status
Description
Print detailed information about the current status of the device.

2063

VIRTUTECH CONFIDENTIAL

serengeti-schizo
Provided by
serengeti-schizo
Class Hierarchy
conf-object log-object serengeti-schizo
Interfaces Implemented
log_object, bridge, pci_bridge, event_poster, io_memory
Description
Schizo is the the host-to-PCI bridge found in Serengeti systems. The following mapping numbers are used: 0 - Device register mapping. 11, 111 - Bridge mapping for PCI
A configuration space. 12, 112 - Bridge mapping for PCI A I/O space. 13, 113 - Bridge
mapping for PCI A memory space. 21, 121 - Bridge mapping for PCI B configuration
space. 22, 122 - Bridge mapping for PCI B I/O space. 23, 123 - Bridge mapping for
PCI B memory space. 30 - DVMA mapping in the PCI A memory space. 40 - DVMA
mapping in the PCI B memory space. 254 - PCI A configuration space mapping. 255 PCI B configuration space mapping.

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
PCI_A_IOMMU_translation
Pseudo attribute; read-only access; ; integer indexed; indexed type: Integer.
Returns the IOMMU translation of PCI address. The attribute must be indexed
with the address to translate.
PCI_A_array_regs
Optional attribute; read/write access; type: unknown type.
A list of PCI CSR array registers for bus A; mainly for saving the simulator state.
PCI_A_irq_level
Optional attribute; read/write access; type: unknown type.
A list of interrupt levels for bus A; mainly for saving simulator state.
PCI_A_irq_state
Optional attribute; read/write access; type: unknown type.
A list of interrupt states for bus A; mainly for saving simulator state.
2064

VIRTUTECH CONFIDENTIAL
PCI_A_pbm_regs
Optional attribute; read/write access; type: unknown type.
(PCI-command, PCI-latency, bus-number, sub-bus-number); PCI CSR registers for
bus A.
PCI_A_regs
Optional attribute; read/write access; type: unknown type.
The 16 PCI CSR registers for bus A; mainly for saving the simulator state.
PCI_B_IOMMU_translation
Pseudo attribute; read-only access; ; integer indexed; indexed type: Integer.
Returns the IOMMU translation of PCI address. The attribute must be indexed
with the address to translate.
PCI_B_array_regs
Optional attribute; read/write access; type: unknown type.
A list of PCI CSR array registers for bus B; mainly for saving the simulator state.
PCI_B_irq_level
Optional attribute; read/write access; type: unknown type.
A list of interrupt levels for bus B; mainly for saving simulator state.
PCI_B_irq_state
Optional attribute; read/write access; type: unknown type.
A list of interrupt states for bus B; mainly for saving simulator state.
PCI_B_pbm_regs
Optional attribute; read/write access; type: unknown type.
(PCI-command, PCI-latency, bus-number, sub-bus-number); PCI CSR registers for
bus B.
PCI_B_regs
Optional attribute; read/write access; type: unknown type.
The 16 PCI CSR registers for bus B; mainly for saving the simulator state.
aid
Required attribute; read/write access; type: unknown type.
The Agent ID.
dma_block_size
Optional attribute; read/write access; type: Integer.
The largest DMA block size used. Must be a power of two, and not larger than
8192.
io_space
Required attribute; read/write access; type: unknown type.
The object to be used as I/O space, implementing the interface lookup.
2065

VIRTUTECH CONFIDENTIAL
irq_bus
Required attribute; read/write access; type: unknown type.
The interrupt bus object used to send and receive interrupts.
irq_latency
Optional attribute; read/write access; type: unknown type.
Interrupt latency (experimental feature).
mapping
Optional attribute; read/write access; type: unknown type.
(bus-A-IO, bus-A-memory, bus-B-IO, bus-B-memory); flags set to 1 if IO/memory
spaces are mapped for bus A/B.
memory_space
Required attribute; read/write access; type: unknown type.
The object to be used as memory space, implementing the interface lookup.
nid
Optional attribute; read/write access; type: unknown type.
The Node ID.
pci_busA
Required attribute; read/write access; type: unknown type.
The object to be used as PCI bus A, implementing the interface io-memory.
pci_busB
Required attribute; read/write access; type: unknown type.
The object to be used as PCI bus B, implementing the interface io-memory.
pio_latency
Optional attribute; read/write access; type: unknown type.
PIO latency (experimental feature).
random_state
Optional attribute; read/write access; type: [i].
The state of the random generator used.
safari_regs
Optional attribute; read/write access; type: unknown type.
A list containing the Safari registers.
scflush_latency
Optional attribute; read/write access; type: unknown type.
SC Flush latency (experimental feature).
use_tlb_cache
Optional attribute; read/write access; type: Integer.
Set to 1 if the IOMMU should cache TLB translation entries.
2066

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
pci-a-iommu-translate
pci-a-irqs
pci-a-regs
pci-b-iommu-translate
pci-b-irqs
pci-b-regs
pregs

translate PCI-A IOMMU address


print PCI-A interrupts
print PCI-A registers
translate PCI-B IOMMU address
print PCI-B interrupts
print PCI-A registers
print schizo registers

Command Descriptions
<serengeti-schizo>.pci-a-iommu-translate
Synopsis
<serengeti-schizo>.pci-a-iommu-translate pci-address
Description
Translate a PCI-A address using the IOMMU.

<serengeti-schizo>.pci-a-irqs
Synopsis
<serengeti-schizo>.pci-a-irqs
Description
Print the PCI-A interrupt status and mappings in the schizo device.

<serengeti-schizo>.pci-a-regs
Synopsis
<serengeti-schizo>.pci-a-regs
Description
Print the PCI-A registers in the schizo device.

<serengeti-schizo>.pci-b-iommu-translate

2067

VIRTUTECH CONFIDENTIAL
Synopsis
<serengeti-schizo>.pci-b-iommu-translate pci-address
Description
Translate a PCI-B address using the IOMMU.

<serengeti-schizo>.pci-b-irqs
Synopsis
<serengeti-schizo>.pci-b-irqs
Description
Print the PCI-A interrupt status and mappings in the schizo device.

<serengeti-schizo>.pci-b-regs
Synopsis
<serengeti-schizo>.pci-b-regs
Description
Print the PCI-A registers in the schizo device.

<serengeti-schizo>.pregs
Synopsis
<serengeti-schizo>.pregs
Description
Print the general registers in the schizo device

2068

VIRTUTECH CONFIDENTIAL

serengeti-sp-cpci6-board
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component serengeti-sp-cpci6-board
Interfaces Implemented
log_object, component
Description
The serengeti-sp-cpci6-board component represents an I/O board with slots for up
to six CompactPCI cards, for use in a Sun Fire 3800 server, i.e. only the SP model.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<serengeti-sp-cpci6-board>.info
Synopsis
<serengeti-sp-cpci6-board>.info
Description
Print detailed information about the configuration of the device.

2069

VIRTUTECH CONFIDENTIAL

<serengeti-sp-cpci6-board>.status
Synopsis
<serengeti-sp-cpci6-board>.status
Description
Print detailed information about the current status of the device.

2070

VIRTUTECH CONFIDENTIAL

serengeti-system
Provided by
serengeti-system
Class Hierarchy
conf-object log-object serengeti-system
Interfaces Implemented
log_object
Description
The serengeti-system class is deprecated and only distributed for compatibility with
old configurations.

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
all_cpus
Required attribute; read/write access; type: [o].
List of all processors in the machine.
master_cpu
Required attribute; read/write access; type: Object.
The master processor in the machine.
max_mem_address
Required attribute; read/write access; type: Integer.
The highest memory (RAM) address in the machine.
mp_speedup_state
Optional attribute; read/write access; type: Integer.
State of the speedup hack for multi-processor boot.
nvci
Required attribute; read/write access; type: Object.
The nvci object used for OBP variables.

2071

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-prom-env
info
set-prom-env
status

deprecated Get an OBP environment variable


print information about the device
deprecated Set an OBP environment variable
print status of the device

Command Descriptions
<serengeti-system>.get-prom-env deprecated
Synopsis
<serengeti-system>.get-prom-env [variable]
Description
This command is deprecated, use <serengeti-6800-chassis>.get-prom-env instead.

<serengeti-system>.info
Synopsis
<serengeti-system>.info
Description
Print detailed information about the configuration of the device.

<serengeti-system>.set-prom-env deprecated
Synopsis
<serengeti-system>.set-prom-env variable (int|string)
Description
This command is deprecated, use <serengeti-6800-chassis>.set-prom-env instead.

<serengeti-system>.status
Synopsis
<serengeti-system>.status
Description
Print detailed information about the current status of the device.

2072

VIRTUTECH CONFIDENTIAL

serengeti-us-iii-cpu-board
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component serengeti-us-iii-cpu-board
Interfaces Implemented
log_object, component
Description
The serengeti-us-iii-cpu-board component represents a processor board with up to
four UltraSPARC III processors and 32GB of memory, for use in Sun Fire 3800-6800
servers.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes on the processor board.
num_cpus
Required attribute; read/write access; type: Integer.
Number of processors on the board (0 to 4).

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

2073

VIRTUTECH CONFIDENTIAL
Commands
info
print information about the device
status print status of the device

Command Descriptions
<serengeti-us-iii-cpu-board>.info
Synopsis
<serengeti-us-iii-cpu-board>.info
Description
Print detailed information about the configuration of the device.

<serengeti-us-iii-cpu-board>.status
Synopsis
<serengeti-us-iii-cpu-board>.status
Description
Print detailed information about the current status of the device.

2074

VIRTUTECH CONFIDENTIAL

serengeti-us-iii-plus-cpu-board
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component serengeti-us-iii-plus-cpu-board
Interfaces Implemented
log_object, component
Description
The serengeti-us-iii-plus-cpu-board component represents a processor board with
up to four UltraSPARC III Cu processors and 32GB of memory, for use in Sun Fire
3800-6800 servers.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes on the processor board.
num_cpus
Required attribute; read/write access; type: Integer.
Number of processors on the board (0 to 4).

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

2075

VIRTUTECH CONFIDENTIAL
Commands
info
print information about the device
status print status of the device

Command Descriptions
<serengeti-us-iii-plus-cpu-board>.info
Synopsis
<serengeti-us-iii-plus-cpu-board>.info
Description
Print detailed information about the configuration of the device.

<serengeti-us-iii-plus-cpu-board>.status
Synopsis
<serengeti-us-iii-plus-cpu-board>.status
Description
Print detailed information about the current status of the device.

2076

VIRTUTECH CONFIDENTIAL

serengeti-us-iv-cpu-board
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component serengeti-us-iv-cpu-board
Interfaces Implemented
log_object, component
Description
The serengeti-us-iv-cpu-board component represents a processor board with up to
four dual-core UltraSPARC IV processors and 32GB of memory, for use in Sun Fire
3800-6800 servers.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes on the processor board.
num_cpus
Required attribute; read/write access; type: Integer.
Number of processors on the board (0 to 4).

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

2077

VIRTUTECH CONFIDENTIAL
Commands
info
print information about the device
status print status of the device

Command Descriptions
<serengeti-us-iv-cpu-board>.info
Synopsis
<serengeti-us-iv-cpu-board>.info
Description
Print detailed information about the configuration of the device.

<serengeti-us-iv-cpu-board>.status
Synopsis
<serengeti-us-iv-cpu-board>.status
Description
Print detailed information about the current status of the device.

2078

VIRTUTECH CONFIDENTIAL

serengeti-us-iv-plus-cpu-board
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component serengeti-us-iv-plus-cpu-board
Interfaces Implemented
log_object, component
Description
The serengeti-us-iv-plus-cpu-board component represents a processor board with
up to four dual-core UltraSPARC IV+ processors and 32GB of memory, for use in Sun
Fire 3800-6800 servers.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes on the processor board.
num_cpus
Required attribute; read/write access; type: Integer.
Number of processors on the board (0 to 4).

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

2079

VIRTUTECH CONFIDENTIAL
Commands
info
print information about the device
status print status of the device

Command Descriptions
<serengeti-us-iv-plus-cpu-board>.info
Synopsis
<serengeti-us-iv-plus-cpu-board>.info
Description
Print detailed information about the configuration of the device.

<serengeti-us-iv-plus-cpu-board>.status
Synopsis
<serengeti-us-iv-plus-cpu-board>.status
Description
Print detailed information about the current status of the device.

2080

VIRTUTECH CONFIDENTIAL

serial-link
Provided by
serial-link
Class Hierarchy
conf-object log-object serial-link
Interfaces Implemented
log_object, serial_link, event_poster
Description
serial_link device

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
central
Optional attribute; read/write access; type: Object or Nil.
The Simics Central client object used for distributing the simulation.
devices
Optional attribute; read/write access; type: [[i|n,i,s,o|n,[iii|n]]].
The connected devices. It is a list of entries, where each entry is a list [global
id,local id,name,obj,info]. The obj is either a reference to the device object for local
devices, or nil if the device was in another Simics process. The info field is a list
[last-time,ready-posted,buffer].
frequency
Optional attribute; read/write access; type: Integer.
The frequency of the clock used by the link to time stamp traffic and state changes.
This defines the granularity of the time of any event on the link. The frequency
is given as number of ticks per second.
latency
Optional attribute; read/write access; type: f|i.
The latency on the link. Every packet that is sent over this link is delayed by
at least the time specified in this attribute. Other simulated state changes, such
as auto-negotiation and registered MAC addresses also propagate over the link
2081

VIRTUTECH CONFIDENTIAL
with the same delay. The type of this attribute is either an integer number of
clock ticks in the time base specified in the frequency attribute, or a floating point
number which defines the latency in seconds.
link_id
Pseudo attribute; read/write access; type: Integer.
The ID number of the link this link object belongs to.
link_obj_id
Pseudo attribute; read/write access; type: Integer.
The local ID number of this link object on the link.
master_obj_id
Pseudo attribute; read/write access; type: Integer.
The local ID number of the master link object on the link.
min_latency
Pseudo attribute; read/write access; type: Integer.
The minimum latency allowed. This is an integer number of clock ticks in the
time base specified in the frequency attribute. In a distributed the value is given
by Simics Central server. This attribute can not be changed.
throttle
Optional attribute; read/write access; type: Integer.
The maximum number of bits per second that may be sent over the link in each
direction. A value of zero disables throttling

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<serial-link>.info
Synopsis
<serial-link>.info
Description
Print detailed information about the configuration of the device.
2082

VIRTUTECH CONFIDENTIAL

<serial-link>.status
Synopsis
<serial-link>.status
Description
Print detailed information about the current status of the device.

2083

VIRTUTECH CONFIDENTIAL

server-console
Provided by
server-console-c
Class Hierarchy
conf-object log-object server-console
Interfaces Implemented
log_object, serial_device, event_poster
Description
Class allowing telnet access to a simulated serial port.

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
break_string
Pseudo attribute; read/write access; type: s|[[s[i]+]].
An output string causing Simics to trigger a Xterm_Break_String hap when the
string is printed.
break_string_id
Pseudo attribute; read-only access; ; string indexed; indexed type: Integer.
Return an id for a string that is set to break on. The id can be used as index for
the Xterm_Break_String hap.
buffer_until_connection
Optional attribute; read/write access; type: Integer.
If non-zero, the console will buffer any output until a client connects. If zero,
such output will be discarded.
data_in
Optional attribute; read/write access; type: [i].
Characters received by the server but not yet delivered to the simulated serial
port.
device
Required attribute; read/write access; type: Object or Nil.
Serial device the server is connected to.
2084

VIRTUTECH CONFIDENTIAL
input
Optional attribute; read/write access; type: s|[di].
Keyboard input queue.
input_delayed
Pseudo attribute; write-only access; type: [sf].
(string, seconds) This attribute appends characters to the input queue, after the
specified simulated time have elapsed.
input_next
Optional attribute; read/write access; type: Integer.
Position in the keyboard input queue where new input is stored.
output_buffer
Optional attribute; read/write access; type: [i].
Characters transmitted by the simulated serial port, but not yet written out by
the server. If buffer_until_connection is non-zero, then this attribute contains
everything written out on the simulated serial port.
output_file
Optional attribute; read/write access; type: String.
If no-window is set, output will be directed to this file.
port
Required attribute; read/write access; type: Integer.
TCP port for server.
raw
Optional attribute; read/write access; type: Integer.
If set to nonzero, will not interpret telnet escapes or otherwise change the bytes
transmitted in either direction.
recorded_string
Session attribute; read/write access; type: String.
The characters that have been recorded when the attribute recording is true. Note
that the recorded string will NOT be cleared when recording is reset.
recording
Session 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-string.
unbreak_id
Pseudo attribute; write-only access; type: Integer.
Remove breakpoint based on breakpoint id.
2085

VIRTUTECH CONFIDENTIAL
unbreak_string
Pseudo attribute; write-only access; type: String.
Stop breaking on a specified string. Note that if a string is added several times, it
also has to be removed the same number of times. I.e. if a hap callback is tied to a
string and does not want to be called again, it should both remove the string and
unregister the hap callback, since another hap callback may want to break on the
same string again.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
break
capture-start
capture-stop
info
input
input-file
kbd-abort
list-break-strings
playback-start
playback-stop
record-start
record-stop
status
switch-to-serial-link
switch-to-text-console
unbreak
unbreak-id
wait-for-string

set a string to break on


capture output to file
stop output capture to file
print information about the device
send string to a console
input a file into a console
send a keyboard abort signal
list all strings the console will break on
start traffic generator
stop traffic generation
start recording of output on the console
stop recoding of output on the console
print status of the device
replace server-console with serial link
replace server console with text console
stop breaking on string
remove a breakpoint
wait for a string in a script branch

Command Descriptions
<server-console>.break
Synopsis
<server-console>.break string
Description
Set a string to break on for the console. The simulation will stop when this string is
written on the console. If text output is intermixed with control sequences for colors/positioning, the break command may fail breaking on the string.

2086

VIRTUTECH CONFIDENTIAL
See Also
<text-console>.unbreak, <text-console>.list-break-strings

<server-console>.capture-start
Synopsis
<server-console>.capture-start filename
Description
Capture all output from the console to a file.
See Also
<text-console>.capture-stop

<server-console>.capture-stop
Synopsis
<server-console>.capture-stop
Description
Stop capturing all output from the console.
See Also
<text-console>.capture-start

<server-console>.info
Synopsis
<server-console>.info
Description
Print detailed information about the configuration of the device.

<server-console>.input
Synopsis
<server-console>.input string [delay]
Description
Send string to a text console. The text is delayed by default, to wait for the simulated
software to be ready after a previous break on string. To input the string immediately,
specify delay = 0

<server-console>.input-file
Synopsis
<server-console>.input-file file [-binary]
2087

VIRTUTECH CONFIDENTIAL
Description
Inputs the contents of file into the text console. If the -binary flag is specified, the file is
treated as a binary file.

<server-console>.kbd-abort
Synopsis
<server-console>.kbd-abort
Description
Send a serial line abort signal to the attached device. This is only useful when the
text-console is connected to a serial device.

<server-console>.list-break-strings
Synopsis
<server-console>.list-break-strings
Description
Print a listing of all strings that the console will break on.
See Also
<text-console>.break, <text-console>.unbreak

<server-console>.playback-start
Synopsis
<server-console>.playback-start filename
Description
Starts generating bus traffic from a specified file. The file should consist of data and
delay specifications in a command: data format. Examples: Delay: 0.345 will delay
345 milliseconds Hexdata: 72 6f 6f 74 0a will send the string root\n to the connected
device. Unrecognised lines are ignored.
See Also
<server-console>.playback-stop

<server-console>.playback-stop
Synopsis
<server-console>.playback-stop
Description
Stop bus traffic generation previously started with playback-start.

2088

VIRTUTECH CONFIDENTIAL
See Also
<server-console>.playback-start

<server-console>.record-start
Synopsis
<server-console>.record-start
Description
Start recording of output on the console. All previously recorded output will be discarded. The recorded string can be read with the record-stop command.
See Also
<text-console>.record-stop

<server-console>.record-stop
Synopsis
<server-console>.record-stop
Description
Stop recording of output on the console, and return the recorded string.
See Also
<text-console>.record-start

<server-console>.status
Synopsis
<server-console>.status
Description
Print detailed information about the current status of the device.

<server-console>.switch-to-serial-link
Synopsis
<server-console>.switch-to-serial-link linkname
Description
Replace the server-console with a serial link. Another serial port, possibly in another
Simics session can connect to the other end of the link.

<server-console>.switch-to-text-console
Synopsis
<server-console>.switch-to-text-console
2089

VIRTUTECH CONFIDENTIAL
Description
Replace the server console with a standard text console.

<server-console>.unbreak
Synopsis
<server-console>.unbreak string
Description
Stop breaking on specified string.
See Also
<text-console>.break, <text-console>.list-break-strings

<server-console>.unbreak-id
Synopsis
<server-console>.unbreak-id id
Description
Remove the breakpoint with specified id.
See Also
<text-console>.break, <text-console>.list-break-strings

<server-console>.wait-for-string
Synopsis
<server-console>.wait-for-string string
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.
See Also
<text-console>.break, script-branch, wait-for-variable, wait-for-hap, <text-console>.waitfor-string, <processor>.wait-for-cycle, <processor>.wait-for-step

2090

VIRTUTECH CONFIDENTIAL

service-node
Provided by
service-node
Class Hierarchy
conf-object log-object service-node
Interfaces Implemented
log_object, event_poster
Description
This class provides services on an Ethernet network.

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
allow_real_dns
Optional attribute; read/write access; type: b.
If TRUE, the service nodes DNS server will forward queries for unknown hosts
to a real DNS server.
bootparam_udp_port
Optional attribute; read/write access; type: Integer.
The UDP port currently used for the Sun RPC Bootparam protocol replies. For
checkpointing only.
default_install_server_path
Optional attribute; read/write access; type: String.
Default install server path used by the BOOTP/DHCP and BOOTPARAMS server
for clients booting over a network.
default_root_server
Optional attribute; read/write access; type: [s,s].
Default root server and path used by the DHCP and BOOTPARAMS server for
clients booting over a network.

2091

VIRTUTECH CONFIDENTIAL
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.
host_pools
Optional attribute; read/write access; type: [[i,s,s,s[[s,s,s,s]]]].
The host database used by the DHCP and DNS servers.
host_root_install_server
Optional attribute; read/write access; type: [[s,s,s,s]].
Root and install server database used by the DHCP and BOOTPARAMS server
for clients booting over a network.
hosts
Optional attribute; read/write access; type: [[s|n,s,s,s]].
The host database used by the DHCP and DNS servers.
napt_enable
Optional attribute; read/write access; type: Integer.
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.
routing_table
Optional attribute; read/write access; type: [[ssso]].
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 first three are
specified as IP addresses in dot notation. 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-nodes 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.

2092

VIRTUTECH CONFIDENTIAL
tcp_iss
Optional attribute; read/write access; type: Integer.
TCP initial sequence number.

tcp_pcbs
Optional attribute; read/write access; type: [[o|niiiiisioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii[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|niiiiisioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii[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.
tcp_ticks
Optional attribute; read/write access; type: Integer.
TCP ticks.
tcp_timer
Optional attribute; read/write access; type: Integer.
TCP timer.
tcp_timer_active
Optional attribute; read/write access; type: Integer.
TCP initial sequence number.
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.
udp_checksumming
Optional attribute; read/write access; type: b.
When set, an UDP checksum will be calculated and placed in the checksum field
of outgoing UDP packets. Default is TRUE.
udp_pcbs
Optional attribute; read/write access; type: [[o|niiiiiiiiioi]].
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|niiiiiiiiioi]].
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.
2093

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
add-host
arp
connect
dhcp-add-pool
dhcp-leases
disable-real-dns
disable-service
enable-ftp-alg
enable-real-dns
enable-service
info
list-host-info
route
route-add
status
tcpip-info

add host entry


inspect and manipulate ARP table
connect to an ethernet link
add DHCP pool
show DHCP leases
disable real DNS
disable network service
enable FTP ALG
enable real DNS
enable network service
print information about the device
print host info database
show the routing table
add an entry to the routing table
print status of the device
show TCP/IP info

Command Descriptions
<service-node>.add-host
Synopsis
<service-node>.add-host ip name [domain] [mac]
Description
Add a host entry to the DHCP and DNS server tables.
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 entry
can be deleted using the -d flag and the IP address.

<service-node>.connect
2094

VIRTUTECH CONFIDENTIAL
Synopsis
<service-node>.connect link ip [netmask]
Description
Connect this service node to an Ethernet link object.
The ip argument gives the IP address that the service node will use on the link, and
the netmask argument the netmask. Optionally, the netmask may be given in the ip
argument as a /bits suffix. The netmask may also left out entirely, in which case it
will default to 255.255.255.0.

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

<service-node>.dhcp-leases
Synopsis
<service-node>.dhcp-leases
Description
Print the list of active DHCP leases.

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

<service-node>.disable-service
Synopsis
<service-node>.disable-service [name] [-all]
Description
Disable a named network service in the service-node, or all of the -all flag is used.

2095

VIRTUTECH CONFIDENTIAL

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

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

<service-node>.enable-service
Synopsis
<service-node>.enable-service [name] [-all]
Description
Enable a named network service in the service-node, or all of the -all flag is used.

<service-node>.info
Synopsis
<service-node>.info
Description
Print detailed information about the configuration of the device.

<service-node>.list-host-info
Synopsis
<service-node>.list-host-info
Description
Print the host information database, used by the DHCP and DNS server.
See Also
<service-node>.add-host

<service-node>.route

2096

VIRTUTECH CONFIDENTIAL
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.

<service-node>.route-add
Synopsis
<service-node>.route-add net [netmask] [gateway] link
Description
Add to the routing table.

<service-node>.status
Synopsis
<service-node>.status
Description
Print detailed information about the current status of the device.

<service-node>.tcpip-info
Synopsis
<service-node>.tcpip-info
Description
Print all TCP/IP connections.

2097

VIRTUTECH CONFIDENTIAL

service-node-device
Provided by
service-node
Class Hierarchy
conf-object log-object service-node-device
Interfaces Implemented
log_object, ethernet_device
Description
Ethernet device for the service-node class.

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
arp_table
Optional attribute; read/write access; type: [[ss]].
The ARP table used by this service node.
ip_address
Required attribute; read/write access; type: s|[iiii].
The IP address used by this service node.
link
Optional attribute; read/write access; type: Object or Nil.
The network link that this service node ethernet device is attached to.
mac_address
Optional attribute; read/write access; type: s|[iiiiii].
The MAC address used by this service node ethernet device.
mtu
Optional attribute; read/write access; type: Integer.
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.

2098

VIRTUTECH CONFIDENTIAL
net_ip
Pseudo attribute; read-only access; type: i|s|[iiii].
The network IP used by this service node.
netmask
Optional attribute; read/write access; type: i|s|[iiii].
The IP netmask used by this service node.
service_node
Required attribute; read/write access; type: Object.
The service node that the ethernet device is attached to.
tx_bandwidth
Optional attribute; read/write access; type: Integer.
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.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<service-node-device>.info
Synopsis
<service-node-device>.info
Description
Print detailed information about the configuration of the device.

<service-node-device>.status
Synopsis
<service-node-device>.status
Description
Print detailed information about the current status of the device.

2099

VIRTUTECH CONFIDENTIAL

set-memory
Provided by
set-memory
Class Hierarchy
conf-object log-object set-memory
Interfaces Implemented
log_object, io_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).

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
value
Optional attribute; read/write access; type: unknown type.
The value returned when the memory is accessed.

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

2100

VIRTUTECH CONFIDENTIAL

signal-bus
Provided by
signal-bus
Class Hierarchy
conf-object log-object signal-bus
Interfaces Implemented
log_object, signal
Description
The signal-bus class implements a signal bus 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. The targets may either implement a single instance of the interface,
or use named interfaces to implement several instances of it. The signal-bus is typically used to distribute reset and interrupt signals

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
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.
level
Optional attribute; read/write access; type: Integer.
The current output level, used for checkpointing.
targets
Optional attribute; read/write access; type: n|[o|[on]|[os]|[onb]|[osb]].
Signal target objects, implementing one or more instances of the signal. The third
argument in the target sub-list can be set to True if the target should get the signal
inverted.

2101

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<signal-bus>.info
Synopsis
<signal-bus>.info
Description
Print detailed information about the configuration of the device.

<signal-bus>.status
Synopsis
<signal-bus>.status
Description
Print detailed information about the current status of the device.

2102

VIRTUTECH CONFIDENTIAL

sim
Provided by
Simics Core
Class Hierarchy
conf-object log-object sim
Interfaces Implemented
log_object
Description
The sim class represent Simicss 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),

2103

VIRTUTECH CONFIDENTIAL
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.

2104

VIRTUTECH CONFIDENTIAL
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 commandline 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.
2105

VIRTUTECH CONFIDENTIAL
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 memorymapped 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.

2106

VIRTUTECH CONFIDENTIAL
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 youre 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 | instructionbranch-profile | instruction-cache-access-trace | instructionfetch-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.
2107

VIRTUTECH CONFIDENTIAL
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 264-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.
2108

VIRTUTECH CONFIDENTIAL
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.
2109

VIRTUTECH CONFIDENTIAL
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

2110

VIRTUTECH CONFIDENTIAL

simple-byte-dump
Provided by
simple-byte-dump
Class Hierarchy
conf-object log-object simple-byte-dump
Interfaces Implemented
log_object, io_memory
Description
simple-byte-dump is a simple device that dumps all bytes written to a particular location in memory to a file specified by the filename attribute.

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
filename
Optional attribute; read/write access; type: String.
Filename to write bytes to. If not set, bytes are only added to the device log.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
set-output-file
status

print information about the device


sets file to output to
print status of the device

Command Descriptions
<simple-byte-dump>.info
Synopsis
<simple-byte-dump>.info
2111

VIRTUTECH CONFIDENTIAL
Description
Print detailed information about the configuration of the device.

<simple-byte-dump>.set-output-file
Synopsis
<simple-byte-dump>.set-output-file filename
Description
Sets the name of the file to which bytes will be written.

<simple-byte-dump>.status
Synopsis
<simple-byte-dump>.status
Description
Print detailed information about the current status of the device.

2112

VIRTUTECH CONFIDENTIAL

simple-fc-disk
Provided by
std-components
Class Hierarchy
conf-object log-object component simple-fc-disk
Interfaces Implemented
log_object, component
Description
The simple-fc-disk component represents a SCSI-2 disk for use with Fibre-Channel
SCSI controllers using the simplified FC protocol in Simics.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
file
Optional attribute; read/write access; type: String.
File with disk contents for the full disk Either a raw file or a CRAFF file.
loop_id
Required attribute; read/write access; type: Integer.
The loop ID for the FC disk.
node_name
Required attribute; read/write access; type: Integer.
The node name for the FC disk.
port_name
Required attribute; read/write access; type: Integer.
The port name for the FC disk.
size
Required attribute; read/write access; type: Integer.
The size of the FC disk in bytes.
2113

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<simple-fc-disk>.info
Synopsis
<simple-fc-disk>.info
Description
Print detailed information about the configuration of the device.

<simple-fc-disk>.status
Synopsis
<simple-fc-disk>.status
Description
Print detailed information about the current status of the device.

2114

VIRTUTECH CONFIDENTIAL

sio-lpc47m172
Provided by
isa-components
Class Hierarchy
conf-object log-object component sio-lpc47m172
Interfaces Implemented
log_object, component
Description
SMSC LPC47M172 Super I/O.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
ld_num
Required attribute; read/write access; type: Integer.
The setting of the LD_NUM bit.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2115

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sio-lpc47m172>.info
Synopsis
<sio-lpc47m172>.info
Description
Print detailed information about the configuration of the device.

<sio-lpc47m172>.status
Synopsis
<sio-lpc47m172>.status
Description
Print detailed information about the current status of the device.

2116

VIRTUTECH CONFIDENTIAL

sio-w83627hf
Provided by
isa-components
Class Hierarchy
conf-object log-object component sio-w83627hf
Interfaces Implemented
log_object, component
Description
Winbond W83627HF I/O.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<sio-w83627hf>.info
Synopsis
<sio-w83627hf>.info
Description
Print detailed information about the configuration of the device.

<sio-w83627hf>.status
2117

VIRTUTECH CONFIDENTIAL
Synopsis
<sio-w83627hf>.status
Description
Print detailed information about the current status of the device.

2118

VIRTUTECH CONFIDENTIAL

SIO82378ZB
Provided by
SIO82378ZB
Class Hierarchy
conf-object log-object SIO82378ZB
Interfaces Implemented
log_object, io_memory, pci_device, interrupt_ack
Description
The real world 82378ZB device is a PCI-to-ISA bridge integrating the functionality of
IDE controller, 8254 programmable timer, 8259 interrupt controller, 8237 DMA controller etc. In Simics, these functions are implemented as separate devices, so the
SIO82378ZB device is just a bridge between the interrupt mechanism in the 8259 controller and the simulated PCI bus.

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
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
irq_dev
Required attribute; read/write access; type: unknown type.
Device to send IRQ to, implementing the interrupt-cpu interface.
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.

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

2119

VIRTUTECH CONFIDENTIAL

south-bridge-6300esb
Provided by
pci-components
Class Hierarchy
conf-object log-object component south-bridge-6300esb
Interfaces Implemented
log_object, component
Description
The south-bridge-6300esb component represents an Intel 6300ESB I/O Controller
Hub.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bios
Required attribute; read/write access; type: String.
The BIOS file to use.
flash_size
Optional attribute; read/write access; type: Integer.
The size of flash to configure (1 or 2Mb)

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2120

VIRTUTECH CONFIDENTIAL

Command Descriptions
<south-bridge-6300esb>.info
Synopsis
<south-bridge-6300esb>.info
Description
Print detailed information about the configuration of the device.

<south-bridge-6300esb>.status
Synopsis
<south-bridge-6300esb>.status
Description
Print detailed information about the current status of the device.

2121

VIRTUTECH CONFIDENTIAL

south-bridge-amd8111
Provided by
pci-components
Class Hierarchy
conf-object log-object component south-bridge-amd8111
Interfaces Implemented
log_object, component
Description
The south-bridge-amd8111 component represents an AMD-8111 HyperTransport
I/O hub.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<south-bridge-amd8111>.info
Synopsis
<south-bridge-amd8111>.info
Description
Print detailed information about the configuration of the device.

2122

VIRTUTECH CONFIDENTIAL

<south-bridge-amd8111>.status
Synopsis
<south-bridge-amd8111>.status
Description
Print detailed information about the current status of the device.

2123

VIRTUTECH CONFIDENTIAL

south-bridge-md1535d
Provided by
pci-components
Class Hierarchy
conf-object log-object component south-bridge-md1535d
Interfaces Implemented
log_object, component
Description
The south-bridge-md1535d component represents an ALi MD1535D PCI south bridge
with the common legacy PC devices. It includes two IDE controllers, a floppy controller with two drives, three serial ports, and a real-time clock. There is also a USB
controller that is not supported in Simics.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<south-bridge-md1535d>.info
Synopsis
<south-bridge-md1535d>.info
Description
Print detailed information about the configuration of the device.
2124

VIRTUTECH CONFIDENTIAL

<south-bridge-md1535d>.status
Synopsis
<south-bridge-md1535d>.status
Description
Print detailed information about the current status of the device.

2125

VIRTUTECH CONFIDENTIAL

south-bridge-piix4
Provided by
pci-components
Class Hierarchy
conf-object log-object component south-bridge-piix4
Interfaces Implemented
log_object, component
Description
The south-bridge-piix4 component represents an Intel PIIX4 PCI south bridge with
the common legacy PC devices. It includes two IDE controllers, and a real-time clock.
There is also a USB controller that is not supported in Simics.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<south-bridge-piix4>.info
Synopsis
<south-bridge-piix4>.info
Description
Print detailed information about the configuration of the device.
2126

VIRTUTECH CONFIDENTIAL

<south-bridge-piix4>.status
Synopsis
<south-bridge-piix4>.status
Description
Print detailed information about the current status of the device.

2127

VIRTUTECH CONFIDENTIAL

south-bridge-saturn
Provided by
alpha-components
Class Hierarchy
conf-object log-object component south-bridge-saturn
Interfaces Implemented
log_object, component
Description
The south-bridge-saturn component represents a Saturn PCI based south bridge for
use in Alpha LX164 systems. It includes the common legacy PC devices, two IDE
controllers, a real-time clock and a floppy controller with two drives attached.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<south-bridge-saturn>.info
Synopsis
<south-bridge-saturn>.info
Description
Print detailed information about the configuration of the device.
2128

VIRTUTECH CONFIDENTIAL

<south-bridge-saturn>.status
Synopsis
<south-bridge-saturn>.status
Description
Print detailed information about the current status of the device.

2129

VIRTUTECH CONFIDENTIAL

south-bridge-sun-md1535d
Provided by
fiesta-components
Class Hierarchy
conf-object log-object component south-bridge-sun-md1535d
Interfaces Implemented
log_object, component
Description
The south-bridge-sun-md1535d component represents the ALi MD1535D southbridge modified for use in a Fiesta (Taco/Enchilada) system.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<south-bridge-sun-md1535d>.info
Synopsis
<south-bridge-sun-md1535d>.info
Description
Print detailed information about the configuration of the device.

2130

VIRTUTECH CONFIDENTIAL

<south-bridge-sun-md1535d>.status
Synopsis
<south-bridge-sun-md1535d>.status
Description
Print detailed information about the current status of the device.

2131

VIRTUTECH CONFIDENTIAL

sparc-irq-bus
Provided by
sparc-irq-bus
Class Hierarchy
conf-object log-object sparc-irq-bus
Interfaces Implemented
log_object, sparc_irq_bus
Description
The sparc-irq-bus device forwards interrupts between the SPARC processors and devices that are connected to it.

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
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.
object_list
Pseudo attribute; read-only access; type: [[io]].
List of all connected interrupt objects.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

2132

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sparc-irq-bus>.info
Synopsis
<sparc-irq-bus>.info
Description
Print detailed information about the configuration of the device.

2133

VIRTUTECH CONFIDENTIAL

spitfire-mmu
Provided by
spitfire-mmu
Class Hierarchy
conf-object log-object spitfire-mmu
Interfaces Implemented
log_object, mmu
Description
The spitfire-mmu models the MMU in UltraSPARC-I (Spitfire) and UltraSPARC-II
(Blackbird) processors.

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
cpu
Pseudo attribute; read-only access; type: Object.
Processor that the MMU is connected to.
ctxt_nucleus
Optional attribute; read/write access; type: unknown type.
Nucleus context register (hardwired to zero).
ctxt_primary
Optional attribute; read/write access; type: unknown type.
Context identifier for the primary address space.
ctxt_secondary
Optional attribute; read/write access; type: unknown type.
Context identifier for the secondary address space.
d_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).

2134

VIRTUTECH CONFIDENTIAL
dsfar
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault address register (SFAR).
dsfsr
Optional attribute; read/write access; type: unknown type.
D-MMU synchronous fault status register (SFSR).
dtag_access
Optional attribute; read/write access; type: unknown type.
D-TLB tag access register.
dtag_target
Optional attribute; read/write access; type: unknown type.
D-TSB tag target register.
dtlb_daccess
Optional attribute; read/write access; type: unknown type.
I-TLB data access register.
dtlb_tagread
Optional attribute; read/write access; type: unknown type.
I-TLB tag read register.
dtsb
Optional attribute; read/write access; type: unknown type.
D-translation storage buffer (TSB) register.
dtsbp64k
Optional attribute; read/write access; type: unknown type.
D-TSB 64Kb pointer register.
dtsbp8k
Optional attribute; read/write access; type: unknown type.
D-TSB 8Kb pointer register.
dtsbpd
Optional attribute; read/write access; type: unknown type.
D-TSB direct pointer register.
i_translation
Pseudo attribute; read-only access; type: [ii]; integer indexed; indexed type: unknown type.
Returns the D-TLB translation of a given address (read-only pseudo attribute).

2135

VIRTUTECH CONFIDENTIAL
isfsr
Optional attribute; read/write access; type: unknown type.
I-MMU synchronous fault status register (SFSR).
itag_access
Optional attribute; read/write access; type: unknown type.
I-TLB tag access register.
itag_target
Optional attribute; read/write access; type: unknown type.
I-TSB tag target register.
itlb_daccess
Optional attribute; read/write access; type: unknown type.
I-TLB data access register.
itlb_tagread
Optional attribute; read/write access; type: unknown type.
I-TLB tag read register.
itsb
Optional attribute; read/write access; type: unknown type.
I-translation storage buffer (TSB) register.
itsbp64k
Optional attribute; read/write access; type: unknown type.
I-TSB 64Kb pointer register.
itsbp8k
Optional attribute; read/write access; type: unknown type.
I-TSB 8Kb pointer register.
lsu_ctrl
Optional attribute; read/write access; type: unknown type.
Load/Store Unit (LSU) control register.
pa_watchpoint
Optional attribute; read/write access; type: unknown type.
PA Watchpoint Address
registers
Pseudo attribute; read-only access; type: unknown type; integer or string indexed; indexed type: unknown type.
Used to translate between register index and register name for all MMU registers
that can generate haps when written. When indexed with an integer, the name is
returned, and vice versa. When not indexed, an array with all names is returned
in (register index) order.
2136

VIRTUTECH CONFIDENTIAL
trace
Session attribute; read/write access; type: unknown type.
No documentation available.
va_watchpoint
Optional attribute; read/write access; type: unknown type.
VA Watchpoint Address

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
d-probe
d-tlb
i-probe
i-tlb
info
regs
reverse-lookup
trace

check data TLB for translation


print data TLB contents
check instruction TLB for translation
print instruction TLB contents
print information about the device
print mmu registers
check TLBs for reverse translation
toggle trace functionality

Command Descriptions
<spitfire-mmu>.d-probe
Synopsis
<spitfire-mmu>.d-probe address
<spitfire-mmu>.i-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<spitfire-mmu>.d-tlb

<spitfire-mmu>.d-tlb
Synopsis
<spitfire-mmu>.d-tlb
<spitfire-mmu>.i-tlb

2137

VIRTUTECH CONFIDENTIAL
Description
print the content of the data TLB
See Also
<spitfire-mmu>.d-probe

<spitfire-mmu>.i-probe
Synopsis
<spitfire-mmu>.i-probe address
<spitfire-mmu>.d-probe address
Description
Translate a virtual address to physical
The translation is based on the mappings in the instruction or data TLB.
See Also
<spitfire-mmu>.d-tlb

<spitfire-mmu>.i-tlb
Synopsis
<spitfire-mmu>.i-tlb
<spitfire-mmu>.d-tlb
Description
print the content of the data TLB
See Also
<spitfire-mmu>.d-probe

<spitfire-mmu>.info
Synopsis
<spitfire-mmu>.info
Description
Print detailed information about the configuration of the device.

<spitfire-mmu>.regs
Synopsis
<spitfire-mmu>.regs
2138

VIRTUTECH CONFIDENTIAL
Description
Print the content of the spitfire-mmu MMU registers

<spitfire-mmu>.reverse-lookup
Synopsis
<spitfire-mmu>.reverse-lookup address
Description
List mappings in all TLBs that matches the specified physical address
See Also
<spitfire-mmu>.d-probe

<spitfire-mmu>.trace
Synopsis
<spitfire-mmu>.trace
Description
Toggles trace mode
When active, lists all changes to TLB entries and to MMU registers.

2139

VIRTUTECH CONFIDENTIAL

state-assertion
Provided by
state-assertion
Class Hierarchy
conf-object log-object state-assertion
Interfaces Implemented
log_object, timing_model, snoop_memory, event_poster
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.

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
add
Pseudo attribute; read/write access; type: unknown type.

2140

VIRTUTECH CONFIDENTIAL
This is a pseudo-attribute that should not be used directly. It adds an object to
the state assertion queue.
addmemlis
Pseudo attribute; read/write access; type: unknown type.
This is a pseudo-attribute that should not be used directly. It adds a memory
listener in the state-assertion queue.
create
Pseudo attribute; read/write access; type: unknown type.
This is a pseudo-attribute that should not be used directly. It creates a state assertion file for recording.
fforward
Pseudo attribute; read/write access; type: unknown type.
This is a pseudo-attribute that should not be used directly. It fast-forwards the
assertion process.
flush
Pseudo attribute; read/write access; type: unknown type.
Set attribute to flush buffered output (value should be 1).
info
Pseudo attribute; read/write access; type: unknown type.
This is a pseudo-attribute that should not be used directly. It provides information on the objects asserted.
lsize
Pseudo attribute; read-only access; type: Integer.
This is a fake line size for the memory hierarchy system.
manual_handler
Pseudo attribute; read/write access; type: unknown type.
When this attribute is set, state-assertion reacts as if an event had occur for a
specific object.
open
Pseudo attribute; read/write access; type: unknown type.
This is a pseudo-attribute that should not be used directly. It creates a state assertion file for recording.
start
Pseudo attribute; read/write access; type: unknown type.
This is a pseudo-attribute that should not be used directly. It starts the state
assertion.

2141

VIRTUTECH CONFIDENTIAL
status
Pseudo attribute; read/write access; type: unknown type.
This is a pseudo-attribute that should not be used directly. It provides runtime
information on the assertion process.
stop
Pseudo attribute; read/write access; type: unknown type.
This is a pseudo-attribute that should not be used directly. It stops the assertion
process.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
add
add-mem-lis
fforward
info
start
status
stop

add an object to be asserted


add a memory listener on the specified memory space
fast-forward a state assertion file when comparing
provide information about the state assertion
start trace asserting/comparing
provide the status of the current state assertion
stop trace asserting/comparing and close the file

Command Descriptions
<state-assertion>.add
Synopsis
<state-assertion>.add object-name steps [type] [attribute]
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). IA64 cpus have two states, 1 is system-level, 2 is
user-level (without CR, PSR, RR)
- 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 having no save_state interface.

<state-assertion>.add-mem-lis
Synopsis
<state-assertion>.add-mem-lis memory_space
2142

VIRTUTECH CONFIDENTIAL
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.
- -o allows state-assertion to take over an existing memory hierarchy.

<state-assertion>.fforward
Synopsis
<state-assertion>.fforward object-name steps
Description
Fast-forward a state assertion file. The contents of the file are ignored until the object
obj has skipped steps steps. The simulation is not fast-forwarded. Other objects in the
file are fast-forwarded along.

<state-assertion>.info
Synopsis
<state-assertion>.info
Description
Describe the state assertion performed by the current object.

<state-assertion>.start
Synopsis
<state-assertion>.start
Description
Start the recording/comparison.

<state-assertion>.status
Synopsis
<state-assertion>.status
Description
Describe the status of the state assertion performed by the current object.

<state-assertion>.stop
Synopsis
<state-assertion>.stop
Description
Stop the recording/comparison, flush the buffers and close the file.

2143

VIRTUTECH CONFIDENTIAL

std-etg
Provided by
std-components
Class Hierarchy
conf-object log-object component std-etg
Interfaces Implemented
log_object, component
Description
The std-etg component represents an ethernet traffic generator.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
dst_ip
Required attribute; read/write access; type: String.
Destination IP address for generated traffic.
gateway_ip
Required attribute; read/write access; type: String.
Gateway for non-local traffic.
ip
Required attribute; read/write access; type: String.
IP address of the traffic generator.
mac_address
Required attribute; read/write access; type: String.
The MAC address of the traffic generator.
netmask
Required attribute; read/write access; type: String.
IP netmask of the traffic generator.
2144

VIRTUTECH CONFIDENTIAL
packet_size
Required attribute; read/write access; type: Integer.
Packet size.
pps
Required attribute; read/write access; type: Integer.
Traffic rate in packets per second.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<std-etg>.info
Synopsis
<std-etg>.info
Description
Print detailed information about the configuration of the device.

<std-etg>.status
Synopsis
<std-etg>.status
Description
Print detailed information about the current status of the device.

2145

VIRTUTECH CONFIDENTIAL

std-ethernet-link
Provided by
std-components
Class Hierarchy
conf-object log-object component std-ethernet-link
Interfaces Implemented
log_object, component
Description
The std-ethernet-link component represents a standard Ethernet link.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
frame_echo
Optional attribute; read/write access; type: Integer.
Set this attribute to echo frames back to the sender. Default is not to echo frames.
link_name
Optional attribute; read/write access; type: String.
The name to use for the ethernet-link object. An error will be raised at instantiation time if the link cannot be given this name.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2146

VIRTUTECH CONFIDENTIAL

Command Descriptions
<std-ethernet-link>.info
Synopsis
<std-ethernet-link>.info
Description
Print detailed information about the configuration of the device.

<std-ethernet-link>.status
Synopsis
<std-ethernet-link>.status
Description
Print detailed information about the current status of the device.

2147

VIRTUTECH CONFIDENTIAL

std-graphics-console
Provided by
std-components
Class Hierarchy
conf-object log-object component std-graphics-console
Interfaces Implemented
log_object, component
Description
The std-graphics-console component represents a graphical console for displaying
output from a simulated graphics adapters and getting input for mouse and keyboard
devices.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
window
Optional attribute; read/write access; type: b.
Try to open window if TRUE (default). FALSE disabled the window.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2148

VIRTUTECH CONFIDENTIAL

Command Descriptions
<std-graphics-console>.info
Synopsis
<std-graphics-console>.info
Description
Print detailed information about the configuration of the device.

<std-graphics-console>.status
Synopsis
<std-graphics-console>.status
Description
Print detailed information about the current status of the device.

2149

VIRTUTECH CONFIDENTIAL

std-host-serial-console
Provided by
std-components
Class Hierarchy
conf-object log-object component std-host-serial-console
Interfaces Implemented
log_object, component
Description
The std-host-serial console component represents a serial console accessible from
the host as a virtual serial port. On Windows a COM port is used and on Unix a pty
(pseudo-terminal).

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<std-host-serial-console>.info
Synopsis
<std-host-serial-console>.info
Description
Print detailed information about the configuration of the device.
2150

VIRTUTECH CONFIDENTIAL

<std-host-serial-console>.status
Synopsis
<std-host-serial-console>.status
Description
Print detailed information about the current status of the device.

2151

VIRTUTECH CONFIDENTIAL

std-ide-cdrom
Provided by
std-components
Class Hierarchy
conf-object log-object component std-ide-cdrom
Interfaces Implemented
log_object, component
Description
The std-ide-cdrom component represents an IDE ATAPI CD-ROM.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<std-ide-cdrom>.info
Synopsis
<std-ide-cdrom>.info
Description
Print detailed information about the configuration of the device.

<std-ide-cdrom>.status
2152

VIRTUTECH CONFIDENTIAL
Synopsis
<std-ide-cdrom>.status
Description
Print detailed information about the current status of the device.

2153

VIRTUTECH CONFIDENTIAL

std-ide-disk
Provided by
std-components
Class Hierarchy
conf-object log-object component std-ide-disk
Interfaces Implemented
log_object, component
Description
The std-ide-disk component represents an IDE disk.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
file
Optional attribute; read/write access; type: String.
File with disk contents for the full disk Either a raw file or a CRAFF file.
size
Required attribute; read/write access; type: Integer.
The size of the IDE disk in bytes.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2154

VIRTUTECH CONFIDENTIAL

Command Descriptions
<std-ide-disk>.info
Synopsis
<std-ide-disk>.info
Description
Print detailed information about the configuration of the device.

<std-ide-disk>.status
Synopsis
<std-ide-disk>.status
Description
Print detailed information about the current status of the device.

2155

VIRTUTECH CONFIDENTIAL

std-ms1553-link
Provided by
std-components
Class Hierarchy
conf-object log-object component std-ms1553-link
Interfaces Implemented
log_object, component
Description
The std-ms1553-link component represents a MIL-STD-1553 bus/link.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<std-ms1553-link>.info
Synopsis
<std-ms1553-link>.info
Description
Print detailed information about the configuration of the device.

<std-ms1553-link>.status
2156

VIRTUTECH CONFIDENTIAL
Synopsis
<std-ms1553-link>.status
Description
Print detailed information about the current status of the device.

2157

VIRTUTECH CONFIDENTIAL

std-pcmcia-flash-disk
Provided by
std-components
Class Hierarchy
conf-object log-object component std-pcmcia-flash-disk
Interfaces Implemented
log_object, component
Description
The std-pcmcia-flash-disk component represents a PCMCIA Flash disk.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
file
Optional attribute; read/write access; type: String.
File with disk contents for the full disk Either a raw file or a CRAFF file.
size
Required attribute; read/write access; type: Integer.
The size of the IDE disk in bytes.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2158

VIRTUTECH CONFIDENTIAL

Command Descriptions
<std-pcmcia-flash-disk>.info
Synopsis
<std-pcmcia-flash-disk>.info
Description
Print detailed information about the configuration of the device.

<std-pcmcia-flash-disk>.status
Synopsis
<std-pcmcia-flash-disk>.status
Description
Print detailed information about the current status of the device.

2159

VIRTUTECH CONFIDENTIAL

std-scsi-bus
Provided by
std-components
Class Hierarchy
conf-object log-object component std-scsi-bus
Interfaces Implemented
log_object, component
Description
The std-scsi-bus component represents a 16 slot SCSI bus.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<std-scsi-bus>.info
Synopsis
<std-scsi-bus>.info
Description
Print detailed information about the configuration of the device.

<std-scsi-bus>.status
2160

VIRTUTECH CONFIDENTIAL
Synopsis
<std-scsi-bus>.status
Description
Print detailed information about the current status of the device.

2161

VIRTUTECH CONFIDENTIAL

std-scsi-cdrom
Provided by
std-components
Class Hierarchy
conf-object log-object component std-scsi-cdrom
Interfaces Implemented
log_object, component
Description
The std-scsi-cdrom component represents a SCSI-2 CD-ROM.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
scsi_id
Required attribute; read/write access; type: Integer.
The ID on the SCSI bus.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2162

VIRTUTECH CONFIDENTIAL

Command Descriptions
<std-scsi-cdrom>.info
Synopsis
<std-scsi-cdrom>.info
Description
Print detailed information about the configuration of the device.

<std-scsi-cdrom>.status
Synopsis
<std-scsi-cdrom>.status
Description
Print detailed information about the current status of the device.

2163

VIRTUTECH CONFIDENTIAL

std-scsi-disk
Provided by
std-components
Class Hierarchy
conf-object log-object component std-scsi-disk
Interfaces Implemented
log_object, component
Description
The std-scsi-disk component represents a SCSI-2 disk.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
file
Optional attribute; read/write access; type: String.
File with disk contents for the full disk Either a raw file or a CRAFF file.
scsi_id
Required attribute; read/write access; type: Integer.
The ID on the SCSI bus.
size
Required attribute; read/write access; type: Integer.
The size of the SCSI disk in bytes.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2164

VIRTUTECH CONFIDENTIAL

Command Descriptions
<std-scsi-disk>.info
Synopsis
<std-scsi-disk>.info
Description
Print detailed information about the configuration of the device.

<std-scsi-disk>.status
Synopsis
<std-scsi-disk>.status
Description
Print detailed information about the current status of the device.

2165

VIRTUTECH CONFIDENTIAL

std-serial-link
Provided by
std-components
Class Hierarchy
conf-object log-object component std-serial-link
Interfaces Implemented
log_object, component
Description
The std-serial-link component represents a standard Serial link.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<std-serial-link>.info
Synopsis
<std-serial-link>.info
Description
Print detailed information about the configuration of the device.

<std-serial-link>.status
2166

VIRTUTECH CONFIDENTIAL
Synopsis
<std-serial-link>.status
Description
Print detailed information about the current status of the device.

2167

VIRTUTECH CONFIDENTIAL

std-server-console
Provided by
std-components
Class Hierarchy
conf-object log-object component std-server-console
Interfaces Implemented
log_object, component
Description
The std-server-console component represents a serial console accessible from the
host using telnet.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
telnet_port
Required attribute; read/write access; type: Integer.
TCP/IP port to connect the telnet service of the console to.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2168

VIRTUTECH CONFIDENTIAL

Command Descriptions
<std-server-console>.info
Synopsis
<std-server-console>.info
Description
Print detailed information about the configuration of the device.

<std-server-console>.status
Synopsis
<std-server-console>.status
Description
Print detailed information about the current status of the device.

2169

VIRTUTECH CONFIDENTIAL

std-service-node
Provided by
std-components
Class Hierarchy
conf-object log-object component std-service-node
Interfaces Implemented
log_object, component
Description
The std-service-node 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 <std-service-node>.add-connector command.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
dynamic_connectors
Optional attribute; read/write access; type: [[iss]].
List of user added connectors
next_connector_id
Optional attribute; read/write access; type: Integer.
Next service-node device ID.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
add-connector
info
status

add a service-node connector


print information about the device
print status of the device

2170

VIRTUTECH CONFIDENTIAL

Command Descriptions
<std-service-node>.add-connector
Synopsis
<std-service-node>.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. The
netmask argument is optional, and defaults to 255.255.255.0.
The name of the new connector is returned.

<std-service-node>.info
Synopsis
<std-service-node>.info
Description
Print detailed information about the configuration of the device.

<std-service-node>.status
Synopsis
<std-service-node>.status
Description
Print detailed information about the current status of the device.

2171

VIRTUTECH CONFIDENTIAL

std-super-io
Provided by
isa-components
Class Hierarchy
conf-object log-object component std-super-io
Interfaces Implemented
log_object, component
Description
The std-super-io component represents a generic Super I/O device with legacy PC
devices such as two serial ports, one PS/2 keyboard and mouse controller, one floppy
device and a parallel port

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
add_par_port
Optional attribute; read/write access; type: b.
Set to TRUE to add a parallel port to the Super I/O device. Default is FALSE
since the current implementation is a dummy device.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2172

VIRTUTECH CONFIDENTIAL

Command Descriptions
<std-super-io>.info
Synopsis
<std-super-io>.info
Description
Print detailed information about the configuration of the device.

<std-super-io>.status
Synopsis
<std-super-io>.status
Description
Print detailed information about the current status of the device.

2173

VIRTUTECH CONFIDENTIAL

std-text-console
Provided by
std-components
Class Hierarchy
conf-object log-object component std-text-console
Interfaces Implemented
log_object, component
Description
The std-text-console component represents a serial text console.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
bg_color
Optional attribute; read/write access; type: String.
The background color.
fg_color
Optional attribute; read/write access; type: String.
The foreground color.
height
Optional attribute; read/write access; type: Integer.
The height of the console window.
title
Optional attribute; read/write access; type: String.
The Window title.
width
Optional attribute; read/write access; type: Integer.
The width of the console window.
2174

VIRTUTECH CONFIDENTIAL
win32_font
Optional attribute; read/write access; type: String.
Font to use in the console on Windows host.
x11_font
Optional attribute; read/write access; type: String.
Font to use in the console when using X11 (Linux/Solaris host).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<std-text-console>.info
Synopsis
<std-text-console>.info
Description
Print detailed information about the configuration of the device.

<std-text-console>.status
Synopsis
<std-text-console>.status
Description
Print detailed information about the current status of the device.

2175

VIRTUTECH CONFIDENTIAL

std-text-graphics-console
Provided by
std-components
Class Hierarchy
conf-object log-object component std-text-graphics-console
Interfaces Implemented
log_object, component
Description
The std-text-graphics-console component represents a text console for use with VGA
instead of a graphics console.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<std-text-graphics-console>.info
Synopsis
<std-text-graphics-console>.info
Description
Print detailed information about the configuration of the device.

2176

VIRTUTECH CONFIDENTIAL

<std-text-graphics-console>.status
Synopsis
<std-text-graphics-console>.status
Description
Print detailed information about the current status of the device.

2177

VIRTUTECH CONFIDENTIAL

store_queue
Provided by
sparc-u2-ma, sparc-u3-ma, x86-hammer-ma, x86-p4-ma
Class Hierarchy
conf-object log-object store_queue
Interfaces Implemented
log_object
Description
Store Queue

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

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

2178

VIRTUTECH CONFIDENTIAL

strata-flash
Provided by
strata-flash
Class Hierarchy
conf-object log-object strata-flash
Interfaces Implemented
log_object, io_memory
Description
Intel StrataFlash memory.

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
device_count
Required attribute; read/write access; type: unknown type.
Number of devices in the flash rom (1, 2, or 4)
erase_blocks
Optional attribute; read/write access; type: unknown type.
List of number of erase block regions in the memory devices
memory
Optional attribute; read/write access; type: unknown type; persistent attribute.
Binary contents of the flash memory
modes
Optional attribute; read/write access; type: unknown type.
List of modes for the memory devices
sizes
Optional attribute; read/write access; type: unknown type.
List of sizes in megabits for the memory devices (32, 64, or 128)
write_buffer
Optional attribute; read/write access; type: unknown type.
((state, req_size, written_size)) List of information when the flash is in write
buffer mode
2179

VIRTUTECH CONFIDENTIAL

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

2180

VIRTUTECH CONFIDENTIAL

sun-cpci-hme-isp
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component sun-cpci-hme-isp
Interfaces Implemented
log_object, component
Description
The sun-cpci-hme-isp component represents an CompactPCI card with one HME
ethernet controller and one ISP SCSI controller for use in Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.
scsi_id
Optional attribute; read/write access; type: Integer.
The ID on the SCSI bus.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2181

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sun-cpci-hme-isp>.info
Synopsis
<sun-cpci-hme-isp>.info
Description
Print detailed information about the configuration of the device.

<sun-cpci-hme-isp>.status
Synopsis
<sun-cpci-hme-isp>.status
Description
Print detailed information about the current status of the device.

2182

VIRTUTECH CONFIDENTIAL

sun-cpci-isp-isp
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component sun-cpci-isp-isp
Interfaces Implemented
log_object, component
Description
The sun-cpci-isp-isp component represents an CompactPCI card with two ISP SCSI
controllers for use in Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
scsi_id0
Optional attribute; read/write access; type: Integer.
The ID on the SCSI bus for the first ISP.
scsi_id1
Optional attribute; read/write access; type: Integer.
The ID on the SCSI bus for the second ISP.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2183

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sun-cpci-isp-isp>.info
Synopsis
<sun-cpci-isp-isp>.info
Description
Print detailed information about the configuration of the device.

<sun-cpci-isp-isp>.status
Synopsis
<sun-cpci-isp-isp>.status
Description
Print detailed information about the current status of the device.

2184

VIRTUTECH CONFIDENTIAL

sun-cpci-qlc-qlc
Provided by
serengeti-components
Class Hierarchy
conf-object log-object component sun-cpci-qlc-qlc
Interfaces Implemented
log_object, component
Description
The sun-cpci-qlc-qlc component represents an CompactPCI card with two QLC FibreChannel SCSI controllers for use in Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
loop_id0
Required attribute; read/write access; type: Integer.
The FC loop ID of the first QLC controller.
loop_id1
Required attribute; read/write access; type: Integer.
The FC loop ID of the second QLC controller.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2185

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sun-cpci-qlc-qlc>.info
Synopsis
<sun-cpci-qlc-qlc>.info
Description
Print detailed information about the configuration of the device.

<sun-cpci-qlc-qlc>.status
Synopsis
<sun-cpci-qlc-qlc>.status
Description
Print detailed information about the current status of the device.

2186

VIRTUTECH CONFIDENTIAL

sun-keyboard
Provided by
sun-keyboard
Class Hierarchy
conf-object log-object sun-keyboard
Interfaces Implemented
log_object, keyboard, serial_device
Description
The sun-keyboard device simulated a Sun Type 5 keyboard. It should be connected to
a serial device for output, and to a graphics console to receive actual keyboard input.

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
device
Optional attribute; read/write access; type: Object.
The serial device that the keyboard is connected to. The device must implement
the serial-device interface.
key_event
Pseudo attribute; write-only access; type: Integer; integer indexed; indexed
type: unknown type.
Write-only. Forces keyboard events. Writing value (an integer) to index i forces
key number i to be pressed if value is 0, or released if value is 1.
keyboard_buffer
Optional attribute; read/write access; type: [i].
The keyboard input buffer.
keys_down
Optional attribute; read/write access; type: [i].
List of keys currently pressed.

2187

VIRTUTECH CONFIDENTIAL
led_byte_next
Optional attribute; read/write access; type: Integer.
Set if keyboard has received a SET_LED command and is waiting for the data
byte.
recorder
Required attribute; read/write access; type: Object.
Recorder object defining the recorder interface.
send_pc_codes
Optional attribute; read/write access; type: Integer.
This is a workaround for Linux kernel 2.4 that interprets key-codes from the Sun
keyboard as PC (PS2) scan-codes, although the keyboard was correctly identified as a Sun Type 5 keyboard. (It is not yet verified if this is a Linux or Simics
problem).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
key-down
key-up

send key event


send key event

Command Descriptions
<sun-keyboard>.key-down
Synopsis
<sun-keyboard>.key-down key-code
<sun-keyboard>.key-up key-code
Description
Send a key press to the keyboard controller. The argument is the internal Simics keycode.

<sun-keyboard>.key-up
Synopsis
<sun-keyboard>.key-up key-code
<sun-keyboard>.key-down key-code
Description
Send a key press to the keyboard controller. The argument is the internal Simics keycode.

2188

VIRTUTECH CONFIDENTIAL

sun-mouse
Provided by
sun-mouse
Class Hierarchy
conf-object log-object sun-mouse
Interfaces Implemented
log_object, mouse, serial_device
Description
The sun-mouse device simulated the Sun mouse. It should be connected to a serial
device for output, and to a graphics console to receive actual mouse input.

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
button_event
Pseudo attribute; write-only access; ; integer indexed; indexed type: Integer.
Write-only. Forces mouse button events. Writes to indices 0 through 2 causes the
left, right or middle button to be pressed if value is 0, or released if value is 1.
cmd_buttons
Optional attribute; read/write access; type: Integer.
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.
device
Optional attribute; read/write access; type: Object.
The serial device that the mouse is connected to. The device must implement the
serial-device interface.
mouse_buffer
Optional attribute; read/write access; type: [i].
The mouse input buffer.

2189

VIRTUTECH CONFIDENTIAL
mouse_event
Pseudo attribute; write-only access; ; integer indexed; indexed type: Integer.
Write-only. Forces mouse events. Writes to indices 0 through 3 result in movement in directions up, down, left or right by value mm.
recorder
Required attribute; read/write access; type: Object.
Recorder object defining the recorder interface.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
left-button
middle-button
mouse-down
mouse-left
mouse-right
mouse-up
right-button

set button state


set button state
move mouse
move mouse
move mouse
move mouse
set button state

Command Descriptions
<sun-mouse>.left-button
Synopsis
<sun-mouse>.left-button direction
<sun-mouse>.middle-button direction
<sun-mouse>.right-button direction
Description
Set the state of the left or right mouse button. Valid arguments are up and down.

<sun-mouse>.middle-button
Synopsis
<sun-mouse>.middle-button direction
<sun-mouse>.left-button direction
<sun-mouse>.right-button direction
Description
Set the state of the left or right mouse button. Valid arguments are up and down.

2190

VIRTUTECH CONFIDENTIAL

<sun-mouse>.mouse-down
Synopsis
<sun-mouse>.mouse-down millimeters
<sun-mouse>.mouse-left millimeters
<sun-mouse>.mouse-right millimeters
<sun-mouse>.mouse-up millimeters
Description
Move the mouse up/down/left/right a specified number of millimeters.

<sun-mouse>.mouse-left
Synopsis
<sun-mouse>.mouse-left millimeters
<sun-mouse>.mouse-down millimeters
<sun-mouse>.mouse-right millimeters
<sun-mouse>.mouse-up millimeters
Description
Move the mouse up/down/left/right a specified number of millimeters.

<sun-mouse>.mouse-right
Synopsis
<sun-mouse>.mouse-right millimeters
<sun-mouse>.mouse-down millimeters
<sun-mouse>.mouse-left millimeters
<sun-mouse>.mouse-up millimeters
Description
Move the mouse up/down/left/right a specified number of millimeters.

<sun-mouse>.mouse-up
Synopsis
<sun-mouse>.mouse-up millimeters
<sun-mouse>.mouse-down millimeters
<sun-mouse>.mouse-left millimeters
<sun-mouse>.mouse-right millimeters
Description
Move the mouse up/down/left/right a specified number of millimeters.

2191

VIRTUTECH CONFIDENTIAL

<sun-mouse>.right-button
Synopsis
<sun-mouse>.right-button direction
<sun-mouse>.left-button direction
<sun-mouse>.middle-button direction
Description
Set the state of the left or right mouse button. Valid arguments are up and down.

2192

VIRTUTECH CONFIDENTIAL

sun-pci-ce
Provided by
sun-components
Class Hierarchy
conf-object log-object component sun-pci-ce
Interfaces Implemented
log_object, component
Description
The sun-pci-ce component represents a PCI card with a Cassini gigabit Ethernet
adapter, for use in Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2193

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sun-pci-ce>.info
Synopsis
<sun-pci-ce>.info
Description
Print detailed information about the configuration of the device.

<sun-pci-ce>.status
Synopsis
<sun-pci-ce>.status
Description
Print detailed information about the current status of the device.

2194

VIRTUTECH CONFIDENTIAL

sun-pci-hme
Provided by
sun-components
Class Hierarchy
conf-object log-object component sun-pci-hme
Interfaces Implemented
log_object, component
Description
The sun-pci-hme component represents a PCI card with a HME Ethernet adapter,
for use in Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2195

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sun-pci-hme>.info
Synopsis
<sun-pci-hme>.info
Description
Print detailed information about the configuration of the device.

<sun-pci-hme>.status
Synopsis
<sun-pci-hme>.status
Description
Print detailed information about the current status of the device.

2196

VIRTUTECH CONFIDENTIAL

sun-pci-hme-isp
Provided by
sun-components
Class Hierarchy
conf-object log-object component sun-pci-hme-isp
Interfaces Implemented
log_object, component
Description
The sun-pci-hme-isp component represents a PCI card with one HME Ethernet
adapter and one ISP SCSI controller for use in Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.
scsi_id
Optional attribute; read/write access; type: Integer.
The ID on the SCSI bus.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2197

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sun-pci-hme-isp>.info
Synopsis
<sun-pci-hme-isp>.info
Description
Print detailed information about the configuration of the device.

<sun-pci-hme-isp>.status
Synopsis
<sun-pci-hme-isp>.status
Description
Print detailed information about the current status of the device.

2198

VIRTUTECH CONFIDENTIAL

sun-pci-pgx64
Provided by
sun-components
Class Hierarchy
conf-object log-object component sun-pci-pgx64
Interfaces Implemented
log_object, component
Description
The sun-pci-pgx64 component represents a PCI card with a PGX64 (Rage XL) graphics adapter, for use in Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<sun-pci-pgx64>.info
Synopsis
<sun-pci-pgx64>.info
Description
Print detailed information about the configuration of the device.

2199

VIRTUTECH CONFIDENTIAL

<sun-pci-pgx64>.status
Synopsis
<sun-pci-pgx64>.status
Description
Print detailed information about the current status of the device.

2200

VIRTUTECH CONFIDENTIAL

sun-pci-qlc
Provided by
sun-components
Class Hierarchy
conf-object log-object component sun-pci-qlc
Interfaces Implemented
log_object, component
Description
The sun-pci-qlc component represents a PCI card with a QLC Fibre-Channel SCSI
controller for use in Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
loop_id
Required attribute; read/write access; type: Integer.
The FC loop ID of the QLC controller.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2201

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sun-pci-qlc>.info
Synopsis
<sun-pci-qlc>.info
Description
Print detailed information about the configuration of the device.

<sun-pci-qlc>.status
Synopsis
<sun-pci-qlc>.status
Description
Print detailed information about the current status of the device.

2202

VIRTUTECH CONFIDENTIAL

sun-pci-qlc-qlc
Provided by
sun-components
Class Hierarchy
conf-object log-object component sun-pci-qlc-qlc
Interfaces Implemented
log_object, component
Description
The sun-pci-qlc-qlc component represents a PCI card with two QLC Fibre-Channel
SCSI controller for use in Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
loop_id0
Required attribute; read/write access; type: Integer.
The FC loop ID of the first QLC controller.
loop_id1
Required attribute; read/write access; type: Integer.
The FC loop ID of the second QLC controller.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2203

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sun-pci-qlc-qlc>.info
Synopsis
<sun-pci-qlc-qlc>.info
Description
Print detailed information about the configuration of the device.

<sun-pci-qlc-qlc>.status
Synopsis
<sun-pci-qlc-qlc>.status
Description
Print detailed information about the current status of the device.

2204

VIRTUTECH CONFIDENTIAL

sun-sbus-fas-hme
Provided by
sunfire-components
Class Hierarchy
conf-object log-object component sun-sbus-fas-hme
Interfaces Implemented
log_object, component
Description
The sun-sbus-fas-hme component represents an SBus card with one HME ethernet
controller and one FAS SCSI controller for use in Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
mac_address
Required attribute; read/write access; type: String.
The MAC address of the Ethernet adapter.
scsi_id
Optional attribute; read/write access; type: Integer.
The ID on the SCSI bus.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2205

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sun-sbus-fas-hme>.info
Synopsis
<sun-sbus-fas-hme>.info
Description
Print detailed information about the configuration of the device.

<sun-sbus-fas-hme>.status
Synopsis
<sun-sbus-fas-hme>.status
Description
Print detailed information about the current status of the device.

2206

VIRTUTECH CONFIDENTIAL

sun-type5-keyboard
Provided by
sun-components
Class Hierarchy
conf-object log-object component sun-type5-keyboard
Interfaces Implemented
log_object, component
Description
The sun-type5-keyboard component represents a Sun Type 5 serial keyboard for use
in Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<sun-type5-keyboard>.info
Synopsis
<sun-type5-keyboard>.info
Description
Print detailed information about the configuration of the device.

2207

VIRTUTECH CONFIDENTIAL

<sun-type5-keyboard>.status
Synopsis
<sun-type5-keyboard>.status
Description
Print detailed information about the current status of the device.

2208

VIRTUTECH CONFIDENTIAL

sun-type5-mouse
Provided by
sun-components
Class Hierarchy
conf-object log-object component sun-type5-mouse
Interfaces Implemented
log_object, component
Description
The sun-type5-mouse component represents a Sun Type 5 serial mouse for use in
Sun systems.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<sun-type5-mouse>.info
Synopsis
<sun-type5-mouse>.info
Description
Print detailed information about the configuration of the device.

2209

VIRTUTECH CONFIDENTIAL

<sun-type5-mouse>.status
Synopsis
<sun-type5-mouse>.status
Description
Print detailed information about the current status of the device.

2210

VIRTUTECH CONFIDENTIAL

sun4u-ac
Provided by
sunfire-devices
Class Hierarchy
conf-object log-object sun4u-ac
Interfaces Implemented
log_object, io_memory
Description
The sun4u-ac device implements the address controller found on all SunFire system
boards. It currently only contains dummy registers for reading and writing. All use of
unimplemented functionality in the sun4u-ac is reported.

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
bank0_mask
Optional attribute; read/write access; type: unknown type.
Bank 0 Upper Mask, i.e., bits 50:39 in the Bank 0 Memory Decoding register.
Writing this attribute also sets bits 9:6.
bank0_match
Optional attribute; read/write access; type: unknown type.
Bank 0 Upper Match, i.e., bits 26:12 in the Bank 0 Memory Decoding register.
bank0_valid
Optional attribute; read/write access; type: unknown type.
Bank 0 Valid; bit 63 in the Bank 0 Memory Decode register.
bank1_mask
Optional attribute; read/write access; type: unknown type.
Bank 1 Upper Mask, i.e., bits 50:39 in the Bank 1 Memory Decoding register.
Writing this attribute also sets bits 9:6.
bank1_match
Optional attribute; read/write access; type: unknown type.
Bank 1 Upper Match, i.e., bits 26:12 in the Bank 1 Memory Decoding register.
2211

VIRTUTECH CONFIDENTIAL
bank1_valid
Optional attribute; read/write access; type: unknown type.
Bank 1 Valid; bit 63 in the Bank 1 Memory Decoding register.
brd_conf
Optional attribute; read/write access; type: unknown type.
The Board Configuration register.
brd_reset
Optional attribute; read/write access; type: unknown type.
The Board Reset register.
err_mask
Optional attribute; read/write access; type: unknown type.
The Error Mask register.
mem_ctl
Optional attribute; read/write access; type: unknown type.
The Memory Control register.
port_conf0
Optional attribute; read/write access; type: unknown type.
The UPA 0 Port Configuration register.
port_conf1
Optional attribute; read/write access; type: unknown type.
The UPA 1 Port Configuration register.

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

2212

VIRTUTECH CONFIDENTIAL

sun4u-clockregs
Provided by
sunfire-devices
Class Hierarchy
conf-object log-object sun4u-clockregs
Interfaces Implemented
log_object, io_memory
Description
The sun4u-clockregs class implements the Clock Frequency Registers found on the
clock board. Most of the registers are dummy, although they do return valid data on
reads, and check for valid data on writes.

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
clk_reg1
Optional attribute; read/write access; type: unknown type.
Register at offset 0.
clk_reg2
Optional attribute; read/write access; type: unknown type.
Register at offset 2.
clk_reg3
Optional attribute; read/write access; type: unknown type.
Register at offset 6.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

2213

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sun4u-clockregs>.info
Synopsis
<sun4u-clockregs>.info
Description
Print detailed information about the clockregs device.

2214

VIRTUTECH CONFIDENTIAL

sun4u-counter
Provided by
sunfire-devices
Class Hierarchy
conf-object log-object sun4u-counter
Interfaces Implemented
log_object, event_poster, io_memory
Description
The sun4u-counter device simulates the Counter/Timer device found in sun4u systems. It provides two independent counters running at 1 MHz. A count limit can be
set and an interrupt is asserted when the counter reaches this limit.

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
count0
Optional attribute; read/write access; type: unknown type.
Value of counter 0.
count1
Optional attribute; read/write access; type: unknown type.
Value of counter 1.
cycles_last0
Optional attribute; read/write access; type: unknown type.
time stamp (non visible).
cycles_last1
Optional attribute; read/write access; type: unknown type.
time stamp (non visible).
inten0
Optional attribute; read/write access; type: unknown type.
Interrupt enabled on counter 0.

2215

VIRTUTECH CONFIDENTIAL
inten1
Optional attribute; read/write access; type: unknown type.
Interrupt enabled on counter 0.
irq_dev
Required attribute; read/write access; type: unknown type.
Object must implement the simple-interrupt interface.
irq_pending0
Optional attribute; read/write access; type: unknown type.
If an interrupt has been put in event queue (non visible).
irq_pending1
Optional attribute; read/write access; type: unknown type.
If an interrupt has been put in event queue (non visible).
limit0
Optional attribute; read/write access; type: unknown type.
Limit of counter 0, an interrupt is generated when the counter reaches the limit.
limit1
Optional attribute; read/write access; type: unknown type.
Limit of counter 0, an interrupt is generated when the counter reaches the limit.
periodic0
Optional attribute; read/write access; type: unknown type.
If set, the counter 0 is set to zero when limit has been reached.
periodic1
Optional attribute; read/write access; type: unknown type.
If set, the counter 0 is set to zero when limit has been reached.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

2216

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sun4u-counter>.info
Synopsis
<sun4u-counter>.info
Description
Print detailed information about the counter device.

2217

VIRTUTECH CONFIDENTIAL

sun4u-fasdma
Provided by
sun4u-fasdma
Class Hierarchy
conf-object log-object sun4u-fasdma
Interfaces Implemented
log_object, event_poster, io_memory
Description
The sun4u-fasdma is the DMA device found connected to the FAS366 SCSI controller
in sun4u systems. NOTE: Programming interface not documented.

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
cnt
Optional attribute; read/write access; type: unknown type.
The number of bytes in current transfer.
cond_reg
Optional attribute; read/write access; type: unknown type.
The DMA condition register.
dma_test
Optional attribute; read/write access; type: unknown type.
The DMA test register.
enable_obj
Optional attribute; read/write access; type: unknown type.
Object receiving callback when DMA is enabled, implementing the callback
interface.
iommu
Optional attribute; read/write access; type: unknown type.
Obsolete - checkpoint compatibility only.

2218

VIRTUTECH CONFIDENTIAL
memory
Required attribute; read/write access; type: unknown type.
The DMA memory space used, implementing the lookup interface.
sbus_slot
Optional attribute; read/write access; type: unknown type.
Obsolete - checkpoint compatibility only.
st_addr
Optional attribute; read/write access; type: unknown type.
Start address of current transfer.

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

2219

VIRTUTECH CONFIDENTIAL

sun4u-fhc
Provided by
sunfire-devices
Class Hierarchy
conf-object log-object sun4u-fhc
Interfaces Implemented
log_object, event_poster, simple_interrupt, io_memory
Description
The sun4u-fhc device models the FireHose Controller found in SunFire server systems.

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
fhc_board_status
Optional attribute; read/write access; type: unknown type.
THE FHC Board Status Register.
fhc_cntrl
Optional attribute; read/write access; type: unknown type.
The FHC Control Register
fhc_ecc
Optional attribute; read/write access; type: unknown type.
The FHC ECC Register.
fhc_id
Optional attribute; read/write access; type: unknown type.
The FHC ID Register
fhc_list
Optional attribute; read/write access; type: [o].
List of all other fhc devices in the system
fhc_reset_cntrl_status
Optional attribute; read/write access; type: unknown type.
The FHC Reset Control Register
2220

VIRTUTECH CONFIDENTIAL
int_grp
Optional attribute; read/write access; type: unknown type.
The FHC Interrupt Group Number Register.
irq_bus
Required attribute; read/write access; type: unknown type.
The interrupt bus object used to send and receive interrupts.
irq_names
Pseudo attribute; read-only access; type: [s]; integer indexed; indexed type:
String.
List of names of all the interrupts.
jtag_cntrl
Optional attribute; read/write access; type: unknown type.
The FHC jtag Control Register.
jtag_command
Optional attribute; read/write access; type: unknown type.
The FHC jtag Command Register.
level
Optional attribute; read/write access; type: unknown type.
List of current input level for all interrupt sources. If level is set, theinput line is
still raised.
mid
Required attribute; read/write access; type: unknown type.
The module id of the fhc device.
state
Optional attribute; read/write access; type: unknown type.
List of current state for all interrupt sources.
tid
Optional attribute; read/write access; type: unknown type.
List of TID (target id) for all interrupt sources.
valid
Optional attribute; read/write access; type: unknown type.
List of valid bits for all interrupt sources.
workaround_linux_bug
Optional attribute; read/write access; type: unknown type.
The linux 2.4 kernels doesnt enable serial interrupt properly during boot. Setting
this attribute will work around it by never allowing the serial interrupt to be
disabled.
2221

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

Command Descriptions
<sun4u-fhc>.info
Synopsis
<sun4u-fhc>.info
Description
Print detailed information about the fhc device.

2222

VIRTUTECH CONFIDENTIAL

sun4u-sbus-speed
Provided by
sunfire-devices
Class Hierarchy
conf-object log-object sun4u-sbus-speed
Interfaces Implemented
log_object, io_memory
Description
The sun4u-sbus-speed device implements the Sbus Speed Register found on the FireHose Bus. The register is a dummy, that return a fixed value on read.

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

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

2223

VIRTUTECH CONFIDENTIAL

sun4u-simm-status
Provided by
sunfire-devices
Class Hierarchy
conf-object log-object sun4u-simm-status
Interfaces Implemented
log_object, io_memory
Description
The sun4u-simm-status device implements the SIMM status registers. The device is
connected to the FireHose bus. The results are hardcoded at this time. The sun4usimm-status does support unloading.

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
connector
Optional attribute; read/write access; type: unknown type.
The SIMM status registers, as a list of 16 bytes.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

Command Descriptions
<sun4u-simm-status>.info
Synopsis
<sun4u-simm-status>.info

2224

VIRTUTECH CONFIDENTIAL
Description
Print detailed information about the simm-status device.

2225

VIRTUTECH CONFIDENTIAL

sun4u-systemregs
Provided by
sunfire-devices
Class Hierarchy
conf-object log-object sun4u-systemregs
Interfaces Implemented
log_object, io_memory
Description
The sun4u-systemregs device implements the System Control Registers found on the
clock board. Most of the registers are dummy, although they do return valid data on
reads, and check for valid data on writes.

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
ppp_stat
Optional attribute; read/write access; type: unknown type.
Precharge and peripheral power status register.
pwr_pres
Optional attribute; read/write access; type: unknown type.
Power supply presence register.
pwr_stat
Optional attribute; read/write access; type: unknown type.
Power supply status register.
show_leds
Session attribute; read/write access; type: unknown type.
If set to non-zero, changes to the front LEDs will be printed.
slots
Pseudo attribute; read/write access; type: unknown type.
Number of slots (reformatted mirror of the SLOTS field in status register 1).

2226

VIRTUTECH CONFIDENTIAL
sys_ctrl
Optional attribute; read/write access; type: unknown type.
System control register.
sys_irq
Optional attribute; read/write access; type: unknown type.
System interrupt register.
sys_stat1
Optional attribute; read/write access; type: unknown type.
System status register 1.
sys_stat2
Optional attribute; read/write access; type: unknown type.
System status register 2.
temp
Optional attribute; read/write access; type: unknown type.
Temperature register.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
hide-leds
info
show-leds

Dont show changes to the system LEDs


print information about the device
Show changes to the system LEDs

Command Descriptions
<sun4u-systemregs>.hide-leds
Synopsis
<sun4u-systemregs>.hide-leds
Description
Dont show when the system LEDs are turned on or off.

<sun4u-systemregs>.info
Synopsis
<sun4u-systemregs>.info
2227

VIRTUTECH CONFIDENTIAL
Description
Print detailed information about the systemregs device.

<sun4u-systemregs>.show-leds
Synopsis
<sun4u-systemregs>.show-leds
Description
Show when any of the three system LEDs are turned on or off.

2228

VIRTUTECH CONFIDENTIAL

sun4u-temperature
Provided by
sunfire-devices
Class Hierarchy
conf-object log-object sun4u-temperature
Interfaces Implemented
log_object, io_memory
Description
The sun4u-temperature device implements the Temperature Register found on the
FireHose Bus. The register is a dummy, returning a fixed value on read.

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
temp
Optional attribute; read/write access; type: unknown type.
The temperature as it would be read from a physical A/D converter. C.f. sun4u/
io/fhc.c.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

Command Descriptions
<sun4u-temperature>.info
Synopsis
<sun4u-temperature>.info

2229

VIRTUTECH CONFIDENTIAL
Description
Print detailed information about the temperature device.

2230

VIRTUTECH CONFIDENTIAL

sun4u-trans2
Provided by
sunfire-devices
Class Hierarchy
conf-object log-object sun4u-trans2
Interfaces Implemented
log_object, translate
Description
The sun4u-trans2 device translates memory accesses based on the local and central
device mappings in SunFire server systems.

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
board_0_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 0.
board_10_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 10.
board_11_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 11.
board_12_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 12.
board_13_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 13.

2231

VIRTUTECH CONFIDENTIAL
board_14_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 14.
board_15_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 15.
board_1_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 1.
board_2_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 2.
board_3_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 3.
board_4_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 4.
board_5_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 5.
board_6_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 6.
board_7_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 7.
board_8_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 8.
board_9_device_space
Optional attribute; read/write access; type: unknown type.
Memory space object to translate to for board 9.
master_upa
Optional attribute; read/write access; type: unknown type.
Master UPA.
2232

VIRTUTECH CONFIDENTIAL

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

2233

VIRTUTECH CONFIDENTIAL

sun4v-rtc
Provided by
sun4v-rtc
Class Hierarchy
conf-object log-object sun4v-rtc
Interfaces Implemented
log_object, io_memory
Description
Real time clock for sun4v systems.

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
start_time
Optional attribute; read/write access; type: Integer.
The time, as seconds in standard Unix format, when the simulation was started.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<sun4v-rtc>.info
Synopsis
<sun4v-rtc>.info
Description
Print detailed information about the configuration of the device.
2234

VIRTUTECH CONFIDENTIAL

<sun4v-rtc>.status
Synopsis
<sun4v-rtc>.status
Description
Print detailed information about the current status of the device.

2235

VIRTUTECH CONFIDENTIAL

sunfire-3500-backplane
Provided by
sunfire-components
Class Hierarchy
conf-object log-object component top-component sunfire-3500-backplane
Interfaces Implemented
log_object, component
Description
The sunfire-3500-backplane component represents the chassis, backplane and clockboard of a Sun Enterprise 3500 server, with slots for up to five boards.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz. Supported frequencies are 168, 200, 248, 296, 336,
360, 400, 464, 496, 592, 720, 800, 992.
hostid
Required attribute; read/write access; type: Integer.
The hostid of the machine.
mac_address
Required attribute; read/write access; type: String.
The main MAC address is the machine.
master_cpu
Optional attribute; read/write access; type: s|o.
Internal attribute.
2236

VIRTUTECH CONFIDENTIAL
obp_bugfix_done
Optional attribute; read/write access; type: b.
Internal attribute.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-nvram-hostid
get-nvram-mac
get-prom-env
info
key-switch
set-nvram-hostid
set-nvram-mac
set-prom-defaults
set-prom-env
status

get the Sun hostid from NVRAM


get the default MAC from NVRAM
get an OBP environment variable
print information about the device
Change key switch position
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
restore all OBP variables
set an OBP environment variable
print status of the device

Command Descriptions
<sunfire-3500-backplane>.get-nvram-hostid
Synopsis
<sunfire-3500-backplane>.get-nvram-hostid
Description
Reads the Sun hostid from the NVRAM.
See Also
<sunfire-3500-backplane>.set-nvram-hostid, <sunfire-3500-backplane>.get-nvram-mac,
<sunfire-3500-backplane>.set-nvram-mac

<sunfire-3500-backplane>.get-nvram-mac
Synopsis
<sunfire-3500-backplane>.get-nvram-mac
Description
Reads the default MAC address from the NVRAM.
2237

VIRTUTECH CONFIDENTIAL
See Also
<sunfire-3500-backplane>.get-nvram-hostid, <sunfire-3500-backplane>.set-nvram-hostid,
<sunfire-3500-backplane>.set-nvram-mac

<sunfire-3500-backplane>.get-prom-env
Synopsis
<sunfire-3500-backplane>.get-prom-env [variable]
Description
Prints an OBP variable with its value, or all variables if no argument is specified. Only
variables with string, integer, boolean and enumeration types are supported.
See Also
<sunfire-3500-backplane>.set-prom-env

<sunfire-3500-backplane>.info
Synopsis
<sunfire-3500-backplane>.info
Description
Print detailed information about the configuration of the device.

<sunfire-3500-backplane>.key-switch
Synopsis
<sunfire-3500-backplane>.key-switch [position]
Description
Changes the position of the key-switch on the clock-board. Possible arguments are
diag, insecure and secure. If no argument is specified, the current position is
reported.

<sunfire-3500-backplane>.set-nvram-hostid
Synopsis
<sunfire-3500-backplane>.set-nvram-hostid hostid
Description
Writes the Sun hostid into the NVRAM.
See Also
<sunfire-3500-backplane>.get-nvram-hostid, <sunfire-3500-backplane>.get-nvrammac, <sunfire-3500-backplane>.set-nvram-mac

2238

VIRTUTECH CONFIDENTIAL

<sunfire-3500-backplane>.set-nvram-mac
Synopsis
<sunfire-3500-backplane>.set-nvram-mac mac
Description
Writes the default MAC address into the NVRAM.
See Also
<sunfire-3500-backplane>.get-nvram-hostid, <sunfire-3500-backplane>.set-nvram-hostid,
<sunfire-3500-backplane>.get-nvram-mac

<sunfire-3500-backplane>.set-prom-defaults
Synopsis
<sunfire-3500-backplane>.set-prom-defaults
Description
Restores all OBP variables to their default values.
See Also
<sunfire-3500-backplane>.get-prom-env, <sunfire-3500-backplane>.set-prom-env

<sunfire-3500-backplane>.set-prom-env
Synopsis
<sunfire-3500-backplane>.set-prom-env variable (int|string)
Description
Sets the value OBP variable in the NVRAM. Only variables with string, integer, boolean
and enumeration types are supported.
See Also
<sunfire-3500-backplane>.get-prom-env

<sunfire-3500-backplane>.status
Synopsis
<sunfire-3500-backplane>.status
Description
Print detailed information about the current status of the device.

2239

VIRTUTECH CONFIDENTIAL

sunfire-4500-backplane
Provided by
sunfire-components
Class Hierarchy
conf-object log-object component top-component sunfire-4500-backplane
Interfaces Implemented
log_object, component
Description
The sunfire-4500-backplane component represents the chassis, backplane and clockboard of a Sun Enterprise 4500 server, with slots for up to eight boards.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz. Supported frequencies are 168, 200, 248, 296, 336,
360, 400, 464, 496, 592, 720, 800, 992.
hostid
Required attribute; read/write access; type: Integer.
The hostid of the machine.
mac_address
Required attribute; read/write access; type: String.
The main MAC address is the machine.
master_cpu
Optional attribute; read/write access; type: s|o.
Internal attribute.
2240

VIRTUTECH CONFIDENTIAL
obp_bugfix_done
Optional attribute; read/write access; type: b.
Internal attribute.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-nvram-hostid
get-nvram-mac
get-prom-env
info
key-switch
set-nvram-hostid
set-nvram-mac
set-prom-defaults
set-prom-env
status

get the Sun hostid from NVRAM


get the default MAC from NVRAM
get an OBP environment variable
print information about the device
Change key switch position
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
restore all OBP variables
set an OBP environment variable
print status of the device

Command Descriptions
<sunfire-4500-backplane>.get-nvram-hostid
Synopsis
<sunfire-4500-backplane>.get-nvram-hostid
Description
Reads the Sun hostid from the NVRAM.
See Also
<sunfire-4500-backplane>.set-nvram-hostid, <sunfire-4500-backplane>.get-nvram-mac,
<sunfire-4500-backplane>.set-nvram-mac

<sunfire-4500-backplane>.get-nvram-mac
Synopsis
<sunfire-4500-backplane>.get-nvram-mac
Description
Reads the default MAC address from the NVRAM.
2241

VIRTUTECH CONFIDENTIAL
See Also
<sunfire-4500-backplane>.get-nvram-hostid, <sunfire-4500-backplane>.set-nvram-hostid,
<sunfire-4500-backplane>.set-nvram-mac

<sunfire-4500-backplane>.get-prom-env
Synopsis
<sunfire-4500-backplane>.get-prom-env [variable]
Description
Prints an OBP variable with its value, or all variables if no argument is specified. Only
variables with string, integer, boolean and enumeration types are supported.
See Also
<sunfire-4500-backplane>.set-prom-env

<sunfire-4500-backplane>.info
Synopsis
<sunfire-4500-backplane>.info
Description
Print detailed information about the configuration of the device.

<sunfire-4500-backplane>.key-switch
Synopsis
<sunfire-4500-backplane>.key-switch [position]
Description
Changes the position of the key-switch on the clock-board. Possible arguments are
diag, insecure and secure. If no argument is specified, the current position is
reported.

<sunfire-4500-backplane>.set-nvram-hostid
Synopsis
<sunfire-4500-backplane>.set-nvram-hostid hostid
Description
Writes the Sun hostid into the NVRAM.
See Also
<sunfire-4500-backplane>.get-nvram-hostid, <sunfire-4500-backplane>.get-nvrammac, <sunfire-4500-backplane>.set-nvram-mac

2242

VIRTUTECH CONFIDENTIAL

<sunfire-4500-backplane>.set-nvram-mac
Synopsis
<sunfire-4500-backplane>.set-nvram-mac mac
Description
Writes the default MAC address into the NVRAM.
See Also
<sunfire-4500-backplane>.get-nvram-hostid, <sunfire-4500-backplane>.set-nvram-hostid,
<sunfire-4500-backplane>.get-nvram-mac

<sunfire-4500-backplane>.set-prom-defaults
Synopsis
<sunfire-4500-backplane>.set-prom-defaults
Description
Restores all OBP variables to their default values.
See Also
<sunfire-4500-backplane>.get-prom-env, <sunfire-4500-backplane>.set-prom-env

<sunfire-4500-backplane>.set-prom-env
Synopsis
<sunfire-4500-backplane>.set-prom-env variable (int|string)
Description
Sets the value OBP variable in the NVRAM. Only variables with string, integer, boolean
and enumeration types are supported.
See Also
<sunfire-4500-backplane>.get-prom-env

<sunfire-4500-backplane>.status
Synopsis
<sunfire-4500-backplane>.status
Description
Print detailed information about the current status of the device.

2243

VIRTUTECH CONFIDENTIAL

sunfire-6500-backplane
Provided by
sunfire-components
Class Hierarchy
conf-object log-object component top-component sunfire-6500-backplane
Interfaces Implemented
log_object, component
Description
The sunfire-6500-backplane component represents the chassis, backplane and clockboard of a Sun Enterprise 6500 server, with slots for up to sixteen boards.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz. Supported frequencies are 168, 200, 248, 296, 336,
360, 400, 464, 496, 592, 720, 800, 992.
hostid
Required attribute; read/write access; type: Integer.
The hostid of the machine.
mac_address
Required attribute; read/write access; type: String.
The main MAC address is the machine.
master_cpu
Optional attribute; read/write access; type: s|o.
Internal attribute.
2244

VIRTUTECH CONFIDENTIAL
obp_bugfix_done
Optional attribute; read/write access; type: b.
Internal attribute.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-nvram-hostid
get-nvram-mac
get-prom-env
info
key-switch
set-nvram-hostid
set-nvram-mac
set-prom-defaults
set-prom-env
status

get the Sun hostid from NVRAM


get the default MAC from NVRAM
get an OBP environment variable
print information about the device
Change key switch position
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
restore all OBP variables
set an OBP environment variable
print status of the device

Command Descriptions
<sunfire-6500-backplane>.get-nvram-hostid
Synopsis
<sunfire-6500-backplane>.get-nvram-hostid
Description
Reads the Sun hostid from the NVRAM.
See Also
<sunfire-6500-backplane>.set-nvram-hostid, <sunfire-6500-backplane>.get-nvram-mac,
<sunfire-6500-backplane>.set-nvram-mac

<sunfire-6500-backplane>.get-nvram-mac
Synopsis
<sunfire-6500-backplane>.get-nvram-mac
Description
Reads the default MAC address from the NVRAM.
2245

VIRTUTECH CONFIDENTIAL
See Also
<sunfire-6500-backplane>.get-nvram-hostid, <sunfire-6500-backplane>.set-nvram-hostid,
<sunfire-6500-backplane>.set-nvram-mac

<sunfire-6500-backplane>.get-prom-env
Synopsis
<sunfire-6500-backplane>.get-prom-env [variable]
Description
Prints an OBP variable with its value, or all variables if no argument is specified. Only
variables with string, integer, boolean and enumeration types are supported.
See Also
<sunfire-6500-backplane>.set-prom-env

<sunfire-6500-backplane>.info
Synopsis
<sunfire-6500-backplane>.info
Description
Print detailed information about the configuration of the device.

<sunfire-6500-backplane>.key-switch
Synopsis
<sunfire-6500-backplane>.key-switch [position]
Description
Changes the position of the key-switch on the clock-board. Possible arguments are
diag, insecure and secure. If no argument is specified, the current position is
reported.

<sunfire-6500-backplane>.set-nvram-hostid
Synopsis
<sunfire-6500-backplane>.set-nvram-hostid hostid
Description
Writes the Sun hostid into the NVRAM.
See Also
<sunfire-6500-backplane>.get-nvram-hostid, <sunfire-6500-backplane>.get-nvrammac, <sunfire-6500-backplane>.set-nvram-mac

2246

VIRTUTECH CONFIDENTIAL

<sunfire-6500-backplane>.set-nvram-mac
Synopsis
<sunfire-6500-backplane>.set-nvram-mac mac
Description
Writes the default MAC address into the NVRAM.
See Also
<sunfire-6500-backplane>.get-nvram-hostid, <sunfire-6500-backplane>.set-nvram-hostid,
<sunfire-6500-backplane>.get-nvram-mac

<sunfire-6500-backplane>.set-prom-defaults
Synopsis
<sunfire-6500-backplane>.set-prom-defaults
Description
Restores all OBP variables to their default values.
See Also
<sunfire-6500-backplane>.get-prom-env, <sunfire-6500-backplane>.set-prom-env

<sunfire-6500-backplane>.set-prom-env
Synopsis
<sunfire-6500-backplane>.set-prom-env variable (int|string)
Description
Sets the value OBP variable in the NVRAM. Only variables with string, integer, boolean
and enumeration types are supported.
See Also
<sunfire-6500-backplane>.get-prom-env

<sunfire-6500-backplane>.status
Synopsis
<sunfire-6500-backplane>.status
Description
Print detailed information about the current status of the device.

2247

VIRTUTECH CONFIDENTIAL

sunfire-cpu-board
Provided by
sunfire-components
Class Hierarchy
conf-object log-object component sunfire-cpu-board
Interfaces Implemented
log_object, component
Description
The sunfire-cpu-board component represents a processor board with up to two
UltraSPARC II processors and 4GB of memory, for use in Sun Enterprise 3500-6500
servers.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes on the processor board.
num_cpus
Required attribute; read/write access; type: Integer.
Number of processors on the board (1 or 2).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2248

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sunfire-cpu-board>.info
Synopsis
<sunfire-cpu-board>.info
Description
Print detailed information about the configuration of the device.

<sunfire-cpu-board>.status
Synopsis
<sunfire-cpu-board>.status
Description
Print detailed information about the current status of the device.

2249

VIRTUTECH CONFIDENTIAL

sunfire-pci-board
Provided by
sunfire-components
Class Hierarchy
conf-object log-object component sunfire-pci-board
Interfaces Implemented
log_object, component
Description
The sunfire-pci-board component represents an I/O board with slots for up to two
PCI cards, for use in Sun Enterprise 3500-6500 servers. The board has one HME ethernet controller and one ISP SCSI controller on-board.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
mac_address
Required attribute; read/write access; type: String.
The MAC address of the onboard Ethernet adapter.
scsi_id
Optional attribute; read/write access; type: Integer.
The ID on the SCSI bus.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2250

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sunfire-pci-board>.info
Synopsis
<sunfire-pci-board>.info
Description
Print detailed information about the configuration of the device.

<sunfire-pci-board>.status
Synopsis
<sunfire-pci-board>.status
Description
Print detailed information about the current status of the device.

2251

VIRTUTECH CONFIDENTIAL

sunfire-psycho
Provided by
sunfire-psycho
Class Hierarchy
conf-object log-object sunfire-psycho
Interfaces Implemented
log_object, bridge, pci_bridge, event_poster, simple_interrupt, io_memory
Description
The sunfire-psycho device models the UPA-to-PCI bridge found in SunFire server systems.

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
PCI_A_pbm_regs
Optional attribute; read/write access; type: unknown type.
(PCI-command, PCI-latency, bus-number, sub-bus-number); PCI CSR registers for
bus A.
PCI_B_pbm_regs
Optional attribute; read/write access; type: unknown type.
(PCI-command, PCI-latency, bus-number, sub-bus-number); PCI CSR registers for
bus B.
count0
Optional attribute; read/write access; type: unknown type.
Value of counter 0.
count1
Optional attribute; read/write access; type: unknown type.
Value of counter 1.
ctrl
Optional attribute; read/write access; type: unknown type.
Sysio Control Register
2252

VIRTUTECH CONFIDENTIAL
cycles_last0
Optional attribute; read/write access; type: unknown type.
time stamp (non visible).
cycles_last1
Optional attribute; read/write access; type: unknown type.
time stamp (non visible).
ecc
Optional attribute; read/write access; type: unknown type.
Sysio ECC Register
inten0
Optional attribute; read/write access; type: unknown type.
Interrupt enabled on counter 0.
inten1
Optional attribute; read/write access; type: unknown type.
Interrupt enabled on counter 0.
io_space
Required attribute; read/write access; type: unknown type.
The object to be used as I/O space, implementing the interface lookup.
iommu_base
Optional attribute; read/write access; type: unknown type.
The TSB Base Address.
iommu_ctrl
Optional attribute; read/write access; type: unknown type.
The IOMMU control register.
irq_bus
Required attribute; read/write access; type: unknown type.
The interrupt bus object used to send and receive interrupts.
irq_names
Pseudo attribute; read-only access; type: [s]; integer indexed; indexed type:
String.
Returns a string representing the name of a given interrupt (or a list of strings for
all interrupts if no index is given). This is a read-only pseudo attribute.
irq_pending0
Optional attribute; read/write access; type: unknown type.
If an interrupt has been put in event queue (non visible).
2253

VIRTUTECH CONFIDENTIAL
irq_pending1
Optional attribute; read/write access; type: unknown type.
If an interrupt has been put in event queue (non visible).
level
Optional attribute; read/write access; type: unknown type.
(level-0, . . . level-51) is a list of 52 elements (integers), representing interrupt levels
of the corresponding interrupts.
limit0
Optional attribute; read/write access; type: unknown type.
Limit of counter 0, an interrupt is generated when the counter reaches the limit.
limit1
Optional attribute; read/write access; type: unknown type.
Limit of counter 0, an interrupt is generated when the counter reaches the limit.
memory
Required attribute; read/write access; type: unknown type.
Physical memory object. It must define the lookup interface.
mid
Required attribute; read/write access; type: unknown type.
Module ID of the sysio board.
pci_busA
Required attribute; read/write access; type: unknown type.
The object to be used as PCI bus A, implementing the interface io-memory.
pci_busB
Required attribute; read/write access; type: unknown type.
The object to be used as PCI bus B, implementing the interface io-memory.
periodic0
Optional attribute; read/write access; type: unknown type.
If set, the counter 0 is set to zero when limit has been reached.
periodic1
Optional attribute; read/write access; type: unknown type.
If set, the counter 0 is set to zero when limit has been reached.
sbuf_b_diag
Optional attribute; read/write access; type: unknown type.
Streambuffer diagnostics enabled.

2254

VIRTUTECH CONFIDENTIAL
sbuf_b_enabled
Optional attribute; read/write access; type: unknown type.
Streaming enabled.
sbuf_diag
Optional attribute; read/write access; type: unknown type.
Streambuffer diagnostics enabled.
sbuf_enabled
Optional attribute; read/write access; type: unknown type.
Streaming enabled.
state
Optional attribute; read/write access; type: unknown type.
(state-0, . . . state-51) is a list of 52 elements (integers), representing the states of
the corresponding interrupts.
tid
Optional attribute; read/write access; type: unknown type.
(target-0, . . . target-51) is a list of 52 elements (integers), representing target IDs
for every interrupt.
upa_conf
Optional attribute; read/write access; type: unknown type.
Sysio UPA Configuration Register
valid
Optional attribute; read/write access; type: unknown type.
(irq-0, . . . irq-51) is a list of 52 elements (integers), representing enabled/disabled
state for each interrupt

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
irq-info
status

print information about the device


print interrupt information
print status of the device

2255

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sunfire-psycho>.info
Synopsis
<sunfire-psycho>.info
Description
Print detailed information about the configuration of the device.

<sunfire-psycho>.irq-info
Synopsis
<sunfire-psycho>.irq-info
Description
Print detailed information about the interrupt state for the sunfire-psycho device.

<sunfire-psycho>.status
Synopsis
<sunfire-psycho>.status
Description
Print detailed information about the current status of the device.

2256

VIRTUTECH CONFIDENTIAL

sunfire-sbus-board
Provided by
sunfire-components
Class Hierarchy
conf-object log-object component sunfire-sbus-board
Interfaces Implemented
log_object, component
Description
The sunfire-sbus-board component represents an I/O board with slots for up to
three SBus cards, for use in Sun Enterprise 3500-6500 servers. The board has one HME
ethernet controller and one FAS SCSI controller on-board.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
mac_address
Required attribute; read/write access; type: String.
The MAC address of the onboard Ethernet adapter.
scsi_id
Optional attribute; read/write access; type: Integer.
The ID on the SCSI bus.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2257

VIRTUTECH CONFIDENTIAL

Command Descriptions
<sunfire-sbus-board>.info
Synopsis
<sunfire-sbus-board>.info
Description
Print detailed information about the configuration of the device.

<sunfire-sbus-board>.status
Synopsis
<sunfire-sbus-board>.status
Description
Print detailed information about the current status of the device.

2258

VIRTUTECH CONFIDENTIAL

sunfire-sysio
Provided by
sunfire-sysio
Class Hierarchy
conf-object log-object sunfire-sysio
Interfaces Implemented
log_object, event_poster, simple_interrupt, translate, io_memory
Description
The sunfire-sysio device models the UPA-to-SBus bridge found in SunFire server systems.

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
count0
Optional attribute; read/write access; type: unknown type.
Value of counter 0.
count1
Optional attribute; read/write access; type: unknown type.
Value of counter 1.
ctrl
Optional attribute; read/write access; type: unknown type.
Sysio Control Register
cycles_last0
Optional attribute; read/write access; type: unknown type.
time stamp (non visible).
cycles_last1
Optional attribute; read/write access; type: unknown type.
time stamp (non visible).

2259

VIRTUTECH CONFIDENTIAL
ecc
Optional attribute; read/write access; type: unknown type.
Sysio ECC Register
inten0
Optional attribute; read/write access; type: unknown type.
Interrupt enabled on counter 0.
inten1
Optional attribute; read/write access; type: unknown type.
Interrupt enabled on counter 0.
iommu_base
Optional attribute; read/write access; type: unknown type.
The TSB Base Address.
iommu_ctrl
Optional attribute; read/write access; type: unknown type.
The IOMMU control register.
irq_bus
Required attribute; read/write access; type: unknown type.
The interrupt bus object used to send and receive interrupts.
irq_names
Pseudo attribute; read-only access; type: [s]; integer indexed; indexed type:
String.
Returns a string representing the name of a given interrupt (or a list of strings for
all interrupts if no index is given). This is a read-only pseudo attribute.
irq_pending0
Optional attribute; read/write access; type: unknown type.
If an interrupt has been put in event queue (non visible).
irq_pending1
Optional attribute; read/write access; type: unknown type.
If an interrupt has been put in event queue (non visible).
level
Optional attribute; read/write access; type: unknown type.
(level-0, . . . level-51) is a list of 52 elements (integers), representing interrupt levels
of the corresponding interrupts.
limit0
Optional attribute; read/write access; type: unknown type.
Limit of counter 0, an interrupt is generated when the counter reaches the limit.
2260

VIRTUTECH CONFIDENTIAL
limit1
Optional attribute; read/write access; type: unknown type.
Limit of counter 0, an interrupt is generated when the counter reaches the limit.
memory
Required attribute; read/write access; type: unknown type.
Physical memory object. It must define the lookup interface.
mid
Required attribute; read/write access; type: unknown type.
Module ID of the sysio board.
periodic0
Optional attribute; read/write access; type: unknown type.
If set, the counter 0 is set to zero when limit has been reached.
periodic1
Optional attribute; read/write access; type: unknown type.
If set, the counter 0 is set to zero when limit has been reached.
sbuf_diag
Optional attribute; read/write access; type: unknown type.
Streambuffer diagnostics enabled.
sbuf_enabled
Optional attribute; read/write access; type: unknown type.
Streaming enabled.
sbus_cfg
Optional attribute; read/write access; type: unknown type.
(s0, s1, s2, s3, s13, s14, s15) Configuration Register.
sbus_ctrl
Optional attribute; read/write access; type: unknown type.
SBus Control Register
state
Optional attribute; read/write access; type: unknown type.
(state-0, . . . state-51) is a list of 52 elements (integers), representing the states of
the corresponding interrupts.
tid
Optional attribute; read/write access; type: unknown type.
(target-0, . . . target-51) is a list of 52 elements (integers), representing target IDs
for every interrupt.
2261

VIRTUTECH CONFIDENTIAL
upa_conf
Optional attribute; read/write access; type: unknown type.
Sysio UPA Configuration Register
valid
Optional attribute; read/write access; type: unknown type.
(irq-0, . . . irq-51) is a list of 52 elements (integers), representing enabled/disabled
state for each interrupt

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
irq-info
sbus-info
status

print information about the device


print interrupt information
print information about the device
print status of the device

Command Descriptions
<sunfire-sysio>.info
Synopsis
<sunfire-sysio>.info
Description
Print detailed information about the configuration of the device.

<sunfire-sysio>.irq-info
Synopsis
<sunfire-sysio>.irq-info
Description
Print detailed information about the interrupt state for the sunfire-sysio device.

<sunfire-sysio>.sbus-info
Synopsis
<sunfire-sysio>.sbus-info

2262

VIRTUTECH CONFIDENTIAL
Description
Print detailed information about the sbus settings for the sunfire-sysio device.

<sunfire-sysio>.status
Synopsis
<sunfire-sysio>.status
Description
Print detailed information about the current status of the device.

2263

VIRTUTECH CONFIDENTIAL

sunfire-system
Provided by
sunfire-system
Class Hierarchy
conf-object log-object sunfire-system
Interfaces Implemented
log_object
Description
The sunfire-system class is deprecated and only distributed for compatibility with old
configurations.

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
all_cpus
Required attribute; read/write access; type: [o].
List of all processors in the machine.
disabled_slaves
Optional attribute; read/write access; type: Integer.
Number of slave processors currently disabled.
master_cpu
Required attribute; read/write access; type: Object.
The master processor in the machine.
max_mem_address
Required attribute; read/write access; type: Integer.
The highest memory (RAM) address in the machine.
mp_speedup_state
Optional attribute; read/write access; type: Integer.
State of the speedup hack for multi-processor boot.

2264

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-prom-env
info
set-prom-defaults
set-prom-env
status

deprecated Get an OBP environment variable


print information about the device
deprecated Restore all OBP variables
deprecated Set an OBP environment variable
print status of the device

Command Descriptions
<sunfire-system>.get-prom-env deprecated
Synopsis
<sunfire-system>.get-prom-env [variable]
Description
This command is deprecated, use <sunfire-6500-backplane>.get-prom-env instead.

<sunfire-system>.info
Synopsis
<sunfire-system>.info
Description
Print detailed information about the configuration of the device.

<sunfire-system>.set-prom-defaults deprecated
Synopsis
<sunfire-system>.set-prom-defaults
Description
This command is deprecated, use <sunfire-6500-backplane>.set-prom-defaults instead.

<sunfire-system>.set-prom-env deprecated
Synopsis
<sunfire-system>.set-prom-env variable (int|string)
Description
This command is deprecated, use <sunfire-6500-backplane>.set-prom-env instead.

2265

VIRTUTECH CONFIDENTIAL

<sunfire-system>.status
Synopsis
<sunfire-system>.status
Description
Print detailed information about the current status of the device.

2266

VIRTUTECH CONFIDENTIAL

SYM53C810
Provided by
SYM53C810
Class Hierarchy
conf-object log-object SYM53C810
Interfaces Implemented
log_object, event_poster, io_memory, pci_device
Description
The SYM53C810 is an advanced SCSI controller with integrated DMA capabilities.
The SYM53C810 device does not support target mode operation and can only act as
initiator during SCSI transactions. The SYM53C810 instruction set implementation is
not complete and foremost load/store instructions are missing. Assembly language
instructions shown with debug level greater than 1 do not comply with the Symbios
Logic assembler format.

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
carry_flag
Optional attribute; read/write access; type: Integer.
carry flag
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
execution_delay
Optional attribute; read/write access; type: Float.
Time in seconds for one SCSI script instruction to execute.
2267

VIRTUTECH CONFIDENTIAL
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
miscellaneous
Optional attribute; read/write access; type: [iiiii].
(io_mode, data_prerequest, phase_valid, issue_next_instruction, waiting_valid_phase)
array of miscellaneous attributes.
operating_registers
Optional attribute; read/write access; type: [i].
(reg1 . . . reg63) of registers.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
prefetched_instructions
Optional attribute; read/write access; type: [i].
(instr1, instr2, instr3) instructions.
register_names
Pseudo attribute; read/write access; type: [s].
(reg1 . . . reg63) of register names.
scsi_bus
Required attribute; read/write access; type: Object.
Object must implement the scsi-bus interface.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

2268

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
pci-header
status

print information about the device


print PCI device header
print status of the device

Command Descriptions
<SYM53C810>.info
Synopsis
<SYM53C810>.info
Description
Print detailed information about the configuration of the device.

<SYM53C810>.pci-header
Synopsis
<SYM53C810>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<SYM53C810>.status
Synopsis
<SYM53C810>.status
Description
Print detailed information about the current status of the device.

2269

VIRTUTECH CONFIDENTIAL

SYM53C875
Provided by
SYM53C875
Class Hierarchy
conf-object log-object SYM53C875
Interfaces Implemented
log_object, event_poster, io_memory, pci_device
Description
The SYM53C875 is an advanced SCSI controller with integrated DMA capabilities and
dedicated script RAM to decrease bus traffic. The SYM53C875 device does not support
target mode operation and can only act as initiator during SCSI transactions. The
SYM53C875 instruction set implementation is not complete and foremost load/store
instructions are missing. Assembly language instructions shown with debug level
greater than 1 do not comply with the Symbios Logic assembler format.

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
carry_flag
Optional attribute; read/write access; type: Integer.
carry flag
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
execution_delay
Optional attribute; read/write access; type: Float.
Time in seconds for one SCSI script instruction to execute.
2270

VIRTUTECH CONFIDENTIAL
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
miscellaneous
Optional attribute; read/write access; type: [iiiii].
(io_mode, data_prerequest, phase_valid, issue_next_instruction, waiting_valid_phase)
array of miscellaneous attributes.
operating_registers
Optional attribute; read/write access; type: [i].
(reg1 . . . reg96) of registers.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
prefetched_instructions
Optional attribute; read/write access; type: [i].
(instr1, instr2, instr3) instructions.
ram
Optional attribute; read/write access; type: unknown type.
4K integrated ram
register_names
Pseudo attribute; read/write access; type: [s].
(reg1 . . . reg96) of register names.
scsi_bus
Required attribute; read/write access; type: Object.
Object must implement the scsi-bus interface.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).
2271

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
pci-header
status

print information about the device


print PCI device header
print status of the device

Command Descriptions
<SYM53C875>.info
Synopsis
<SYM53C875>.info
Description
Print detailed information about the configuration of the device.

<SYM53C875>.pci-header
Synopsis
<SYM53C875>.pci-header
Description
Print the PCI header, i.e the configuration registers.

<SYM53C875>.status
Synopsis
<SYM53C875>.status
Description
Print detailed information about the current status of the device.

2272

VIRTUTECH CONFIDENTIAL

symtable
Provided by
symtable
Class Hierarchy
conf-object log-object symtable
Interfaces Implemented
log_object, symtable
Description
Symbolic debugging information for an address space.

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
abi
Session attribute; read/write access; type: String.
ABI to use, or empty string if not set.
addr_of
Pseudo attribute; read-only access; ; list indexed; indexed type: Integer.
Address of (file, line, function) where file/line or function may be 0.
all_abis
Pseudo class attribute; read-only access; type: [s].
List of all symtable ABIs.
arch
Session attribute; read/write access; type: String.
Architecture the symbols are for, or the empty string if not set.
arch_compat
Pseudo attribute; read-only access; ; string indexed; indexed type: Integer.
True if symtable is compatible with architecture given as index
data_at
Pseudo attribute; read-only access; ; integer indexed; indexed type: [sssi].
(file, variable, type, offset) Variable at given address
2273

VIRTUTECH CONFIDENTIAL
display_position
Session class attribute; read/write access; type: Integer.
If set, the current source position is displayed after each command.
eager_loading
Session attribute; read/write access; type: Integer.
Whether to load debug info right away, as opposed to only when needed.
fun_addr
Pseudo attribute; read-only access; type: [i,i,i]|n; list indexed; indexed type: unknown type.
Address, offset to first code line, and size of a function. Index is (function, file),
where file can be Nil.
functions
Pseudo attribute; read-only access; type: [[s,s,i,i]].
((function, file, start, end)) List of functions and where in memory they are located
host_source_at
Pseudo attribute; read-only access; ; integer indexed; indexed type: [sis].
(file, line, function) Source code position at given address. The file is a complete
path to the file on the host.
load_symbol_file
Pseudo attribute; write-only access; type: [si].
(file, address) Set to load symbols from file at address
local_vars
Pseudo attribute; read-only access; ; integer indexed; indexed type: [s]|n.
list of local variable and function parameter names; index is program location
selfprof_active
Pseudo attribute; write-only access; type: i|[iii].
Set to (skip, buffers flat) for starting self-profiling, 0 for stopping and nonzero for
continuing after stopping. skip is the number of stack frames to skip from the call
root, and buffers is the number of call buffers to use. A non-zero flat value enables
flat profiling.
selfprof_dump_flat
Pseudo attribute; write-only access; type: unknown type.
(Internal use only) Set to the file name for dumping flat profile data.
selfprof_graph
Pseudo attribute; write-only access; type: [s|nfsib].
(function-name, cut-off , dot-file, page-size landscape) List the call path for functionname and the accumulated time spent in each function called from this path. A
2274

VIRTUTECH CONFIDENTIAL
value if NIL will list all call paths in Simics. To skip rarely used paths, specify a
cut-off limit in cut-off in percent. If dot-file is non-NIL, the output is written to a
file in the dot graph language. The dot file is generated for a page size given by
the page-size field which is one of 1, 2, 3 or 4 for A1, A2, A3 and A4.
selfprof_info
Pseudo attribute; read-only access; type: unknown type.
(Internal use only) Print some self-profiling info. Does not return anything interesting.
selfprof_list
Pseudo attribute; write-only access; type: unknown type.
(Internal use only) (n, function-name, accum, file) List the n most executed functions
whose name begin with fun-name and reside in file. If accum is nonzero, list in
order of accumulated times (including time spent in callees)
selfprof_stat
Pseudo attribute; read-only access; type: [[ssii]]|n.
(Internal use only)Get the time spent in different functions. Each entry in the
returned list is a list of the form [function, file name, ticks, accumulated ticks].
Self-profiling must have been started an stopped (using selfprof-start and selfprofstop before this attribute is read. Failure to do so will result in nil being returned.
If self-profiling was started in flat mode nil is returned.
selfprof_tick
Pseudo attribute; write-only access; type: Integer.
Trigger a selfprof tick.
simics_symbols
Pseudo attribute; write-only access; type: [ii].
(all, verbose) Set to load Simics own symbols into this symtable object. Set all to 0
to just load symbols, 1 to load debug info as well. If the verbose flag is non-zero,
information about loaded symbol files is printed.
source_at
Pseudo attribute; read-only access; ; integer indexed; indexed type: [sis].
(file, line, function) Source code position at given address
source_lines
Pseudo attribute; read-only access; ; integer indexed; indexed type: [[si]].
((file, line), . . . ) All source lines corresponding to a given instruction
sourcepath
Optional attribute; read/write access; type: String.
set source search path for debug info

2275

VIRTUTECH CONFIDENTIAL
symbol_file
Session attribute; read/write access; type: [[si]]; string indexed; indexed type:
Integer.
((file, address), . . . ) Loaded symbol tables
symbol_list
Pseudo attribute; write-only access; ; string indexed; indexed type: [[siii]].
((symbol-name, info, value, size), . . . ) Specify a list of symbols to be entered under the indexed name. info is an integer as follows: local=0, global=1, weak=2;
variable=0, function=16.
symbol_value
Pseudo attribute; read-only access; ; string indexed; indexed type: i|n.
Value of symbol (index), or Nil if no such symbol exists.
total_walks
Pseudo attribute; read-only access; type: Integer.
(Internal use only)Get total number of walks (perfanalyze/time_handler events)

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
abi
host-source-at
list
load-symbols
plain-symbols
pos
source-path
whereis

set ABI to use


return the source code position for a given address
list source and/or disassemble
load symbols from file
read raw symbols in nm format
address of line or function
set source search path for debug info
find symbol by address

Command Descriptions
<symtable>.abi
Synopsis
<symtable>.abi [abi]
Description
Set the ABI to abi, or show the current ABI. This is normally not needed when loading
debug info from a binary, but is needed when using plain-symbols.

2276

VIRTUTECH CONFIDENTIAL
See Also
<symtable>.plain-symbols

<symtable>.host-source-at
Synopsis
<symtable>.host-source-at address
Description
Return the source code position (file, line, function) corresponding to a given address.

<symtable>.list
Synopsis
<symtable>.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 given line
function or file:function --- list that function
address --- list from that address
At most maxlines lines of source or asm are printed. -s produces source intermixed
with disassembly, and -d only disassembles.
See Also
disassemble, whereis, pos, symval

<symtable>.load-symbols
Synopsis
<symtable>.load-symbols file [start] [-t]
Description
Loads symbolic debugging information from file. If start is given, it is the (absolute)
starting address of the files code. If -t is specified, start is interpreted as the address
of the .text section (similarly to GDB); otherwise start is taken to be the address of the
first executable segment. The Simics search path is used to locate file.
See Also
new-symtable, <symtable>.plain-symbols

<symtable>.plain-symbols

2277

VIRTUTECH CONFIDENTIAL
Synopsis
<symtable>.plain-symbols file [start]
Description
Reads plain symbols in BSD nm(1) output format. Each line looks like:
value type symbol
where value is the symbol value (usually the address) in hex, and type is a code letter
describing the type of the symbol: B, D or R are treated as data symbols, and T as
text (code) symbols. File-local symbols have their type letters in lower case, global
symbols in upper case. If start is specified, it is added to the value of each symbol.
See Also
new-symtable, <symtable>.load-symbols

<symtable>.pos
Synopsis
<symtable>.pos (line|function)
Description
Finds the address of a source line or a function in a given file (e.g., myfile.c:4711
or myfile.c:myfunction). If only a line number is specified, the command looks
at the current value of the program counter to determine the current file. (If this command is called from the symtable namespace, no current file is defined.) It may be
necessary to put the argument inside double quotes for it to be parsed correctly.
See Also
stack-trace, psym, symval

<symtable>.source-path
Synopsis
<symtable>.source-path [path]
Description
Sets the source search path to path. If no path is given, the current search path will
be displayed. The source search path is used when translating file names in debug
information to the appropriate place in the host machines file system.
Each component of the (semicolon-separated) search path is either a path name, added
to the beginning of source file names, or a string of the form a>b, replacing a with b at
the beginning of source file names.
Example: The source path /usr/src>/pkg/source;/usr>/misc would cause
the file name /usr/src/any.c to be translated to /pkg/source/any.c, or, if no
such file exists, to /misc/src/any.c.
Another example: The source path /usr/src>C:\My\Source would translate the
file name /usr/src/any/file.c to C:\My\Source\any\file.c.
2278

VIRTUTECH CONFIDENTIAL
See Also
<symtable>.load-symbols, new-symtable

<symtable>.whereis
Synopsis
<symtable>.whereis [-d] address
Description
Displays the function or variable and (if possible) the source file and line number
corresponding to address. If -d is specified, searches only data symbols. Does not look
for stack-allocated variables.
See Also
pos, psym

2279

VIRTUTECH CONFIDENTIAL

taco-system
Provided by
fiesta-components
Class Hierarchy
conf-object log-object component top-component taco-system
Interfaces Implemented
log_object, component
Description
The taco-system component represents a Sun Blade 1500 single processor workstation mother-board with all on-board devices except the south-bridge and PCI devices.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
hostid
Required attribute; read/write access; type: Integer.
The hostid of the machine.
mac_address
Required attribute; read/write access; type: String.
The main MAC address is the machine.
memory_megs
Pseudo attribute; read-only access; type: Integer.
The amount of RAM in mega-bytes in the machine.
2280

VIRTUTECH CONFIDENTIAL
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
get-nvram-hostid
get-nvram-mac
get-prom-env
info
set-nvram-hostid
set-nvram-mac
set-prom-defaults
set-prom-env
status

get the Sun hostid from NVRAM


get the default MAC from NVRAM
Get an OBP environment variable
print information about the device
set the Sun hostid in NVRAM
set the default MAC address in NVRAM
Restore all OBP variables
Set an OBP environment variable
print status of the device

Command Descriptions
<taco-system>.get-nvram-hostid
Synopsis
<taco-system>.get-nvram-hostid
Description
Reads the Sun hostid from the NVRAM.
See Also
<taco-system>.set-nvram-hostid, <taco-system>.get-nvram-mac, <taco-system>.setnvram-mac

<taco-system>.get-nvram-mac
Synopsis
<taco-system>.get-nvram-mac
Description
Reads the default MAC address from the NVRAM.
See Also
<taco-system>.get-nvram-hostid, <taco-system>.set-nvram-hostid, <taco-system>.setnvram-mac

2281

VIRTUTECH CONFIDENTIAL

<taco-system>.get-prom-env
Synopsis
<taco-system>.get-prom-env [variable]
Description
Prints an OBP variable with its value, or all variables if no argument is specified. Only
variables with string, integer, boolean and enumeration types are supported.
See Also
<taco-system>.set-prom-env

<taco-system>.info
Synopsis
<taco-system>.info
Description
Print detailed information about the configuration of the device.

<taco-system>.set-nvram-hostid
Synopsis
<taco-system>.set-nvram-hostid hostid
Description
Writes the Sun hostid into the NVRAM.
See Also
<taco-system>.get-nvram-hostid, <taco-system>.get-nvram-mac, <taco-system>.setnvram-mac

<taco-system>.set-nvram-mac
Synopsis
<taco-system>.set-nvram-mac mac
Description
Writes the default MAC address into the NVRAM.
See Also
<taco-system>.get-nvram-hostid, <taco-system>.set-nvram-hostid, <taco-system>.getnvram-mac

<taco-system>.set-prom-defaults
Synopsis
<taco-system>.set-prom-defaults
2282

VIRTUTECH CONFIDENTIAL
Description
Restores all OBP variables to their default values.
See Also
<taco-system>.set-prom-env, <taco-system>.get-prom-env

<taco-system>.set-prom-env
Synopsis
<taco-system>.set-prom-env variable (int|string)
Description
Sets the value of an OBP variable in the NVRAM. Only variables with string, integer,
boolean and enumeration types are supported.
See Also
<taco-system>.get-prom-env

<taco-system>.status
Synopsis
<taco-system>.status
Description
Print detailed information about the current status of the device.

2283

VIRTUTECH CONFIDENTIAL

telos-basic-clock
Provided by
telos-devices
Class Hierarchy
conf-object log-object telos-basic-clock
Interfaces Implemented
log_object, io_memory, event_poster
Description
Basic Clock Module for MSP430 F1611 in Telos Mote.

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
ioreg_bcsctl1
Optional attribute; read/write access; type: Integer.
system control 1
ioreg_bcsctl2
Optional attribute; read/write access; type: Integer.
system control 2
ioreg_dcoctl
Optional attribute; read/write access; type: Integer.
DCO control

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

2284

VIRTUTECH CONFIDENTIAL

telos-button
Provided by
telos-devices
Class Hierarchy
conf-object log-object telos-button
Interfaces Implemented
log_object, event_poster
Description
The telos-button device connects an attribute to an interrupt line.

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
interrupt
Optional attribute; read/write access; type: Integer.
Set to != 0 to raise, 0 to lower
irq_dev
Required attribute; read/write access; type: Object.
Device an interrupt should be forwarded to
irq_level
Required attribute; read/write access; type: Integer.
Interrupt level

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

2285

VIRTUTECH CONFIDENTIAL

telos-environment
Provided by
telos-devices
Class Hierarchy
conf-object log-object telos-environment
Interfaces Implemented
log_object, event_poster
Description
The telos-environment module stores environmental data for the Telos Motes. Location, temperature, and similar factors which are not part of any particular hardware
device but rather the mote as such.

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
location_x
Required attribute; read/write access; type: Integer.
X coordinate of location of mote, signed 32-bit integer
location_y
Required attribute; read/write access; type: Integer.
Y coordinate of location of mote, signed 32-bit integer
location_z
Required attribute; read/write access; type: Integer.
Z coordinate of location of mote, signed 32-bit integer
temperature
Required attribute; read/write access; type: Integer.
Temperature of mote, unsigned 32-bit integer (degrees Kelvin)

2286

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<telos-environment>.info
Synopsis
<telos-environment>.info
Description
Print detailed information about the configuration of the device.

<telos-environment>.status
Synopsis
<telos-environment>.status
Description
Print detailed information about the current status of the device.

2287

VIRTUTECH CONFIDENTIAL

telos-io-ports
Provided by
telos-devices
Class Hierarchy
conf-object log-object telos-io-ports
Interfaces Implemented
log_object, io_memory, event_poster
Description
Digital I/O Ports for MSP430.

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
p1_pxdir
Optional attribute; read/write access; type: Integer.
direction
p1_pxie
Optional attribute; read/write access; type: Integer.
interrupt enable
p1_pxies
Optional attribute; read/write access; type: Integer.
edge select
p1_pxifg
Optional attribute; read/write access; type: Integer.
interrupt flag
p1_pxin
Optional attribute; read/write access; type: Integer.
input
p1_pxout
Optional attribute; read/write access; type: Integer.
output
2288

VIRTUTECH CONFIDENTIAL
p1_pxsel
Optional attribute; read/write access; type: Integer.
function select
p2_pxdir
Optional attribute; read/write access; type: Integer.
direction
p2_pxie
Optional attribute; read/write access; type: Integer.
interrupt enable
p2_pxies
Optional attribute; read/write access; type: Integer.
edge select
p2_pxifg
Optional attribute; read/write access; type: Integer.
interrupt flag
p2_pxin
Optional attribute; read/write access; type: Integer.
input
p2_pxout
Optional attribute; read/write access; type: Integer.
output
p2_pxsel
Optional attribute; read/write access; type: Integer.
function select
p3_pxdir
Optional attribute; read/write access; type: Integer.
direction
p3_pxin
Optional attribute; read/write access; type: Integer.
input
p3_pxout
Optional attribute; read/write access; type: Integer.
output
p3_pxsel
Optional attribute; read/write access; type: Integer.
function select
2289

VIRTUTECH CONFIDENTIAL
p4_pxdir
Optional attribute; read/write access; type: Integer.
direction
p4_pxin
Optional attribute; read/write access; type: Integer.
input
p4_pxout
Optional attribute; read/write access; type: Integer.
output
p4_pxsel
Optional attribute; read/write access; type: Integer.
function select
p5_pxdir
Optional attribute; read/write access; type: Integer.
direction
p5_pxin
Optional attribute; read/write access; type: Integer.
input
p5_pxout
Optional attribute; read/write access; type: Integer.
output
p5_pxsel
Optional attribute; read/write access; type: Integer.
function select
p6_pxdir
Optional attribute; read/write access; type: Integer.
direction
p6_pxin
Optional attribute; read/write access; type: Integer.
input
p6_pxout
Optional attribute; read/write access; type: Integer.
output
p6_pxsel
Optional attribute; read/write access; type: Integer.
function select
2290

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<telos-io-ports>.info
Synopsis
<telos-io-ports>.info
Description
Print detailed information about the configuration of the device.

<telos-io-ports>.status
Synopsis
<telos-io-ports>.status
Description
Print detailed information about the current status of the device.

2291

VIRTUTECH CONFIDENTIAL

telos-mote
Provided by
telos-mote-components
Class Hierarchy
conf-object log-object component top-component telos-mote
Interfaces Implemented
log_object, component
Description
A Telos Mote, based on the msp430 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
cpu_frequency
Required attribute; read/write access; type: Float.
Processor frequency in MHz.
location_x
Required attribute; read/write access; type: Integer.
initial X location of mote
location_y
Required attribute; read/write access; type: Integer.
initial Y location of mote
location_z
Required attribute; read/write access; type: Integer.
initial Z location of mote

2292

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<telos-mote>.info
Synopsis
<telos-mote>.info
Description
Print detailed information about the configuration of the device.

<telos-mote>.status
Synopsis
<telos-mote>.status
Description
Print detailed information about the current status of the device.

2293

VIRTUTECH CONFIDENTIAL

telos-sfr
Provided by
telos-devices
Class Hierarchy
conf-object log-object telos-sfr
Interfaces Implemented
log_object, io_memory, simple_interrupt, event_poster
Description
SFR area for MSP430 F1611 in Telos Mote.

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
sfr_ie1
Optional attribute; read/write access; type: Integer.
interrupt enable 1
sfr_ie2
Optional attribute; read/write access; type: Integer.
interrupt enable 2
sfr_ifg1
Optional attribute; read/write access; type: Integer.
interrupt flags 1
sfr_ifg2
Optional attribute; read/write access; type: Integer.
interrupt flags 2
sfr_me1
Optional attribute; read/write access; type: Integer.
module enable 1
sfr_me2
Optional attribute; read/write access; type: Integer.
module enable 2
2294

VIRTUTECH CONFIDENTIAL
usart0_dev
Required attribute; read/write access; type: Object.
USART0 device
usart1_dev
Required attribute; read/write access; type: Object.
USART0 device

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

2295

VIRTUTECH CONFIDENTIAL

telos-timer
Provided by
telos-devices
Class Hierarchy
conf-object log-object telos-timer
Interfaces Implemented
log_object, io_memory, event_poster
Description
Timer for MSP430 F1611 in Telos Mote.

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
aclk_freq
Required attribute; read/write access; type: Float.
Frequency in Hz for ACLK
interrupt_ccr0
Optional attribute; read/write access; type: Integer.
Interrupt line for TMCCR0 CCIFG
interrupt_tmiv
Optional attribute; read/write access; type: Integer.
Interrupt line for TMIV
ioreg_cc0_ccr
Optional attribute; read/write access; type: Integer.
capture/compare register
ioreg_cc0_ctl
Optional attribute; read/write access; type: Integer.
capture/compare control
ioreg_cc1_ccr
Optional attribute; read/write access; type: Integer.
capture/compare register
2296

VIRTUTECH CONFIDENTIAL
ioreg_cc1_ctl
Optional attribute; read/write access; type: Integer.
capture/compare control
ioreg_cc2_ccr
Optional attribute; read/write access; type: Integer.
capture/compare register
ioreg_cc2_ctl
Optional attribute; read/write access; type: Integer.
capture/compare control
ioreg_cc3_ccr
Optional attribute; read/write access; type: Integer.
capture/compare register
ioreg_cc3_ctl
Optional attribute; read/write access; type: Integer.
capture/compare control
ioreg_cc4_ccr
Optional attribute; read/write access; type: Integer.
capture/compare register
ioreg_cc4_ctl
Optional attribute; read/write access; type: Integer.
capture/compare control
ioreg_cc5_ccr
Optional attribute; read/write access; type: Integer.
capture/compare register
ioreg_cc5_ctl
Optional attribute; read/write access; type: Integer.
capture/compare control
ioreg_cc6_ccr
Optional attribute; read/write access; type: Integer.
capture/compare register
ioreg_cc6_ctl
Optional attribute; read/write access; type: Integer.
capture/compare control
ioreg_tmctl
Optional attribute; read/write access; type: Integer.
control
2297

VIRTUTECH CONFIDENTIAL
ioreg_tmr
Optional attribute; read/write access; type: Integer.
counter
irq_dev
Required attribute; read/write access; type: Object.
Device an interrupt should be forwarded to
irq_vector_ccr0
Required attribute; read/write access; type: Integer.
Interrupt vector index for TMCCR0 CCIFG
irq_vector_tmiv
Required attribute; read/write access; type: Integer.
Interrupt vector index for TMIV
is_timer_a
Required attribute; read/write access; type: Integer.
True for Timer_A3, false for Timer_B7
ivec_tmiv
Optional attribute; read/write access; type: Integer.
interrupt vector register
reset_time
Optional attribute; read/write access; type: Float.
Time of last counter reset (internal)
smclk_freq
Required attribute; read/write access; type: Float.
Frequency in Hz for SMCLK

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

2298

VIRTUTECH CONFIDENTIAL

telos-usart
Provided by
telos-devices
Class Hierarchy
conf-object log-object telos-usart
Interfaces Implemented
log_object, io_memory, simple_interrupt, serial_device, event_poster
Description
USART for MSP430 F1611 in Telos Mote.

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
irq_dev
Required attribute; read/write access; type: Object.
Device an interrupt should be forwarded to
link
Optional attribute; read/write access; type: Object or Nil.
The serial link
rx_full
Optional attribute; read/write access; type: Integer.
URXBUF holds data that has not been read yet
rx_interrupt
Optional attribute; read/write access; type: Integer.
URXIFG interrupt line
rx_vector
Required attribute; read/write access; type: Integer.
Interrupt vector for UTXIFG
sfr_dev
Required attribute; read/write access; type: Object.
SFR device
2299

VIRTUTECH CONFIDENTIAL
sfr_ie1
Optional attribute; read/write access; type: Integer.
register sfr.ie1
sfr_ifg1
Optional attribute; read/write access; type: Integer.
register sfr.ifg1
sfr_me1
Optional attribute; read/write access; type: Integer.
register sfr.me1
tx_interrupt
Optional attribute; read/write access; type: Integer.
UTXIFG interrupt line
tx_shift
Optional attribute; read/write access; type: Integer.
Transmit shift register (internal use)
tx_vector
Required attribute; read/write access; type: Integer.
Interrupt vector for UTXIFG
tx_written
Optional attribute; read/write access; type: Integer.
Transmit buffer written (internal use)
usart_ubr0
Optional attribute; read/write access; type: Integer.
baud rate control 0
usart_ubr1
Optional attribute; read/write access; type: Integer.
baud rate control 1
usart_uctl
Optional attribute; read/write access; type: Integer.
control
usart_umctl
Optional attribute; read/write access; type: Integer.
modulation control
usart_urctl
Optional attribute; read/write access; type: Integer.
receive control
2300

VIRTUTECH CONFIDENTIAL
usart_urxbuf
Optional attribute; read/write access; type: Integer.
receive buffer
usart_utctl
Optional attribute; read/write access; type: Integer.
transmit control
usart_utxbuf
Optional attribute; read/write access; type: Integer.
transmit buffer

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

2301

VIRTUTECH CONFIDENTIAL

text-console
Provided by
xterm-console
Class Hierarchy
conf-object conf-object text-console
Interfaces Implemented
event_poster, extended_serial, serial_device
Description
The text-console class provides a text user interface to the simulated machines console.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
abort
Optional attribute; read/write access; type: Integer.
Signal keyboard abort to connected device.
add_title
Pseudo attribute; read/write access; type: a.
This attribute is obsolete.
application
Optional attribute; read/write access; type: String.
Module xterm-console only: application that is started in the target process. Default is xterm.
application_args
Optional attribute; read/write access; type: [s].
Module xterm-console only: list of arguments to pass to the target process
bg_color
Optional attribute; read/write access; type: String.
Default background color. Standard X11 color names may be used.

2302

VIRTUTECH CONFIDENTIAL
break_string
Pseudo attribute; read/write access; type: s|[[s[i]]].
An output string causing Simics to trigger a Xterm_Break_String hap when the
string is printed.
break_string_id
Pseudo attribute; read-only access; ; string indexed; indexed type: String.
Return an id for a string that is set to break on. The id can be used as index for
the Xterm_Break_String hap.
char_1c_is_abort
Optional attribute; read/write access; type: Integer.
Generate abort signal when <ctrl>-/ is pressed.
console_trace
Pseudo attribute; read/write access; type: Integer.
If set to non-zero, console output will be sent to stdout in a format that is easy to
parse.
device
Optional attribute; read/write access; type: Object or Nil.
The device connected to the console, must implement one of the serial-device
or keyboard interfaces.
environment
Optional attribute; read/write access; type: [s].
Module xterm-console only: list of strings that are added to the environment of
the target process before the binary is executed.
fg_color
Optional attribute; read/write access; type: String.
Default foreground color. Standard X11 color names may be used.
height
Optional attribute; read/write access; type: Integer.
Default number of rows.
history
Optional attribute; read/write access; type: Data.
Text history of previously printed text to the window.
history_length
Pseudo attribute; read/write access; type: Integer.
History size in bytes.

2303

VIRTUTECH CONFIDENTIAL
history_next
Optional attribute; read/write access; type: Integer.
Next insertion position in the history buffer.
history_wrap
Optional attribute; read/write access; type: Integer.
Indicates if the history buffer ever has been wrapped, i.e. if the previous printouts
have exceeded the history buffer size.
input
Pseudo attribute; read/write access; type: s|[di].
Keyboard input queue. This attribute appends characters to input queue.
input_buf
Optional attribute; read/write access; type: s|d.
Keyboard input buffer.
input_delayed
Pseudo attribute; write-only access; type: [sf].
(string, seconds) This attribute appends characters to the input queue, after the
specified simulated time have elapsed.
input_next
Optional attribute; read/write access; type: Integer.
Position in the keyboard input buffer where new input is stored.
kbd_event_queue
Optional attribute; read/write access; type: [[ii]].
Keyboard event queue. Used when connected to a keyboard controller device,
and not a serial device.
link
Optional attribute; read/write access; type: Object or Nil.
The serial link the console is connected to.
next_char
Optional attribute; read/write access; type: Integer.
Cached input character.
no_window
Optional attribute; read/write access; type: b.
If this flag is TRUE, no window will be opened. If it is FALSE, the output is
redirected according to the output_file and quiet attributes.
output_file
Optional attribute; read/write access; type: String.
If no-window is set, output will be directed to this file.
2304

VIRTUTECH CONFIDENTIAL
output_timeout
Optional attribute; read/write access; type: Integer.
Maximum number of seconds the xterm-console allows an xterm to start on. Default is 10 seconds.
quiet
Optional attribute; read/write access; type: Integer.
If the no-window is set, this flag controls whether or not the console output
is redirected to Simics console. If set to 1, output is not redirected. If set to 0,
output is redirected unless the output_file is set. If no-window is not set, this
attribute has no effect.
read_only
Optional attribute; read/write access; type: Integer.
Dont accept any input from the window. (For batch execution).
recorded_string
Session attribute; read/write access; type: String.
The characters that have been recorded when the attribute recording is true. Note
that the recorded string will NOT be cleared when recording is reset.
recording
Session 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-string.
scrollback
Optional attribute; read/write access; type: Integer.
Number of lines of output saved on screen.
scrollbar
Optional attribute; read/write access; type: Integer.
Non-zero if the window should have a scrollbar.
title
Required attribute; read/write access; type: String.
xterm window title.
trace_file
Pseudo attribute; read/write access; type: String.
Name of file where to send the console trace, if enabled. If an empty string is
given standard output is used. No trace is written to file unless console_trace is
also enabled.
unbreak_id
Pseudo attribute; write-only access; type: Integer.
Remove breakpoint based on breakpoint id.
2305

VIRTUTECH CONFIDENTIAL
unbreak_string
Pseudo attribute; write-only access; type: String.
Stop breaking on a specified string. Note that if a string is added several times, it
also has to be removed the same number of times. I.e. if a hap callback is tied to a
string and does not want to be called again, it should both remove the string and
unregister the hap callback, since another hap callback may want to break on the
same string again.
use_xterm_args
Optional attribute; read/write access; type: Integer.
Module xterm-console only: if set to non-zero, the started application is assumed
to accept xterm-style arguments. If this attribute is zero, attributes which map
to xterm-arguments (such as width and height) will have no effect. The default value of this attribute is zero if application is set to something other than
xterm, and non-zero otherwise.
vt102_emulation
Optional attribute; read/write access; type: b.
Specifies if the console should the emulate vt102 protocol or not. Default is true.
By disabling vt102 emulation, the user may be allowed to change the window
size interactively, with the side-effect that simulation may not be deterministic
from one run to another. This could also cause problems when reversing with
Hindsight.
vt_contents
Optional attribute; read/write access; type: [s].
Visible contents of the emulated vt102 console.
vt_demo
Optional attribute; read/write access; type: Integer.
Add a microcheckpont at each CR.
vt_height
Optional attribute; read/write access; type: Integer.
Height of emulated vt102 console.
vt_redraw
Pseudo attribute; write-only access; type: Integer.
Force a redraw of the VT console.
vt_state
Optional attribute; read/write access; type: [i|s].
VT100 state information.
vt_width
Optional attribute; read/write access; type: Integer.
Width of emulated vt102 console.
2306

VIRTUTECH CONFIDENTIAL
width
Optional attribute; read/write access; type: Integer.
Default number of columns.
win32_font
Optional attribute; read/write access; type: String.
Default font used for Windows hosts, on the format: fontname:weight:pointsize.
write_delayed
Optional attribute; read/write access; type: Integer.
Flow control. Set if an attempt to send a char was blocked.
x11_font
Optional attribute; read/write access; type: String.
Default font used for X11/Unix hosts. This is a regular X11 font specification
string
x11_fontbold
Optional attribute; read/write access; type: String.
Default bold-font used for X11/Unix hosts. This is a regular X11 font specification string
xterm_args
Pseudo attribute; read/write access; type: String.
This attribute is obsolete.

Command List
Commands
break
capture-start
capture-stop
close
disable-quiet
disable-window
enable-quiet
enable-window
info
input
input-file
kbd-abort
list-break-strings
no-window
open

set a string to break on


capture output to file
stop output capture to file
close console window
enable output redirection
deprecated hide console window
disable output redirection
deprecated show console window
print information about the device
send string to a console
input a file into a console
send a keyboard abort signal
list all strings the console will break on
deprecated show/hide console window
open console window

2307

VIRTUTECH CONFIDENTIAL
playback-start
playback-stop
quiet
read-only
record-start
record-stop
status
switch-to-serial-link
switch-to-server-console
unbreak
unbreak-id
wait-for-string

start traffic generator


stop traffic generation
toggle console output redirection
toggle read-only mode
start recording of output on the console
stop recoding of output on the console
print status of the device
replace text-console with serial link
replace text console with server console
stop breaking on string
remove a breakpoint
wait for a string in a script branch

Command Descriptions
<text-console>.break
Synopsis
<text-console>.break string
Description
Set a string to break on for the console. The simulation will stop when this string is
written on the console. If text output is intermixed with control sequences for colors/positioning, the break command may fail breaking on the string.
See Also
<text-console>.unbreak, <text-console>.list-break-strings

<text-console>.capture-start
Synopsis
<text-console>.capture-start filename
Description
Capture all output from the console to a file.
See Also
<text-console>.capture-stop

<text-console>.capture-stop
Synopsis
<text-console>.capture-stop
Description
Stop capturing all output from the console.
2308

VIRTUTECH CONFIDENTIAL
See Also
<text-console>.capture-start

<text-console>.close
Synopsis
<text-console>.close
Description
Close the console window. When the console window is closed, any output is redirected to the main Simics window. This can be suppressed with the <text-console>.quiet
command. To provide input to the target machine while the console is closed, use the
<text-console>.input command.
See Also
<text-console>.quiet, <text-console>.open

<text-console>.disable-quiet
Synopsis
<text-console>.disable-quiet
<text-console>.enable-quiet
<text-console>.quiet
Description
This command toggles if text-console output is redirected to the Simics console when
the console window is closed. See also the <text-console>.capture-start command.
See Also
<text-console>.close, <text-console>.capture-start

<text-console>.disable-window deprecated
Synopsis
<text-console>.disable-window
<text-console>.enable-window
<text-console>.no-window
Description
This command is deprecated, use <text-console>.close instead.
Show/hide the console window.

<text-console>.enable-quiet

2309

VIRTUTECH CONFIDENTIAL
Synopsis
<text-console>.enable-quiet
<text-console>.disable-quiet
<text-console>.quiet
Description
This command toggles if text-console output is redirected to the Simics console when
the console window is closed. See also the <text-console>.capture-start command.
See Also
<text-console>.close, <text-console>.capture-start

<text-console>.enable-window deprecated
Synopsis
<text-console>.enable-window
<text-console>.disable-window
<text-console>.no-window
Description
This command is deprecated, use <text-console>.open instead.
Show/hide the console window.

<text-console>.info
Synopsis
<text-console>.info
Description
Print detailed information about the configuration of the device.

<text-console>.input
Synopsis
<text-console>.input string [delay]
Description
Send string to a text console. The text is delayed by default, to wait for the simulated
software to be ready after a previous break on string. To input the string immediately,
specify delay = 0

<text-console>.input-file
Synopsis
<text-console>.input-file file [-binary]
2310

VIRTUTECH CONFIDENTIAL
Description
Inputs the contents of file into the text console. If the -binary flag is specified, the file is
treated as a binary file.

<text-console>.kbd-abort
Synopsis
<text-console>.kbd-abort
Description
Send a serial line abort signal to the attached device. This is only useful when the
text-console is connected to a serial device.

<text-console>.list-break-strings
Synopsis
<text-console>.list-break-strings
Description
Print a listing of all strings that the console will break on.
See Also
<text-console>.break, <text-console>.unbreak

<text-console>.no-window deprecated
Synopsis
<text-console>.no-window
<text-console>.disable-window
<text-console>.enable-window
Description
This command is deprecated, use <text-console>.close instead.
Show/hide the console window.

<text-console>.open
Synopsis
<text-console>.open
Description
Open the console window
See Also
<text-console>.quiet, <text-console>.close

2311

VIRTUTECH CONFIDENTIAL

<text-console>.playback-start
Synopsis
<text-console>.playback-start filename
Description
Starts generating bus traffic from a specified file. The file should consist of data and
delay specifications in a command: data format. Examples: Delay: 0.345 will delay
345 milliseconds Hexdata: 72 6f 6f 74 0a will send the string root\n to the connected
device. Unrecognised lines are ignored.
See Also
<text-console>.playback-stop

<text-console>.playback-stop
Synopsis
<text-console>.playback-stop
Description
Stop bus traffic generation previously started with playback-start.
See Also
<text-console>.playback-start

<text-console>.quiet
Synopsis
<text-console>.quiet
<text-console>.disable-quiet
<text-console>.enable-quiet
Description
This command toggles if text-console output is redirected to the Simics console when
the console window is closed. See also the <text-console>.capture-start command.
See Also
<text-console>.close, <text-console>.capture-start

<text-console>.read-only
Synopsis
<text-console>.read-only
Description
Toggle the read-only mode in the console. Console input is only accepted if the console
is in read/write mode. If the console is in read-only mode, all input is discarded,
except input generated by the <text-console>.insert command.
2312

VIRTUTECH CONFIDENTIAL
See Also
<text-console>.input

<text-console>.record-start
Synopsis
<text-console>.record-start
Description
Start recording of output on the console. All previously recorded output will be discarded. The recorded string can be read with the record-stop command.
See Also
<text-console>.record-stop

<text-console>.record-stop
Synopsis
<text-console>.record-stop
Description
Stop recording of output on the console, and return the recorded string.
See Also
<text-console>.record-start

<text-console>.status
Synopsis
<text-console>.status
Description
Print detailed information about the current status of the device.

<text-console>.switch-to-serial-link
Synopsis
<text-console>.switch-to-serial-link linkname
Description
Replace the text-console with a serial link. Another serial port, possibly in another
Simics session can connect to the other end of the link.

<text-console>.switch-to-server-console
Synopsis
<text-console>.switch-to-server-console port
2313

VIRTUTECH CONFIDENTIAL
Description
Replace the text console with a server console used for telnet connections. The argument port is the port number that a telnet client can connect to.

<text-console>.unbreak
Synopsis
<text-console>.unbreak string
Description
Stop breaking on specified string.
See Also
<text-console>.break, <text-console>.list-break-strings

<text-console>.unbreak-id
Synopsis
<text-console>.unbreak-id id
Description
Remove the breakpoint with specified id.
See Also
<text-console>.break, <text-console>.list-break-strings

<text-console>.wait-for-string
Synopsis
<text-console>.wait-for-string string
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.
See Also
<text-console>.break, script-branch, wait-for-variable, wait-for-hap, <text-console>.waitfor-string, <processor>.wait-for-cycle, <processor>.wait-for-step

2314

VIRTUTECH CONFIDENTIAL

top-component
Provided by
Simics Core
Class Hierarchy
conf-object log-object component top-component
Interfaces Implemented
log_object, component
Description
Base top-level component class, should not be instantiated.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
components
Optional attribute; read/write access; type: [o].
List of components below the the top-level component. This attribute is not valid
until the object has been instantiated.
cpu_list
Optional attribute; read/write access; type: [o].
List of all processors below the the top-level component. This attribute is not
valid until the object has been instantiated.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

2315

VIRTUTECH CONFIDENTIAL

Command Descriptions
<top-component>.info
Synopsis
<top-component>.info
Description
Print detailed information about the configuration of the device.

<top-component>.status
Synopsis
<top-component>.status
Description
Print detailed information about the current status of the device.

2316

VIRTUTECH CONFIDENTIAL

trace-mem-hier
Provided by
trace
Class Hierarchy
conf-object trace-mem-hier
Interfaces Implemented
snoop_memory, timing_model
Description
This class is defined in the trace module. It is used by the tracer to listen to memory
traffic on each CPU.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
base_trace_obj
Session attribute; read-only access; type: Object.
Base-trace object (read-only)
snoop_device
Session attribute; read-only access; type: Object or Nil.
Snoop device (read-only)
timing_model
Session attribute; read-only access; type: Object or Nil.
Timing model (read-only)

2317

VIRTUTECH CONFIDENTIAL

trans-sorter
Provided by
g-cache, g-cache-ooo
Class Hierarchy
conf-object log-object trans-sorter
Interfaces Implemented
log_object, timing_model
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.

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
cache
Required attribute; read/write access; type: Object or Nil.
Cache to which the sorter is connected.
cacheable_dev_timing_model
Optional attribute; read/write access; type: Object or Nil.
Timing model which will receive cacheable device transactions.
cacheable_dev_transactions
Optional attribute; read/write access; type: Integer.
Number of cacheable device transactions.
cacheable_mem_timing_model
Optional attribute; read/write access; type: Object or Nil.
Timing model which will receive cacheable memory transactions.
cacheable_mem_transactions
Optional attribute; read/write access; type: Integer.
Number of cacheable memory transactions.
2318

VIRTUTECH CONFIDENTIAL
uncacheable_dev_timing_model
Optional attribute; read/write access; type: Object or Nil.
Timing model which will receive uncacheable device transactions.
uncacheable_dev_transactions
Optional attribute; read/write access; type: Integer.
Number of uncacheable device transactions.
uncacheable_mem_timing_model
Optional attribute; read/write access; type: Object or Nil.
Timing model which will receive uncacheable memory transactions.
uncacheable_mem_transactions
Optional attribute; read/write access; type: Integer.
Number of uncacheable memory transactions.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
statistics

print the sorter information


print the sorter statistics

Command Descriptions
<trans-sorter>.info
Synopsis
<trans-sorter>.info
Description
Output the sorter information

<trans-sorter>.statistics
Synopsis
<trans-sorter>.statistics
Description
Output the sorter statistics

2319

VIRTUTECH CONFIDENTIAL

trans-splitter
Provided by
g-cache
Class Hierarchy
conf-object log-object trans-splitter
Interfaces Implemented
log_object, timing_model
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.

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
cache
Required attribute; read/write access; type: Object.
Cache to which the splitter is connected.
next_cache_line_size
Required attribute; read/write access; type: Integer.
Cache line size used for splitting transactions.
split_transactions
Optional attribute; read/write access; type: Integer.
Number of split transactions.
timing_model
Required attribute; read/write access; type: Object.
Object listening on transactions coming from the splitter.

2320

VIRTUTECH CONFIDENTIAL
transactions
Optional attribute; read/write access; type: Integer.
Total number of transactions processed.

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

2321

VIRTUTECH CONFIDENTIAL

trans-splitter-ooo
Provided by
g-cache-ooo
Class Hierarchy
conf-object log-object trans-splitter-ooo
Interfaces Implemented
log_object, timing_model
Description
A trans-splitter-ooo object can split a transaction that crosses a cache line in two noncrossing transactions.
A trans-splitter-ooo can be inserted between the cpu and the caches if the cpu can
issue cache-line crossing transactions (x86 being a good example). It can also be used
between two caches to split transactions.
A trans-splitter-ooo object supports multiple outstanding transactions. Note that it
does not support splitting a transaction more than once, so transactions that crosses
two cache lines or more will be split incorrectly.

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
cache
Required attribute; read/write access; type: Object or Nil.
Cache to which the splitter is connected
next_cache_line_size
Required attribute; read/write access; type: Integer.
Cache line size used for splitting transactions.
split_transactions
Optional attribute; read/write access; type: Integer.
Number of transactions split.
timing_model
Required attribute; read/write access; type: Object or Nil.
Object listening on transactions coming from the splitter.
2322

VIRTUTECH CONFIDENTIAL
transactions
Optional attribute; read/write access; type: Integer.
Total number of transactions processed.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
reset-statistics
statistics

print the splitter information


reset the splitter statistics
print the splitter statistics

Command Descriptions
<trans-splitter-ooo>.info
Synopsis
<trans-splitter-ooo>.info
Description
Output the splitter information

<trans-splitter-ooo>.reset-statistics
Synopsis
<trans-splitter-ooo>.reset-statistics
Description
Reset all splitter statistics to 0.

<trans-splitter-ooo>.statistics
Synopsis
<trans-splitter-ooo>.statistics
Description
Output the splitter statistics

2323

VIRTUTECH CONFIDENTIAL

trans-staller
Provided by
trans-staller
Class Hierarchy
conf-object log-object trans-staller
Interfaces Implemented
log_object, timing_model
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.

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
stall_time
Optional attribute; read/write access; type: Integer.
Stall time returned when accessed

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

2324

VIRTUTECH CONFIDENTIAL

ultrasparc-ii
Provided by
sparc-u2, sparc-u2-ma, sparc-u2-turbo
Class Hierarchy
conf-object log-object ultrasparc-ii
Interfaces Implemented
log_object, sparc_v9, sparc_interrupt, exception, int_register, processor, event_poster
Description
The ultrasparc-ii class implements an UltraSPARC II 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.
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

2325

VIRTUTECH CONFIDENTIAL
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_groupinterface 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.
2326

VIRTUTECH CONFIDENTIAL
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.
epd
Optional attribute; read/write access; type: Integer.
External Power Down. Set to 1 when the processor has executed the shutdown
instruction.
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.
2327

VIRTUTECH CONFIDENTIAL
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 ooomode 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.
2328

VIRTUTECH CONFIDENTIAL
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.
2329

VIRTUTECH CONFIDENTIAL
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.
2330

VIRTUTECH CONFIDENTIAL
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.
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.
2331

VIRTUTECH CONFIDENTIAL
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.

2332

VIRTUTECH CONFIDENTIAL
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.
va_bits
Optional attribute; read/write access; type: Integer.
The number of bits in the virtual address space. This attribute is used to determine the size of the VA hole. Note that the MMU has its own handling of the VA
hole. The same value will be used for all processors of this class in the system.
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, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

2333

VIRTUTECH CONFIDENTIAL

ultrasparc-iii
Provided by
sparc-u3, sparc-u3-ma, sparc-u3-turbo
Class Hierarchy
conf-object log-object ultrasparc-iii
Interfaces Implemented
log_object, sparc_u3, sparc_v9, sparc_interrupt, exception, int_register, processor, event_
poster
Description
The ultrasparc-iii class implements an UltraSPARC III 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.

2334

VIRTUTECH CONFIDENTIAL
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.

2335

VIRTUTECH CONFIDENTIAL
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_groupinterface 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.
2336

VIRTUTECH CONFIDENTIAL
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
2337

VIRTUTECH CONFIDENTIAL
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode 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.
2338

VIRTUTECH CONFIDENTIAL
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
2339

VIRTUTECH CONFIDENTIAL
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.

2340

VIRTUTECH CONFIDENTIAL
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.
2341

VIRTUTECH CONFIDENTIAL
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

2342

VIRTUTECH CONFIDENTIAL
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

2343

VIRTUTECH CONFIDENTIAL

ultrasparc-iii-i
Provided by
sparc-u3, sparc-u3-ma, sparc-u3-turbo
Class Hierarchy
conf-object log-object ultrasparc-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.

2344

VIRTUTECH CONFIDENTIAL
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.

2345

VIRTUTECH CONFIDENTIAL
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_groupinterface 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.
2346

VIRTUTECH CONFIDENTIAL
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
2347

VIRTUTECH CONFIDENTIAL
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode 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.
2348

VIRTUTECH CONFIDENTIAL
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
2349

VIRTUTECH CONFIDENTIAL
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.

2350

VIRTUTECH CONFIDENTIAL
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.
2351

VIRTUTECH CONFIDENTIAL
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

2352

VIRTUTECH CONFIDENTIAL
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

2353

VIRTUTECH CONFIDENTIAL

ultrasparc-iii-plus
Provided by
sparc-u3, sparc-u3-ma, sparc-u3-turbo
Class Hierarchy
conf-object log-object ultrasparc-iii-plus
Interfaces Implemented
log_object, sparc_u3, sparc_v9, sparc_interrupt, exception, int_register, processor, event_
poster
Description
The ultrasparc-iii-plus class implements an UltraSPARC III Cu (III+) 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.

2354

VIRTUTECH CONFIDENTIAL
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.

2355

VIRTUTECH CONFIDENTIAL
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_groupinterface 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.
2356

VIRTUTECH CONFIDENTIAL
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
2357

VIRTUTECH CONFIDENTIAL
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode 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.
2358

VIRTUTECH CONFIDENTIAL
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
2359

VIRTUTECH CONFIDENTIAL
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.

2360

VIRTUTECH CONFIDENTIAL
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.
2361

VIRTUTECH CONFIDENTIAL
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

2362

VIRTUTECH CONFIDENTIAL
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

2363

VIRTUTECH CONFIDENTIAL

ultrasparc-iv
Provided by
sparc-u4, sparc-u4-turbo
Class Hierarchy
conf-object log-object ultrasparc-iv
Interfaces Implemented
log_object, sparc_u3, sparc_v9, sparc_interrupt, exception, int_register, processor, event_
poster
Description
The ultrasparc-iv class implements an UltraSPARC IV 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.

2364

VIRTUTECH CONFIDENTIAL
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.
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.
2365

VIRTUTECH CONFIDENTIAL
core_id
Required attribute; read/write access; type: Integer.
The core id of this processor on a CMP chip.
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_groupinterface 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.

2366

VIRTUTECH CONFIDENTIAL
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
2367

VIRTUTECH CONFIDENTIAL
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode 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_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.
other_cores
Required attribute; read/write access; type: [o|n].
A list of all other processor cores on the same chip in core id order.
2368

VIRTUTECH CONFIDENTIAL
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
2369

VIRTUTECH CONFIDENTIAL
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.

2370

VIRTUTECH CONFIDENTIAL
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.
2371

VIRTUTECH CONFIDENTIAL
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

2372

VIRTUTECH CONFIDENTIAL
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

2373

VIRTUTECH CONFIDENTIAL

ultrasparc-iv-plus
Provided by
sparc-u4, sparc-u4-turbo
Class Hierarchy
conf-object log-object ultrasparc-iv-plus
Interfaces Implemented
log_object, sparc_u3, sparc_v9, sparc_interrupt, exception, int_register, processor, event_
poster
Description
The ultrasparc-iv-plus class implements an UltraSPARC IV+ 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.

2374

VIRTUTECH CONFIDENTIAL
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.
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.
2375

VIRTUTECH CONFIDENTIAL
core_id
Required attribute; read/write access; type: Integer.
The core id of this processor on a CMP chip.
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_groupinterface 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.

2376

VIRTUTECH CONFIDENTIAL
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
2377

VIRTUTECH CONFIDENTIAL
lsq_enabled
Optional attribute; read/write access; type: Integer.
When non-zero, the internal load/store queue is enabled. Only applicable if ooomode 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_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.
other_cores
Required attribute; read/write access; type: [o|n].
A list of all other processor cores on the same chip in core id order.
2378

VIRTUTECH CONFIDENTIAL
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
2379

VIRTUTECH CONFIDENTIAL
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.

2380

VIRTUTECH CONFIDENTIAL
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.
2381

VIRTUTECH CONFIDENTIAL
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

2382

VIRTUTECH CONFIDENTIAL
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

2383

VIRTUTECH CONFIDENTIAL

ultrasparc-t1
Provided by
sparc-niagara, sparc-niagara-turbo
Class Hierarchy
conf-object log-object ultrasparc-t1
Interfaces Implemented
log_object, sparc_v9, sparc_interrupt, exception, int_register, processor, event_poster
Description
The ultrasparc-t1 class implements an UltraSPARC T1 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.
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

2384

VIRTUTECH CONFIDENTIAL
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.
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_groupinterface 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.
2385

VIRTUTECH CONFIDENTIAL
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.
epd
Optional attribute; read/write access; type: Integer.
External Power Down. Set to 1 when the processor has executed the shutdown
instruction.
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.
2386

VIRTUTECH CONFIDENTIAL
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.
instr_breakpoint
Optional attribute; read/write access; type: Integer.
Instruction breakpoint register
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
interrupt_queue
Optional attribute; read/write access; type: [i{8}].
Interrupt queue pointers.
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 ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
2387

VIRTUTECH CONFIDENTIAL
max_trap_levels
Optional attribute; read/write access; type: Integer.
The number of trap levels.
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.
other_strands
Required attribute; read/write access; type: [o{3}].
The other strands of the CPU core.
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.
2388

VIRTUTECH CONFIDENTIAL
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.
quad_align_bug
Optional attribute; read/write access; type: Integer.
Set to 1 if the CPU should generate lddf/stdf specific align traps for QUAD_
LDD/BLK_INIT ASIs.
queue_traps
Optional attribute; read/write access; type: Integer.
Pending interrupt queue traps.
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
2389

VIRTUTECH CONFIDENTIAL
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.
strand_id
Required attribute; read/write access; type: Integer.
The id number of this strand.
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.

2390

VIRTUTECH CONFIDENTIAL
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.
2391

VIRTUTECH CONFIDENTIAL
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.
va_bits
Optional attribute; read/write access; type: Integer.
The number of bits in the virtual address space. This attribute is used to determine the size of the VA hole. Note that the MMU has its own handling of the VA
hole. The same value will be used for all processors of this class in the system.
windowed_registers
Optional attribute; read/write access; type: [[i{16}]].
List of all window registers.

2392

VIRTUTECH CONFIDENTIAL

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, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

2393

VIRTUTECH CONFIDENTIAL

unresolved_object_class
Provided by
Simics Core
Class Hierarchy
conf-object unresolved_object_class
Interfaces Implemented
None
Description
Dummy class to which all unresolved belongs.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue

2394

VIRTUTECH CONFIDENTIAL

uPD66566S1016
Provided by
460GX
Class Hierarchy
conf-object log-object uPD66566S1016
Interfaces Implemented
log_object, pci_interrupt, io_memory, pci_device
Description
The uDP66566S1016 is part of the 460Gx chipset, where it is known as the PID. The
PID is connected both to an SAPIC bus and a PCI bus, and thus implements both an
iosapic interface and a pci-interrupt interface.

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
config_registers
Optional attribute; read/write access; type: unknown type; integer indexed; indexed type: unknown type.
The 64 PCI configuration registers, each 32 bits in size, in the byte order of the
target machine.
iosapic_id
Optional attribute; read/write access; type: unknown type.
The ID of this iosapic object.
pci_bus
Required attribute; read/write access; type: unknown type.
The PCI bus this device is connected to, implementing the pci-bus interface.
pci_rt
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-n) represents the redirection table, where each interrupt
input signal has a dedicated entry.

2395

VIRTUTECH CONFIDENTIAL
redirection
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-n) represents the redirection table, where each interrupt
input signal has a dedicated entry.
register_select
Optional attribute; read/write access; type: unknown type.
Register selected for reading/writing (will affect the next transaction).
sapic_bus
Required attribute; read/write access; type: unknown type.
Connected bus object of class sapic-bus.

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

2396

VIRTUTECH CONFIDENTIAL

v9-sol9-idle-opt
Provided by
v9-sol9-idle-opt
Class Hierarchy
conf-object log-object v9-sol9-idle-opt
Interfaces Implemented
log_object
Description
Idle loop optimizer for Solaris 9 on V9 target.
Optimizes the Solaris 9 idle loop to improve simulation speed. Also tries to determine
if the simulated machine is idle or not using a heuristic, and sets the real-time-mode
slowdown according to that.
The idle loop optimization does not change the architectural state of the simulated
machine in any way. The optimization may change the results of any profiling done
on the simulated machine, though.
The idle loop optimization raises the cpu switch time to 100000 cycles and posts machine synchronizing events, and will therefore change the scheduling of the processors
in multi-processor and multi-machine configurations, which may change the simulation.

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
Optional attribute; read/write access; type: Integer.
The physical address of the idle loop breakpoint.
auto_detect
Optional attribute; read/write access; type: Integer.
Set to 1 to enable auto detection of the idle loop. Will override the address and
memory-space attributes.

2397

VIRTUTECH CONFIDENTIAL
busy_speed
Optional attribute; read/write access; type: Integer.
The maximum speed of the simulated machine in percent of real-time when the
simulated machine is busy. Must be between 1 and 10000.
enabled
Optional attribute; read/write access; type: Integer.
Determines if the optimizer is enabled.
idle_speed
Optional attribute; read/write access; type: Integer.
The maximum speed of the simulated machine in percent of real-time when the
simulated machine is idle. Must be between 1 and 10000.
idle_steps
Optional attribute; read/write access; type: Integer.
The total number of steps that have been fast forwarded.
memory_space
Required attribute; read/write access; type: Object.
The physical memory-space of the simulated machine.
multi_pro
Required attribute; read/write access; type: Integer.
Set to 1 for multi-pro simulated machines, or to 0 for single-pro simulated machines.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<v9-sol9-idle-opt>.info
Synopsis
<v9-sol9-idle-opt>.info
Description
Print detailed information about the configuration of the device.
2398

VIRTUTECH CONFIDENTIAL

<v9-sol9-idle-opt>.status
Synopsis
<v9-sol9-idle-opt>.status
Description
Print detailed information about the current status of the device.

2399

VIRTUTECH CONFIDENTIAL

vga
Provided by
vga
Class Hierarchy
conf-object log-object vga
Interfaces Implemented
log_object, event_poster, io_memory
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. Spilt 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.

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
attrib_next_index
Optional attribute; read/write access; type: unknown type.
Decides whether the next 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: unknown type.
The address of the attribute controller register designated for the next access.
attrib_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-20) is a list of attribute registers.
attrib_video_enable
Optional attribute; read/write access; type: unknown type.
Decides whether video is enabled or not.
2400

VIRTUTECH CONFIDENTIAL
console
Optional attribute; read/write access; type: unknown type.
Console object that must implement either gfx-console or both the serial-device
and extended-serial interfaces.
crtc_next
Optional attribute; read/write access; type: unknown type.
Integer register representing the next CRTC address.
crtc_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-24) is a list of CRTC registers.
dump_charset
Pseudo attribute; read/write access; type: unknown type.
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.
gfx_latch
Optional attribute; read/write access; type: unknown type.
(Latch-0 . . . Latch-4) List of four graphics data controller latches.
gfx_next
Optional attribute; read/write access; type: unknown type.
Represents the address of the graphics controller register designated for the next
read/write access.
gfx_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-8) is a list of the nine graphics controller registers found in
an VGA adapter.
h_cnt
Optional attribute; read/write access; type: unknown type.
Horizontal counter (used for generating retrace signals).
image
Required attribute; read/write access; type: Object.
Image object containing the VRAM.
memory_space
Required attribute; read/write access; type: unknown type.
Memory space to which the device is mapped. Needed for dynamic remapping.
misc_reg
Optional attribute; read/write access; type: unknown type.
Miscellaneous output register.
2401

VIRTUTECH CONFIDENTIAL
pel_addr
Optional attribute; read/write access; type: unknown type.
PEL address register.
pel_mask
Optional attribute; read/write access; type: unknown type.
PEL mask register.
pel_next_color
Optional attribute; read/write access; type: unknown type.
Next color in access to PEL data register (read, green, or blue).
pel_pal
Optional attribute; read/write access; type: unknown type.
((red, green, blue) . . . (red, green, blue)) List of 256 colors, each a tuple of red, green,
and blue.
ramdac_rw_state
Optional attribute; read/write access; type: unknown type.
RAMDAC read/write state.
redraw
Pseudo attribute; write-only access; type: a.
Forces a complete update when set.
refresh_rate
Optional attribute; read/write access; type: unknown type.
Refresh rate (in Hertz).
seq_next
Optional attribute; read/write access; type: unknown type.
Represents the address of the sequence register designated for the next read/write
access.
seq_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-4) is a list of sequence registers found in the VGA adapter.
text_page
Pseudo attribute; read-only access; type: [s].
A list representation (one line per element) of the text mode contents.
v_cnt
Optional attribute; read/write access; type: unknown type.
Vertical counter (used for generating retrace signals).
2402

VIRTUTECH CONFIDENTIAL
vga_memory
Pseudo attribute; write-only access; type: unknown type.
Contains the VGA memory (256 KB of data).
view_size_x
Pseudo attribute; read-only access; type: Integer.
With of the internal cache.
view_size_y
Pseudo attribute; read-only access; type: Integer.
Height of the internal cache.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
redraw
refresh-rate
status
text-dump

Print device status


Redraw display
Set rate at which vga updated display
print status of the device
Print text contents of display

Command Descriptions
<vga>.info
Synopsis
<vga>.info
Description
Print information about the device registers.

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

2403

VIRTUTECH CONFIDENTIAL

<vga>.refresh-rate
Synopsis
<vga>.refresh-rate [rate]
Description
Set the rate at which the vga device updates the display.
The default is 1000 Hz (simulated). NOTE: The rate is currently the same for all vga
devices.

<vga>.status
Synopsis
<vga>.status
Description
Print detailed information about the current status of the device.

<vga>.text-dump
Synopsis
<vga>.text-dump
Description
Print the contents of the display in text mode.

2404

VIRTUTECH CONFIDENTIAL

vga_pci
Provided by
vga-pci
Class Hierarchy
conf-object log-object vga_pci
Interfaces Implemented
log_object, event_poster, io_memory, pci_device
Description
The VGA-PCI device is identical to the VGA device except it connects to the PCI bus
instead of the ISA bus. This functionality of this device can also be inherited by more
advanced graphic devices such as the Voodoo3 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. Spilt 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.

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
attrib_next_index
Optional attribute; read/write access; type: unknown type.
Decides whether the next 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: unknown type.
The address of the attribute controller register designated for the next access.
attrib_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-20) is a list of attribute registers.
attrib_video_enable
Optional attribute; read/write access; type: unknown type.
Decides whether video is enabled or not.
2405

VIRTUTECH CONFIDENTIAL
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
console
Optional attribute; read/write access; type: unknown type.
Console object that must implement either gfx-console or both the serial-device
and extended-serial interfaces.
crtc_next
Optional attribute; read/write access; type: unknown type.
Integer register representing the next CRTC address.
crtc_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-24) is a list of CRTC registers.
dump_charset
Pseudo attribute; read/write access; type: unknown type.
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.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
gfx_latch
Optional attribute; read/write access; type: unknown type.
(Latch-0 . . . Latch-4) List of four graphics data controller latches.
gfx_next
Optional attribute; read/write access; type: unknown type.
Represents the address of the graphics controller register designated for the next
read/write access.
gfx_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-8) is a list of the nine graphics controller registers found in
an VGA adapter.
2406

VIRTUTECH CONFIDENTIAL
h_cnt
Optional attribute; read/write access; type: unknown type.
Horizontal counter (used for generating retrace signals).
image
Required attribute; read/write access; type: Object.
Image object containing the VRAM.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
memory_space
Required attribute; read/write access; type: unknown type.
Memory space to which the device is mapped. Needed for dynamic remapping.
misc_reg
Optional attribute; read/write access; type: unknown type.
Miscellaneous output register.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pel_addr
Optional attribute; read/write access; type: unknown type.
PEL address register.
pel_mask
Optional attribute; read/write access; type: unknown type.
PEL mask register.
pel_next_color
Optional attribute; read/write access; type: unknown type.
Next color in access to PEL data register (read, green, or blue).
pel_pal
Optional attribute; read/write access; type: unknown type.
((red, green, blue) . . . (red, green, blue)) List of 256 colors, each a tuple of red, green,
and blue.

2407

VIRTUTECH CONFIDENTIAL
ramdac_rw_state
Optional attribute; read/write access; type: unknown type.
RAMDAC read/write state.
redraw
Pseudo attribute; write-only access; type: a.
Forces a complete update when set.
refresh_rate
Optional attribute; read/write access; type: unknown type.
Refresh rate (in Hertz).
seq_next
Optional attribute; read/write access; type: unknown type.
Represents the address of the sequence register designated for the next read/write
access.
seq_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-4) is a list of sequence registers found in the VGA adapter.
text_page
Pseudo attribute; read-only access; type: [s].
A list representation (one line per element) of the text mode contents.
v_cnt
Optional attribute; read/write access; type: unknown type.
Vertical counter (used for generating retrace signals).
vga_memory
Pseudo attribute; write-only access; type: unknown type.
Contains the VGA memory (256 KB of data).
view_size_x
Pseudo attribute; read-only access; type: Integer.
With of the internal cache.
view_size_y
Pseudo attribute; read-only access; type: Integer.
Height of the internal cache.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).
2408

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
redraw
refresh-rate
text-dump

Print device status


Redraw display
Set rate at which vga_pci updated display
Print text contents of display

Command Descriptions
<vga_pci>.info
Synopsis
<vga_pci>.info
Description
Print information about the device registers.

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

<vga_pci>.refresh-rate
Synopsis
<vga_pci>.refresh-rate [rate]
Description
Set the rate at which the vga_pci device updates the display.
The default is 1000 Hz (simulated). NOTE: The rate is currently the same for all vga_
pci devices.

<vga_pci>.text-dump
Synopsis
<vga_pci>.text-dump
2409

VIRTUTECH CONFIDENTIAL
Description
Print the contents of the display in text mode.

2410

VIRTUTECH CONFIDENTIAL

voodoo3
Provided by
voodoo3
Class Hierarchy
conf-object log-object conf-object log-object voodoo3
Interfaces Implemented
log_object, event_poster, io_memory, pci_device
Description
The voodoo3 device implements the graphics device Voodoo3 (Avenger) from 3Dfx
Interactive, Inc. The device supports accelerated 2D and 3D graphics in multiple resolutions and color depths. The VGA core for this device is inherited from the VGA-PCI
device.

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
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
additional_pci_config_regs
Optional attribute; read/write access; type: unknown type.
Soon to be deprecated.
attrib_next_index
Optional attribute; read/write access; type: unknown type.
Decides whether the next 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: unknown type.
The address of the attribute controller register designated for the next access.

2411

VIRTUTECH CONFIDENTIAL
attrib_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-20) is a list of attribute registers.
attrib_video_enable
Optional attribute; read/write access; type: unknown type.
Decides whether video is enabled or not.
clut
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i511). The Color Lookup Table.
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
console
Optional attribute; read/write access; type: unknown type.
Console object that must implement either gfx-console or both the serial-device
and extended-serial interfaces.
crtc_next
Optional attribute; read/write access; type: unknown type.
Integer register representing the next CRTC address.
crtc_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-24) is a list of CRTC registers.
depth_buffer
Optional attribute; read/write access; type: unknown type.
Current Mesa depth buffer.
dump_charset
Pseudo attribute; read/write access; type: unknown type.
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.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
2412

VIRTUTECH CONFIDENTIAL
fbdump
Pseudo attribute; read/write access; type: [i{5}].
Frame buffer dump command. See command help for more info
fifobp
Pseudo attribute; write-only access; type: Integer.
Set to 0 to disable fifo breakpoints, or to nonzero to enable them.
frame_buffer
Optional attribute; read/write access; type: unknown type.
This is the Voodoo3s on-board 16 MB RAM.
gfx_latch
Optional attribute; read/write access; type: unknown type.
(Latch-0 . . . Latch-4) List of four graphics data controller latches.
gfx_next
Optional attribute; read/write access; type: unknown type.
Represents the address of the graphics controller register designated for the next
read/write access.
gfx_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-8) is a list of the nine graphics controller registers found in
an VGA adapter.
h_cnt
Optional attribute; read/write access; type: unknown type.
Horizontal counter (used for generating retrace signals).
image
Required attribute; read/write access; type: Object.
Image object containing the VRAM.
info
Pseudo attribute; write-only access; type: a.
Prints some info about the voodoo3 device when written to.
internal_status
Optional attribute; read/write access; type: unknown type.
Voodoo3 internal status variables.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
2413

VIRTUTECH CONFIDENTIAL
io_base_regs
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i63). The IO/Init registers.
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
mem_base_2d_regs
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i127). The 2D Registers.
mem_base_3d_regs
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i255). The 3D Registers.
mem_base_cmd_regs
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i63). The AGP/CMD Transfer/Misc Registers.
memory_space
Required attribute; read/write access; type: unknown type.
Memory space to which the device is mapped. Needed for dynamic remapping.
misc_reg
Optional attribute; read/write access; type: unknown type.
Miscellaneous output register.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pel_addr
Optional attribute; read/write access; type: unknown type.
PEL address register.
pel_mask
Optional attribute; read/write access; type: unknown type.
PEL mask register.
pel_next_color
Optional attribute; read/write access; type: unknown type.
Next color in access to PEL data register (read, green, or blue).

2414

VIRTUTECH CONFIDENTIAL
pel_pal
Optional attribute; read/write access; type: unknown type.
((red, green, blue) . . . (red, green, blue)) List of 256 colors, each a tuple of red, green,
and blue.
ramdac_rw_state
Optional attribute; read/write access; type: unknown type.
RAMDAC read/write state.
redraw
Pseudo attribute; write-only access; type: a.
Forces a complete update when set.
refresh_rate
Optional attribute; read/write access; type: unknown type.
Refresh rate (in Hertz).
render
Pseudo attribute; write-only access; type: Integer.
Set to 0 to disable 3d rendering, or to nonzero to enable it.
seq_next
Optional attribute; read/write access; type: unknown type.
Represents the address of the sequence register designated for the next read/write
access.
seq_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-4) is a list of sequence registers found in the VGA adapter.
status
Pseudo attribute; read/write access; type: a.
Prints current status of the voodoo3 device when written to.
status_read
Optional attribute; read/write access; type: Integer.
Number of times the PCI status register has been read.
text_page
Pseudo attribute; read-only access; type: [s].
A list representation (one line per element) of the text mode contents.
tmu0_status
Optional attribute; read/write access; type: unknown type.
Voodoo3 TMU 0 status variables.
2415

VIRTUTECH CONFIDENTIAL
tmu1_status
Optional attribute; read/write access; type: unknown type.
Voodoo3 TMU 1 status variables.
v_cnt
Optional attribute; read/write access; type: unknown type.
Vertical counter (used for generating retrace signals).
vertex_status
Optional attribute; read/write access; type: unknown type.
Buffered vertex data + misc 3d status.
vga_crtc_ext_regs
Optional attribute; read/write access; type: [i{10}].
VGA CRTC regs
vga_memory
Pseudo attribute; write-only access; type: unknown type.
Contains the VGA memory (256 KB of data).
view_size_x
Pseudo attribute; read-only access; type: Integer.
With of the internal cache.
view_size_y
Pseudo attribute; read-only access; type: Integer.
Height of the internal cache.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
disable-fifo-break
enable-fifo-break
fbdump
info
ioreg
redraw

disable fifo breakpoints


enable fifo breakpoints
show part of voodoo3 framebuffer
show voodoo3 info
print IO register
Redraw display

2416

VIRTUTECH CONFIDENTIAL
refresh-rate
reg2d
reg3d
render
status
text-dump

Set rate at which voodoo3 updated display


print 2D register
print 3D register
toggle 3d rendering on/off
show voodoo3 status
Print text contents of display

Command Descriptions
<voodoo3>.disable-fifo-break
Synopsis
<voodoo3>.disable-fifo-break
Description
When enabled, fifo breakpoints halts simics execution whenever a complete fifo command packet has been sent to and executed by the voodoo3 card.

<voodoo3>.enable-fifo-break
Synopsis
<voodoo3>.enable-fifo-break
Description
When enabled, fifo breakpoints halts simics execution whenever a complete fifo command packet has been sent to and executed by the voodoo3 card.

<voodoo3>.fbdump
Synopsis
<voodoo3>.fbdump fboffs width height [bpp] [stride]
Description
Display part of the voodoo3 framebuffer in the console window. fboffs is the starting
offset into the 16 MB voodoo3 framebuffer. width and height are the pixel dimensions
of the area to be shown. bpp (bits per pixel) specifies the format of the pixel data and
can be one of 8, 16, 24 or 32 (defaults to current desktop color depth). stride is the byte
offset between adjacent lines (defaults to width bpp / 8).

<voodoo3>.info
Synopsis
<voodoo3>.info [verbose]
Description
Show some information about the voodoo3 card.
2417

VIRTUTECH CONFIDENTIAL

<voodoo3>.ioreg
Synopsis
<voodoo3>.ioreg register
Description
Print value in an IO register.

<voodoo3>.redraw
Synopsis
<voodoo3>.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.

<voodoo3>.refresh-rate
Synopsis
<voodoo3>.refresh-rate [rate]
Description
Set the rate at which the voodoo3 device updates the display.
The default is 1000 Hz (simulated). NOTE: The rate is currently the same for all
voodoo3 devices.

<voodoo3>.reg2d
Synopsis
<voodoo3>.reg2d register
Description
Print value in a 2D command register.

<voodoo3>.reg3d
Synopsis
<voodoo3>.reg3d register
Description
Print value in a 3D register.

<voodoo3>.render
2418

VIRTUTECH CONFIDENTIAL
Synopsis
<voodoo3>.render [bool]
Description
toggle 3d rendering

<voodoo3>.status
Synopsis
<voodoo3>.status [verbose]
Description
Show information about the current voodoo3 state, for example the current resolution,
color depth, desktop image offset etc. Currently the verbose flag has no function.

<voodoo3>.text-dump
Synopsis
<voodoo3>.text-dump
Description
Print the contents of the display in text mode.

2419

VIRTUTECH CONFIDENTIAL

voodoo3-agp
Provided by
voodoo3-agp
Class Hierarchy
conf-object log-object voodoo3-agp
Interfaces Implemented
log_object, event_poster, io_memory, pci_device
Description
The voodoo3-agp device implements the graphics device Voodoo3 (Avenger) from
3Dfx Interactive, Inc. Its very similar to the voodoo3 device, except that it connects
to the AGP bus instead of the PCI bus. The device supports accelerated 2D and 3D
graphics in multiple resolutions and color depths. The VGA core for this device is
inherited from the VGA-PCI device.

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
additional_pci_config_regs
Optional attribute; read/write access; type: unknown type.
Soon to be deprecated.
attrib_next_index
Optional attribute; read/write access; type: unknown type.
Decides whether the next 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: unknown type.
The address of the attribute controller register designated for the next access.
attrib_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-20) is a list of attribute registers.

2420

VIRTUTECH CONFIDENTIAL
attrib_video_enable
Optional attribute; read/write access; type: unknown type.
Decides whether video is enabled or not.
clut
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i511). The Color Lookup Table.
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).
config_registers
Optional attribute; read/write access; type: [i{64}]; integer indexed; indexed
type: Integer.
The 64 PCI configuration registers, each 32 bits in size.
console
Optional attribute; read/write access; type: unknown type.
Console object that must implement either gfx-console or both the serial-device
and extended-serial interfaces.
crtc_next
Optional attribute; read/write access; type: unknown type.
Integer register representing the next CRTC address.
crtc_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-24) is a list of CRTC registers.
depth_buffer
Optional attribute; read/write access; type: unknown type.
Current Mesa depth buffer.
dump_charset
Pseudo attribute; read/write access; type: unknown type.
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.
expansion_rom
Optional attribute; read/write access; type: [oii].
ROM object, map size, and map function number for the Expansion ROM.
fbdump
Pseudo attribute; read/write access; type: [i{5}].
Frame buffer dump command. See command help for more info
2421

VIRTUTECH CONFIDENTIAL
fifobp
Pseudo attribute; write-only access; type: Integer.
Set to 0 to disable fifo breakpoints, or to nonzero to enable them.
frame_buffer
Optional attribute; read/write access; type: unknown type.
This is the Voodoo3s on-board 16 MB RAM.
gfx_latch
Optional attribute; read/write access; type: unknown type.
(Latch-0 . . . Latch-4) List of four graphics data controller latches.
gfx_next
Optional attribute; read/write access; type: unknown type.
Represents the address of the graphics controller register designated for the next
read/write access.
gfx_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-8) is a list of the nine graphics controller registers found in
an VGA adapter.
h_cnt
Optional attribute; read/write access; type: unknown type.
Horizontal counter (used for generating retrace signals).
image
Required attribute; read/write access; type: Object.
Image object containing the VRAM.
info
Pseudo attribute; write-only access; type: a.
Prints some info about the voodoo3 device when written to.
internal_status
Optional attribute; read/write access; type: unknown type.
Voodoo3 internal status variables.
interrupt_pin
Optional attribute; read/write access; type: [iiii].
State of the interrupt pin.
io_base_regs
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i63). The IO/Init registers.
2422

VIRTUTECH CONFIDENTIAL
mappings
Optional attribute; read/write access; type: [[i{5:8}]|[iiiiiiiio|nii]].
List of all current PCI IO and memory mappings.
mem_base_2d_regs
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i127). The 2D Registers.
mem_base_3d_regs
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i255). The 3D Registers.
mem_base_cmd_regs
Optional attribute; read/write access; type: unknown type.
(i0, i1, ..., i63). The AGP/CMD Transfer/Misc Registers.
memory_space
Required attribute; read/write access; type: unknown type.
Memory space to which the device is mapped. Needed for dynamic remapping.
misc_reg
Optional attribute; read/write access; type: unknown type.
Miscellaneous output register.
pci_bus
Optional attribute; read/write access; type: Object or Nil.
The PCI bus this device is connected to, implementing the pci-bus interface.
pel_addr
Optional attribute; read/write access; type: unknown type.
PEL address register.
pel_mask
Optional attribute; read/write access; type: unknown type.
PEL mask register.
pel_next_color
Optional attribute; read/write access; type: unknown type.
Next color in access to PEL data register (read, green, or blue).
pel_pal
Optional attribute; read/write access; type: unknown type.
((red, green, blue) . . . (red, green, blue)) List of 256 colors, each a tuple of red, green,
and blue.

2423

VIRTUTECH CONFIDENTIAL
ramdac_rw_state
Optional attribute; read/write access; type: unknown type.
RAMDAC read/write state.
redraw
Pseudo attribute; write-only access; type: a.
Forces a complete update when set.
refresh_rate
Optional attribute; read/write access; type: unknown type.
Refresh rate (in Hertz).
render
Pseudo attribute; write-only access; type: Integer.
Set to 0 to disable 3d rendering, or to nonzero to enable it.
seq_next
Optional attribute; read/write access; type: unknown type.
Represents the address of the sequence register designated for the next read/write
access.
seq_regs
Optional attribute; read/write access; type: unknown type.
(Register-0 . . . Register-4) is a list of sequence registers found in the VGA adapter.
status
Pseudo attribute; read/write access; type: a.
Prints current status of the voodoo3 device when written to.
status_read
Optional attribute; read/write access; type: Integer.
Number of times the PCI status register has been read.
text_page
Pseudo attribute; read-only access; type: [s].
A list representation (one line per element) of the text mode contents.
tmu0_status
Optional attribute; read/write access; type: unknown type.
Voodoo3 TMU 0 status variables.
tmu1_status
Optional attribute; read/write access; type: unknown type.
Voodoo3 TMU 1 status variables.

2424

VIRTUTECH CONFIDENTIAL
v_cnt
Optional attribute; read/write access; type: unknown type.
Vertical counter (used for generating retrace signals).
vertex_status
Optional attribute; read/write access; type: unknown type.
Buffered vertex data + misc 3d status.
vga_crtc_ext_regs
Optional attribute; read/write access; type: [i{10}].
VGA CRTC regs
vga_memory
Pseudo attribute; write-only access; type: unknown type.
Contains the VGA memory (256 KB of data).
view_size_x
Pseudo attribute; read-only access; type: Integer.
With of the internal cache.
view_size_y
Pseudo attribute; read-only access; type: Integer.
Height of the internal cache.
write_masks
Optional attribute; read/write access; type: [[ii]].
Write masks for all registered configuration registers. The format for each entry
is (offset, mask).

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
fbdump
info
ioreg
redraw
refresh-rate
reg2d
reg3d
text-dump

show part of voodoo3 framebuffer


show voodoo3 info and status
print IO register
Redraw display
Set rate at which voodoo3-agp updated display
print 2D register
print 3D register
Print text contents of display

2425

VIRTUTECH CONFIDENTIAL

Command Descriptions
<voodoo3-agp>.fbdump
Synopsis
<voodoo3-agp>.fbdump fboffs width height [bpp] [stride]
Description
Display part of the voodoo3-agp framebuffer in the console window. fboffs is the starting offset into the 16 MB voodoo3 framebuffer. width and height are the pixel dimensions of the area to be shown. bpp (bits per pixel) specifies the format of the pixel data
and can be one of 8, 16, 24 or 32 (defaults to current desktop color depth). stride is the
byte offset between adjacent lines (defaults to width bpp / 8).

<voodoo3-agp>.info
Synopsis
<voodoo3-agp>.info [verbose]
Description
Show information about the current voodoo3 state, for example the current resolution,
color depth, desktop image offset etc. Currently the verbose flag has no function.

<voodoo3-agp>.ioreg
Synopsis
<voodoo3-agp>.ioreg register
Description
Print value in an IO register.

<voodoo3-agp>.redraw
Synopsis
<voodoo3-agp>.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.

<voodoo3-agp>.refresh-rate
Synopsis
<voodoo3-agp>.refresh-rate [rate]

2426

VIRTUTECH CONFIDENTIAL
Description
Set the rate at which the voodoo3-agp device updates the display.
The default is 1000 Hz (simulated). NOTE: The rate is currently the same for all
voodoo3-agp devices.

<voodoo3-agp>.reg2d
Synopsis
<voodoo3-agp>.reg2d register
Description
Print value in a 2D command register.

<voodoo3-agp>.reg3d
Synopsis
<voodoo3-agp>.reg3d register
Description
Print value in a 3D register.

<voodoo3-agp>.text-dump
Synopsis
<voodoo3-agp>.text-dump
Description
Print the contents of the display in text mode.

2427

VIRTUTECH CONFIDENTIAL

wire
Provided by
wire
Class Hierarchy
conf-object log-object wire
Interfaces Implemented
log_object, pci_interrupt, simple_interrupt
Description
The wire class implements a wire that can have any number of connected devices. It
forwards simple-interrupt or pci-interrupt interface operations from one or
more sources to one destination. It ors the source interrupt lines.

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
irq_dev
Required attribute; read/write access; type: unknown type.
Interrupt Device.
irq_level
Required attribute; read/write access; type: unknown type.
Interrupt level.

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

2428

VIRTUTECH CONFIDENTIAL

x86-486sx
Provided by
x86-486sx, x86-486sx-turbo
Class Hierarchy
conf-object log-object x86-486sx
Interfaces Implemented
log_object, x86, a20, interrupt_ack, exception, int_register, processor, event_poster
Description
The x86-486sx 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 eax).
al
Pseudo attribute; read/write access; type: unknown type.
Register al (lower 8 bits of eax).
2429

VIRTUTECH CONFIDENTIAL
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)
ax
Pseudo attribute; read/write access; type: unknown type.
Register ax (lower 16 bits of eax).
bh
Pseudo attribute; read/write access; type: unknown type.
Register bh (bits 8-15 from ebx).
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 ebx).
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 ebp).
2430

VIRTUTECH CONFIDENTIAL
branch_prof_support
Pseudo attribute; read-only access; type: b.
True if this processor supports branch profiling in -stall mode, false otherwise.
bx
Pseudo attribute; read/write access; type: unknown type.
Register bx (lower 16 bits of ebx).
ch
Pseudo attribute; read/write access; type: unknown type.
Register ch (bits 8-15 from ecx).
cl
Pseudo attribute; read/write access; type: unknown type.
Register cl (lower 8 bits of ecx).
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_groupinterface.
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.
2431

VIRTUTECH CONFIDENTIAL
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.

2432

VIRTUTECH CONFIDENTIAL
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_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) The limit field always specifies
the limit in bytes.
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 ecx).
2433

VIRTUTECH CONFIDENTIAL
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 edx).
di
Pseudo attribute; read/write access; type: unknown type.
Register di (lower 16 bits of edi).
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 edx).
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.
2434

VIRTUTECH CONFIDENTIAL
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) The limit field always specifies
the limit in bytes.
dx
Pseudo attribute; read/write access; type: unknown type.
Register dx (lower 16 bits of edx).
eax
Optional attribute; read/write access; type: unknown type.
General purpose register.
ebp
Optional attribute; read/write access; type: unknown type.
General purpose register.
ebx
Optional attribute; read/write access; type: unknown type.
General purpose register.
ecx
Optional attribute; read/write access; type: unknown type.
General purpose register.
2435

VIRTUTECH CONFIDENTIAL
edi
Optional attribute; read/write access; type: unknown type.
General purpose register.
edx
Optional attribute; read/write access; type: unknown type.
General purpose register.
eflags
Optional attribute; read/write access; type: unknown type.
Flag register.
eip
Optional attribute; read/write access; type: unknown type.
Instruction pointer.
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) The limit field always specifies
the limit in bytes.
esi
Optional attribute; read/write access; type: unknown type.
General purpose register.
esp
Optional attribute; read/write access; type: unknown type.
General purpose register.
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.
2436

VIRTUTECH CONFIDENTIAL
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.
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.
2437

VIRTUTECH CONFIDENTIAL
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) The limit field always specifies
the limit in bytes.

2438

VIRTUTECH CONFIDENTIAL
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) The limit field always specifies
the limit in bytes.
halt_steps
Optional attribute; read/write access; type: unknown type.
Number of steps waiting in HLT instructions.
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
ip
Pseudo attribute; read/write access; type: unknown type.
Register ip (lower 16 bits of eip).
2439

VIRTUTECH CONFIDENTIAL
is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
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) 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 ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
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).
2440

VIRTUTECH CONFIDENTIAL
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.
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.

2441

VIRTUTECH CONFIDENTIAL
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.
physical_bits
Pseudo class attribute; read-only access; type: Integer.
Number of physical address bits.
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.
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 portspace class), or the lookup interface (typically an instance of the memoryspace class).
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.
reorder_buffer_size
Optional attribute; read/write access; type: unknown type.
Size of the reorder buffer (for x86 MAI).
si
Pseudo attribute; read/write access; type: unknown type.
Register si (lower 16 bits of esi).
sp
Pseudo attribute; read/write access; type: unknown type.
Register sp (lower 16 bits of esp).
2442

VIRTUTECH CONFIDENTIAL
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) 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.
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.
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.
2443

VIRTUTECH CONFIDENTIAL
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) The limit field always specifies
the limit in bytes.
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.
2444

VIRTUTECH CONFIDENTIAL
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.

2445

VIRTUTECH CONFIDENTIAL
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.

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, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

2446

VIRTUTECH CONFIDENTIAL

x86-apic-bus-system
Provided by
x86-components
Class Hierarchy
conf-object log-object component top-component x86-apic-bus-system
Interfaces Implemented
log_object, component
Description
The x86-apic-bus-system component represents a multi-processor capable x86 system with up to 255 cpus.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
break_on_reboot
Optional attribute; read/write access; type: b.
If true, the simulation will stop when machine is rebooted.
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes on the processor board.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

2447

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
cmos-base-mem
cmos-boot-dev
cmos-extended-mem
cmos-floppy
cmos-hd
cmos-info
cmos-init
info
status

set base memory size


set boot drive
set extended memory size
set floppy parameters
set fixed disk parameters
print information about the CMOS area
initialize some CMOS values
print information about the device
print status of the device

Command Descriptions
<x86-apic-bus-system>.cmos-base-mem
Synopsis
<x86-apic-bus-system>.cmos-base-mem kilobytes
Description
Sets the amount of base memory (in kB).
This command will update the proper location in the CMOS so that the BIOS will
know how much memory is installed in the system. Operating system that use the
BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 640kB.

<x86-apic-bus-system>.cmos-boot-dev
Synopsis
<x86-apic-bus-system>.cmos-boot-dev drive
Description
Specifies boot device for the BIOS in the CMOS.
Parameters: A or C, or floppy or HD boot. Default is C.

<x86-apic-bus-system>.cmos-extended-mem
Synopsis
<x86-apic-bus-system>.cmos-extended-mem megabytes

2448

VIRTUTECH CONFIDENTIAL
Description
Sets the amount of extended memory (in MB).
This command will update the proper location in the CMOS so that the BIOS will
know how much memory is installed in the system. Operating system that use the
BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 63MB.

<x86-apic-bus-system>.cmos-floppy
Synopsis
<x86-apic-bus-system>.cmos-floppy drive type
Description
Sets information in the CMOS about floppy drives.
Drive is either A (primary drive) or B (secondary drive), and type is the maximal
drive size (in kB or MB); 360, 720, 1.2, 1.44, 2.88. Setting type to none indicates to
the OS/BIOS that no drive is present. Since both arguments are strings, quoting is
sometimes necessary.

<x86-apic-bus-system>.cmos-hd
Synopsis
<x86-apic-bus-system>.cmos-hd drive cylinders heads sectors_per_track
Description
Sets information in the CMOS about the primary hard disk (C) and the secondary
hard disk (D).

<x86-apic-bus-system>.cmos-info
Synopsis
<x86-apic-bus-system>.cmos-info
Description
Print detailed information about the CMOS information from the RTC device.

<x86-apic-bus-system>.cmos-init
Synopsis
<x86-apic-bus-system>.cmos-init
Description
Set initial CMOS values in the RTC device.
This is miscellaneous data that is not set by any of the other cmos- commands. Note
that the CMOS values only has to be set if not running from a saved configuration. A
saved configuration will have all values stored in the NVRAM area, and the cmos-
commands need only be used if some values have to be changed.
2449

VIRTUTECH CONFIDENTIAL

<x86-apic-bus-system>.info
Synopsis
<x86-apic-bus-system>.info
Description
Print detailed information about the configuration of the device.

<x86-apic-bus-system>.status
Synopsis
<x86-apic-bus-system>.status
Description
Print detailed information about the current status of the device.

2450

VIRTUTECH CONFIDENTIAL

x86-apic-system
Provided by
x86-components
Class Hierarchy
conf-object log-object component top-component x86-apic-system
Interfaces Implemented
log_object, component
Description
The x86-apic-system component represents a multi-processor capable x86 system
with up to 255 cpus.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
acpi
Optional attribute; read/write access; type: b.
TRUE if the machine uses ACPI. Default is TRUE.
bios
Optional attribute; read/write access; type: String.
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.
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes on the processor board.
2451

VIRTUTECH CONFIDENTIAL
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
cmos-base-mem
cmos-boot-dev
cmos-extended-mem
cmos-floppy
cmos-hd
cmos-info
cmos-init
info
status

set base memory size


set boot drive
set extended memory size
set floppy parameters
set fixed disk parameters
print information about the CMOS area
initialize some CMOS values
print information about the device
print status of the device

Command Descriptions
<x86-apic-system>.cmos-base-mem
Synopsis
<x86-apic-system>.cmos-base-mem kilobytes
Description
Sets the amount of base memory (in kB).
This command will update the proper location in the CMOS so that the BIOS will
know how much memory is installed in the system. Operating system that use the
BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 640kB.

<x86-apic-system>.cmos-boot-dev
Synopsis
<x86-apic-system>.cmos-boot-dev drive
Description
Specifies boot device for the BIOS in the CMOS.
Parameters: A or C, or floppy or HD boot. Default is C.

<x86-apic-system>.cmos-extended-mem

2452

VIRTUTECH CONFIDENTIAL
Synopsis
<x86-apic-system>.cmos-extended-mem megabytes
Description
Sets the amount of extended memory (in MB).
This command will update the proper location in the CMOS so that the BIOS will
know how much memory is installed in the system. Operating system that use the
BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 63MB.

<x86-apic-system>.cmos-floppy
Synopsis
<x86-apic-system>.cmos-floppy drive type
Description
Sets information in the CMOS about floppy drives.
Drive is either A (primary drive) or B (secondary drive), and type is the maximal
drive size (in kB or MB); 360, 720, 1.2, 1.44, 2.88. Setting type to none indicates to
the OS/BIOS that no drive is present. Since both arguments are strings, quoting is
sometimes necessary.

<x86-apic-system>.cmos-hd
Synopsis
<x86-apic-system>.cmos-hd drive cylinders heads sectors_per_track
Description
Sets information in the CMOS about the primary hard disk (C) and the secondary
hard disk (D).

<x86-apic-system>.cmos-info
Synopsis
<x86-apic-system>.cmos-info
Description
Print detailed information about the CMOS information from the RTC device.

<x86-apic-system>.cmos-init
Synopsis
<x86-apic-system>.cmos-init

2453

VIRTUTECH CONFIDENTIAL
Description
Set initial CMOS values in the RTC device.
This is miscellaneous data that is not set by any of the other cmos- commands. Note
that the CMOS values only has to be set if not running from a saved configuration. A
saved configuration will have all values stored in the NVRAM area, and the cmos-
commands need only be used if some values have to be changed.

<x86-apic-system>.info
Synopsis
<x86-apic-system>.info
Description
Print detailed information about the configuration of the device.

<x86-apic-system>.status
Synopsis
<x86-apic-system>.status
Description
Print detailed information about the current status of the device.

2454

VIRTUTECH CONFIDENTIAL

x86-e7520-system
Provided by
x86-components
Class Hierarchy
conf-object log-object component top-component x86-e7520-system
Interfaces Implemented
log_object, component
Description
The x86-e7520-system component represents a E7520-based multi-processor capable
system with up to 15 cpus.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
bios_name
Optional attribute; read/write access; type: String.
The x86 BIOS filename (to set correct breakpoints).
break_on_reboot
Optional attribute; read/write access; type: b.
If true, the simulation will stop when machine is rebooted.
fm2_callback_called
Optional attribute; read/write access; type: Integer.
Internal
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes on the processor board.
2455

VIRTUTECH CONFIDENTIAL
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
cmos-base-mem
cmos-boot-dev
cmos-extended-mem
cmos-floppy
cmos-hd
cmos-info
cmos-init
info
status

set base memory size


set boot drive
set extended memory size
set floppy parameters
set fixed disk parameters
print information about the CMOS area
initialize some CMOS values
print information about the device
print status of the device

Command Descriptions
<x86-e7520-system>.cmos-base-mem
Synopsis
<x86-e7520-system>.cmos-base-mem kilobytes
Description
Sets the amount of base memory (in kB).
This command will update the proper location in the CMOS so that the BIOS will
know how much memory is installed in the system. Operating system that use the
BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 640kB.

<x86-e7520-system>.cmos-boot-dev
Synopsis
<x86-e7520-system>.cmos-boot-dev drive
Description
Specifies boot device for the BIOS in the CMOS.
Parameters: A or C, or floppy or HD boot. Default is C.

<x86-e7520-system>.cmos-extended-mem

2456

VIRTUTECH CONFIDENTIAL
Synopsis
<x86-e7520-system>.cmos-extended-mem megabytes
Description
Sets the amount of extended memory (in MB).
This command will update the proper location in the CMOS so that the BIOS will
know how much memory is installed in the system. Operating system that use the
BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 63MB.

<x86-e7520-system>.cmos-floppy
Synopsis
<x86-e7520-system>.cmos-floppy drive type
Description
Sets information in the CMOS about floppy drives.
Drive is either A (primary drive) or B (secondary drive), and type is the maximal
drive size (in kB or MB); 360, 720, 1.2, 1.44, 2.88. Setting type to none indicates to
the OS/BIOS that no drive is present. Since both arguments are strings, quoting is
sometimes necessary.

<x86-e7520-system>.cmos-hd
Synopsis
<x86-e7520-system>.cmos-hd drive cylinders heads sectors_per_track
Description
Sets information in the CMOS about the primary hard disk (C) and the secondary
hard disk (D).

<x86-e7520-system>.cmos-info
Synopsis
<x86-e7520-system>.cmos-info
Description
Print detailed information about the CMOS information from the RTC device.

<x86-e7520-system>.cmos-init
Synopsis
<x86-e7520-system>.cmos-init

2457

VIRTUTECH CONFIDENTIAL
Description
Set initial CMOS values in the RTC device.
This is miscellaneous data that is not set by any of the other cmos- commands. Note
that the CMOS values only has to be set if not running from a saved configuration. A
saved configuration will have all values stored in the NVRAM area, and the cmos-
commands need only be used if some values have to be changed.

<x86-e7520-system>.info
Synopsis
<x86-e7520-system>.info
Description
Print detailed information about the configuration of the device.

<x86-e7520-system>.status
Synopsis
<x86-e7520-system>.status
Description
Print detailed information about the current status of the device.

2458

VIRTUTECH CONFIDENTIAL

x86-hammer
Provided by
x86-hammer, x86-hammer-ma, x86-hammer-turbo
Class Hierarchy
conf-object log-object x86-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).

2459

VIRTUTECH CONFIDENTIAL
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.
2460

VIRTUTECH CONFIDENTIAL
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.
2461

VIRTUTECH CONFIDENTIAL
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_groupinterface.
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.
2462

VIRTUTECH CONFIDENTIAL
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.

2463

VIRTUTECH CONFIDENTIAL
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.
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).
2464

TODO

VIRTUTECH CONFIDENTIAL
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.
2465

VIRTUTECH CONFIDENTIAL
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.
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).
2466

TODO

VIRTUTECH CONFIDENTIAL
efer
Optional attribute; read/write access; type: Integer.
No description

TODO

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.

2467

VIRTUTECH CONFIDENTIAL
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.
No description
fidvid_status
Optional attribute; read/write access; type: Integer.
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.
2468

TODO

TODO

VIRTUTECH CONFIDENTIAL
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.
2469

VIRTUTECH CONFIDENTIAL
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.
No description

TODO

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.
No description

TODO

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.
No description
ia32_apicbase
Optional attribute; read/write access; type: Integer.
No description
ia32_bios_sign_id
Optional attribute; read/write access; type: Integer.
No description
ia32_bios_updt_trig
Optional attribute; read/write access; type: Integer.
No description
2470

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
ia32_cr_pat
Optional attribute; read/write access; type: Integer.
No description
ia32_debugctl
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_cap
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_ctl
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_status
Optional attribute; read/write access; type: Integer.
No description
ia32_mtrrcap
Optional attribute; read/write access; type: Integer.
No description
ia32_platform_id
Optional attribute; read/write access; type: Integer.
No description
ia32_sysenter_cs
Optional attribute; read/write access; type: Integer.
No description
ia32_sysenter_eip
Optional attribute; read/write access; type: Integer.
No description
ia32_sysenter_esp
Optional attribute; read/write access; type: Integer.
No description
ia32_time_stamp_counter
Optional attribute; read/write access; type: Integer.
No description
idtr_base
Optional attribute; read/write access; type: unknown type.
Interrupt descriptor table base.
2471

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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.
No description
iorrbase1
Optional attribute; read/write access; type: Integer.
No description
iorrmask0
Optional attribute; read/write access; type: Integer.
No description
iorrmask1
Optional attribute; read/write access; type: Integer.
No description
iotrap_addr0
Optional attribute; read/write access; type: Integer.
No description
iotrap_addr1
Optional attribute; read/write access; type: Integer.
No description
iotrap_addr2
Optional attribute; read/write access; type: Integer.
No description
2472

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
iotrap_addr3
Optional attribute; read/write access; type: Integer.
No description
iotrap_ctl
Optional attribute; read/write access; type: Integer.
No description

TODO

TODO

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.
No description
lastbranchfromip
Optional attribute; read/write access; type: Integer.
No description
lastbranchtoip
Optional attribute; read/write access; type: Integer.
No description
lastintfromip
Optional attribute; read/write access; type: Integer.
No description
lastinttoip
Optional attribute; read/write access; type: Integer.
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.
2473

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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 ooomode is micro-architecture
lstar
Optional attribute; read/write access; type: Integer.
No description

TODO

mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
manid
Optional attribute; read/write access; type: Integer.
No description
mc0_addr
Optional attribute; read/write access; type: Integer.
No description
mc0_ctl
Optional attribute; read/write access; type: Integer.
No description
mc0_misc
Optional attribute; read/write access; type: Integer.
No description
2474

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mc0_status
Optional attribute; read/write access; type: Integer.
No description
mc1_addr
Optional attribute; read/write access; type: Integer.
No description
mc1_ctl
Optional attribute; read/write access; type: Integer.
No description
mc1_misc
Optional attribute; read/write access; type: Integer.
No description
mc1_status
Optional attribute; read/write access; type: Integer.
No description
mc2_addr
Optional attribute; read/write access; type: Integer.
No description
mc2_ctl
Optional attribute; read/write access; type: Integer.
No description
mc2_misc
Optional attribute; read/write access; type: Integer.
No description
mc2_status
Optional attribute; read/write access; type: Integer.
No description
mc3_addr
Optional attribute; read/write access; type: Integer.
No description
mc3_ctl
Optional attribute; read/write access; type: Integer.
No description
mc3_misc
Optional attribute; read/write access; type: Integer.
No description
2475

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mc3_status
Optional attribute; read/write access; type: Integer.
No description
mc4_addr
Optional attribute; read/write access; type: Integer.
No description
mc4_ctl
Optional attribute; read/write access; type: Integer.
No description
mc4_misc
Optional attribute; read/write access; type: Integer.
No description
mc4_status
Optional attribute; read/write access; type: Integer.
No description
mcar
Optional attribute; read/write access; type: Integer.
No description
mctr
Optional attribute; read/write access; type: Integer.
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.
2476

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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.
No description
msr_0xc0010048
Optional attribute; read/write access; type: Integer.
No description
msr_0xc0010055
Optional attribute; read/write access; type: Integer.
No description
msr_0xc001101f
Optional attribute; read/write access; type: Integer.
No description
msr_0xc0011021
Optional attribute; read/write access; type: Integer.
No description
msr_0xc0011022
Optional attribute; read/write access; type: Integer.
No description

TODO

TODO

TODO

TODO

TODO

TODO

msr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
mtrr_base0
Optional attribute; read/write access; type: Integer.
No description
mtrr_base1
Optional attribute; read/write access; type: Integer.
No description
mtrr_base2
Optional attribute; read/write access; type: Integer.
No description
mtrr_base3
Optional attribute; read/write access; type: Integer.
No description
2477

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mtrr_base4
Optional attribute; read/write access; type: Integer.
No description
mtrr_base5
Optional attribute; read/write access; type: Integer.
No description
mtrr_base6
Optional attribute; read/write access; type: Integer.
No description
mtrr_base7
Optional attribute; read/write access; type: Integer.
No description
mtrr_def_type
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_16k_80000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_16k_a0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_c0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_c8000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_d0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_d8000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_e0000
Optional attribute; read/write access; type: Integer.
No description
2478

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mtrr_fix_4k_e8000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_f0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_f8000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_64k_00000
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask0
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask1
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask2
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask3
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask4
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask5
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask6
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask7
Optional attribute; read/write access; type: Integer.
No description
2479

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mxcsr
Optional attribute; read/write access; type: unknown type.
XMM control register.
nb_cfg
Optional attribute; read/write access; type: Integer.
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.

2480

TODO

VIRTUTECH CONFIDENTIAL
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.
No description
perfctr1
Optional attribute; read/write access; type: Integer.
No description
perfctr2
Optional attribute; read/write access; type: Integer.
No description
perfctr3
Optional attribute; read/write access; type: Integer.
No description
perfevtsel0
Optional attribute; read/write access; type: Integer.
No description
perfevtsel1
Optional attribute; read/write access; type: Integer.
No description
perfevtsel2
Optional attribute; read/write access; type: Integer.
No description
perfevtsel3
Optional attribute; read/write access; type: Integer.
No description
physical_bits
Pseudo class attribute; read-only access; type: Integer.
Number of physical address bits.

2481

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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 portspace class), or the lookup interface (typically an instance of the memoryspace class).
processor_name_0
Optional attribute; read/write access; type: Integer.
No description
processor_name_1
Optional attribute; read/write access; type: Integer.
No description
processor_name_2
Optional attribute; read/write access; type: Integer.
No description
processor_name_3
Optional attribute; read/write access; type: Integer.
No description
processor_name_4
Optional attribute; read/write access; type: Integer.
No description
processor_name_5
Optional attribute; read/write access; type: Integer.
No description
2482

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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).
2483

VIRTUTECH CONFIDENTIAL
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).
2484

VIRTUTECH CONFIDENTIAL
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.
2485

VIRTUTECH CONFIDENTIAL
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.
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.
2486

TODO

VIRTUTECH CONFIDENTIAL
smm_addr
Optional attribute; read/write access; type: Integer.
No description
smm_base
Pseudo attribute; read/write access; type: Integer.
No description
smm_mask
Optional attribute; read/write access; type: Integer.
No description

TODO

TODO

TODO

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

TODO

VIRTUTECH CONFIDENTIAL
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.
No description
syscfg
Optional attribute; read/write access; type: Integer.
No description

TODO

TODO

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

2488

TODO

TODO

VIRTUTECH CONFIDENTIAL
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.
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.
2489

TODO

VIRTUTECH CONFIDENTIAL
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.

2490

VIRTUTECH CONFIDENTIAL
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, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

2491

VIRTUTECH CONFIDENTIAL

x86-hammer-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component x86-hammer-cpu
Interfaces Implemented
log_object, component
Description
The x86-hammer-cpu component represents a generic 64-bit AMD Athlon 64 or
Opteron processor without on-chip devices.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

2492

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<x86-hammer-cpu>.info
Synopsis
<x86-hammer-cpu>.info
Description
Print detailed information about the configuration of the device.

<x86-hammer-cpu>.status
Synopsis
<x86-hammer-cpu>.status
Description
Print detailed information about the current status of the device.

2493

VIRTUTECH CONFIDENTIAL

x86-linux-process-tracker
Provided by
x86-linux-process-tracker
Class Hierarchy
conf-object log-object x86-linux-process-tracker
Interfaces Implemented
log_object, tracker_unix, tracker_settings, tracker
Description

Process tracker for Linux on x86. Note: This process tracker has been superseded by the generic linu

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
kernel_stack_size
Session attribute; read/write access; type: Integer.
Size (in bytes) of a kernel stack. Must be a power of two. 4096 bytes in some 2.6
kernels; otherwise 8192 bytes.
pid_offset
Session attribute; read/write access; type: Integer.
Offset (in bytes) of the pid in the task_struct struct. This can be found by disassembling the kernels getpid syscall.
processors
Session attribute; read/write access; type: [o].
Processors whose modes are being tracked.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands defined by interface tracker
activate, add-processor, deactivate, remove-processor
2494

VIRTUTECH CONFIDENTIAL
Commands
status print status of the device

Command Descriptions
<x86-linux-process-tracker>.status
Synopsis
<x86-linux-process-tracker>.status
Description
Print detailed information about the current status of the device.

2495

VIRTUTECH CONFIDENTIAL

x86-p2
Provided by
x86-p2, x86-p2-turbo
Class Hierarchy
conf-object log-object x86-p2
Interfaces Implemented
log_object, x86, a20, interrupt_ack, exception, int_register, processor, event_poster
Description
The x86-p2 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 eax).
al
Pseudo attribute; read/write access; type: unknown type.
Register al (lower 8 bits of eax).
2496

VIRTUTECH CONFIDENTIAL
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)
ax
Pseudo attribute; read/write access; type: unknown type.
Register ax (lower 16 bits of eax).
bbl_cr_addr
Optional attribute; read/write access; type: Integer.
No description
bbl_cr_busy
Optional attribute; read/write access; type: Integer.
No description
bbl_cr_ctl
Optional attribute; read/write access; type: Integer.
No description
bbl_cr_ctl3
Optional attribute; read/write access; type: Integer.
No description
bbl_cr_d0
Optional attribute; read/write access; type: Integer.
No description
bbl_cr_d1
Optional attribute; read/write access; type: Integer.
No description

2497

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
bbl_cr_d2
Optional attribute; read/write access; type: Integer.
No description
bbl_cr_decc
Optional attribute; read/write access; type: Integer.
No description
bbl_cr_trig
Optional attribute; read/write access; type: Integer.
No description
bh
Pseudo attribute; read/write access; type: unknown type.
Register bh (bits 8-15 from ebx).
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 ebx).
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 ebp).
branch_prof_support
Pseudo attribute; read-only access; type: b.
True if this processor supports branch profiling in -stall mode, false otherwise.

2498

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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 ebx).
ch
Pseudo attribute; read/write access; type: unknown type.
Register ch (bits 8-15 from ecx).
cl
Pseudo attribute; read/write access; type: unknown type.
Register cl (lower 8 bits of ecx).
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_groupinterface.
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.
2499

VIRTUTECH CONFIDENTIAL
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.

2500

VIRTUTECH CONFIDENTIAL
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_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) The limit field always specifies
the limit in bytes.
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 ecx).
2501

VIRTUTECH CONFIDENTIAL
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 edx).
di
Pseudo attribute; read/write access; type: unknown type.
Register di (lower 16 bits of edi).
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 edx).
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.
2502

VIRTUTECH CONFIDENTIAL
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) The limit field always specifies
the limit in bytes.
dx
Pseudo attribute; read/write access; type: unknown type.
Register dx (lower 16 bits of edx).
eax
Optional attribute; read/write access; type: unknown type.
General purpose register.
ebl_cr_poweron
Optional attribute; read/write access; type: Integer.
No description
ebp
Optional attribute; read/write access; type: unknown type.
General purpose register.
ebx
Optional attribute; read/write access; type: unknown type.
General purpose register.
2503

TODO

VIRTUTECH CONFIDENTIAL
ecx
Optional attribute; read/write access; type: unknown type.
General purpose register.
edi
Optional attribute; read/write access; type: unknown type.
General purpose register.
edx
Optional attribute; read/write access; type: unknown type.
General purpose register.
eflags
Optional attribute; read/write access; type: unknown type.
Flag register.
eip
Optional attribute; read/write access; type: unknown type.
Instruction pointer.
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) The limit field always specifies
the limit in bytes.
esi
Optional attribute; read/write access; type: unknown type.
General purpose register.
esp
Optional attribute; read/write access; type: unknown type.
General purpose register.
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).

2504

VIRTUTECH CONFIDENTIAL
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.
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.
2505

VIRTUTECH CONFIDENTIAL
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.
2506

VIRTUTECH CONFIDENTIAL
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) The limit field always specifies
the limit in bytes.
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) The limit field always specifies
the limit in bytes.
halt_steps
Optional attribute; read/write access; type: unknown type.
Number of steps waiting in HLT instructions.
ia32_apicbase
Optional attribute; read/write access; type: Integer.
No description
ia32_bios_sign_id
Optional attribute; read/write access; type: Integer.
No description
ia32_bios_updt_trig
Optional attribute; read/write access; type: Integer.
No description
ia32_cr_pat
Optional attribute; read/write access; type: Integer.
No description
ia32_debugctl
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_cap
Optional attribute; read/write access; type: Integer.
No description
2507

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
ia32_mcg_ctl
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_status
Optional attribute; read/write access; type: Integer.
No description
ia32_mtrrcap
Optional attribute; read/write access; type: Integer.
No description
ia32_p5_mc_addr
Optional attribute; read/write access; type: Integer.
No description
ia32_p5_mc_type
Optional attribute; read/write access; type: Integer.
No description
ia32_platform_id
Optional attribute; read/write access; type: Integer.
No description
ia32_sysenter_cs
Optional attribute; read/write access; type: Integer.
No description
ia32_sysenter_eip
Optional attribute; read/write access; type: Integer.
No description
ia32_sysenter_esp
Optional attribute; read/write access; type: Integer.
No description
ia32_time_stamp_counter
Optional attribute; read/write access; type: Integer.
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.
2508

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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
ip
Pseudo attribute; read/write access; type: unknown type.
Register ip (lower 16 bits of eip).
is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
lastbranchfromip
Optional attribute; read/write access; type: Integer.
No description
lastbranchtoip
Optional attribute; read/write access; type: Integer.
No description
lastintfromip
Optional attribute; read/write access; type: Integer.
No description
lastinttoip
Optional attribute; read/write access; type: Integer.
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.
2509

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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) 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 ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
mc0_addr
Optional attribute; read/write access; type: Integer.
No description
mc0_ctl
Optional attribute; read/write access; type: Integer.
No description
mc0_misc
Optional attribute; read/write access; type: Integer.
No description
mc0_status
Optional attribute; read/write access; type: Integer.
No description
mc1_addr
Optional attribute; read/write access; type: Integer.
No description
2510

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mc1_ctl
Optional attribute; read/write access; type: Integer.
No description
mc1_misc
Optional attribute; read/write access; type: Integer.
No description
mc1_status
Optional attribute; read/write access; type: Integer.
No description
mc2_addr
Optional attribute; read/write access; type: Integer.
No description
mc2_ctl
Optional attribute; read/write access; type: Integer.
No description
mc2_misc
Optional attribute; read/write access; type: Integer.
No description
mc2_status
Optional attribute; read/write access; type: Integer.
No description
mc3_addr
Optional attribute; read/write access; type: Integer.
No description
mc3_ctl
Optional attribute; read/write access; type: Integer.
No description
mc3_misc
Optional attribute; read/write access; type: Integer.
No description
mc3_status
Optional attribute; read/write access; type: Integer.
No description
mc4_addr
Optional attribute; read/write access; type: Integer.
No description
2511

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mc4_ctl
Optional attribute; read/write access; type: Integer.
No description
mc4_misc
Optional attribute; read/write access; type: Integer.
No description
mc4_status
Optional attribute; read/write access; type: Integer.
No description

TODO

TODO

TODO

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_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
mtrr_base0
Optional attribute; read/write access; type: Integer.
No description
mtrr_base1
Optional attribute; read/write access; type: Integer.
No description
mtrr_base2
Optional attribute; read/write access; type: Integer.
No description

2512

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mtrr_base3
Optional attribute; read/write access; type: Integer.
No description
mtrr_base4
Optional attribute; read/write access; type: Integer.
No description
mtrr_base5
Optional attribute; read/write access; type: Integer.
No description
mtrr_base6
Optional attribute; read/write access; type: Integer.
No description
mtrr_base7
Optional attribute; read/write access; type: Integer.
No description
mtrr_def_type
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_16k_80000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_16k_a0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_c0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_c8000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_d0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_d8000
Optional attribute; read/write access; type: Integer.
No description
2513

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mtrr_fix_4k_e0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_e8000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_f0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_f8000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_64k_00000
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask0
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask1
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask2
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask3
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask4
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask5
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask6
Optional attribute; read/write access; type: Integer.
No description
2514

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mtrr_mask7
Optional attribute; read/write access; type: Integer.
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).
2515

TODO

VIRTUTECH CONFIDENTIAL
pending_vector_valid
Optional attribute; read/write access; type: unknown type.
Valid flag for pending_vector.
perfctr
Optional attribute; read/write access; type: unknown type.
Performance counters.
perfctr0
Pseudo attribute; read/write access; type: Integer.
No description
perfctr1
Pseudo attribute; read/write access; type: Integer.
No description
perfevtsel0
Optional attribute; read/write access; type: Integer.
No description
perfevtsel1
Optional attribute; read/write access; type: Integer.
No description
physical_bits
Pseudo class attribute; read-only access; type: Integer.
Number of physical address bits.
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 portspace class), or the lookup interface (typically an instance of the memoryspace class).
2516

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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.
reorder_buffer_size
Optional attribute; read/write access; type: unknown type.
Size of the reorder buffer (for x86 MAI).
rob_cr_bkuptmpdr6
Optional attribute; read/write access; type: Integer.
No description
si
Pseudo attribute; read/write access; type: unknown type.
Register si (lower 16 bits of esi).
sp
Pseudo attribute; read/write access; type: unknown type.
Register sp (lower 16 bits of esp).
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) 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.
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.
2517

TODO

VIRTUTECH CONFIDENTIAL
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.
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.
test_ctl
Optional attribute; read/write access; type: Integer.
No description
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.
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) The limit field always specifies
the limit in bytes.
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.

2518

TODO

VIRTUTECH CONFIDENTIAL
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.
2519

VIRTUTECH CONFIDENTIAL
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.

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
2520

VIRTUTECH CONFIDENTIAL
Commands defined by interface processor
add-memory-profiler, aprof-views, attach-branch-recorder, break-cr, cycle-break, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

2521

VIRTUTECH CONFIDENTIAL

x86-p4
Provided by
x86-p4, x86-p4-ma, x86-p4-turbo
Class Hierarchy
conf-object log-object x86-p4
Interfaces Implemented
log_object, x86, a20, interrupt_ack, exception, int_register, processor, event_poster
Description
The x86-p4 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 eax).
al
Pseudo attribute; read/write access; type: unknown type.
Register al (lower 8 bits of eax).
2522

VIRTUTECH CONFIDENTIAL
alf_escr0
Optional attribute; read/write access; type: Integer.
No description
alf_escr1
Optional attribute; read/write access; type: Integer.
No description
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)
ax
Pseudo attribute; read/write access; type: unknown type.
Register ax (lower 16 bits of eax).
bh
Pseudo attribute; read/write access; type: unknown type.
Register bh (bits 8-15 from ebx).
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 ebx).
block_init
Optional attribute; read/write access; type: unknown type.
INIT will be blocked if this flag is set.
2523

TODO

TODO

VIRTUTECH CONFIDENTIAL
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 ebp).
bpu_cccr0
Optional attribute; read/write access; type: Integer.
No description
bpu_cccr1
Optional attribute; read/write access; type: Integer.
No description
bpu_cccr2
Optional attribute; read/write access; type: Integer.
No description
bpu_cccr3
Optional attribute; read/write access; type: Integer.
No description
bpu_counter0
Optional attribute; read/write access; type: Integer.
No description
bpu_counter1
Optional attribute; read/write access; type: Integer.
No description
bpu_counter2
Optional attribute; read/write access; type: Integer.
No description
bpu_counter3
Optional attribute; read/write access; type: Integer.
No description
bpu_escr0
Optional attribute; read/write access; type: Integer.
No description
2524

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
bpu_escr1
Optional attribute; read/write access; type: Integer.
No description

TODO

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.
bsu_escr0
Optional attribute; read/write access; type: Integer.
No description
bsu_escr1
Optional attribute; read/write access; type: Integer.
No description
bx
Pseudo attribute; read/write access; type: unknown type.
Register bx (lower 16 bits of ebx).
ch
Pseudo attribute; read/write access; type: unknown type.
Register ch (bits 8-15 from ecx).
cl
Pseudo attribute; read/write access; type: unknown type.
Register cl (lower 8 bits of ecx).
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.
2525

TODO

TODO

VIRTUTECH CONFIDENTIAL
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_groupinterface.
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.
2526

VIRTUTECH CONFIDENTIAL
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.

2527

VIRTUTECH CONFIDENTIAL
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.
cru_escr0
Optional attribute; read/write access; type: Integer.
No description
cru_escr1
Optional attribute; read/write access; type: Integer.
No description
cru_escr2
Optional attribute; read/write access; type: Integer.
No description
cru_escr3
Optional attribute; read/write access; type: Integer.
No description
cru_escr4
Optional attribute; read/write access; type: Integer.
No description
cru_escr5
Optional attribute; read/write access; type: Integer.
No description
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) The limit field always specifies
the limit in bytes.
current_context
Session attribute; read/write access; type: Object.
Current context object.
2528

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
cx
Pseudo attribute; read/write access; type: unknown type.
Register cx (lower 16 bits of ecx).
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.
dac_escr0
Optional attribute; read/write access; type: Integer.
No description
dac_escr1
Optional attribute; read/write access; type: Integer.
No description
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 edx).
di
Pseudo attribute; read/write access; type: unknown type.
Register di (lower 16 bits of edi).
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 edx).

2529

TODO

TODO

VIRTUTECH CONFIDENTIAL
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) The limit field always specifies
the limit in bytes.
dx
Pseudo attribute; read/write access; type: unknown type.
Register dx (lower 16 bits of edx).
eax
Optional attribute; read/write access; type: unknown type.
General purpose register.
2530

VIRTUTECH CONFIDENTIAL
ebc_frequency_id
Optional attribute; read/write access; type: Integer.
No description
ebc_hard_poweron
Optional attribute; read/write access; type: Integer.
No description
ebc_soft_poweron
Optional attribute; read/write access; type: Integer.
No description
ebp
Optional attribute; read/write access; type: unknown type.
General purpose register.
ebx
Optional attribute; read/write access; type: unknown type.
General purpose register.
ecx
Optional attribute; read/write access; type: unknown type.
General purpose register.
edi
Optional attribute; read/write access; type: unknown type.
General purpose register.
edx
Optional attribute; read/write access; type: unknown type.
General purpose register.
eflags
Optional attribute; read/write access; type: unknown type.
Flag register.
eip
Optional attribute; read/write access; type: unknown type.
Instruction pointer.
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.

2531

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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) The limit field always specifies
the limit in bytes.
esi
Optional attribute; read/write access; type: unknown type.
General purpose register.
esp
Optional attribute; read/write access; type: unknown type.
General purpose register.
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.

2532

VIRTUTECH CONFIDENTIAL
firm_escr0
Optional attribute; read/write access; type: Integer.
No description
firm_escr1
Optional attribute; read/write access; type: Integer.
No description
flame_ccr0
Optional attribute; read/write access; type: Integer.
No description
flame_ccr1
Optional attribute; read/write access; type: Integer.
No description
flame_ccr2
Optional attribute; read/write access; type: Integer.
No description
flame_ccr3
Optional attribute; read/write access; type: Integer.
No description
flame_counter0
Optional attribute; read/write access; type: Integer.
No description
flame_counter1
Optional attribute; read/write access; type: Integer.
No description
flame_counter2
Optional attribute; read/write access; type: Integer.
No description
flame_counter3
Optional attribute; read/write access; type: Integer.
No description
flame_escr0
Optional attribute; read/write access; type: Integer.
No description
flame_escr1
Optional attribute; read/write access; type: Integer.
No description
2533

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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.

2534

VIRTUTECH CONFIDENTIAL
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) The limit field always specifies
the limit in bytes.
fsb_escr0
Optional attribute; read/write access; type: Integer.
No description
fsb_escr1
Optional attribute; read/write access; type: Integer.
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.

2535

TODO

TODO

VIRTUTECH CONFIDENTIAL
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) The limit field always specifies
the limit in bytes.
halt_steps
Optional attribute; read/write access; type: unknown type.
Number of steps waiting in HLT instructions.
ia32_apicbase
Optional attribute; read/write access; type: Integer.
No description
ia32_bios_sign_id
Optional attribute; read/write access; type: Integer.
No description
ia32_bios_updt_trig
Optional attribute; read/write access; type: Integer.
No description
ia32_clock_modulation
Optional attribute; read/write access; type: Integer.
No description
ia32_cr_pat
Optional attribute; read/write access; type: Integer.
No description
ia32_debugctl
Optional attribute; read/write access; type: Integer.
No description
ia32_ds_area
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_cap
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_ctl
Optional attribute; read/write access; type: Integer.
No description
2536

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
ia32_mcg_eax
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_ebp
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_ebx
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_ecx
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_edi
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_edx
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_eflags
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_eip
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_esi
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_esp
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_misc
Optional attribute; read/write access; type: Integer.
No description
ia32_mcg_status
Optional attribute; read/write access; type: Integer.
No description
2537

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
ia32_misc_enable
Optional attribute; read/write access; type: Integer.
No description
ia32_monitor_filter_line_size
Optional attribute; read/write access; type: Integer.
No description
ia32_mtrrcap
Optional attribute; read/write access; type: Integer.
No description
ia32_p5_mc_addr
Optional attribute; read/write access; type: Integer.
No description
ia32_p5_mc_type
Optional attribute; read/write access; type: Integer.
No description
ia32_pebs_enable
Optional attribute; read/write access; type: Integer.
No description
ia32_platform_id
Optional attribute; read/write access; type: Integer.
No description
ia32_sysenter_cs
Optional attribute; read/write access; type: Integer.
No description
ia32_sysenter_eip
Optional attribute; read/write access; type: Integer.
No description
ia32_sysenter_esp
Optional attribute; read/write access; type: Integer.
No description
ia32_therm2_ctl
Optional attribute; read/write access; type: Integer.
No description
ia32_therm_interrupt
Optional attribute; read/write access; type: Integer.
No description
2538

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
ia32_therm_status
Optional attribute; read/write access; type: Integer.
No description
ia32_time_stamp_counter
Optional attribute; read/write access; type: Integer.
No description

TODO

TODO

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
ip
Pseudo attribute; read/write access; type: unknown type.
Register ip (lower 16 bits of eip).
iq_ccr0
Optional attribute; read/write access; type: Integer.
No description
iq_ccr1
Optional attribute; read/write access; type: Integer.
No description
iq_ccr2
Optional attribute; read/write access; type: Integer.
No description
2539

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
iq_ccr3
Optional attribute; read/write access; type: Integer.
No description
iq_ccr4
Optional attribute; read/write access; type: Integer.
No description
iq_ccr5
Optional attribute; read/write access; type: Integer.
No description
iq_counter0
Optional attribute; read/write access; type: Integer.
No description
iq_counter1
Optional attribute; read/write access; type: Integer.
No description
iq_counter2
Optional attribute; read/write access; type: Integer.
No description
iq_counter3
Optional attribute; read/write access; type: Integer.
No description
iq_counter4
Optional attribute; read/write access; type: Integer.
No description
iq_counter5
Optional attribute; read/write access; type: Integer.
No description
iq_escr0
Optional attribute; read/write access; type: Integer.
No description
iq_escr1
Optional attribute; read/write access; type: Integer.
No description
is_escr0
Optional attribute; read/write access; type: Integer.
No description
2540

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
is_escr1
Optional attribute; read/write access; type: Integer.
No description

TODO

is_stalling
Optional attribute; read/write access; type: b.
TRUE if the processor is currently stalling by request of a timing-model.
itlb_escr0
Optional attribute; read/write access; type: Integer.
No description
itlb_escr1
Optional attribute; read/write access; type: Integer.
No description
ix_escr0
Optional attribute; read/write access; type: Integer.
No description
ix_escr1
Optional attribute; read/write access; type: Integer.
No description
lastbranch_0
Optional attribute; read/write access; type: Integer.
No description
lastbranch_0_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_0_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_1
Optional attribute; read/write access; type: Integer.
No description
lastbranch_10_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_10_to_lip
Optional attribute; read/write access; type: Integer.
No description
2541

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
lastbranch_11_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_11_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_12_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_12_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_13_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_13_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_14_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_14_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_15_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_15_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_1_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_1_to_lip
Optional attribute; read/write access; type: Integer.
No description
2542

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
lastbranch_2
Optional attribute; read/write access; type: Integer.
No description
lastbranch_2_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_2_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_3
Optional attribute; read/write access; type: Integer.
No description
lastbranch_3_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_3_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_4_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_4_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_5_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_5_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_6_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_6_to_lip
Optional attribute; read/write access; type: Integer.
No description
2543

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
lastbranch_7_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_7_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_8_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_8_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_9_from_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_9_to_lip
Optional attribute; read/write access; type: Integer.
No description
lastbranch_tos
Optional attribute; read/write access; type: Integer.
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) The limit field always specifies
the limit in bytes.
2544

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
ler_from_lip
Optional attribute; read/write access; type: Integer.
No description
ler_to_lip
Optional attribute; read/write access; type: Integer.
No description

TODO

TODO

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 ooomode is micro-architecture
mai_debug
Optional attribute; read/write access; type: String.
(internal) Set debug file for MAI
mc0_addr
Optional attribute; read/write access; type: Integer.
No description
mc0_ctl
Optional attribute; read/write access; type: Integer.
No description
mc0_misc
Optional attribute; read/write access; type: Integer.
No description
mc0_status
Optional attribute; read/write access; type: Integer.
No description
mc1_addr
Optional attribute; read/write access; type: Integer.
No description

2545

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mc1_ctl
Optional attribute; read/write access; type: Integer.
No description
mc1_misc
Optional attribute; read/write access; type: Integer.
No description
mc1_status
Optional attribute; read/write access; type: Integer.
No description
mc2_addr
Optional attribute; read/write access; type: Integer.
No description
mc2_ctl
Optional attribute; read/write access; type: Integer.
No description
mc2_misc
Optional attribute; read/write access; type: Integer.
No description
mc2_status
Optional attribute; read/write access; type: Integer.
No description
mc3_addr
Optional attribute; read/write access; type: Integer.
No description
mc3_ctl
Optional attribute; read/write access; type: Integer.
No description
mc3_misc
Optional attribute; read/write access; type: Integer.
No description
mc3_status
Optional attribute; read/write access; type: Integer.
No description

2546

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
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.
mob_escr0
Optional attribute; read/write access; type: Integer.
No description
mob_escr1
Optional attribute; read/write access; type: Integer.
No description

TODO

TODO

mode_counters
Pseudo attribute; read-only access; type: [[sii]].
((name, user-value, supervisor-value), . . . ) List of per-mode counters.
ms_cccr0
Optional attribute; read/write access; type: Integer.
No description
ms_cccr1
Optional attribute; read/write access; type: Integer.
No description
ms_cccr2
Optional attribute; read/write access; type: Integer.
No description
ms_cccr3
Optional attribute; read/write access; type: Integer.
No description
2547

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
ms_counter0
Optional attribute; read/write access; type: Integer.
No description
ms_counter1
Optional attribute; read/write access; type: Integer.
No description
ms_counter2
Optional attribute; read/write access; type: Integer.
No description
ms_counter3
Optional attribute; read/write access; type: Integer.
No description
ms_escr0
Optional attribute; read/write access; type: Integer.
No description
ms_escr1
Optional attribute; read/write access; type: Integer.
No description

TODO

TODO

TODO

TODO

TODO

TODO

msr_ebc_frequency_id
Pseudo attribute; read/write access; type: Integer.
For compatibility only. Use ebc_frequency_id instead.
msr_list
Pseudo attribute; read-only access; type: [[issiiiiiiiiii]].
List of defined SPRs.
mtrr_base0
Optional attribute; read/write access; type: Integer.
No description
mtrr_base1
Optional attribute; read/write access; type: Integer.
No description
mtrr_base2
Optional attribute; read/write access; type: Integer.
No description
mtrr_base3
Optional attribute; read/write access; type: Integer.
No description
2548

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mtrr_base4
Optional attribute; read/write access; type: Integer.
No description
mtrr_base5
Optional attribute; read/write access; type: Integer.
No description
mtrr_base6
Optional attribute; read/write access; type: Integer.
No description
mtrr_base7
Optional attribute; read/write access; type: Integer.
No description
mtrr_def_type
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_16k_80000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_16k_a0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_c0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_c8000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_d0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_d8000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_e0000
Optional attribute; read/write access; type: Integer.
No description
2549

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mtrr_fix_4k_e8000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_f0000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_4k_f8000
Optional attribute; read/write access; type: Integer.
No description
mtrr_fix_64k_00000
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask0
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask1
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask2
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask3
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask4
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask5
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask6
Optional attribute; read/write access; type: Integer.
No description
mtrr_mask7
Optional attribute; read/write access; type: Integer.
No description
2550

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
mxcsr
Optional attribute; read/write access; type: unknown type.
XMM control register.
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.
pebs_matrix_vert
Optional attribute; read/write access; type: Integer.
No description
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.

2551

TODO

VIRTUTECH CONFIDENTIAL
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.
perfctr
Optional attribute; read/write access; type: unknown type.
Performance counters.
physical_bits
Pseudo class attribute; read-only access; type: Integer.
Number of physical address bits.
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_brv
Optional attribute; read/write access; type: Integer.
No description

TODO

platform_id
Pseudo attribute; read/write access; type: Integer.
For compatibility only. Use ia32_platform_id instead.
pmh_escr0
Optional attribute; read/write access; type: Integer.
No description
pmh_escr1
Optional attribute; read/write access; type: Integer.
No description
port_space
Required attribute; read/write access; type: unknown type.

2552

TODO

TODO

VIRTUTECH CONFIDENTIAL
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 portspace class), or the lookup interface (typically an instance of the memoryspace class).
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.
rat_escr0
Optional attribute; read/write access; type: Integer.
No description
rat_escr1
Optional attribute; read/write access; type: Integer.
No description

TODO

TODO

reorder_buffer_size
Optional attribute; read/write access; type: unknown type.
Size of the reorder buffer (for x86 MAI).
saat_escr0
Optional attribute; read/write access; type: Integer.
No description
saat_escr1
Optional attribute; read/write access; type: Integer.
No description
si
Pseudo attribute; read/write access; type: unknown type.
Register si (lower 16 bits of esi).
sp
Pseudo attribute; read/write access; type: unknown type.
Register sp (lower 16 bits of esp).
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) The limit field always specifies the
limit in bytes.

2553

TODO

TODO

VIRTUTECH CONFIDENTIAL
ssu_escr0
Optional attribute; read/write access; type: Integer.
No description

TODO

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.
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.
tbpu_escr0
Optional attribute; read/write access; type: Integer.
No description
tbpu_escr1
Optional attribute; read/write access; type: Integer.
No description
tc_escr0
Optional attribute; read/write access; type: Integer.
No description
2554

TODO

TODO

TODO

VIRTUTECH CONFIDENTIAL
tc_escr1
Optional attribute; read/write access; type: Integer.
No description
tc_precise_event
Optional attribute; read/write access; type: Integer.
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.
threads
Optional attribute; read/write access; type: [o{1:4}]|n.
List of Simics processors representing threads in the physical processor core.
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.
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) The limit field always specifies
the limit in bytes.
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.
2555

TODO

TODO

VIRTUTECH CONFIDENTIAL
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.
2556

VIRTUTECH CONFIDENTIAL
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.
u2l_escr0
Optional attribute; read/write access; type: Integer.
No description
u2l_escr1
Optional attribute; read/write access; type: Integer.
No description

TODO

TODO

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), . . . , (xmm7_low, xmm7_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.
2557

VIRTUTECH CONFIDENTIAL

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, cyclebreak-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, unbreakcr, untrace-cr, up, wait-for-cycle, wait-for-step, write, write-reg, x

2558

VIRTUTECH CONFIDENTIAL

x86-reset-bus
Provided by
x86-reset-bus
Class Hierarchy
conf-object log-object x86-reset-bus
Interfaces Implemented
log_object
Description
The x86-reset-bus device forwards resets to connected x86 processors.

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
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.
reset_targets
Optional attribute; read/write access; type: [o].
A list of objects implementing the x86 and a20 interfaces.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info print information about the device

2559

VIRTUTECH CONFIDENTIAL

Command Descriptions
<x86-reset-bus>.info
Synopsis
<x86-reset-bus>.info
Description
Print detailed information about the configuration of the device.

2560

VIRTUTECH CONFIDENTIAL

x86-separate-mem-io-system
Provided by
x86-components
Class Hierarchy
conf-object log-object component top-component x86-separate-mem-iosystem
Interfaces Implemented
log_object, component
Description
The x86-separate-mem-io-system component represents a multi-processor capable
x86 system with up to 15 cpus.

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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
bios
Optional attribute; read/write access; type: String.
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.
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes on the processor board.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.
2561

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
cmos-base-mem
cmos-boot-dev
cmos-extended-mem
cmos-floppy
cmos-hd
cmos-info
cmos-init
info
status

set base memory size


set boot drive
set extended memory size
set floppy parameters
set fixed disk parameters
print information about the CMOS area
initialize some CMOS values
print information about the device
print status of the device

Command Descriptions
<x86-separate-mem-io-system>.cmos-base-mem
Synopsis
<x86-separate-mem-io-system>.cmos-base-mem kilobytes
Description
Sets the amount of base memory (in kB).
This command will update the proper location in the CMOS so that the BIOS will
know how much memory is installed in the system. Operating system that use the
BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 640kB.

<x86-separate-mem-io-system>.cmos-boot-dev
Synopsis
<x86-separate-mem-io-system>.cmos-boot-dev drive
Description
Specifies boot device for the BIOS in the CMOS.
Parameters: A or C, or floppy or HD boot. Default is C.

<x86-separate-mem-io-system>.cmos-extended-mem
Synopsis
<x86-separate-mem-io-system>.cmos-extended-mem megabytes

2562

VIRTUTECH CONFIDENTIAL
Description
Sets the amount of extended memory (in MB).
This command will update the proper location in the CMOS so that the BIOS will
know how much memory is installed in the system. Operating system that use the
BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 63MB.

<x86-separate-mem-io-system>.cmos-floppy
Synopsis
<x86-separate-mem-io-system>.cmos-floppy drive type
Description
Sets information in the CMOS about floppy drives.
Drive is either A (primary drive) or B (secondary drive), and type is the maximal
drive size (in kB or MB); 360, 720, 1.2, 1.44, 2.88. Setting type to none indicates to
the OS/BIOS that no drive is present. Since both arguments are strings, quoting is
sometimes necessary.

<x86-separate-mem-io-system>.cmos-hd
Synopsis
<x86-separate-mem-io-system>.cmos-hd drive cylinders heads sectors_per_track
Description
Sets information in the CMOS about the primary hard disk (C) and the secondary
hard disk (D).

<x86-separate-mem-io-system>.cmos-info
Synopsis
<x86-separate-mem-io-system>.cmos-info
Description
Print detailed information about the CMOS information from the RTC device.

<x86-separate-mem-io-system>.cmos-init
Synopsis
<x86-separate-mem-io-system>.cmos-init
Description
Set initial CMOS values in the RTC device.
This is miscellaneous data that is not set by any of the other cmos- commands. Note
that the CMOS values only has to be set if not running from a saved configuration. A
saved configuration will have all values stored in the NVRAM area, and the cmos-
commands need only be used if some values have to be changed.
2563

VIRTUTECH CONFIDENTIAL

<x86-separate-mem-io-system>.info
Synopsis
<x86-separate-mem-io-system>.info
Description
Print detailed information about the configuration of the device.

<x86-separate-mem-io-system>.status
Synopsis
<x86-separate-mem-io-system>.status
Description
Print detailed information about the current status of the device.

2564

VIRTUTECH CONFIDENTIAL

x86-system
Provided by
x86-components
Class Hierarchy
conf-object log-object component top-component x86-system
Interfaces Implemented
log_object, component
Description
The x86-system component represents a legacy ISA based x86 system with a single
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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attributes inherited from class top-component
components, cpu_list
Attribute List
bios
Optional attribute; read/write access; type: String.
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.
memory_megs
Required attribute; read/write access; type: Integer.
The amount of RAM in megabytes on the processor board.
rtc_time
Required attribute; read/write access; type: String.
The date and time of the Real-Time clock.
2565

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
cmos-base-mem
cmos-boot-dev
cmos-extended-mem
cmos-floppy
cmos-hd
cmos-info
cmos-init
info
status

set base memory size


set boot drive
set extended memory size
set floppy parameters
set fixed disk parameters
print information about the CMOS area
initialize some CMOS values
print information about the device
print status of the device

Command Descriptions
<x86-system>.cmos-base-mem
Synopsis
<x86-system>.cmos-base-mem kilobytes
Description
Sets the amount of base memory (in kB).
This command will update the proper location in the CMOS so that the BIOS will
know how much memory is installed in the system. Operating system that use the
BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 640kB.

<x86-system>.cmos-boot-dev
Synopsis
<x86-system>.cmos-boot-dev drive
Description
Specifies boot device for the BIOS in the CMOS.
Parameters: A or C, or floppy or HD boot. Default is C.

<x86-system>.cmos-extended-mem
Synopsis
<x86-system>.cmos-extended-mem megabytes

2566

VIRTUTECH CONFIDENTIAL
Description
Sets the amount of extended memory (in MB).
This command will update the proper location in the CMOS so that the BIOS will
know how much memory is installed in the system. Operating system that use the
BIOS to find out the memory size will get confused if this size is set incorrectly (especially if it is set too high). The maximum amount that can be set is 63MB.

<x86-system>.cmos-floppy
Synopsis
<x86-system>.cmos-floppy drive type
Description
Sets information in the CMOS about floppy drives.
Drive is either A (primary drive) or B (secondary drive), and type is the maximal
drive size (in kB or MB); 360, 720, 1.2, 1.44, 2.88. Setting type to none indicates to
the OS/BIOS that no drive is present. Since both arguments are strings, quoting is
sometimes necessary.

<x86-system>.cmos-hd
Synopsis
<x86-system>.cmos-hd drive cylinders heads sectors_per_track
Description
Sets information in the CMOS about the primary hard disk (C) and the secondary
hard disk (D).

<x86-system>.cmos-info
Synopsis
<x86-system>.cmos-info
Description
Print detailed information about the CMOS information from the RTC device.

<x86-system>.cmos-init
Synopsis
<x86-system>.cmos-init
Description
Set initial CMOS values in the RTC device.
This is miscellaneous data that is not set by any of the other cmos- commands. Note
that the CMOS values only has to be set if not running from a saved configuration. A
saved configuration will have all values stored in the NVRAM area, and the cmos-
commands need only be used if some values have to be changed.
2567

VIRTUTECH CONFIDENTIAL

<x86-system>.info
Synopsis
<x86-system>.info
Description
Print detailed information about the configuration of the device.

<x86-system>.status
Synopsis
<x86-system>.status
Description
Print detailed information about the current status of the device.

2568

VIRTUTECH CONFIDENTIAL

x86-tlb
Provided by
x86_tlb
Class Hierarchy
conf-object log-object x86-tlb
Interfaces Implemented
log_object, x86_tlb
Description
Default X86 TLB class.

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
cpu
Required attribute; read/write access; type: Object.
CPU object to which TLB object is bound.
dtlb_4k
Optional attribute; read/write access; type: unknown type.
(((la, pa, mode, rw, g, pat_type, mtrr_type){associativity}){way-size}). Data TLB
for 4kb pages.
dtlb_large
Optional attribute; read/write access; type: unknown type.
(((la, pa, mode, rw, g, pat_type, mtrr_type){associativity}){way-size}). Data TLB
for 2Mb and 4Mb pages.
itlb_4k
Optional attribute; read/write access; type: unknown type.
(((la, pa, mode, rw, g, pat_type, mtrr_type){associativity}){way-size}). Instruction
TLB for 4kb pages.
itlb_large
Optional attribute; read/write access; type: unknown type.
(((la, pa, mode, rw, g, pat_type, mtrr_type){associativity}){way-size}). Instruction
TLB for 2Mb and 4Mb pages.
2569

VIRTUTECH CONFIDENTIAL
large_tlb_select
Optional attribute; read/write access; type: unknown type.
Determines the size for pages mapped in the large page TLBs. 2 for 2Mb and 4
for 4Mb.
type
Optional attribute; read/write access; type: String.
Type of TLB. Can be either normal for a set associative TLB, or unlimited for a
very large TLB.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<x86-tlb>.info
Synopsis
<x86-tlb>.info
Description
Print detailed information about the configuration of the device.

<x86-tlb>.status
Synopsis
<x86-tlb>.status
Description
Print detailed information about the current status of the TLB object.

2570

VIRTUTECH CONFIDENTIAL

x87_exception
Provided by
x87_exception
Class Hierarchy
conf-object log-object x87_exception
Interfaces Implemented
log_object, io_memory, pin
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.

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
ferr_status
Optional attribute; read/write access; type: unknown type.
The status of the input ferr line.
ignne_status
Optional attribute; read/write access; type: unknown type.
The status of the output ignne line.
ignne_target
Required attribute; read/write access; type: unknown type.
Object to which the IGNNE line is connected (typically cpu0).

2571

VIRTUTECH CONFIDENTIAL
irq_dev
Required attribute; read/write access; type: unknown type.
Target interrupt device (typically a PIC).
irq_level
Required attribute; read/write access; type: unknown type.
Interrupt level (typically 13).
irq_status
Optional attribute; read/write access; type: unknown type.
The status of the output interrupt line.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<x87_exception>.info
Synopsis
<x87_exception>.info
Description
Print detailed information about the configuration of the device.

<x87_exception>.status
Synopsis
<x87_exception>.status
Description
Print detailed information about the current status of the device.

2572

VIRTUTECH CONFIDENTIAL

xeon-prestonia-cpu
Provided by
x86-components
Class Hierarchy
conf-object log-object component xeon-prestonia-cpu
Interfaces Implemented
log_object, component
Description
The xeon-prestonia-cpu component represents a 32-bit Intel Xeon 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
Attributes inherited from class component
connections, connectors, instantiated, object_list, object_prefix, top_component, top_level
Attribute List
apic_frequency
Optional attribute; read/write access; type: Integer.
APIC bus frequency in MHz, default is 10 MHz.
cpi
Optional attribute; read/write access; type: Integer.
Cycles per instruction.
cpu_frequency
Required attribute; read/write access; type: Integer.
Processor frequency in MHz.
cpu_threads
Pseudo attribute; read-only access; type: Integer.
The number of hyper threads in the processor.

2573

VIRTUTECH CONFIDENTIAL

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
info
print information about the device
status print status of the device

Command Descriptions
<xeon-prestonia-cpu>.info
Synopsis
<xeon-prestonia-cpu>.info
Description
Print detailed information about the configuration of the device.

<xeon-prestonia-cpu>.status
Synopsis
<xeon-prestonia-cpu>.status
Description
Print detailed information about the current status of the device.

2574

VIRTUTECH CONFIDENTIAL

Z8530
Provided by
Z8530
Class Hierarchy
conf-object log-object Z8530
Interfaces Implemented
log_object, event_poster, io_memory
Description
The Z8530 device implements a serial port controller.

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
a_port
Required attribute; read/write access; type: Object.
Z8530-port object for the A port.
b_port
Required attribute; read/write access; type: Object.
Z8530-port object for the B port.
interrupt_pin
Optional attribute; read/write access; type: Integer.
Level of the external interrupt pin.
irq_dev
Optional attribute; read/write access; type: Object or Nil.
Interrupt device implementing the simple-interrupt interface.
irq_level
Required attribute; read/write access; type: Integer.
Interrupt level.
last_reg
Optional attribute; read/write access; type: Integer.
Previous register accessed within the Z8530device (internal state).
2575

VIRTUTECH CONFIDENTIAL
recorder
Required attribute; read/write access; type: Object.
Recorder device for playback of serial traffic.
regs
Optional attribute; read/write access; type: [i{64}].
(register-0 . . . register-63) are registers within the Z8530 device. register-0 to register15 and register-16 to register-31 denotes readable registers related to console B and
A respectively. register-32 to register-47 and register-48 to register-64 denotes corresponding writable registers.

Command List
Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
kbd-abort

send a keyboard abort signal

Command Descriptions
<Z8530>.kbd-abort
Synopsis
<Z8530>.kbd-abort tty
Description
Send keyboard signal abort to a tty

2576

VIRTUTECH CONFIDENTIAL

Z8530-port
Provided by
Z8530
Class Hierarchy
conf-object Z8530-port
Interfaces Implemented
serial_device
Description
The Z8530-port implements the port part of the Z8530 serial device.

Attributes
Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
a_waiting_for_tx
Optional attribute; read/write access; type: Integer.
Set if the device is waiting to transmit a character, but the destination is blocking.
abort
Pseudo attribute; write-only access; type: Integer.
Console abort request (pseudo attribute).
console
Optional attribute; read/write access; type: Object or Nil.
Text console or other serial device that the serial port is connected to. The device
must implement the serial-device interface.
master
Required attribute; read/write access; type: Object.
Z8530 object that this port is connected to.

2577

VIRTUTECH CONFIDENTIAL

Chapter 7

Interfaces

2578

VIRTUTECH CONFIDENTIAL

a20
Implemented By
x86-486sx, x86-hammer, x86-p2, x86-p4
Description
This interface is used between the A20 line handling device (typically the keyboard
controller) and the x86 processor.
typedef struct {
void (*set_a20_line)(conf_object_t *NOTNULL, int);
int (*get_a20_line)(conf_object_t *NOTNULL);
} a20_interface_t;

2579

VIRTUTECH CONFIDENTIAL

address_profiler
Implemented By
branch_recorder, data-profiler
Description
Interface for getting statistics out of profilers. The target is some kind of profiler whose
data can be meaningfully viewed as counts per address.
The function num_views returns the number k of different ways you can view the data
of this object. The view selection parameter view to all other functions in the interface
accepts values between 0 and k 1.
description returns a short string that explains what the data means. physical_addresses
returns true if the profiler works with physical addresses, or false if it uses virtual addresses. address_bits returns the number of bits in an address.
granularity_log2 returns the base 2 logarithm of the size, in bytes, of the address intervals that the counters are associated to. For example, if the data is instruction execution count and each instruction is 4 bytes long, one would expect the granularity to
be at least 4 bytes since that is the smallest interval containing a whole instruction (but
it might be more, if the profiler is less fine-grained for some reason). And for a 4-byte
granularity, granularity_log2 would return 2.
sum returns the sum of all counters between start and stop, inclusive. max returns the
maximum value of any counter in the range.
iter returns an address profile iterator that will visit all nonzero counters in the range
precisely once, in some order. In C, you can use the functions SIM_iter_next, SIM_
iter_addr and SIM_iter_free to operate the iterator. In Python, it works just like any
other iterator, and returns (count, address) pairs. Note that you may not continue to
use the iterator after the underlying address profiler has been modified.
typedef struct address_profiler_interface {
addr_prof_iter_t *(*iter)(conf_object_t *prof_obj, unsigned view,
generic_address_t start,
generic_address_t stop);
uint64 (*sum)(conf_object_t *prof_obj, unsigned view,
generic_address_t start, generic_address_t end);
uint64 (*max)(conf_object_t *prof_obj, unsigned view,
generic_address_t start, generic_address_t end);
unsigned (*granularity_log2)(conf_object_t *prof_obj, unsigned view);
int (*address_bits)(conf_object_t *prof_obj, unsigned view);
int (*physical_addresses)(conf_object_t *prof_obj, unsigned view);
const char *(*description)(conf_object_t *prof_obj, unsigned view);
unsigned (*num_views)(conf_object_t *prof_obj);
} address_profiler_interface_t;
#define ADDRESS_PROFILER_INTERFACE "address_profiler"

2580

VIRTUTECH CONFIDENTIAL
Command List
address-profile-data
address-profile-info
address-profile-toplist

linear map of address profiling data


general info about an address profiler
print toplist of address profiling data

Command Descriptions
<address_profiler>.address-profile-data
Synopsis
<address_profiler>.address-profile-data [view] [address] [cell-bits] [row-bits] [table-bits]
[start] [stop] [lines] [-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 in the table is limited by the lines argument (the default
is 20 lines). 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.

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

2581

VIRTUTECH CONFIDENTIAL

<address_profiler>.address-profile-toplist
Synopsis
<address_profiler>.address-profile-toplist [symtable] [samples] [start] [stop] [view] [count_
interval]
Description
Print address profiling regions sorted by count. The symtable attribute can be used to
map data profiling regions in form of physical addresses to source function and file
information.
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 attribute 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. Ex. Assume that the samples in the
region 0x20c - 0x20c has a count of 4711 and region 0x20d - 0x20f a count of 4713. The
regions will be considered on region if count_interval is 4 but not if 1.

2582

VIRTUTECH CONFIDENTIAL

apic_cpu
Implemented By
apic
Description
Interface to read and write the task priority register. Only used on x86-64 where the
task priority register is both a cpu register (CR8) and a register in the local apic.
struct apic_cpu_interface {
uint64 (*tpr_r)(conf_object_t *NOTNULL obj);
void (*tpr_w)(conf_object_t *NOTNULL obj, uint64 tpr);
void (*init)(conf_object_t *NOTNULL obj);
};

2583

VIRTUTECH CONFIDENTIAL

arm
Implemented By
armv5te
Description
This interface is implemented by ARM processors to provide various functionality
that is specific for this class of processors.
The read_register_mode and write_register_mode functions are used to access banked
copies of the registers. They are used just like the SIM_read_register and SIM_write_
register functions, except that they take an extra parameter mode that specifies which
register bank should be used. mode should be the mode bits in the cpsr corresponding
to the mode shifted right to bits 0-4.
typedef struct arm_interface {
uinteger_t (*read_register_mode)(conf_object_t *processor_obj,
int reg_num,
int mode);
void (*write_register_mode)(conf_object_t *processor_obj,
int reg_num,
int mode,
uinteger_t value);
} arm_interface_t;
#define ARM_INTERFACE "arm"
#define ARM_INT_IRQ 0 /* Used by simple-interrupt to raise an IRQ */
#define ARM_INT_FIQ 1 /* Used by simple-interrupt to raise an FIQ */

Command List
pscc-regs print coprocessor 15 (scc) registers.

Command Descriptions
<arm>.pscc-regs
Synopsis
<arm>.pscc-regs
Description
Prints the current scc register file of coprocessor 15 (scc).
See Also
pregs

2584

VIRTUTECH CONFIDENTIAL

branch_arc
Implemented By
branch_recorder
Description
Interface for getting branch arcs out profilers. The target is some kind of profiler whose
data can be meaningfully viewed as branch arcs (usually a branch profiler).
iter returns a branch arc iterator that will visit all branch arcs in the range precisely
once, in order of selected address (to or from, selected with dir), other address and
type. In Python, it works just like any other iterator, and returns (from, to, counter,
type) tuples. Note that you may not continue to use the iterator after the underlying
profiler has been modified.
branch_arc_type_t defines the branch types returned by a branch arc iterator.
Branch_Arc_Branch
Normal branch operation
Branch_Arc_Exception
Branch because an exception was encountered
Branch_Arc_Exception_Return
Branch to finish an exception handler
typedef enum {
Branch_Arc_Branch,
Branch_Arc_Exception,
Branch_Arc_Exception_Return,
Branch_Arc_Max
} branch_arc_type_t;
typedef enum {
BR_Direction_From,
BR_Direction_To
} branch_recorder_direction_t;
typedef struct {
uinteger_t addr_from;
uinteger_t addr_to;
integer_t count;
branch_arc_type_t type;
} branch_arc_t;
typedef struct branch_arc_iter {
branch_arc_t *(*next)(struct branch_arc_iter *i);
void (*destroy)(struct branch_arc_iter *i);
} branch_arc_iter_t;
typedef struct branch_arc_interface {

2585

VIRTUTECH CONFIDENTIAL
branch_arc_iter_t *(*iter)(conf_object_t *prof_obj,
generic_address_t start,
generic_address_t stop,
branch_recorder_direction_t dir);
} branch_arc_interface_t;
#define BRANCH_ARC_INTERFACE "branch_arc"

2586

VIRTUTECH CONFIDENTIAL

breakpoint
Implemented By
context, memory-space
Description
The breakpoint interface are implemented by any object who supports breaking on an
address range.
typedef void (*insert_bp_func_t)
(conf_object_t *object, breakpoint_t *bp,
generic_address_t start, generic_address_t end);
typedef void (*remove_bp_func_t)
(conf_object_t *object, breakpoint_t *bp);
typedef void (*remove_bp_range_func_t)
(conf_object_t *object, breakpoint_id_t bp_id,
access_t access,
generic_address_t start, generic_address_t end);
typedef breakpoint_range_t *(*get_bp_ranges_func_t)
(conf_object_t *object,
breakpoint_t *bp);
typedef breakpoint_vector_t (*get_bp_func_t)
(conf_object_t *object,
access_t access,
breakpoint_kind_t type,
generic_address_t start,
generic_address_t end);
struct breakpoint_interface {
insert_bp_func_t
remove_bp_func_t
remove_bp_range_func_t
get_bp_ranges_func_t
get_bp_func_t
};

insert_breakpoint;
remove_breakpoint;
remove_breakpoint_range;
get_breakpoint_ranges;
get_breakpoints;

#define BREAKPOINT_INTERFACE "breakpoint"

Most functions in the interface get the object and the bp arguments as in-parameters.
Object is the object implementing this interface and bp is a structure that is used to
identify the breakpoint. bp is of type breakpoint_t and is declared like this:
typedef struct breakpoint breakpoint_t;

insert_breakpoint are called when a breakpoint is added on the object. This can be
done with the break command or with the SIM_breakpoint API function.
remove_breakpoint should remove the breakpoint and further accesses to the address
range should not stop the simulation.
remove_breakpoint_range is called when a range should be removed from a breakpoint. It is thus possible to create holes in the range. See SIM_breakpoint_remove.
2587

VIRTUTECH CONFIDENTIAL
access is what kind of accesses should be removed. See SIM_breakpoint for a description of the access parameter.
get_breakpoint_ranges should return a list of ranges currently set. breakpoint_
range_t is declared like this:
typedef struct breakpoint_range breakpoint_range_t;
struct breakpoint_range {
generic_address_t
generic_address_t
struct breakpoint_range
};

lower;
upper;
*next;

get_breakpoints should return a vector of breakpoints set on the object matching access and type. See SIM_breakpoint for a description of access and type. breakpoint_
vector_t is declared like this:
typedef struct {
int
size;
breakpoint_t **vector;
} breakpoint_vector_t;

Command List
break set breakpoint
tbreak set temporary breakpoint on current processor

Command Descriptions
<breakpoint>.break
Synopsis
<breakpoint>.break address [length] [-r] [-w] [-x]
<breakpoint>.tbreak address [length] [-r] [-w] [-x]
break address [length] [-r] [-w] [-x]
Description
Add breakpoint (read, write, or execute) on an object implementing the breakpoint interface. This is typically a memory space object such as physical memory; e.g., phys_
mem0.break 0xff3800. Accesses intersecting the given range will trigger the breakpoint. By default the breakpoint 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).
Breakpoints inserted with the tbreak command are automatically disabled when they
have triggered.
The default action at a triggered breakpoint is to return to the frontend. This can
be changed by using haps. When an execution breakpoint is triggered, Simics will
2588

VIRTUTECH CONFIDENTIAL
return to the command prompt before the instructions is executed, while instructions
triggering read or write breakpoints will complete before control is returned to the
command prompt.
To break on a virtual address, use a context object:
primary_context.break 0x1ff00
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
list-breakpoints command) which is used for further references to the breakpoint.
For convenience there are also a break command which sets a breakpoint on memory
connected to the current frontend CPU (see pselect). Default is to break on virtual
address accesses (in the current context). By prefixing the address with p: it is possible
to break on physical accesses as well (cf. phys_mem0.break); e.g., break p:0xffc0.
Several attributes can be set for a breakpoint for breaking only when some conditions
are true. See the disable, enable, ignore, set-prefix, set-substr and set-pattern commands for more details.
Breakpoints can be removed using delete.
See Also
unbreak, delete, enable, ignore, set-prefix, set-substr, set-pattern, list-breakpoints

<breakpoint>.tbreak
Synopsis
<breakpoint>.tbreak address [length] [-r] [-w] [-x]
<breakpoint>.break address [length] [-r] [-w] [-x]
break address [length] [-r] [-w] [-x]
Description
Add breakpoint (read, write, or execute) on an object implementing the breakpoint interface. This is typically a memory space object such as physical memory; e.g., phys_
mem0.break 0xff3800. Accesses intersecting the given range will trigger the breakpoint. By default the breakpoint 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).
Breakpoints inserted with the tbreak command are automatically disabled when they
have triggered.
The default action at a triggered breakpoint is to return to the frontend. This can
be changed by using haps. When an execution breakpoint is triggered, Simics will
2589

VIRTUTECH CONFIDENTIAL
return to the command prompt before the instructions is executed, while instructions
triggering read or write breakpoints will complete before control is returned to the
command prompt.
To break on a virtual address, use a context object:
primary_context.break 0x1ff00
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
list-breakpoints command) which is used for further references to the breakpoint.
For convenience there are also a break command which sets a breakpoint on memory
connected to the current frontend CPU (see pselect). Default is to break on virtual
address accesses (in the current context). By prefixing the address with p: it is possible
to break on physical accesses as well (cf. phys_mem0.break); e.g., break p:0xffc0.
Several attributes can be set for a breakpoint for breaking only when some conditions
are true. See the disable, enable, ignore, set-prefix, set-substr and set-pattern commands for more details.
Breakpoints can be removed using delete.
See Also
unbreak, delete, enable, ignore, set-prefix, set-substr, set-pattern, list-breakpoints

2590

VIRTUTECH CONFIDENTIAL

bridge
Implemented By
GT64120-pci, cpc700-pci, fiesta-tomatillo, i21150, i21152, i21554-prim, i21554-scnd, i21555prim, i21555-scnd, i82443bx, i82443bx_agp, i82461GX, ppc405gp-pci, serengeti-schizo,
sunfire-psycho
Description
The bridge interface is implemented by objects that bridge between memory spaces.
The not_taken function is called if the access is not claimed by any device in the destination memory-space. If a memory transaction reaches a mapping that has the same
bridge object as the previous mapping, the access is considered as not taken, and the
not_taken function for the first bridge mapping is called.
typedef struct {
exception_type_t (*not_taken)(conf_object_t *NOTNULL obj,
conf_object_t *NOTNULL src_space,
conf_object_t *NOTNULL dst_space,
exception_type_t ex,
generic_transaction_t *NOTNULL mem_op,
map_info_t mapinfo);
} bridge_interface_t;
#define BRIDGE_INTERFACE "bridge"

2591

VIRTUTECH CONFIDENTIAL

cache_miss
Implemented By
perfanalyze
Description
This interface can be used to gather cache miss traces. Classes that model caches typically provide an attribute through which on object implementing the cache miss interface can be connected.
typedef struct {
void (*cache_miss)(conf_object_t *NOTNULL obj,
data_or_instr_t data_or_instr,
read_or_write_t read_or_write,
logical_address_t logical_address,
physical_address_t physical_address);
} cache_miss_interface_t;

2592

VIRTUTECH CONFIDENTIAL

component
Implemented By
agp-voodoo3, alpha-lx164-system, arm-sa1110-system, component, ddr-memory-module,
ddr2-memory-module, dummy-component, ebony-board, enchilada-system, i386-cpu,
i486dx2-cpu, i486sx-cpu, ia64-460gx-system, isa-lance, isa-vga, itanium-cpu, legacypc-devices, leon2-simple, malta-system, niagara-simple-system, north-bridge-443bx,
north-bridge-443bx-agp, north-bridge-875p, north-bridge-e7520, north-bridge-k8, opteroncpu, pc-dual-serial-ports, pc-floppy-controller, pc-quad-serial-ports, pc-single-parallelport, pci-am79c973, pci-backplane, pci-bcm5703c, pci-bcm5704c, pci-dec21041, pcidec21140a, pci-dec21140a-dml, pci-dec21143, pci-i21152, pci-i82543gc, pci-i82546bg,
pci-isp1040, pci-isp2200, pci-pd6729, pci-pmc1553-bc, pci-rage-pm-mobility-pci, pciragexl, pci-sil680a, pci-sym53c810, pci-sym53c875, pci-sym53c876, pci-vga, pci-voodoo3,
pcie-pex8524, pentium-4-cpu, pentium-4e-2ht-cpu, pentium-4e-4ht-cpu, pentium-4ecpu, pentium-cpu, pentium-ii-cpu, pentium-iii-cpu, pentium-m-cpu, pentium-mmxcpu, pentium-pro-cpu, phy-mii-transceiver, pmppc-board, ppc-simple, ppc970-simple,
ps2-keyboard-mouse, sample-gcache, sample-ma-model, sample-ooo-model, samplex86-ma-model, sdram-memory-module, serengeti-3800-chassis, serengeti-4800-chassis,
serengeti-4810-chassis, serengeti-6800-chassis, serengeti-cluster-chassis, serengeti-cpci4board, serengeti-pci8-board, serengeti-sp-cpci6-board, serengeti-us-iii-cpu-board, serengetius-iii-plus-cpu-board, serengeti-us-iv-cpu-board, serengeti-us-iv-plus-cpu-board, simplefc-disk, sio-lpc47m172, sio-w83627hf, south-bridge-6300esb, south-bridge-amd8111,
south-bridge-md1535d, south-bridge-piix4, south-bridge-saturn, south-bridge-sun-md1535d,
std-etg, std-ethernet-link, std-graphics-console, std-host-serial-console, std-ide-cdrom,
std-ide-disk, std-ms1553-link, std-pcmcia-flash-disk, std-scsi-bus, std-scsi-cdrom, stdscsi-disk, std-serial-link, std-server-console, std-service-node, std-super-io, std-textconsole, std-text-graphics-console, sun-cpci-hme-isp, sun-cpci-isp-isp, sun-cpci-qlcqlc, sun-pci-ce, sun-pci-hme, sun-pci-hme-isp, sun-pci-pgx64, sun-pci-qlc, sun-pciqlc-qlc, sun-sbus-fas-hme, sun-type5-keyboard, sun-type5-mouse, sunfire-3500-backplane,
sunfire-4500-backplane, sunfire-6500-backplane, sunfire-cpu-board, sunfire-pci-board,
sunfire-sbus-board, taco-system, telos-mote, top-component, x86-apic-bus-system, x86apic-system, x86-e7520-system, x86-hammer-cpu, x86-separate-mem-io-system, x86system, xeon-prestonia-cpu
Description
Internal interface. Do not use.

2593

VIRTUTECH CONFIDENTIAL

ethernet_device
Implemented By
AM79C960, AM79C960-dml, BCM5703C, BCM5704C, CS8900A, DEC21041, DEC21140A,
DEC21143, cassini, cheerio-hme, etg, mii-transceiver, ppc405gp-emac, ppc440gp-emac,
ppc440gx-emac, rn-eth-bridge-raw, rn-eth-bridge-tap, rn-eth-proxy-raw, rn-eth-proxytap, rn-ip-router-raw, rn-ip-tunnel-tun, sbus-hme, service-node-device
Description
typedef struct {
void (*receive_frame)(conf_object_t *dev,
conf_object_t *link,
dbuffer_t *frame);
phy_speed_t (*auto_neg_request)(conf_object_t *dev,
phy_speed_t speed);
void (*auto_neg_reply)(conf_object_t *dev,
phy_speed_t speed);
} ethernet_device_interface_t;
#define ETHERNET_DEVICE_INTERFACE "ethernet_device"

This interface is implemented by Ethernet device objects that connect to ethernet-link


objects. It is used by the link object to send messages to the device object.
The receive_frame function is called when a frame has been sent by another device
on the link. The frame is passed as a dbuffer_t pointer that may not be modified
without cloning it first.
The frame may be addressed to another device, which means that the device must be
prepared to drop frames addressed to other devices, even if it has registered a MAC
address. Also, the frame must not assume that it will receive all frames on the link if
it has registered a MAC address, unless it tells the link it is running in promiscuous
mode.
The auto_neg_request might be called when another device has requested auto-negotiation.
The speed parameter contains the connection speeds that the other device supports.
The return value should result of clearing the bits in speed that the device doesnt
support.
The auto_neg_reply is called to return the result of a previous call to auto_negotiate
in the ethernet_link interface.

2594

VIRTUTECH CONFIDENTIAL

ethernet_link
Implemented By
ethernet-link
Description
typedef struct {
int (*connect_device)(conf_object_t *_obj, conf_object_t *dev,
int *new_connection);
void (*disconnect_device)(conf_object_t *_obj,
conf_object_t *dev);
void (*send_frame)(conf_object_t *_obj, int id,
dbuffer_t *frame,
int crc_calculated, nano_secs_t delay);
void (*auto_negotiate)(conf_object_t *_obj, int id,
phy_speed_t speed);
void (*add_mac)(conf_object_t *_obj, int id,
byte_string_t addr);
void (*add_mac_mask)(conf_object_t *_obj, int id,
byte_string_t addr, byte_string_t mask);
void (*delete_mac)(conf_object_t *_obj, int id,
byte_string_t addr);
void (*delete_mac_mask)(conf_object_t *_obj, int id,
byte_string_t addr, byte_string_t mask);
void (*clear_macs)(conf_object_t *_obj, int id);
void (*promiscuous_mode)(conf_object_t *_obj, int id, int enable);
} ethernet_link_interface_t;
#define ETHERNET_LINK_INTERFACE "ethernet_link"

This interface is implemented by Ethernet link objects that provide a data link layer
interface for Ethernet frame delivery.
An Ethernet device calls the connect_device device function to attach itself to the link,
and disconnect_device to detach itself. The device must implement the ethernet_
device interface.
The connect_device function attaches an Ethernet device to the link. The device must
implement the ethernet_device interface. The return value is an identification
number that should be used in subsequent calls to the link to identify the device.
The disconnect_device function detaches an Ethernet device from the link. It will not
receive any more frames from the link and may not call any functions in the interface,
except connect_device.
The send_frame function is used by a device to send an Ethernet frame onto the link
to be delivered to the other devices connected to the same link. The frame should be a
dbuffer_t containing a complete Ethernet frame, excluding the preamble and SFD,
but including the CRC. The crc_calculated flag indicates whether the CRC is actually
calculated. In many cases, the CRC will not be checked by the receiver, which makes
it more efficient to skip the CRC calculation an set this flag to 0. If needed, Simics
will calculate a valid CRC for the frame. The delay makes it possible to add a small
2595

VIRTUTECH CONFIDENTIAL
delay to the frame. This can be used when a device wants to send multiple frames at
once, but want them to be delivered in a specific sequence. Instead of using an event
handler to send each frame, they can be sent at once, with an increasing delay for each
frame. The delay is given in nanoseconds.
The auto_negotiate is used to do auto-negotiation of speed. An Ethernet device should
call this function with the speed argument set to a value where all the bits that corresponds to speeds that the device can handle set. The device should call this function
after it connects to the link the very first time (i.e. not after restarting from a checkpoint), or whenever the auto_neg_request function in its ethernet_device is called.
The add_mac function registers a MAC address that the device will accept frames
for. By default, the device will receive no frames at all, but by calling this function,
the device can inform the link that it will receive frames that match any of the MAC
addresses it has registered. The device is not guaranteed to receive any frames not
addressed to one of the registered addresses. The address is given as a string of six
bytes in a byte_string_t structure.
The add_mac_mask is similar to add_mac, but in addition to the MAC address, a six
byte bit mask is also be provided. This mask will be used to mask addresses when
checking if they should be delivered to the device. Only bits in the address that has
the corresponding bit in the mask set to 1 will be considered a match. If the bit mask
is zero bytes, it will be handled as if it had been all ones, only an exact match will be
accepted.
Most network cards listen to the broadcast address (ff:ff:ff:ff:ff:ff) or multicast addresses (01:00:00:00:00:00/01:00:00:00:00:00) in addition to the configured MAC address. Such models need to call add_mac_mask with appropriate arguments after
being connected to a link.
The delete_mac and delete_mac_mask functions unregisters a MAC address previously registered with add_mac or add_mac_mask.
The clear_macs unregisters all previously registered MAC addresses.
The promiscuous_mode function sets the promiscuous flag that indicates that the device is listening to all MAC addresses. Setting this to true (non-zero) has a similar
effect as clear_macs in that the link will start sending all frames to the device, but
when the flag is set to false (zero) the MAC addresses filtering will resume with the
previously registered MAC addresses.
The functions auto_negotiate, add_mac, add_mac_mask, delete_mac, clear_macs, and
promiscuous behave slightly differently when called during initialization and during
simulation. When loading a configuration, the devices may call these functions to set
the initial configuration, but after the configuration has been set, the effect of these
calls will be delayed by at least the latency of the link, since it is a change in the simulated state that needs to be propagated in a deterministic way.

2596

VIRTUTECH CONFIDENTIAL

event_poster
Implemented By
AM79C960, AM79C960-dml, AM79C973, BCM5703C, BCM5704C, CS8900A, DEC21041,
DEC21140A, DEC21140A-dml, DEC21143, DS12887, DS12887-dml, DS17485, FAS366U,
ISP1040, ISP2200, M5823, MK48T08, NS16450, NS16550, PCF8584, SA1110-device, SYM53C810,
SYM53C875, Z8530, alpha-ev5, apic, armv5te, bitmask-translator, cassini, central-client,
cheerio-hme, clock, cpc700-gpt, etg, ethernet-link, fc-disk, fiesta-tomatillo, gdb-remote,
generic-flash-memory, gfx-console, i8042, i82077, i8254, i8259x2, ia64-itanium, ia64itanium2, ide, image, leon2, leon2_cfg, leon2_ioport, leon2_irq, leon2_timer, leon2_
uart, mii-transceiver, mips-4kc, mips-5kc, msp430, niagara-strand-mmu, opencores_
eth, piix4_power, piix4_usb, ppc405gp, ppc405gp-iic, ppc440gp, ppc440gp-iic, ppc440gx,
ppc440gx-iic, ppc603e, ppc7400, ppc7447, ppc7450, ppc7457, ppc750, ppc750fx, ppc750gx,
ppc970fx, python, ragexl, recorder, rev-execution, sample_micro_arch_x86, sb16, sbushme, scsi-bus, scsi-cdrom, scsi-disk, serengeti-console, serengeti-console-old, serengetischizo, serial-link, server-console, service-node, state-assertion, sun4u-counter, sun4ufasdma, sun4u-fhc, sunfire-psycho, sunfire-sysio, telos-basic-clock, telos-button, telosenvironment, telos-io-ports, telos-sfr, telos-timer, telos-usart, text-console, ultrasparcii, ultrasparc-iii, ultrasparc-iii-i, ultrasparc-iii-plus, ultrasparc-iv, ultrasparc-iv-plus,
ultrasparc-t1, vga, vga_pci, voodoo3, voodoo3-agp, x86-486sx, x86-hammer, x86-p2,
x86-p4
Description
This interface is intended for objects that post events. Each events has a pointer to
a call-back function and a data pointer associated with it. These pointers need to be
converted to values that can be represented in a file when a configuration is written (a
checkpoint is taken), and converted back to pointers when a configuration is read (a
checkpoint is opened). Simics also needs some way to get a text description of an event
that can be presented to the user. These functions should be implemented through the
event-poster interface by all objects posting event.
struct event_poster_interface {
attr_value_t (*get_event_info_val)(conf_object_t *NOTNULL obj,
void (*NOTNULL func)(
conf_object_t *obj,
lang_void *param),
void *user_data);
const char *(*describe_event)(conf_object_t *NOTNULL obj,
void (*NOTNULL func)(conf_object_t *obj,
lang_void *param),
void *user_data);
void (*get_event_info)(attr_value_t *NOTNULL checkpoint_value,
conf_object_t *NOTNULL obj,
void (*NOTNULL func)(conf_object_t *obj,
lang_void *param),
void *user_data);
int (*set_event_info)(conf_object_t *NOTNULL obj,

2597

VIRTUTECH CONFIDENTIAL
attr_value_t *NOTNULL checkpoint_value,
void (**NOTNULL out_func)(conf_object_t *obj,
lang_void *param),
void **NOTNULL out_info);
};
#define EVENT_POSTER_INTERFACE "event_poster"

get_event_info_val() is called for each event posted by the object obj present in the
event queues when writing a configuration. Using the func and the info parameters
get_event_info_val() should return a checkpoint value so that set_event_info() can restore both func and info when the configuration is later read. If the event should not
be saved, get_event_info_val() should return Sim_Val_Nil.
get_event_info() is an alternative interface kept for compatibility. It modifies the checkpoint_
value parameter instead of returning a value. It is only used if get_event_info_val() is
not present.
set_event_info() is called for each event associated with obj found when restoring
events from a saved configuration. Using the checkpoint_value set_event_info() should
fill in out_func and out_info with the associated values. set_event_info() should return
one of Sim_Set_Ok, Sim_Set_Ignored and Sim_Set_Illegal_Value. Sim_
Set_Ok should be returned if the event was recognised and should be posted, Sim_
Set_Ignored if the event was recognised for backwards compatibility but should
not be posted, and Sim_Set_Illegal_Value if the event was not recognised.
describe_event() should return a string describing the event using the func and user_
data parameters. The string is for example used when the event queue is printed.

2598

VIRTUTECH CONFIDENTIAL

exception
Implemented By
alpha-ev5, armv5te, clock, ia64-itanium, ia64-itanium2, leon2, mips-4kc, mips-5kc,
msp430, ppc405gp, ppc440gp, ppc440gx, ppc603e, ppc7400, ppc7447, ppc7450, ppc7457,
ppc750, ppc750fx, ppc750gx, ppc970fx, ultrasparc-ii, ultrasparc-iii, ultrasparc-iii-i, ultrasparciii-plus, ultrasparc-iv, ultrasparc-iv-plus, ultrasparc-t1, x86-486sx, x86-hammer, x86p2, x86-p4
Description
Interface for identifying exceptions.
typedef struct {
int (*get_number)(conf_object_t *NOTNULL obj,
const char *NOTNULL name);
const char *(*get_name)(conf_object_t *NOTNULL obj, int exc);
int (*get_source)(conf_object_t *NOTNULL obj, int exc);
attr_value_t (*all_exceptions)(conf_object_t *NOTNULL obj);
} exception_interface_t;
#define EXCEPTION_INTERFACE "exception"

2599

VIRTUTECH CONFIDENTIAL

extended_serial
Implemented By
text-console
Description
This interface extends the SERIAL_DEVICE_INTERFACE with a write_at() function.
It is similar to the write() function of the mentioned interface, but accepts an on-screen
character position. This interface is implemented by text consoles allowing them to be
connected to text oriented frame buffers, such as VGA in text mode.
typedef struct {
void (*write_at)(conf_object_t *obj,
int value, int x, int y, int fg, int bg);
void (*graphics_mode)(conf_object_t *obj, int in_graphics_mode);
} extended_serial_interface_t;
#define EXTENDED_SERIAL_INTERFACE "extended-serial"

2600

VIRTUTECH CONFIDENTIAL

ieee_802_3_mac
Implemented By
AM79C973, DEC21140A-dml, opencores_eth
Description
#define IEEE_802_3_MAC_INTERFACE "ieee_802_3_mac"
typedef struct {
int (*receive_frame)(conf_object_t *obj, int phy,
dbuffer_t *buf, int crc_ok);
void (*tx_bandwidth_available)(conf_object_t *obj, int phy);
void (*link_status_changed)(conf_object_t *obj, int phy,
ieee_802_3_link_status_t status);
} ieee_802_3_mac_interface_t;

Interface that should be implemented by 802.3 media access control layers.


The receive_frame function is called when a frame has been received by the phy. The
frame is passed as a dbuffer_t that may not be modified without cloning it first.
The return value have no meaning, callers should ignore it, and new implementations
should return 0.
The tx_bandwith_available is called by the PHY when a previous call to send_frame
or check_tx_bandwidth in the ieee_802_3_phy have returned no bandwidth available.
link_status_changed is called when the phy detects a change of the link status.
The phy parameter is a number that identifies this particular PHY, in configurations
with several PHYs connected to the same MAC.

2601

VIRTUTECH CONFIDENTIAL

ieee_802_3_phy
Implemented By
mii-transceiver
Description
#define IEEE_802_3_PHY_INTERFACE "ieee_802_3_phy"
typedef struct {
int (*send_frame)(conf_object_t *obj, dbuffer_t *buf, int replace_crc);
int (*check_tx_bandwidth)(conf_object_t *obj);
} ieee_802_3_phy_interface_t;

Interface that should be implemented by 802.3 physical layers.


The send_frame function is used by a device to send an Ethernet frame. The frame
should be a dbuffer_t containing a complete Ethernet frame. excluding the preamble and SFD, but including the CRC. The replace_crc flag indicates whether the CRC
is not actually calculated yet. The passed buf should not be modified by the called
function. If the function return 0, the frame was sent to the link; In case -1 is returned,
there was not enough bandwidth available right now, and the frame could not be sent.
The PHY should call the tx_bandwidth_available in the ieee_802_3_mac interface
at the MAC, when the frame can be sent.
The check_tx_bandwidth can also be used to check that there is bandwidth available,
without sending a frame. It returns 0 if there is no bandwidth available, and a positive
value if the frame can be sent right away.

2602

VIRTUTECH CONFIDENTIAL

image
Implemented By
image
Description
This interface is used for handling big data images. read() and write access a block of
data at a time. Iteration over all pages can be done with for_all_spages(). The iteration
stops when f() returns non-zero, and the return value from for_all_spages() is the last
return value from the callback function.
typedef uint64 vdisk_addr_t;
typedef struct image_interface {
void (*read)(conf_object_t *img, void *to_buf, vdisk_addr_t start,
size_t length);
void (*write)(conf_object_t *img, void *from_buf, vdisk_addr_t start,
size_t length);
int (*for_all_spages)(conf_object_t *img,
int (*f)(image_spage_t *, vdisk_addr_t, void *),
void *arg);
void (*set_persistent)(conf_object_t *obj);
void (*save_to_file)(conf_object_t *NOTNULL obj,
const char *NOTNULL file,
uint64 start, uint64 length);
void (*save_diff)(conf_object_t *NOTNULL obj,
const char *NOTNULL file);
void (*clear_range)(conf_object_t *NOTNULL obj,
uint64 start, uint64 length);
} image_interface_t;

2603

VIRTUTECH CONFIDENTIAL

int_register
Implemented By
alpha-ev5, armv5te, clock, ia64-itanium, ia64-itanium2, leon2, mips-4kc, mips-5kc,
msp430, ppc405gp, ppc440gp, ppc440gx, ppc603e, ppc7400, ppc7447, ppc7450, ppc7457,
ppc750, ppc750fx, ppc750gx, ppc970fx, ultrasparc-ii, ultrasparc-iii, ultrasparc-iii-i, ultrasparciii-plus, ultrasparc-iv, ultrasparc-iv-plus, ultrasparc-t1, x86-486sx, x86-hammer, x86p2, x86-p4
Description
The int-register interface is used for fast access to registers in a processor. It can
be used to access any kind of integer register, not only the normal registers. This
includes all kinds of control registers, hidden registers and anything else that might
be useful to access as a register. The only limitation is that the register value should be
representable as an uinteger_t.
This interface can be implemented by other classes than processors, but it is likely to
be found mostly in processors.
Registers are identified by a number, and there are two functions to translate from
register names to register numbers and back. The translation need not be one-to-one,
which means that one register can have several names. A register name can, however,
only translate to a single register number.
Often, registers are grouped in register banks, where registers in the bank are numbered from 0 up. Registers in a bank should have consecutive numbers (unless their
numbering is very sparse). This allows a user to deduce register numbers by calling
get_number for the first register only. The first register numbers should be used for the
general-purpose integer registers, if possible (so that integer register rN has number
N).
Using this interface to read or write registers does not cause any side effects, such as
triggering interrupts or signalling haps.
get_number translates a register name to its number.
get_name translates a register number to its canonical name.
read reads a register value.
write writes a new register value.
all_registers returns a list of all register numbers that can be used for this object.
register_info returns information about a single register. The information return depends on the info parameter.
Sim_RegInfo_Catchable
Return 1 if Core_Control_Register_Write and Core_Control_Register_
Read are triggered when this register is written or read. Return 0 otherwise.
typedef enum {
Sim_RegInfo_Catchable

2604

VIRTUTECH CONFIDENTIAL
} ireg_info_t;
typedef struct {
int (*get_number)(conf_object_t *NOTNULL obj,
const char *NOTNULL name);
const char *(*get_name)(conf_object_t *NOTNULL obj, int reg);
uinteger_t (*read)(conf_object_t *NOTNULL obj, int reg);
void (*write)(conf_object_t *NOTNULL obj, int reg, uinteger_t val);
attr_value_t (*all_registers)(conf_object_t *NOTNULL obj);
int (*register_info)(conf_object_t *NOTNULL obj, int reg,
ireg_info_t info);
} int_register_interface_t;
#define INT_REGISTER_INTERFACE "int_register"

2605

VIRTUTECH CONFIDENTIAL

interrupt_ack
Implemented By
CY82C693_0, GT64120, SIO82378ZB, apic-bus, open-pic, x86-486sx, x86-hammer, x86p2, x86-p4
Description
The interrupt_ack_fn_t function is called by an interrupt target to ack an interrupt. Returns the interrupt vector.
typedef int (*interrupt_ack_fn_t)(conf_object_t *NOTNULL);

Interface for acked interrupts. The target is typically a cpu that later calls the supplied
ack function when the interrupt is actually taken.
typedef struct interrupt_ack_interface {
void (*raise_interrupt)(conf_object_t *NOTNULL obj,
interrupt_ack_fn_t,
conf_object_t *);
void (*lower_interrupt)(conf_object_t *NOTNULL obj,
interrupt_ack_fn_t);
} interrupt_ack_interface_t;
#define INTERRUPT_ACK_INTERFACE "interrupt_ack"

2606

VIRTUTECH CONFIDENTIAL

interrupt_cpu
Implemented By
apic, i8259x2
Description
The interrupt_ack_fn_t function is called by an interrupt target to ack an interrupt. Returns the interrupt vector.
typedef int (*interrupt_ack_fn_t)(conf_object_t *NOTNULL);

Interface that must be implemented by an interrupt source that sends interrupts through
the interrupt_ack interface. Used to reestablish the ack function when loading a checkpoint.
typedef struct interrupt_cpu_interface {
interrupt_ack_fn_t ack;
} interrupt_cpu_interface_t;
#define INTERRUPT_CPU_INTERFACE "interrupt_cpu"

2607

VIRTUTECH CONFIDENTIAL

io_memory
Implemented By
AM29F016, AM79C960, AM79C960-dml, AM79C973, BCM5703C, BCM5704C, CL-PD6729,
CS8900A, CY82C693_0, CY82C693_1, CY82C693_2, DEC21041, DEC21140A, DEC21140Adml, DEC21143, DS12887, DS12887-dml, DS1743P, DS17485, FAS366U, GT64120, GT64120pci, ISP1040, ISP2200, LX164-IRQ-PLD, LX164-NVRAM, M5823, MD1535D-acpi, MD1535Dcfg, MD1535D-ide, MD1535D-isa, MD1535D-power, MD1535D-smb, MD1535D-unknown,
MK48T08, NS16450, NS16550, PCF8584, PCI0646, SA1110-device, SIO82378ZB, SYM53C810,
SYM53C875, Z8530, apic, apic-bus, apm, artesyn-pm-ppc, bitmask-translator, cassini,
cassini_sub, cheerio-e2bus, cheerio-hme, cheetah-mmu, cheetah-plus-mmu, cpc700gpt, cpc700-iic, cpc700-mc, cpc700-pci, cpc700-pi, cpc700-uic, ebony-fpga, empty-device,
fiesta-tomatillo, flash-memory, fourport, hostfs, i21150, i21152, i21554-prim, i21554scnd, i21555-prim, i21555-scnd, i8042, i82077, i8237x2, i82443bx, i82443bx_agp, i82461GX,
i82468GX_0, i8254, i8259x2, ia64-itanium, ia64-itanium2, ide, io-apic, jaguar-mmu,
jalapeno-mmu, leon2_cfg, leon2_ioport, leon2_irq, leon2_timer, leon2_uart, malta, niagaradram-ctl, niagara-iob, niagara-l2c, open-pic, opencores_eth, panther-mmu, pc-config,
pc-shadow, pci-bus, pcie-switch, piix4_ide, piix4_isa, piix4_power, piix4_usb, piix4_
usb_dummy, ppc405gp-cpc, ppc405gp-ebc, ppc405gp-emac, ppc405gp-gpio, ppc405gpiic, ppc405gp-mal, ppc405gp-mc, ppc405gp-pci, ppc405gp-uic, ppc440gp-cpc, ppc440gpdma, ppc440gp-ebc, ppc440gp-emac, ppc440gp-gpio, ppc440gp-iic, ppc440gp-mal, ppc440gpmc, ppc440gp-pci, ppc440gp-plb, ppc440gp-sram, ppc440gp-uic, ppc440gp-zmii, ppc440gxcpc, ppc440gx-cpr, ppc440gx-dma, ppc440gx-ebc, ppc440gx-emac, ppc440gx-gpio, ppc440gxiic, ppc440gx-l2c, ppc440gx-mal, ppc440gx-opb, ppc440gx-pci, ppc440gx-plb, ppc440gxrgmii, ppc440gx-sdr, ppc440gx-sdram, ppc440gx-sram, ppc440gx-uic, ppc440gx-zmii,
pyxis, ragexl, rom-device, sample-device, sample-device-python, sample-pci-device,
sb16, sbbc-pci, sbus-hme, serengeti-schizo, set-memory, simple-byte-dump, strataflash, sun4u-ac, sun4u-clockregs, sun4u-counter, sun4u-fasdma, sun4u-fhc, sun4usbus-speed, sun4u-simm-status, sun4u-systemregs, sun4u-temperature, sun4v-rtc, sunfirepsycho, sunfire-sysio, telos-basic-clock, telos-io-ports, telos-sfr, telos-timer, telos-usart,
uPD66566S1016, vga, vga_pci, voodoo3, voodoo3-agp, x87_exception
Description
This interface is implemented by devices that can be mapped into address spaces (including port spaces). The map() function is called for an object when it initially is
mapped into the address space, and operation() is called when the object is accessed
through an address space.
The obj argument is a pointer to the mapped object and map_info contains information
about how and where the device is mapped into memory. The memory_or_io argument
to map() identifies the type of the address space where the device is mapped. The
mem_op argument to operate() contains information about the access.
The offset into the device mapping for the access is typically calculated in the following way:
offset = mem_op->physical_address - map_info.base + map_info.start

2608

VIRTUTECH CONFIDENTIAL
The return value from map() is currently not used and should be always be 0.
The exception_type_t type, that is the same as pseudo_exception_t, returned
by the operation() function may be used to signal errors to Simics, but should in most
cases be Sim_PE_No_Exception. If the device does not support inquiry accesses, it
should return Sim_PE_Inquiry_Unhandled if mem_op->inqury is 1.
typedef enum {
Sim_Addr_Space_Conf,
Sim_Addr_Space_IO,
Sim_Addr_Space_Memory
} addr_space_t;
typedef int (*map_func_t)(conf_object_t *NOTNULL obj,
addr_space_t memory_or_io,
map_info_t map_info);
typedef exception_type_t (*operation_func_t)(
conf_object_t *NOTNULL obj,
generic_transaction_t *NOTNULL mem_op,
map_info_t map_info);
typedef struct io_memory_interface {
map_func_t map;
operation_func_t operation;
} io_memory_interface_t;
#define IO_MEMORY_INTERFACE "io_memory"

2609

VIRTUTECH CONFIDENTIAL

keyboard
Implemented By
i8042, sun-keyboard
Description
Interface implemented by keyboard controllers. Used by consoles to send keyboard
events to the controller.
The function keyboard_event() takes the keyboard controller as its first argument obj.
The key_up argument specifies whether the event is a key release (1) or a key press
(0). The key argument is the Simics internal keycode, as defined in src/extension/
common/keycodes.h.
If the return value is 1 the keyboard controller accepted the event. If return value is
0 the keyboard controller did not accept the event, and the console should buffer the
event until it gets a keyboard_ready() call from the keyboard controller.
typedef struct {
int (*keyboard_event)(conf_object_t *obj, int key_up, uint8 key);
} kbd_interface_t;
#define KEYBOARD_INTERFACE "keyboard"

2610

VIRTUTECH CONFIDENTIAL

log_object
Implemented By
ADM1031, AM29F016, AM79C960, AM79C960-dml, AM79C973, AT24C164, AT24CS256,
BCM5703C, BCM5704C, CL-PD6729, CS8900A, CY82C693_0, CY82C693_1, CY82C693_2,
DEC21041, DEC21140A, DEC21140A-dml, DEC21143, DS12887, DS12887-dml, DS1621,
DS1743P, DS17485, FAS366U, GT64120, GT64120-pci, ICS951601, ISA, ISP1040, ISP2200,
LX164-IRQ-PLD, LX164-NVRAM, M5823, MD1535D-acpi, MD1535D-cfg, MD1535Dide, MD1535D-isa, MD1535D-power, MD1535D-smb, MD1535D-unknown, MK48T08,
NS16450, NS16550, PCF8582C, PCF8584, PCF8587, PCI0646, SA1110-device, SIO82378ZB,
SYM53C810, SYM53C875, Z8530, agp-voodoo3, alpha-ev5, alpha-lx164-system, apic,
apic-bus, apm, arm-sa1110-system, armv5te, artesyn-pm-ppc, bitmask-translator, cassini,
cassini_sub, central-client, central-server, cheerio-e2bus, cheerio-hme, cheetah-mmu,
cheetah-plus-mmu, clock, component, consistency-controller, context-switcher, cpc700gpt, cpc700-iic, cpc700-mc, cpc700-pci, cpc700-pi, cpc700-uic, cpu-group, cpu-modetracker, data-profiler, ddr-memory-module, ddr2-memory-module, dummy-component,
ebony-board, ebony-fpga, empty-device, enchilada-system, etg, eth-transceiver, ethernetlink, fc-disk, fiesta-system, fiesta-tomatillo, file-cdrom, flash-memory, fourport, ftpalg, g-cache, g-cache-ooo, gdb-remote, generic-flash-memory, gfx-console, host-cdrom,
hostfs, i21150, i21152, i21554-prim, i21554-scnd, i21555-prim, i21555-scnd, i2c-bus,
i386-cpu, i486dx2-cpu, i486sx-cpu, i8042, i82077, i8237x2, i82443bx, i82443bx_agp, i82461GX,
i82468GX_0, i8254, i8259x2, ia64-460gx-system, ia64-itanium, ia64-itanium2, ide, idecdrom, ide-disk, image, io-apic, isa-lance, isa-vga, itanium-cpu, jaguar-mmu, jalapenommu, legacy-pc-devices, leon2, leon2-simple, leon2_cfg, leon2_ioport, leon2_irq, leon2_
timer, leon2_uart, linux-process-tracker, local-space-mapper, log-object, logical-memorytranslator, malta, malta-system, memory-space, microwire-eeprom, mii-managementbus, mii-transceiver, mips-4kc, mips-5kc, msp430, niagara-core-mmu, niagara-dramctl, niagara-iob, niagara-l2c, niagara-simple-system, niagara-strand-mmu, north-bridge443bx, north-bridge-443bx-agp, north-bridge-875p, north-bridge-e7520, north-bridgek8, ooo_micro_arch, open-pic, opencores_eth, opteron-cpu, panther-mmu, pc-config,
pc-dual-serial-ports, pc-floppy-controller, pc-quad-serial-ports, pc-shadow, pc-singleparallel-port, pci-am79c973, pci-backplane, pci-bcm5703c, pci-bcm5704c, pci-bus, pcidec21041, pci-dec21140a, pci-dec21140a-dml, pci-dec21143, pci-i21152, pci-i82543gc,
pci-i82546bg, pci-isp1040, pci-isp2200, pci-pd6729, pci-pmc1553-bc, pci-rage-pm-mobilitypci, pci-ragexl, pci-sil680a, pci-sym53c810, pci-sym53c875, pci-sym53c876, pci-vga,
pci-voodoo3, pcie-pex8524, pcie-switch, pentium-4-cpu, pentium-4e-2ht-cpu, pentium4e-4ht-cpu, pentium-4e-cpu, pentium-cpu, pentium-ii-cpu, pentium-iii-cpu, pentiumm-cpu, pentium-mmx-cpu, pentium-pro-cpu, perfanalyze, persistent-ram, phy-miitransceiver, piix4_ide, piix4_isa, piix4_power, piix4_usb, piix4_usb_dummy, pmppcboard, port-forward-incoming-server, port-forward-outgoing-server, port-space, ppcbroadcast-bus, ppc-of, ppc-simple, ppc32-linux-process-tracker, ppc405gp, ppc405gpcpc, ppc405gp-ebc, ppc405gp-emac, ppc405gp-gpio, ppc405gp-iic, ppc405gp-mal, ppc405gpmc, ppc405gp-pci, ppc405gp-uic, ppc440gp, ppc440gp-cpc, ppc440gp-dma, ppc440gpebc, ppc440gp-emac, ppc440gp-gpio, ppc440gp-iic, ppc440gp-mal, ppc440gp-mc, ppc440gppci, ppc440gp-plb, ppc440gp-sram, ppc440gp-uic, ppc440gp-zmii, ppc440gx, ppc440gxcpc, ppc440gx-cpr, ppc440gx-dma, ppc440gx-ebc, ppc440gx-emac, ppc440gx-gpio, ppc440gx2611

VIRTUTECH CONFIDENTIAL
iic, ppc440gx-l2c, ppc440gx-mal, ppc440gx-opb, ppc440gx-pci, ppc440gx-plb, ppc440gxrgmii, ppc440gx-sdr, ppc440gx-sdram, ppc440gx-sram, ppc440gx-uic, ppc440gx-zmii,
ppc603e, ppc64-linux-process-tracker, ppc7400, ppc7447, ppc7450, ppc7457, ppc750,
ppc750fx, ppc750gx, ppc970-simple, ppc970fx, ps2-keyboard-mouse, pyxis, ragexl,
ram, recorder, rev-execution, rn-eth-bridge-raw, rn-eth-bridge-tap, rn-eth-proxy-raw,
rn-eth-proxy-tap, rn-ip-router-raw, rn-ip-tunnel-tun, rom, rom-device, sample-device,
sample-device-python, sample-gcache, sample-i2c-device, sample-ma-model, sampleooo-model, sample-pci-device, sample-x86-ma-model, sample_micro_arch, sample_
micro_arch_x86, sapic-bus, sb16, sbbc-pci, sbus-hme, scsi-bus, scsi-cdrom, scsi-disk,
sdram-memory-module, serengeti-3800-chassis, serengeti-4800-chassis, serengeti-4810chassis, serengeti-6800-chassis, serengeti-cluster-chassis, serengeti-console, serengeticonsole-old, serengeti-cpci4-board, serengeti-pci8-board, serengeti-schizo, serengetisp-cpci6-board, serengeti-system, serengeti-us-iii-cpu-board, serengeti-us-iii-plus-cpuboard, serengeti-us-iv-cpu-board, serengeti-us-iv-plus-cpu-board, serial-link, serverconsole, service-node, service-node-device, set-memory, signal-bus, sim, simple-bytedump, simple-fc-disk, sio-lpc47m172, sio-w83627hf, south-bridge-6300esb, south-bridgeamd8111, south-bridge-md1535d, south-bridge-piix4, south-bridge-saturn, south-bridgesun-md1535d, sparc-irq-bus, spitfire-mmu, state-assertion, std-etg, std-ethernet-link,
std-graphics-console, std-host-serial-console, std-ide-cdrom, std-ide-disk, std-ms1553link, std-pcmcia-flash-disk, std-scsi-bus, std-scsi-cdrom, std-scsi-disk, std-serial-link,
std-server-console, std-service-node, std-super-io, std-text-console, std-text-graphicsconsole, store_queue, strata-flash, sun-cpci-hme-isp, sun-cpci-isp-isp, sun-cpci-qlc-qlc,
sun-keyboard, sun-mouse, sun-pci-ce, sun-pci-hme, sun-pci-hme-isp, sun-pci-pgx64,
sun-pci-qlc, sun-pci-qlc-qlc, sun-sbus-fas-hme, sun-type5-keyboard, sun-type5-mouse,
sun4u-ac, sun4u-clockregs, sun4u-counter, sun4u-fasdma, sun4u-fhc, sun4u-sbus-speed,
sun4u-simm-status, sun4u-systemregs, sun4u-temperature, sun4u-trans2, sun4v-rtc,
sunfire-3500-backplane, sunfire-4500-backplane, sunfire-6500-backplane, sunfire-cpuboard, sunfire-pci-board, sunfire-psycho, sunfire-sbus-board, sunfire-sysio, sunfiresystem, symtable, taco-system, telos-basic-clock, telos-button, telos-environment, telosio-ports, telos-mote, telos-sfr, telos-timer, telos-usart, top-component, trans-sorter, transsplitter, trans-splitter-ooo, trans-staller, uPD66566S1016, ultrasparc-ii, ultrasparc-iii,
ultrasparc-iii-i, ultrasparc-iii-plus, ultrasparc-iv, ultrasparc-iv-plus, ultrasparc-t1, v9sol9-idle-opt, vga, vga_pci, voodoo3, voodoo3-agp, wire, x86-486sx, x86-apic-bussystem, x86-apic-system, x86-e7520-system, x86-hammer, x86-hammer-cpu, x86-linuxprocess-tracker, x86-p2, x86-p4, x86-reset-bus, x86-separate-mem-io-system, x86-system,
x86-tlb, x87_exception, xeon-prestonia-cpu
Description
Command List
log
log-group
log-level
log-size
log-type

print log entries for all objects


set or get the current log groups
set or get the log level
set log buffer size
set or get the current log types

2612

VIRTUTECH CONFIDENTIAL

Command Descriptions
<log_object>.log
Synopsis
<log_object>.log [count]
log [count]
Description
Display entries in log buffers. The namespace version displays the entries for a specific
object, while the global command lists the entries of all objects log buffers but sorted
by time. The optional argument is the number of entries to list. Only the last 10 entries
are listed by default.
See Also
<log_object>.log-group, log-level, log-size, log-type

<log_object>.log-group
Synopsis
<log_object>.log-group [-add] [-sub] [log-group]
Description
A log object in Simics can specify a number of groups, and each log message is associated with one group. Groups are typically used to separate log messages belonging to
different aspects of an object such as a device. For example, a network device can have
different group for the receive and transmit engine, one groups 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 active, but a single group can be set with this command, or groups can be added
and removed using the flags -add and -sub for the command. All groups can be enabled by setting log-group to all.
See Also
log, log-level, log-size, log-type

<log_object>.log-level
Synopsis
<log_object>.log-level [level]
log-level [level]
Description
Objects in Simics can generate log messages on different log levels. These messages
will be show 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.
2613

VIRTUTECH CONFIDENTIAL
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 - highlevel informative messages. 3 - standard debug messages. 4 - detailed information,
such as register accesses.
Not all classes are converted to use this log level scheme.
See Also
log, <log_object>.log-group, log-size, log-type

<log_object>.log-size
Synopsis
<log_object>.log-size [size]
log-size [size]
Description
The namespace version of this command changes the buffer size (number of entries)
for log messages and I/O trace entries for an objects. The global command applies to
all log objects. When called with no arguments, the size of the log buffers are listed.
See Also
log, <log_object>.log-group, log-level, log-type

<log_object>.log-type
Synopsis
<log_object>.log-type [-add] [-sub] [log-type]
log-type [-add] [-sub] [log-type]
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 -add and -sub can be used to add and
remove a single log type. The log types are documented with the log_type_t data
type, and are Info, Error, Undefined, Spec_Violation, Target_Error, Unimplemented.
All types can be enabled by setting log-type to all.
See Also
log, <log_object>.log-group, log-level, log-size

2614

VIRTUTECH CONFIDENTIAL

map_demap
Implemented By
memory-space, port-space
Description
Interface used to dynamically add and remove mappings in a memory space. The
first argument to all functions, space is the memory space to map an object in. The
dev argument is the object to map or unmap. This object must implement one of the
following interfaces: io_memory, _ram, _rom, port_space, translate, bridge
and memory_space. If the object implements one of the last two interfaces, the target
argument must be supplied with an object of the class that the translator/bridge maps
to.
The function argument to remove_map is the identification number of a specific mapping, specified in the map_info structure when the mapping was created by add_map.
An object implementing the translate may have a target object that implements one
of memory_space, _ram and _rom. This means that a translator object can translate
an address into a new memory space, or a RAM/ROM object. The target argument
may be set to NULL. Then the target has to be provided by the translator on each
access, and it is assumed to be of the default memory space class.
An object implementing the bridge must have a target object that implements the
memory_space.
The add_default function adds a mapping that is used for accesses to addresses without any other mapping. Default mappings can not map to objects that implement the
_ram or _rom.
All functions in the map_demap return 1 on success and 0 on failure.
More information about the different kinds of memory space mappings is available in
the Simics User Guide.
typedef struct {
int (*add_map)(conf_object_t *NOTNULL space,
conf_object_t *NOTNULL dev,
conf_object_t *target,
map_info_t map_info);
int (*remove_map)(conf_object_t *NOTNULL space,
conf_object_t *NOTNULL dev,
int function);
int (*add_default)(conf_object_t *NOTNULL space,
conf_object_t *NOTNULL dev,
conf_object_t *target,
map_info_t map_info);
void (*remove_default)(conf_object_t *NOTNULL space);
} map_demap_interface_t;
#define MAP_DEMAP_INTERFACE "map_demap"

2615

VIRTUTECH CONFIDENTIAL

memory_space
Implemented By
memory-space
Description
This interface is implemented by classes that provide linear address spaces. Other
objects may perform accesses in the address space using the access() function or one of
the simplified access functions, or may ask for mapped objects using space_lookup().
Typical usage of this interface would be memory accesses from devices or processors.
The access_simple() function is similar to access() but takes some additional arguments instead of a complete generic_transaction_t structure. An inquiry version of this function is available as access_simple_inq(). Both these functions can perform endian conversion if the buffer pointed to by buf contains a value in host endian
byte-order. To avoid endian conversion, Sim_Endian_Target should be specified
as endian. These two functions are not available from Python.
The functions read() and write() operate on data in an attr_value_t format. This
is useful for accesses from Python, but they can also be used from C/C++. The value
returned by read() is statically allocated and should be copied to a destination buffer
directly after the call. The largest amount of data that can be transferred in a single
read() call is 1024 bytes. If the write() function fails, the pseudo exception is returned
as an integer.
#define MEMORY_SPACE_INTERFACE "memory_space"
struct memory_space_interface {
map_list_t *(*space_lookup)(conf_object_t *NOTNULL obj,
generic_transaction_t *NOTNULL mop,
map_info_t mapinfo);
exception_type_t (*access)(conf_object_t *NOTNULL obj,
generic_transaction_t *NOTNULL mop);
exception_type_t (*access_simple)(conf_object_t *obj,
conf_object_t *initiator,
physical_address_t addr,
char *buf,
physical_address_t len,
read_or_write_t type,
endianness_t endian);
exception_type_t (*access_simple_inq)(conf_object_t *obj,
conf_object_t *initiator,
physical_address_t addr,
char *buf,
physical_address_t len,
read_or_write_t type,
endianness_t endian);
attr_value_t (*read)(conf_object_t *NOTNULL obj,
conf_object_t *initiator,
physical_address_t addr,
int length,

2616

VIRTUTECH CONFIDENTIAL
int inquiry);
exception_type_t (*write)(conf_object_t *NOTNULL obj,
conf_object_t *initiator,
physical_address_t addr,
attr_value_t data,
int inquiry);
cycles_t (*timing_model_operate)(conf_object_t *NOTNULL space,
generic_transaction_t *NOTNULL mop);
};

2617

VIRTUTECH CONFIDENTIAL

microwire
Implemented By
microwire-eeprom
Description
This interface is used to communicate with a 3-wire (microwire) serial EEPROM device, for example, the 93Cxx series, via its pins. To set the values of the CS, SK, and
DI pins, use the set_cs(), set_sk(), and set_di() functions, respectively. To read the
value output on the DO pin, use the get_do() function. Zero represents low signal and
non-zero high signal.
#define MICROWIRE_INTERFACE "microwire"
typedef struct {
void (*set_cs)(conf_object_t
void (*set_sk)(conf_object_t
void (*set_di)(conf_object_t
int (*get_do)(conf_object_t
} microwire_interface_t;

2618

*obj, int cs);


*obj, int sk);
*obj, int di);
*obj);

VIRTUTECH CONFIDENTIAL

mips
Implemented By
mips-4kc, mips-5kc
Description
This interface is implemented by MIPS processors to provide various functionality
that is specific for this class of processors.
There are currently no MIPS-specific functions.
typedef struct mips_interface {
int dummy;
} mips_interface_t;
#define MIPS_INTERFACE "mips"

Command List
info
pregs-fpu
print-tlb
status

print information about the device


print the floating point registers
print TLB contents
print status of the device

Command Descriptions
<mips>.info
Synopsis
<mips>.info
Description
Print detailed information about the configuration of the device.

<mips>.pregs-fpu
Synopsis
<mips>.pregs-fpu
Description
Prints the contents of the floating point registers.

<mips>.print-tlb
Synopsis
<mips>.print-tlb

2619

VIRTUTECH CONFIDENTIAL
Description
Prints the contents of the TLB of the processor.

<mips>.status
Synopsis
<mips>.status
Description
Print detailed information about the current status of the device.

2620

VIRTUTECH CONFIDENTIAL

mmu
Implemented By
cheetah-mmu, cheetah-plus-mmu, jaguar-mmu, jalapeno-mmu, niagara-strand-mmu,
panther-mmu, spitfire-mmu
Description
logical_to_physical() should fill in the physical_address field (and other address fields
when appropriate) in the memory transaction if the transaction is valid. Side effects
such as modifying dirty or access bits should only take place if the inquiry bit in the
transaction is clear. The set_error function can return a new exception to override the
one set by the Simics core. The overriding exception is only used for memory accesses.
typedef struct {
exception_type_t (*logical_to_physical)(conf_object_t *mmu_obj,
v9_memory_transaction_t *);
int (*get_current_context)(conf_object_t *mmu_obj,
conf_object_t *cpu);
void (*cpu_reset)(conf_object_t *mmu_obj,
conf_object_t *cpu_obj,
exception_type_t exc_no);
exception_type_t (*undefined_asi)(conf_object_t *mmu_obj,
v9_memory_transaction_t *mem_op);
exception_type_t (*set_error)(conf_object_t *mmu_obj,
conf_object_t *cpu_obj,
exception_type_t ex,
uint64 addr,
int ft,
int address_space,
read_or_write_t r_or_w,
data_or_instr_t d_or_i,
int atomic,
int tl,
int priv);
void (*set_error_info)(mmu_error_info_t *ei);

exception_type_t (*asi_0x40_callback)(conf_object_t *cpu,


uint64 addr, uint64 value, int size
} mmu_interface_t;

2621

VIRTUTECH CONFIDENTIAL

mouse
Implemented By
i8042, sun-mouse
Description
Interface used to send mouse events to a mouse device. The function mouse_event()
takes the destination device as first argument in obj. The xmicro and ymicro arguments specified the relative mouse movement in micro-meters. If the mouse supports
a wheel, the wheel movement is supplied in z, as number of steps up or down. The last
argument buttons is a bit-mask with the state of the mouse buttons. The mapping of
mouse buttons to bits is defined in the file src/extension/common/keycodes.h.

typedef struct {
void (*mouse_event)(conf_object_t *obj, int xmicro, int ymicro, int z, in
} mouse_interface_t;
#define MOUSE_INTERFACE "mouse"

2622

VIRTUTECH CONFIDENTIAL

pci_bridge
Implemented By
GT64120-pci, cpc700-pci, fiesta-tomatillo, i21150, i21152, i21554-scnd, i21555-scnd, i82443bx,
i82443bx_agp, i82461GX, ppc405gp-pci, ppc440gp-pci, ppc440gx-pci, pyxis, serengetischizo, sunfire-psycho
Description
This interface is implemented by all PCI bridges.
typedef struct {
void (*system_error)(conf_object_t *obj);
void (*raise_interrupt)(conf_object_t *obj, conf_object_t *irq_obj,
int device, int pin);
void (*lower_interrupt)(conf_object_t *obj, conf_object_t *irq_obj,
int device, int pin);
} pci_bridge_interface_t;

2623

VIRTUTECH CONFIDENTIAL

pci_bus
Implemented By
pci-bus, pcie-switch
Description
No documentation available!
typedef struct {
exception_type_t (*memory_access)(conf_object_t *obj,
generic_transaction_t *mem_op);
void (*raise_interrupt)(conf_object_t *obj, conf_object_t *dev,
int pin);
void (*lower_interrupt)(conf_object_t *obj, conf_object_t *dev,
int pin);
int (*interrupt_acknowledge)(conf_object_t *obj);
int (*add_map)(conf_object_t *obj, conf_object_t *dev,
addr_space_t space, conf_object_t *target,
map_info_t info);
int (*remove_map)(conf_object_t *obj, conf_object_t *dev,
addr_space_t space, int function);
void (*set_bus_number)(conf_object_t *obj, int bus_id);
void (*set_sub_bus_number)(conf_object_t *obj, int bus_id);
void (*add_default)(conf_object_t *obj, conf_object_t *dev,
addr_space_t space, conf_object_t *target,
map_info_t info);
void (*remove_default)(conf_object_t *obj, addr_space_t space);
void (*bus_reset)(conf_object_t *obj);
void (*special_cycle)(conf_object_t *obj, uint32 value);
void (*system_error)(conf_object_t *obj);
int (*get_bus_address)(conf_object_t *obj, conf_object_t *dev);
void (*set_device_timing_model)(conf_object_t
conf_object_t
conf_object_t
// Only available since build 1318
void (*set_device_status)(conf_object_t *obj,
int enabled);
} pci_bus_interface_t;

2624

*obj,
*dev,
*timing_model);
int device, int function,

VIRTUTECH CONFIDENTIAL

pci_device
Implemented By
AM79C973, BCM5703C, BCM5704C, CL-PD6729, CY82C693_0, CY82C693_1, CY82C693_2,
DEC21041, DEC21140A, DEC21140A-dml, DEC21143, GT64120-pci, ISP1040, ISP2200,
MD1535D-ide, MD1535D-isa, MD1535D-power, PCI0646, SIO82378ZB, SYM53C810,
SYM53C875, cassini, cassini_sub, cheerio-e2bus, cheerio-hme, cpc700-pci, i21150, i21152,
i21554-prim, i21554-scnd, i21555-prim, i21555-scnd, i82443bx, i82443bx_agp, i82468GX_0,
piix4_ide, piix4_isa, piix4_power, piix4_usb, piix4_usb_dummy, ppc405gp-pci, ppc440gppci, ppc440gx-pci, ragexl, sample-pci-device, sbbc-pci, uPD66566S1016, vga_pci, voodoo3,
voodoo3-agp
Description
This interface is implemented by all PCI devices (including bridges).
typedef struct {
void (*bus_reset)(conf_object_t *obj);
/* Interrupt Acknowlege cycle */
int (*interrupt_acknowledge)(conf_object_t *obj);
/* Special Cycle */
void (*special_cycle)(conf_object_t *obj, uint32 value);
/* System Error */
void (*system_error)(conf_object_t *obj);
/* peer-to-peer interrupt mechanism */
void (*interrupt_raised)(conf_object_t *obj, int pin);
void (*interrupt_lowered)(conf_object_t *obj, int pin);
} pci_device_interface_t;

2625

VIRTUTECH CONFIDENTIAL

pci_express
Implemented By
pcie-switch
Description
This interface can be implemented by any PCI Express device, switch or endpoint. It
is also implemented by the pci-bus, which will pass it on to the other end; e.g. if the
endpoint sends a message, the pci-bus will pass it on to the bridge (downport), and if
the downport sends it, it will be broadcasted to all devices on the bus.
src is the object sending the object. type is one of:
typedef enum {
/* INTx emulation */
PCIE_Msg_Assert_INTA
PCIE_Msg_Assert_INTB
PCIE_Msg_Assert_INTC
PCIE_Msg_Assert_INTD
PCIE_Msg_Deassert_INTA
PCIE_Msg_Deassert_INTB
PCIE_Msg_Deassert_INTC
PCIE_Msg_Deassert_INTD

=
=
=
=
=
=
=
=

0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,

/* Power Management */
PCIE_PM_Active_State_Nak
PCIE_PM_PME
PCIE_PM_Turn_Off
PCIE_PM_PME_TO_Ack

=
=
=
=

0x14,
0x18,
0x19,
0x1B,

/* Error Messages */
PCIE_ERR_COR
PCIE_ERR_NONFATAL
PCIE_ERR_FATAL

= 0x30,
= 0x31,
= 0x33,

/* Locked Transaction */
PCIE_Locked_Transaction

= 0x00,

/* Slot Power Limit */


PCIE_Set_Slot_Power_Limit

= 0x90,

/* Hot Plug Messages */


PCIE_HP_Power_Indicator_On
PCIE_HP_Power_Indicator_Blink
PCIE_HP_Power_Indicator_Off
PCIE_HP_Attention_Button_Pressed
PCIE_HP_Attention_Indicator_On
PCIE_HP_Attention_Indicator_Blink
PCIE_HP_Attention_Indicator_Off
} pcie_message_type_t;

2626

=
=
=
=
=
=
=

0x45,
0x47,
0x44,
0x48,
0x41,
0x43,
0x40

VIRTUTECH CONFIDENTIAL
The contents of payload depends on type.
typedef struct {
int (*send_message)(conf_object_t *dst, conf_object_t *src,
pcie_message_type_t type, byte_string_t payload);
} pci_express_interface_t;

2627

VIRTUTECH CONFIDENTIAL

pci_interrupt
Implemented By
GT64120-pci, LX164-IRQ-PLD, MD1535D-isa, artesyn-pm-ppc, i82461GX, piix4_isa,
ppc405gp-pci, ppc405gp-uic, ppc440gp-pci, ppc440gp-uic, ppc440gx-pci, ppc440gxuic, uPD66566S1016, wire
Description
This interface should only be used when a device other than the bridge handles PCI
interrupts on the PCI bus. The initiating device is specified with a PCI device number,
and the pin represents PCI interrupt lines (A, B, C, or D) as numbers in the range of 0
to 3.
typedef struct {
void (*raise_interrupt)(conf_object_t *obj, conf_object_t *irq_obj,
int device, int pin);
void (*lower_interrupt)(conf_object_t *obj, conf_object_t *irq_obj,
int device, int pin);
} pci_interrupt_interface_t;

2628

VIRTUTECH CONFIDENTIAL

pin
Implemented By
x87_exception
Description
Interface to communicate the value of a pin.
Note: Obsoleted by the signal interface.
struct pin_interface {
void (*set)(conf_object_t *NOTNULL obj);
void (*clear)(conf_object_t *NOTNULL obj);
};
#define PIN_INTERFACE "pin"

2629

VIRTUTECH CONFIDENTIAL

port_space
Implemented By
port-space
Description
I/O port interface.
typedef struct port_space_interface {
exception_type_t (*port_operation)(conf_object_t *NOTNULL pspace_obj,
generic_transaction_t *NOTNULL mop,
map_info_t map_info);
/* functions introduced in build 1323 */
attr_value_t (*read)(conf_object_t *NOTNULL obj,
conf_object_t *initiator,
physical_address_t addr,
int length,
int inquiry);
exception_type_t (*write)(conf_object_t *NOTNULL obj,
conf_object_t *initiator,
physical_address_t addr,
attr_value_t data,
int inquiry);
} port_space_interface_t;
#define PORT_SPACE_INTERFACE "port_space"

2630

VIRTUTECH CONFIDENTIAL

ppc
Implemented By
ppc405gp, ppc440gp, ppc440gx, ppc603e, ppc7400, ppc7447, ppc7450, ppc7457, ppc750,
ppc750fx, ppc750gx, ppc970fx
Description
typedef struct {
void (*clear_atomic_reservation_bit)(conf_object_t *cpu);
void (*raise_machine_check_exception)(conf_object_t *cpu,
ppc_mc_exc_t exc);
void (*register_spr_user_handlers)(integer_t spr_number,
ppc_spr_user_getter_func_t getter,
lang_void *user_getter_data,
ppc_spr_user_setter_func_t setter,
lang_void *user_setter_data,
int privilege_checks);
void (*unregister_spr_user_handlers)(integer_t spr_number);
void (*spr_set_target_value)(conf_object_t *cpu, uinteger_t value);
void (*spr_stash_value)(conf_object_t *cpu, integer_t spr_number,
uinteger_t value);
uinteger_t (*spr_fetch_value)(conf_object_t *cpu,
integer_t spr_number);
ppc_spr_ret_t (*spr_default_getter)(conf_object_t *cpu,
integer_t spr_number,
ppc_spr_access_type_t type);
ppc_spr_ret_t (*spr_default_setter)(conf_object_t *cpu,
integer_t spr_number,
uinteger_t value,
ppc_spr_access_type_t type);
const char* (*spr_get_name)(integer_t spr_number);
integer_t (*spr_get_number)(const char *spr_name);
} ppc_interface_t;
#define PPC_INTERFACE "ppc"

The clear_atomic_reservation_bit() function clears the reservation bit which is set by


an lwarx instruction. Clearing the reservation will cause a following stwcx. instruction to fail. This function is typically used by a cache hierarchy supporting SMP.
The raise_machine_check_exception() function raises a machine check exception. The
exc argument is of the following type:
typedef enum {
Sim_PPC_Generic_MC,
Sim_PPC_MC_TEA,
Sim_PPC_MC_MCP,
Sim_PPC_Bus_Address_Parity,
Sim_PPC_Bus_Data_Parity,
Sim_PPC_Instruction_Cache_Parity,

2631

VIRTUTECH CONFIDENTIAL
Sim_PPC_Data_Cache_Parity,
Sim_PPC_L2_Data_Parity,
Sim_PPC_L3_Data_Parity,
Sim_PPC_L3_Address_Parity,
Sim_PPC970_Data_Cache_Parity,
Sim_PPC970_Data_Cache_Tag_Parity,
Sim_PPC970_D_ERAT_Parity,
Sim_PPC970_TLB_Parity,
Sim_PPC970_SLB_Parity,
Sim_PPC970_L2_Load_ECC_Parity,
Sim_PPC970_L2_Page_Table_ECC_Parity,
Sim_PPC970_Uncacheable_Load_Parity,
Sim_PPC970_MC_External
} ppc_mc_exc_t;

The register_spr_user_handlers function will register user implemented get and set
functions that will be called every time a read or write access is made to the SPR with
number spr. The getter and setter function is of the following type:
The type parameter in the get and set functions is one of the following, depending on
where from the access originated:
Both the get and the set functions must return one of these enum values:
If privilege_checks is not zero, Simics will do privilege checks when a mfspr/mtspr
instruction is executed. If this does not produce the desired results, you can register
the SPR handlers with privilege_checks set to zero, and do you own checks in your
handlers.
The functions unregister_spr_user_handlers will remove any registered user handlers
for a particular SPR.
The function spr_set_target_value should be called from the get function. The value
will be written to the target register for instruction accesses, and returned for attribute
and int register interface accesses. If this function is not called, the target register is
not changed for instruction accesses (and the mfspr thus acts as a nop).
The functions spr_stash_value and spr_fetch_value can be used to store a SPR value in
the processor. This is useful if only the getter (or only the setter) has been overridden
with a user handler.
Sometimes it may be desirable to let the processor take care of the access. The functions spr_default_getter and spr_default_setter exist for this purpose.
The function spr_get_name takes spr_number as parameter and returns the name of the
SPR.
The function spr_get_number takes the spr_name and returns the SPR number.
Note that the following registers cannot be overridden with user handlers: xer, lr and
ctr.

2632

VIRTUTECH CONFIDENTIAL

processor
Implemented By
alpha-ev5, armv5te, clock, ia64-itanium, ia64-itanium2, leon2, mips-4kc, mips-5kc,
msp430, ppc405gp, ppc440gp, ppc440gx, ppc603e, ppc7400, ppc7447, ppc7450, ppc7457,
ppc750, ppc750fx, ppc750gx, ppc970fx, ultrasparc-ii, ultrasparc-iii, ultrasparc-iii-i, ultrasparciii-plus, ultrasparc-iv, ultrasparc-iv-plus, ultrasparc-t1, x86-486sx, x86-hammer, x86p2, x86-p4
Description
Interface for accessing processor functionality.
typedef struct {
logical_address_t (*get_program_counter)(conf_object_t *NOTNULL cpu);
void (*set_program_counter)(conf_object_t *NOTNULL cpu,
logical_address_t pc);
int (*get_privilege_level)(conf_object_t *NOTNULL cpu);
tuple_int_string_t *(*disassemble)(conf_object_t *NOTNULL cpu,
generic_address_t address,
int type);
tuple_int_string_t (*disassemble_buf)(
conf_object_t *NOTNULL cpu, generic_address_t address,
byte_string_t opcode);
struct instr_info *(*instruction_info)(conf_object_t *NOTNULL cpu,
generic_address_t address,
int type);
void (*reset)(conf_object_t *NOTNULL cpu, int hard_reset);
processor_t *(*simcore)(processor_t *NOTNULL);
void (*pre_simcore)(processor_t *NOTNULL);
void (*post_simcore)(processor_t *NOTNULL);
processor_t *(*in_order_simcore)(processor_t *NOTNULL);
processor_t *(*step_queue_simcore)(processor_t *NOTNULL);
processor_t *(*mai_simcore)(processor_t *NOTNULL);
int (*dump_sr_stat)(const char *NOTNULL filename);
void (*print_instruction_queue)(conf_object_t *NOTNULL cpu,
int verbose);
void (*dbg_print_pistc)(conf_object_t *NOTNULL cpu, int table);
int (*stc_load)(conf_object_t *cpu, logical_address_t laddr,
uint8 *value, int size);
int (*stc_store)(conf_object_t *cpu, logical_address_t laddr,
uint8 *value, int size);
attr_value_t (*disassemble_range)(processor_t *NOTNULL cpu,
logical_address_t start,
int nlines, int back,
disass_flags_t flags);
} processor_interface_t;
#define PROCESSOR_INTERFACE "processor"

2633

VIRTUTECH CONFIDENTIAL
The functions correspond to the API functions SIM_get_program_counter, SIM_set_
program_counter, SIM_processor_privilege_level, and SIM_disassemble. See the documentation for those functions for more complete documentation.
The function instruction_info can take either a physical address (type = 0) or a logical
address (type = 1). It returns a filled instr_info_t structure. Only the SPARCv9
and the x86 architectures provides a list of register dependencies as an array of reg_
info_t.
struct instr_info {
instr_type_t

type;

logical_address_t return_pc;
int
int
const char

delay_slots;
length;
*name;

/* ORed representation of
instr_type_t */
/* (SPARC only) Return program counter
(defined iff It_Call is true) */
/* (SPARC only) Delay slots for instructio
(defined iff It_Return) */
/* Instruction length in bytes */
/* (SPARC and x86) instruction name */

instr_info_dep_t *dependencies;
};

typedef struct instr_info instr_info_t;


struct instr_info_dep {
int number_of_regs;
reg_info_t regs[MAX_REG_INFO_REGS];
};

typedef struct instr_info_dep instr_info_dep_t;


struct reg_info {
register_type_t type;
register_id_t id;
unsigned input:1;
unsigned output:1;
};

/*
/*
/*
/*

register type */
register id */
used as input */
used as output */

typedef struct reg_info reg_info_t;

SEE ALSO
SIM_get_program_counter, SIM_processor_privilege_level
Command List
add-memory-profiler
aprof-views
attach-branch-recorder
break-cr

add a memory profiler to the processor


manipulate list of selected address profiling views
attach a branch recorder to a processor
break on control register updates

2634

VIRTUTECH CONFIDENTIAL
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

set cycle breakpoint


set absolute cycle breakpoint
detach a branch recorder from a processor
switch processor off
disassemble instructions
go down N stack frames
switch processor on
change current stack frame
print information about the processor
set or get current mode for instruction fetching
perform an I/O read inquiry coming from the processor
perform an I/O write inquiry coming from the processor
list source and/or disassemble
list memory profilers connected to the processor
load binary (executable) file into memory
translate logical address to physical
address of line or function
print cpu registers
print hypervisor registers
print various statistics
print number of steps and cycles executed
print value of symbolic expression
perform a read inquiry coming from the processor
read a register
get the number of a processor register
remove a memory profiler from the processor
set the current context of a CPU
set the program counter
display stack trace
get started with instruction profiling
set time breakpoint
set absolute time breakpoint
deprecated sum a memory range
evaluate symbolic expression
trace control register updates
break on control register updates
trace control register updates
go up N stack frames
wait until reaching cycle
wait until reaching step
perform a write inquiry coming from the processor

2635

VIRTUTECH CONFIDENTIAL
write-reg
x

write to register
examine raw memory contents

Command Descriptions
<processor>.add-memory-profiler
Synopsis
<processor>.add-memory-profiler type [profiler]
Description
Add 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.

<processor>.aprof-views
Synopsis
<processor>.aprof-views [add] [remove] [view] [-clear]
Description
Manipulate the processor attribute aprof-views, which determines which address
profiler views are displayed alongside disassembled code.
The add and view arguments select an address profiler view to add to the list. Alternatively, the remove and view arguments specify an address profiler view to remove from
the list. view defaults to 0 if not specified.
If called with the -clear flag, remove all address profiler views from the list.
If called without arguments, print a detailed list of the currently selected address profiler views for the processor.

<processor>.attach-branch-recorder
Synopsis
<processor>.attach-branch-recorder branch_recorder
Description
Attach the branch recorder 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.
See Also
<processor>.detach-branch-recorder

<processor>.break-cr
2636

VIRTUTECH CONFIDENTIAL
Synopsis
<processor>.break-cr (register|-all|-list)
<processor>.unbreak-cr (register|-all|-list)
break-cr (register|-all|-list)
unbreak-cr (register|-all|-list)
Description
Enables and disables breaking simulation on 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 reg-name parameter specifies which control register should be traced. The available control registers depends on the simulated target.
Instead of a register name, the -all flag may be given. This will enable or disable
tracing of all control register.
See Also
trace-cr, <breakpoint>.break

<processor>.cycle-break
Alias
<processor>.cb
Synopsis
<processor>.cycle-break cycles
cycle-break [cpu-name] cycles
Description
Sets a breakpoint so that the CPU will stop after running cycles number of cycles from
the time the command was issued. If the CPU is not specified the selected frontend
processor will be used (see pselect).
To list all breakpoints set use the command list-breakpoints.
See Also
cycle-break-absolute, step-break, step-break-absolute, list-breakpoints

<processor>.cycle-break-absolute
Alias
<processor>.cba
Synopsis
<processor>.cycle-break-absolute cycles
cycle-break-absolute [cpu-name] cycles

2637

VIRTUTECH CONFIDENTIAL
Description
Set a breakpoint so that the selected CPU will stop after its cycle counter has reached
the cycles value. If the CPU is not specified the selected frontend processor will be
used (see pselect).
To list all breakpoints set use the command list-breakpoints.
See Also
cycle-break, step-break, step-break-absolute, list-breakpoints

<processor>.detach-branch-recorder
Synopsis
<processor>.detach-branch-recorder branch_recorder
Description
Detach the branch recorder branch_recorder from the processor.
See Also
<processor>.attach-branch-recorder

<processor>.disable
Synopsis
<processor>.disable
<processor>.enable
pdisable [(cpu-name|-all)]
penable [(cpu-name|-all)]
Description
Enables a processor. If no processor is specified, the current processor will be enabled.
If the flag -all is passed, all processors will be enabled.
pdisable takes processor as parameter. If no processor is given, it will list all enabled
processors. The method variant can also be used to disable a processor. A disabled
processor is simply stalled for an infinite amount of time. Make sure that you always
have at least one enabled processor.

<processor>.disassemble
Alias
<processor>.da
Synopsis
<processor>.disassemble [address] [count]
disassemble [cpu-name] [address] [count]

2638

VIRTUTECH CONFIDENTIAL
Description
Disassembles count instructions starting at address for processor cpu-name. If the processor is not given the current frontend processor will be used. The method variant
can also be used to 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.
This command will also include various profiling statistics for the address of each
instruction, one column for each profiler view listed in the processor attribute aprofviews. For descriptions of the columns, use the <processor>.aprof-views command.
See Also
x, disassemble-settings, <processor>.aprof-views

<processor>.down
Synopsis
<processor>.down [N]
Description
Moves N frames down the stack (towards the innermost frame). N defaults to one.
See Also
frame, up, stack-trace

<processor>.enable
Synopsis
<processor>.enable
<processor>.disable
pdisable [(cpu-name|-all)]
penable [(cpu-name|-all)]
Description
Enables a processor. If no processor is specified, the current processor will be enabled.
If the flag -all is passed, all processors will be enabled.
pdisable takes processor as parameter. If no processor is given, it will list all enabled
processors. The method variant can also be used to disable a processor. A disabled
processor is simply stalled for an infinite amount of time. Make sure that you always
have at least one enabled processor.

<processor>.frame
2639

VIRTUTECH CONFIDENTIAL
Alias
<processor>.f
Synopsis
<processor>.frame [frame-number]
Description
Changes current stack frame to frame-number, or displays the current frame.
See Also
stack-trace, psym, up, down

<processor>.info
Synopsis
<processor>.info
Description
Print detailed information about the configuration of the processor.

<processor>.instruction-fetch-mode
Alias
<processor>.ifm
Synopsis
<processor>.instruction-fetch-mode [mode]
instruction-fetch-mode [mode]
Description
This command selects how instruction fetches are sent for the memory hierarchy during simulation. If set to no-instruction-fetch, the memory hierarchy wont receive any
instruction fetch. If set to instruction-cache-access-trace, the memory hierarchy will receive one (and only 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 on x86 target, instruction-cache-trace-access is not available. On some other,
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 will print out
the current mode.

<processor>.io-read
Synopsis
<processor>.io-read address size
Description
Perform an I/O read inquiry coming from the processor. Size must be 1,2,4 or 8.
2640

VIRTUTECH CONFIDENTIAL

<processor>.io-write
Synopsis
<processor>.io-write address value size
Description
Perform an I/O write inquiry coming from the processor. Size must be 1,2,4 or 8.

<processor>.list
Synopsis
<processor>.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 given line
function or file:function --- list that function
address --- list from that address
At most maxlines lines of source or asm are printed. -s produces source intermixed
with disassembly, and -d only disassembles.
See Also
disassemble, whereis, pos, symval

<processor>.list-memory-profilers
Synopsis
<processor>.list-memory-profilers
Description
List all memory profilers connected to the processor, and what kind of data they are
collecting.

<processor>.load-binary
Synopsis
<processor>.load-binary filename [offset] [-v] [-pa]
<memory-space>.load-binary filename [offset] [-v] [-pa]
load-binary filename [offset] [-v] [-pa] [-l]
Description
Load a binary (executable) file into the given physical or virtual memory space. The
supported formats are ELF, Motorola S-Record, PE32 and PE32+. If an offset is supplied, it will be added to the load address taked from the file.
2641

VIRTUTECH CONFIDENTIAL
By default the virtual load address from the file is used, but the physical address can
be used instead by specifying the -pa flag.
The -v flag turns on verbose mode, printing information about the loaded file.
When used as a global command, it will use the currently selected processor to find
the memory space to load the binary into. If the -l flag is given, it will load it into the
virtual memory space, otherwise it will use the physical memory space.
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.
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 Simicss Search Path and path markers (%simics%, %script%) to find
the file to load. Refer to Simics User Guide (CLI chapter) for more information on how
Simicss Search Path is used to locate files.
See Also
add-directory

<processor>.logical-to-physical
Alias
<processor>.l2p
Synopsis
<processor>.logical-to-physical address
logical-to-physical [cpu-name] address
Description
Translate the given logical address to a physical one. The operation is performed as
read from processor cpu-name. On x86 a logical address can be given on the form
<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 occur, i.e. if the translation is not in the TLB. The method variant of this command
can also be used.

<processor>.pos
Synopsis
<processor>.pos (line|function)
Description
Finds the address of a source line or a function in a given file (e.g., myfile.c:4711
or myfile.c:myfunction). If only a line number is specified, the command looks
2642

VIRTUTECH CONFIDENTIAL
at the current value of the program counter to determine the current file. (If this command is called from the symtable namespace, no current file is defined.) It may be
necessary to put the argument inside double quotes for it to be parsed correctly.
See Also
stack-trace, psym, symval

<processor>.pregs
Synopsis
<processor>.pregs [-all]
pregs [cpu-name] [-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.

<processor>.pregs-hyper
Synopsis
<processor>.pregs-hyper [-all]
pregs-hyper [cpu-name] [-all]
Description
Prints the UltraSPARC T1 specific hypervisor registers for cpu cpu-name. -all will provide a complete listing. If no CPU is specified, the currently selected frontend processor will be used.
See Also
pregs, pregs-all

<processor>.print-statistics
Synopsis
<processor>.print-statistics
print-statistics [(cpu-name|-all)]
Description
Prints various statistics from the simulation. The print-statistics command prints
statistics for the currently selected CPU if no argument is given and for all CPUs if the
-all flag given. Any statistics that have been compiled into the simulator are printed,
as well as user-defined per-mode counters.

<processor>.print-time
2643

VIRTUTECH CONFIDENTIAL
Alias
<processor>.ptime
Synopsis
<processor>.print-time [-s] [-c]
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 a processor namespace (e.g., cpu0.print-time), the time for that processor is printed. Otherwise, the time for the current processor is printed, or, if the -all
flag is given, the time for all processors.
if the -c flag used, the cycle count for the processor is returned and nothing is printed.
The -s flag is similar and returns the step count.
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.

<processor>.psym
Synopsis
<processor>.psym expression
Description
Evaluates expression in the current stack frame, and prints the result in a humanreadable form. The only C operators allowed are casts, indirection, member selection,
and sizeof (thus no arithmetic). You may need to surround the expression by double
quotes if it contains certain meta-characters.
See Also
stack-trace, frame, symval

<processor>.read
Synopsis
<processor>.read address size
Description
Perform a read inquiry coming from the processor. Size must be 1,2,4 or 8. On processors that request it, the address must be aligned to the size.

<processor>.read-reg
Synopsis
<processor>.read-reg reg-name
read-reg [cpu-name] reg-name
2644

VIRTUTECH CONFIDENTIAL
Description
This command reads a CPU register. For example, to read the eax register in an x86
processor called cpu0, write read-reg cpu0 eax. You can also use the method variant:
cpu0.read-reg eax, or the more convenient variant %eax that reads a register from the
selected frontend CPU.
If no cpu-name is supplied, the current frontend processor is used.
See Also
%, write-reg, pregs, pselect

<processor>.register-number
Synopsis
<processor>.register-number reg-name
Description
Returns the register number for a named processor register. The register number is
used as hap indexing for example.
See Also
%, read-reg

<processor>.remove-memory-profiler
Synopsis
<processor>.remove-memory-profiler type
Description
Remove any memory profiler of the specified type (read or write) currently attached to the processor.

<processor>.set-context
Synopsis
<processor>.set-context context
set-context context
Description
Sets the current context of the processor cpu (or the selected cpu) to context. If the
context does not exist, it is created.
See Also
new-context, <context>.symtable

<processor>.set-pc
2645

VIRTUTECH CONFIDENTIAL
Synopsis
<processor>.set-pc address
set-pc address
Description
Set program counter (instruction pointer) of the CPU (defaults to the current frontend
processor) to address.

<processor>.stack-trace
Alias
<processor>.bt, <processor>.where
Synopsis
<processor>.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.
See Also
frame

<processor>.start-instruction-profiling
Synopsis
<processor>.start-instruction-profiling
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).
See Also
new-branch-recorder, <processor>.attach-branch-recorder, <address_profiler>.addressprofile-data
2646

VIRTUTECH CONFIDENTIAL

<processor>.step-break
Alias
<processor>.sb, <processor>.sim-break
Synopsis
<processor>.step-break instructions
step-break [cpu-name] instructions
Description
Sets a breakpoint so that the CPU will stop after executing instructions number of steps
from the time the command was issued. If the CPU is not specified the selected frontend processor will be used (see pselect).
To list all breakpoints set use the command list-breakpoints.
See Also
step-break-absolute, cycle-break, cycle-break-absolute, list-breakpoints

<processor>.step-break-absolute
Alias
<processor>.sba, <processor>.sim-break-absolute
Synopsis
<processor>.step-break-absolute instructions
step-break-absolute [cpu-name] instructions
Description
Set a breakpoint so that the selected CPU will stop after its step counter has reached
the instructions value. If the CPU is not specified the selected frontend processor will
be used (see pselect).
To list all breakpoints set use the command list-breakpoints.
See Also
step-break-absolute, cycle-break, cycle-break-absolute, list-breakpoints

<processor>.sum deprecated
Synopsis
<processor>.sum address size [-w8] [-w16] [-w32]
sum [cpu-name] address size [-w8] [-w16] [-w32]
Description
This command is deprecated, use python instead.
Sum a memory range. The width of the running sum is specified with the -w8 (default), -w16, or -w32 flag, standing for 8, 16, and 32 bits respectively.

2647

VIRTUTECH CONFIDENTIAL

<processor>.symval
Alias
<processor>.sym
Synopsis
<processor>.symval expression
Description
Evaluates expression in the current stack frame. The only C operators allowed are
casts, indirection, member selection, and sizeof (thus no arithmetic). You may need
to surround the expression by double quotes if it contains certain meta-characters. In
contrast to psym, the result is returned as an unadorned value that can be used in CLI
expressions.
See Also
stack-trace, frame, psym

<processor>.trace-cr
Synopsis
<processor>.trace-cr (register|-all|-list)
<processor>.untrace-cr (register|-all|-list)
trace-cr (register|-all|-list)
untrace-cr (register|-all|-list)
Description
Enables and disables 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 reg-name parameter specifies which control register should be traced. The available control registers depends on the simulated target.
Instead of a register name, the -all flag may be given. This will enable or disable
tracing of all control register.
See Also
break-cr

<processor>.unbreak-cr
Synopsis
<processor>.unbreak-cr (register|-all|-list)
<processor>.break-cr (register|-all|-list)
break-cr (register|-all|-list)
unbreak-cr (register|-all|-list)
2648

VIRTUTECH CONFIDENTIAL
Description
Enables and disables breaking simulation on 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 reg-name parameter specifies which control register should be traced. The available control registers depends on the simulated target.
Instead of a register name, the -all flag may be given. This will enable or disable
tracing of all control register.
See Also
trace-cr, <breakpoint>.break

<processor>.untrace-cr
Synopsis
<processor>.untrace-cr (register|-all|-list)
<processor>.trace-cr (register|-all|-list)
trace-cr (register|-all|-list)
untrace-cr (register|-all|-list)
Description
Enables and disables 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 reg-name parameter specifies which control register should be traced. The available control registers depends on the simulated target.
Instead of a register name, the -all flag may be given. This will enable or disable
tracing of all control register.
See Also
break-cr

<processor>.up
Synopsis
<processor>.up [N]
Description
Moves N frames up the stack (towards the outermost frame). N defaults to one.
See Also
frame, down, stack-trace

2649

VIRTUTECH CONFIDENTIAL

<processor>.wait-for-cycle
Synopsis
<processor>.wait-for-cycle cycle
Description
Postpones execution of a script branch until the processor reaches the specified cycle
in the simulation.
See Also
script-branch, wait-for-variable, wait-for-hap, <text-console>.wait-for-string, <processor>.waitfor-step

<processor>.wait-for-step
Synopsis
<processor>.wait-for-step step
Description
Postpones execution of a script branch until the processor reaches the specified step in
the simulation.
See Also
script-branch, wait-for-variable, wait-for-hap, <text-console>.wait-for-string, <processor>.waitfor-cycle

<processor>.write
Synopsis
<processor>.write address value size
Description
Perform a write inquiry coming from the processor. Size must be 1,2,4 or 8. On processors that request it, the address must be aligned to the size.

<processor>.write-reg
Synopsis
<processor>.write-reg reg-name value
write-reg [cpu-name] reg-name value
Description
Use this command to set the value of a CPU register. For example, to set the eax
register on the x86 processor cpu0 to 3, write write-reg cpu0 eax 3. You can also use
the method variant: cpu0.write-reg eax 3.
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.
2650

VIRTUTECH CONFIDENTIAL
See Also
%, read-reg, pregs, pselect

<processor>.x
Synopsis
<processor>.x address [size]
<memory-space>.x address [size]
x [cpu-name] address [size]
Description
Display the contents of a memory space starting at address. Either the memory space
is explicitly specified as in <memory-space>.x or the CPU connected to the memory space can be specified; e.g., <processor>.x. By itself, x operates on the memory
connected to the current frontend processor.
If the memory is accessed via a CPU, 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 it will be interpreted as a virtual address. On x86 the default is
ds:address (data segment addressing).
The size argument specifies the number of bytes to examine. When examining virtual
memory, only addresses which can be found in the TLB or hardware page tables (if
any) are shown. Unmapped addresses are shown as --, undefined physical addresses as **.
See Also
disassemble, get, set

2651

VIRTUTECH CONFIDENTIAL

ram
Implemented By
persistent-ram, ram
Description
The ram interface is implemented by classes that provide random access read/write
memory. The rom interface is identical to ram but provides read only memory (writes
are dropped by the memory system).
Both the ram and rom interfaces are Simics internal, and should not be used by userdefined classes.
The phys_to_real_p function returns the page associated with the given address. get_
page does the same thing but also returns the corresponding tag page in tags_ret.
typedef struct ram_interface {
page_t *(*phys_to_real_p)(conf_object_t *obj, physical_address_t addr);
page_t *(*get_page)(conf_object_t *obj, physical_address_t addr,
page_t **tags_ret, unsigned *tag_ofs_ret);
} ram_interface_t;
#define RAM_INTERFACE "ram"

2652

VIRTUTECH CONFIDENTIAL

rom
Implemented By
rom
Description
The ram interface is implemented by classes that provide random access read/write
memory. The rom interface is identical to ram but provides read only memory (writes
are dropped by the memory system).
Both the ram and rom interfaces are Simics internal, and should not be used by userdefined classes.
The phys_to_real_p function returns the page associated with the given address. get_
page does the same thing but also returns the corresponding tag page in tags_ret.
typedef struct ram_interface {
page_t *(*phys_to_real_p)(conf_object_t *obj, physical_address_t addr);
page_t *(*get_page)(conf_object_t *obj, physical_address_t addr,
page_t **tags_ret, unsigned *tag_ofs_ret);
} ram_interface_t;
#define ROM_INTERFACE "rom"

2653

VIRTUTECH CONFIDENTIAL

rs232_device
Implemented By
NS16450, NS16550
Description
Currently Simics internal.
typedef struct {
/* Flow control lines */
void (*cts)(conf_object_t *obj, int status);
void (*dsr)(conf_object_t *obj, int status);
/* Ring indicator */
void (*ring)(conf_object_t *obj, int status);
/* Carrier detect */
void (*carrier)(conf_object_t *obj, int status);
/* Break */
void (*got_break)(conf_object_t *obj);
/* Frame error */
void (*got_frame_error)(conf_object_t *obj);
} rs232_device_interface_t;
#define RS232_DEVICE_INTERFACE "rs232-device"

2654

VIRTUTECH CONFIDENTIAL

serial_device
Implemented By
NS16450, NS16550, SA1110-device, Z8530-port, leon2_uart, serengeti-console, serengeticonsole-old, server-console, sun-keyboard, sun-mouse, telos-usart, text-console
Description
Interface used to connect serial devices together. It is typically implemented by both
devices and text consoles. A character (byte) is sent with the write() function where
obj is the destination device and the value argument is either a data byte, or the out-ofband value TTY_ABORT.
The called device will return the number of characters accepted; i.e. 1 on success and
0 if it could not handle the new byte. If the receiver returns 0, it must later call receive_
ready() in the senders interface to signal that new bytes can be accepted. A serial
device should handle the case where the receive_ready() function is called although it
has no more bytes to send.
#define TTY_ABORT

0x100

typedef struct {
int (*write)(conf_object_t *obj, int value);
void (*receive_ready)(conf_object_t *obj);
} serial_device_interface_t;
#define SERIAL_DEVICE_INTERFACE "serial-device"

2655

VIRTUTECH CONFIDENTIAL

serial_link
Implemented By
serial-link
Description

2656

VIRTUTECH CONFIDENTIAL

signal
Implemented By
NS16450, NS16550, eth-transceiver, i2c-bus, i8254, mii-management-bus, mii-transceiver,
ppc405gp, ppc405gp-emac, ppc405gp-iic, ppc405gp-mal, ppc405gp-uic, ppc440gp, ppc440gpdma, ppc440gp-ebc, ppc440gp-emac, ppc440gp-iic, ppc440gp-mal, ppc440gp-plb, ppc440gpuic, ppc440gx, ppc440gx-dma, ppc440gx-ebc, ppc440gx-emac, ppc440gx-iic, ppc440gxmal, ppc440gx-opb, ppc440gx-plb, ppc440gx-uic, ppc603e, ppc7400, ppc7447, ppc7450,
ppc7457, ppc750, ppc750fx, ppc750gx, ppc970fx, signal-bus
Description
Interface to model a signal, such as a reset or interrupt.
The signal initiator should call signal_raise() to raise the signal level to its active level.
Signals are always active high in Simics. Once raised, the same initiator may not call
signal_raise() again without an intervening call to signal_lower().
The implementer must increment a level counter on every signal_raise() call, and
decrement it on signal_lower(). The signal can not be treated as lowered until the
counter reaches zero again. This allows multiple sources of the signal.
The signal target should handle the case where a signal is lowered directly when after
it has been raised and treat it as a valid pulse. The target should also allow the signal
to remain raised for some time before it is lowered.
An object that does lookup of the signal interface in another object should have
an attribute that can be set in the configuration to the target object. This attribute
should either be of the Sim_Val_Object kind, or a list with two entries, one Sim_
Val_Object and one Sim_Val_String. If the object only format is used in the
configuration, the interface should be looked up using SIM_get_interface(), and if the
list format it used the interface should be obtained with SIM_get_port_interface().
A class that wishes to implement several signal inputs should use named interfaces.
Note: The signal interface should be used instead of the simple-interrupt, pin and
reset interfaces when writing new classes.
struct signal_interface {
void (*signal_raise)(conf_object_t *NOTNULL obj);
void (*signal_lower)(conf_object_t *NOTNULL obj);
};
#define SIGNAL_INTERFACE "signal"

2657

VIRTUTECH CONFIDENTIAL

simple_interrupt
Implemented By
CL-PD6729, CY82C693_1, ISA, PCI0646, alpha-ev5, armv5te, cpc700-uic, fiesta-tomatillo,
fourport, i82468GX_0, i8259x2, ia64-itanium, ia64-itanium2, leon2, leon2_irq, mips4kc, mips-5kc, msp430, ppc405gp, ppc405gp-uic, ppc440gp, ppc440gp-uic, ppc440gx,
ppc440gx-uic, ppc603e, ppc7400, ppc7447, ppc7450, ppc7457, ppc750, ppc750fx, ppc750gx,
ppc970fx, sun4u-fhc, sunfire-psycho, sunfire-sysio, telos-sfr, telos-usart, wire
Description
A device calls interrupt() to logically raise an interrupt and interrupt_clear() to lower
an interrupt.
The first argument is the object to interrupt, usually a cpu. The integer argument
to both functions may indicate an interrupt level or interrupt pin depending on the
receiving device.
On ARM the integer argument indicates whether the interrupt is normal or fast, by
being either ARM_INT_IRQ or ARM_INT_FIQ defined by the ARM API (by including
<simics/arch/arm.h>).
Note: Obsoleted by the signal interface.
typedef void (*device_interrupt_t)(conf_object_t *, int);
typedef void (*device_interrupt_clear_t)
(conf_object_t *, int);
typedef struct {
device_interrupt_t interrupt;
device_interrupt_clear_t interrupt_clear;
} simple_interrupt_interface_t;
#define SIMPLE_INTERRUPT_INTERFACE "simple-interrupt"

2658

VIRTUTECH CONFIDENTIAL

snoop_memory
Implemented By
pci-bus, pcie-switch, state-assertion, trace-mem-hier
Description
This interface is described with the timing-model interface.

2659

VIRTUTECH CONFIDENTIAL

sparc_interrupt
Implemented By
ultrasparc-ii, ultrasparc-iii, ultrasparc-iii-i, ultrasparc-iii-plus, ultrasparc-iv, ultrasparciv-plus, ultrasparc-t1
Description
Interrupt a Sparc Processor.
This interface is implemented by sparc processors to be able to receive interrupts or
asynchronous traps. The arguments to the interrupt_cpu the cpu to interrupt (cpu),
a pointer to the sending object (obj), the mid of the sending object (source_mid), the
mid of the target object (target_mid), and a callback function that will be called when
it is determined if the CPU can receive the interrupt (irq_ack_cb). There is also a data
pointer (data), pointing to an array of 64-bit integers, and a user pointer (callback_data)
that is returned by the ack callback to the caller. In the callback, the result is returned
as the argument ack, which is either 0 for ACK or 1 for NACK.
The trap_cpu function can be used for disrupting and deferred traps. The trap will
be inserted after the current executing instruction. If Simics is run in out of order
execution mode, the trap will occur when all instructions in the reorder buffer have
completed.
Precise traps can be injected by instructions accessing memory. This is done by setting
the exception field of a generic_transaction_t in the operate function of a timing
model interface. It is thus necessary to create a timing model object to be able to inject
precise traps.
typedef void (*interrupt_ack_t)(conf_object_t *obj,
conf_object_t *cpu,
int cpu_mid,
int ack,
lang_void *usr);
typedef void (*interrupt_cpu_t)(conf_object_t *cpu,
conf_object_t *obj,
int source_mid,
int target_mid,
interrupt_ack_t irq_ack_cb,
uint64 *data,
lang_void *usr,
int dummy1, int dummy2);
typedef void (*trap_cpu_t)(conf_object_t *cpu,
exception_type_t trap_vector);
typedef struct sparc_interrupt_interface {
interrupt_cpu_t interrupt_cpu;
trap_cpu_t trap_cpu;
} sparc_interrupt_interface_t;

2660

VIRTUTECH CONFIDENTIAL

#define SPARC_INTERRUPT_INTERFACE "sparc-interrupt"

2661

VIRTUTECH CONFIDENTIAL

sparc_irq_bus
Implemented By
sparc-irq-bus
Description
Handle interrupts over a bus.
This interface is implemented by bus devices that are used to send interrupts between
SPARC processors, and between devices and processors.
typedef int (*set_bus_id_t)(conf_object_t *obj, conf_object_t *src, int id);
typedef void (*interrupt_by_id_t)(conf_object_t *obj,
conf_object_t *src,
int src_id,
int dst_id,
interrupt_ack_t interrupt_ack,
uint64 *data,
lang_void *usr,
int dummy0,
int dummy1);
typedef conf_object_t *(*get_object_by_id_t)(conf_object_t *obj, int id);
typedef void (*reset_all_t)(conf_object_t *obj, int reset_type);
typedef struct sparc_irq_bus_interface {
set_bus_id_t set_bus_id;
interrupt_by_id_t interrupt_by_id;
get_object_by_id_t get_object_by_id;
reset_all_t reset_all;
} sparc_irq_bus_interface_t;
#define SPARC_IRQ_BUS_INTERFACE "sparc-irq-bus"

2662

VIRTUTECH CONFIDENTIAL

sparc_u3
Implemented By
ultrasparc-iii, ultrasparc-iii-i, ultrasparc-iii-plus, ultrasparc-iv, ultrasparc-iv-plus
Description
This interface contains UltraSPARC III specific functions. Currently, the only one is the
cause_error function, which is used to cause errors. Its arguments are the following:
obj is the CPU to which the error should be reported.
afsr_status_bit is the number of the bit in the Asynchronous Fault Status Register that
this error sets, or 1 if none. Valid values are 33 through 53.
trap is the trap that should be taken (if enabled; see below), or 1 if none. Valid values are Instruction_Access_Error, Data_Access_Error, Corrected_ECC_
Error, and Fast_ECC_Error.
estate_error_enable_bit is the number of the bit in the E-cache Error Enable Register
(ESTATE_ERROR_EN) that controls whether the trap in the trap argument should be
taken (unless it is 1), or 1 if none.
m_synd_priority is the priority level of the MTag ECC syndrome data supplied in the
m_synd argument, or 0 if none. Valid values are 0, 1, and 2.
m_synd is the 4-bit MTags ECC syndrome data, or 0 if none.
e_synd_priority is the priority level of the system bus and E-cache ECC syndrome data
supplied in the e_synd argument, or 0 if none. Valid values are 0, 1, and 2.
e_synd is the 9-bit system bus and E-cache ECC syndrome data, or 0 if none.
afar_priority is the priority level of the afar argument, or 0 if none. Valid values are 0
through 4.
afar should contain the address that will be written to the Asynchronous Fault Address
Register (AFAR), given that the afar_priority is high enough.
set_priv should be non-zero if the AFSR.PRIV bit should be set if the PSTATE.PRIV
bit is set at the time of the error.
set_me should be non-zero if the AFSR.ME bit should be set if the AFSR bit indicated
by the afsr_status_bit argument already was set.
typedef void (*sparc_u3_error_t)(conf_object_t *obj,
int afsr_status_bit,
exception_type_t trap,
int estate_error_enable_bit,
int m_synd_priority,
unsigned m_synd,
int e_synd_priority,
unsigned e_synd,
int afar_priority,
uint64 afar,
int set_priv,

2663

VIRTUTECH CONFIDENTIAL
int set_me);
typedef struct sparc_u3_interface {
sparc_u3_error_t cause_error;
} sparc_u3_interface_t;
#define SPARC_U3_INTERFACE "sparc-u3"

2664

VIRTUTECH CONFIDENTIAL

sparc_v9
Implemented By
ultrasparc-ii, ultrasparc-iii, ultrasparc-iii-i, ultrasparc-iii-plus, ultrasparc-iv, ultrasparciv-plus, ultrasparc-t1
Description
SPARC V9 specific functions.
This interface is implemented by SPARC V9 processors to provide various functionality that is specific for this class of processors.
The install_default_class_asi_handler installs a function, handler, that is called each
time an address is accessed in the asi address space a processor of the same class
that cpu belongs to. This function will override the Simics default handling of the
selected ASI. The install_user_class_asi_handler is similar, but is called before the default handler. If this function returns Sim_PE_Default_Semantics the default handler
will be called. A return of Sim_PE_No_Exception will override the default handler.
The function can also return Sim_PE_Ignore_Semantics, this will tell Simics not to update the destination register on loads.
The function access_asi_handler allows user access to a specific ASI. In no handler
is installed, or the ASI is a memory ASI, Data_Access_Exception will be returned.
The real_address pointer in the memory_transaction struct should point to an aligned
buffer with big-endian data.
Note that installing and accessing ASI handlers using this interface is only supported
for non-memory ASIs.
The get_asi_info function is used to query Simics about the characteristics of a specified ASI. For example if the ASI is translating, refers to a block access, etc. All available
queries/characteristics are listed in the asi_info_t enum. Several characteristics
can be checked at once and the function will return a mask of matching ones.
The read_window_register and write_window_register functions can be used to access registers in any register window. Similarly the read_global_register and write_
global_register functions provide access to all global registers. The globals argument
is used to select the set of global registers to read from. The mapping between global
set and set number can be found in the global_set_name attribute in the processor class.
The register number when accessing windowed registers is 0 - 7 for accesses to the
current global registers, 8 - 15 for the out registers of the selected window, 16 - 23 for
the local registers, and 24 - 32 for the in registers.
There are several functions that can be used to read and write floating point register
values. The _i versions use single-precision (32bit) with integer representation, the
_s versions use single-precision float representation, _x versions use double-precision
(64 bit) integer representation, and the _d versions use double-precision and double
float representation. Single-precision registers are numbered 0, 1 to 31 and doubleprecision 0, 2, 62.
2665

VIRTUTECH CONFIDENTIAL
typedef struct sparc_v9_interface {
void (*install_default_class_asi_handler)(
conf_object_t *cpu,
exception_type_t (*handler)(conf_object_t *,
generic_transaction_t
int asi);
void (*install_user_class_asi_handler)(
conf_object_t *cpu,
exception_type_t (*handler)(conf_object_t *,
generic_transaction_t
int asi);
void (*remove_default_class_asi_handler)(
conf_object_t *cpu,
exception_type_t (*handler)(conf_object_t *,
generic_transaction_t
int asi);
void (*remove_user_class_asi_handler)(
conf_object_t *cpu,
exception_type_t (*handler)(conf_object_t *,
generic_transaction_t
int asi);

*),

*),

*),

*),

exception_type_t (*access_asi_handler)(conf_object_t *cpu,


v9_memory_transaction_t *mem_op);
int (*get_asi_info)(conf_object_t *cpu, int asi, asi_info_t info);
uinteger_t (*read_window_register)(conf_object_t *cpu,
int window, int reg);
void (*write_window_register)(conf_object_t *cpu,
int window, int reg,
uinteger_t value);
uinteger_t (*read_global_register)(conf_object_t *cpu,
int globals, int reg);
void (*write_global_register)(conf_object_t *cpu,
int globals, int reg,
uinteger_t value);
uint32 (*read_fp_register_i)(conf_object_t *cpu, int
uint64 (*read_fp_register_x)(conf_object_t *cpu, int
float
(*read_fp_register_s)(conf_object_t *cpu, int
double (*read_fp_register_d)(conf_object_t *cpu, int
void
(*write_fp_register_i)(conf_object_t *cpu,
int reg, uint32 value);
void
(*write_fp_register_x)(conf_object_t *cpu,
int reg, uint64 value);
void
(*write_fp_register_s)(conf_object_t *cpu,

2666

reg);
reg);
reg);
reg);

VIRTUTECH CONFIDENTIAL

void

int reg, float value);


(*write_fp_register_d)(conf_object_t *cpu,
int reg, double value);

/* obsolete installers */
void (*install_default_asi_handler)(
exception_type_t (*handler)(conf_object_t *,
generic_transaction_t
int asi);
void (*install_user_asi_handler)(
exception_type_t (*handler)(conf_object_t *,
generic_transaction_t
int asi);
void (*remove_default_asi_handler)(
exception_type_t (*handler)(conf_object_t *,
generic_transaction_t
int asi);
void (*remove_user_asi_handler)(
exception_type_t (*handler)(conf_object_t *,
generic_transaction_t
int asi);
} sparc_v9_interface_t;

*),

*),

*),

*),

#define SPARC_V9_INTERFACE "sparc-v9"

Command List
list-asis
List all ASIs
pregs-fpu print the floating point registers

Command Descriptions
<sparc_v9>.list-asis
Synopsis
<sparc_v9>.list-asis [asi]
Description
Print a list of all ASIs for the currently selected frontend processor.

<sparc_v9>.pregs-fpu
Synopsis
<sparc_v9>.pregs-fpu [-s] [-d] [-q] [-f] [-x] [-i] [-b]
Description
Prints the contents of the floating point registers.
This command can take one subregister size flag and one formatting flag.
The subregister size is selected using the either the -s flag (32-bit single precision), the
2667

VIRTUTECH CONFIDENTIAL
-d flag (64-bit double precision), or the -q flag (128-bit quad precision).
The formatting flags -f, -x, and -i select the formatting of the output. The -f flag prints
the floating-point values of the registers. The -x flag prints the contents of the registers
as hexadecimal integers. The -i flag prints the contents of the registers as decimal
integers. With the -b flag, the registers are printed in binary floating point form.

2668

VIRTUTECH CONFIDENTIAL

symtable
Implemented By
symtable
Description
This is a collection of API calls for the symtable module, providing symbolic debugging support of the target machine.
typedef struct symtable_interface {
attr_value_t (*eval_sym)(processor_t *cpu,
const char *expr,
attr_value_t *frame,
const char *format);
Evaluates the symbolic expression expr in the given stack frame on the specified cpu.
The result is the list (value, type) where value depends on the format, and type is a string
describing the type of the result. If format is v, then value is the value of the result
as a string or integer; otherwise it is a human-readable string representation of the
result. The only operators allowed in expr are casts, indirection and member selection
(no arithmetic).
attr_value_t (*stack_trace)(processor_t *cpu,
int maxframes);
Does a stack trace in the current context of the specified cpu, and returns a list of stack
frames (at most maxframes). Each stack frame is in turn a list of state variables, suitable
for passing to eval_sym above, but has no defined structure other than that the first
element is the program counter. This program counter points to the next instruction
to be executed in respective frame.
attr_value_t (*fun_args)(processor_t *cpu,
attr_value_t *frame);
Given a stack frame, returns a list of the formal and actual parameters to the function
where that frame is currently executing. Each element of the returned list is a list on
the form (name, value).
attr_value_t (*source_profile)(conf_object_t *symtable,
conf_object_t *profile);
Find the corresponding source lines for profile values and return a list on the form
((source-file, (line, value) . . . ) . . . ).
} symtable_interface_t;

2669

VIRTUTECH CONFIDENTIAL

timing_model
Implemented By
consistency-controller, g-cache, g-cache-ooo, id-splitter, pci-bus, pcie-switch, perfanalyze, sample-memhier, state-assertion, trace-mem-hier, trans-sorter, trans-splitter,
trans-splitter-ooo, trans-staller
Description
The timing-model interface is used to communicate stall times for memory accesses.
It is typically exported by cache models. The operate() function is then called on every
memory access that misses in the STC, and the return value from the call is the number
of cycles to stall.
The snoop-memory interface has the exact same layout as the timing-model interface, but its operate() function is called after the memory access has been performed.
The return value from the operate() function of a snoop-memory interface is ignored.
See the Creating a Timing Model chapter in the Simics User Guide for more information
on how to use these interfaces.
typedef cycles_t (*operate_func_t)(conf_object_t *NOTNULL mem_hier,
conf_object_t *NOTNULL space,
map_list_t *NOTNULL map_list,
generic_transaction_t *NOTNULL mem_op);
typedef struct timing_model_interface {
operate_func_t operate;
} timing_model_interface_t;
typedef struct snoop_memory_interface {
operate_func_t operate;
} snoop_memory_interface_t;
#define TIMING_MODEL_INTERFACE "timing_model"
#define SNOOP_MEMORY_INTERFACE "snoop_memory"

2670

VIRTUTECH CONFIDENTIAL

tracker
Implemented By
cpu-mode-tracker, linux-process-tracker, ppc32-linux-process-tracker, ppc64-linux-processtracker, x86-linux-process-tracker
Description

Note: This interface is not supported, and may change in the future.
Interface for trackers. This is a generic interface implemented by all trackers, regardless of what it is that they track.
Typically, the things being tracked (the trackees) are processes. The tracker keeps track
of what trackee is active on what processor; this is useful when one wants to observe
one specific trackee and disregard the others. Trackees are identified by a unique
integer called a tid (Trackee ID).
typedef struct {
integer_t (*active_trackee)(conf_object_t *NOTNULL tracker,
conf_object_t *NOTNULL cpu);
const char *(*describe_trackee)(conf_object_t *NOTNULL tracker,
integer_t tid);
attr_value_t (*processor_list)(conf_object_t *NOTNULL tracker);
void (*add_processor)(conf_object_t *NOTNULL tracker,
conf_object_t *NOTNULL cpu);
void (*remove_processor)(conf_object_t *NOTNULL tracker,
conf_object_t *NOTNULL cpu);
int (*supports_processor)(const char *NOTNULL classname);
int (*activate)(conf_object_t *NOTNULL tracker);
int (*deactivate)(conf_object_t *NOTNULL tracker);
} tracker_interface_t;
#define TRACKER_INTERFACE "tracker"

active_trackee returns the tid of the trackee that is currently active on the given processor. describe_trackee returns a short string that describes the trackee with the given
tid.
processor_list returns the set of processors being watched by the tracker. add_processor
and remove_processor add and remove a processor from this set, respectively.
supports_processor returns true if trackers of this type support processors of the given
class, and false otherwise.
Before using the tracker, call activate. When you are done with it, call deactivate.
In addition to these interface functions, the tracker should trigger the Core_Trackee_
Active hap when the active trackee changes for a processor.

2671

VIRTUTECH CONFIDENTIAL
Command List
activate
add-processor
deactivate
remove-processor

activate tracker
track processes on this processor
deactivate tracker
do not track processes on this processor

Command Descriptions
<tracker>.activate
Synopsis
<tracker>.activate
Description
Activate a tracker. For performance reasons, trackers are inactive by default and need
to be activated before they start tracking processes. If the tracker is used by another
object, such as a context switcher, it is the responsibility of that object to activate the
tracker; but if you want to use it directly, you must activate it yourself.
See Also
<tracker>.deactivate

<tracker>.add-processor
Synopsis
<tracker>.add-processor processor
Description
Add a processor to the set of processors that the process tracker watches.
See Also
<tracker>.remove-processor

<tracker>.deactivate
Synopsis
<tracker>.deactivate
Description
Deactivate a tracker. This command undoes the effects of one activate command;
when all of them are undone, the tracker will stop tracking processes (and consuming
resources).
See Also
<tracker>.activate

2672

VIRTUTECH CONFIDENTIAL

<tracker>.remove-processor
Synopsis
<tracker>.remove-processor processor
Description
Remove a processor from the set of processors that the process tracker watches.
See Also
<tracker>.add-processor

2673

VIRTUTECH CONFIDENTIAL

tracker_settings
Implemented By
linux-process-tracker, ppc32-linux-process-tracker, ppc64-linux-process-tracker, x86linux-process-tracker
Description

Note: This interface is not supported, and may change in the future.
This interface is a way of giving names to sets of attribute values for process trackers.
For example, a Linux process tracker might have a few integer attributes that store
memory offsets that differ between different versions of the operating system. Rather
than forcing the user to look up the values appropriate to her version and setting
the attributes manually, the settings for the different supported versions can be given
names.
typedef struct {
attr_value_t (*settings_id_list)(void);
const char *(*describe_settings)(const char *NOTNULL settings_id);
int (*use_settings)(conf_object_t *NOTNULL tracker,
const char *NOTNULL settings_id);
} tracker_settings_interface_t;
#define TRACKER_SETTINGS_INTERFACE "tracker_settings"

settings_id_list returns a list of strings. Each string is the ID of a set of attributes (for
example linux-4.7.11).
describe_settings returns a human-readable description of a settings ID (for example,
linux-4.7.11 might give Linux 4.7.11).
use_settings sets the attributes to the values in the named set. It returns true on success, false on error (the typical error would be an invalid settings ID name).

2674

VIRTUTECH CONFIDENTIAL

tracker_unix
Implemented By
linux-process-tracker, ppc32-linux-process-tracker, ppc64-linux-process-tracker, x86linux-process-tracker
Description

Note: This interface is not supported, and may change in the future.
Interface for trackers. This is an interface implemented by process trackers for UNIXlike operating systems. Such trackers should also implement the basic tracker interface.
typedef struct {
trackee_unix_type_t (*trackee_type)(conf_object_t *NOTNULL tracker,
integer_t tid);
integer_t (*tid_to_pid)(conf_object_t *NOTNULL tracker, integer_t tid);
integer_t (*pid_to_tid)(conf_object_t *NOTNULL tracker, integer_t pid);
} tracker_unix_interface_t;
#define TRACKER_UNIX_INTERFACE "tracker_unix"

trackee_type returns the type of the trackee that has the given tid. The types are defined by the following enum:
typedef enum {
Sim_Trackee_Invalid = 0,
Sim_Trackee_Kernel,
Sim_Trackee_Process
} trackee_unix_type_t;

tid_to_pid and pid_to_tid map tids to pids and pids to tids.


In addition to these interface functions, the tracker should trigger the Core_Trackee_
Exec hap when a process calls the exec syscall.

2675

VIRTUTECH CONFIDENTIAL

translate
Implemented By
bitmask-translator, flash-memory, generic-flash-memory, i82461GX, local-space-mapper,
memory-space, pc-shadow, ppc405gp-pci, ppc440gp-pci, ppc440gx-pci, pyxis, sun4utrans2, sunfire-sysio, x86-hammer
Description
The translate interface is implemented by objects that bridge between memory
spaces. translate() can change fields like size and physical_address in the mem_op. The
return value from translate() can be a target memory space or NULL in which case the
space provided in the configuration is used.
typedef struct {
conf_object_t *(*translate)(conf_object_t *NOTNULL obj,
generic_transaction_t *NOTNULL mem_op,
map_info_t mapinfo);
} translate_interface_t;
#define TRANSLATE_INTERFACE "translate"

2676

VIRTUTECH CONFIDENTIAL

x86
Implemented By
x86-486sx, x86-hammer, x86-p2, x86-p4
Description
The x86 interface allows certain processor pins to be set/cleared. It is also used by the
apic for the startup IPI.
typedef enum {
Pin_Init,
Pin_Smi,
Pin_Nmi,
Pin_Ignne
} x86_pin_t;

typedef struct {
void (*set_pin_status)(conf_object_t *obj, x86_pin_t pin, int status);
void (*start_up)(conf_object_t *obj, uint32 start_address);
int (*interrupt_current_cpu)(int (*ack)(conf_object_t *), conf_object_t
void (*uninterrupt_current_cpu)(int (*ack)(conf_object_t *));
int (*has_pending_interrupt)(conf_object_t *obj);
int (*has_waiting_interrupt)(conf_object_t *obj);
physical_address_t (*linear_to_physical)(processor_t *cpu_ptr, data_or_in
} x86_interface_t;

Command List
memory-configuration
msrs
pregs-fpu
pregs-sse
print-gdt
print-idt

print memory configuration


print MSRs
print the x87 registers
print the sse registers
print GDT
print IDT

Command Descriptions
<x86>.memory-configuration
Synopsis
<x86>.memory-configuration
Description
Print the processors memory configuration. Depending on the processor type, this
may include MTRR information, HyperTransport routing information, DRAM configuration, and other memory configuration related information.

<x86>.msrs
2677

VIRTUTECH CONFIDENTIAL
Synopsis
<x86>.msrs
Description
Print model specific registers. MSRs not included in the output are either not supported, not implemented, read-only, or must be accessed through other attributes.

<x86>.pregs-fpu
Synopsis
<x86>.pregs-fpu [-f] [-x] [-i] [-b]
Description
Prints the x87 floating-point registers.
This command takes one of the formatting flags -f, -x, or -i.
The -f flag prints the floating-point values of the registers. The -x flag prints the contents of the registers as hexadecimal integers. The -i flag prints the contents of the
registers as decimal integers. With the -b flag, the registers are printed in binary floating point form.

<x86>.pregs-sse
Synopsis
<x86>.pregs-sse [-s] [-d] [-f] [-x] [-i] [-b]
Description
Prints the contents of the SSE registers.
This command can take one subregister size flag and one formatting flag.
The subregister size is selected using the either the -s flag (32-bit), or the -d flag (64bit).
The formatting flags -f, -x, and -i select the formatting of the output. The -f flag prints
the floating-point values of the registers as decimal numbers. The -x flag prints the
contents of the registers as hexadecimal integers. The -i flag prints the contents of
the registers as decimal integers. With the -b flag, the registers are printed in binary
floating point form.

<x86>.print-gdt
Synopsis
<x86>.print-gdt
Description
Print all descriptors in the Global Descriptor Table (GDT). Only usable in protected
mode.

<x86>.print-idt
2678

VIRTUTECH CONFIDENTIAL
Synopsis
<x86>.print-idt
Description
Print all descriptors in the Interrupt Descriptor Table (IDT).

2679

VIRTUTECH CONFIDENTIAL

x86_tlb
Implemented By
x86-tlb
Description
The x86 tlb interface is used for communication between an x86 cpu and its TLB. The
TLB is implemented as a separate class for greater flexibility.
typedef struct {
int
valid;
physical_address_t
paddr;
} tagged_physical_address_t;
typedef struct {
void (*flush_all)(conf_object_t *obj,
int keep_global_entries);
void (*flush_page)(conf_object_t *obj,
linear_address_t laddr);
int (*lookup)(conf_object_t *obj,
x86_memory_transaction_t *mem_tr);
void (*add)(conf_object_t *obj,
processor_mode_t mode,
read_or_write_t read_or_write,
data_or_instr_t data_or_instr,
int global_page,
x86_memory_type_t pat_type,
x86_memory_type_t mtrr_type,
linear_address_t laddr,
physical_address_t paddr,
int page_size);
tagged_physical_address_t (*itlb_lookup)(conf_object_t *obj,
linear_address_t laddr,
processor_mode_t mode);
} x86_tlb_interface_t;
#define X86_TLB_INTERFACE "x86-tlb"

All functions in the interface get the object implementing the interface as their first
parameter.
flush_all is called when all TLB entries should be flushed. If keep_global_entries is set,
then TLB entries with their global bit set should not be flushed.
flush_page is invoked when pages containing laddr are to be removed from the TLB.
lookup is used by the CPU when a memory access misses the STC. It must return
true (non-zero) if and only if the memory operation specified by mem_tr hits the TLB
and does not raise an exception. The mode, linear_address are valid when the method is
invoked. The other fields passed through mem_tr are undefined. If the method returns
true, the s.physical_address, pat_type, and mtrr_type fields of mem_tr must be updated
by lookup.
2680

VIRTUTECH CONFIDENTIAL
An access that misses in lookup but does not raise a fault is inserted into the TLB with
add. The page_size encoding is 0 for 4 kb pages, 1 for 2 Mb pages, and 2 for 4 Mb pages.
itlb_lookup is a simplified version of lookup used only for instruction TLB lookups.
If the lookup is successful valid and paddr should be set, otherwise valid should be
cleared.
It class implementing the interface must make sure that only addresses mapped in the
TLB are present in the STCs.
This interface may be changed or replaced with an architecture independent interface
in future versions of Simics.

2681

VIRTUTECH CONFIDENTIAL

Chapter 8

Haps
CLI_Variable_Write
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, char *variable);
Description
Triggered when a CLI variable is written

Core_Address_Not_Mapped
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t physical_address, integer_t access_type,
integer_t size);
Description
Triggered when an access has no target and the handle_outside_memory attribute in
the sim object is not set. The default handler for this hap will raise an exception,
returning the simulation to the prompt.

Core_Asynchronous_Trap
Provided By
Simics Core

2682

VIRTUTECH CONFIDENTIAL
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t trap_number);
Index
trap_number
Description
SPARC: Called 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.
x86: Called when an asynchronous trap occurs. This is an interrupt vector. Core_
Asynchronous_Trap is only triggered if interrupts are enabled.

Core_At_Exit
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Triggered at exit.

Core_Back_To_Front
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Called when Simics returns to the frontend command loop. This happens whenever
Simics has processed the previous command from the command line and is about to
process the next one.

Core_Breakpoint
Provided By
Simics Core
2683

VIRTUTECH CONFIDENTIAL
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t access_type,
integer_t breakpoint_number, void *reg_ptr,
integer_t size);
Index
breakpoint_number
Description
Called when a breakpoint is triggered. 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 reg_ptr and size parameters are only passed on write watchpoints, in which case they point to the data being stored and indicate its size. This hap
is only present for compatibility reasons. Use Core_Breakpoint_Memop in new code.

Core_Breakpoint_Memop
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t breakpoint_number,
memory_transaction_t *memop);
Index
breakpoint_number
Description
Called 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_Conf_Class_Register
Provided By
Simics Core
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.
2684

VIRTUTECH CONFIDENTIAL

Core_Conf_Class_Unregister
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, char *class_name);
Description
Triggered when a configuration class has been unregistered.

Core_Conf_Object_Create
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Triggered when a new configuration object has been created.

Core_Conf_Object_Delete
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, char *object_name);
Description
Triggered after a configuration object has been deleted.

Core_Conf_Object_Pre_Delete
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);

2685

VIRTUTECH CONFIDENTIAL
Description
Triggered just before a configuration object is deleted. The object is not guaranteed
to be deleted even though this hap is called, since the object may refuse deletion.
The Core_Conf_Object_Delete hap can be used to track whether the object was
deleted or not.

Core_Configuration_Loaded
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Called when a configuration has been loaded. This hap can be 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.

Core_Connect_Central
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Triggered when Simics has connected to Simics central. If Simics connects to central
at initialization, the call will be no earlier than the Core_Initial_Configuration
hap.

Core_Console_Owner_Changed
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
conf_object_t *new_owner);
Description
Triggered when console ownership changes. Internal use only.
2686

VIRTUTECH CONFIDENTIAL

Core_Context_Activate
Provided By
Simics Core
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
Provided By
Simics Core
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
Provided By
Simics Core
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_Continuation
Provided By
Simics Core

2687

VIRTUTECH CONFIDENTIAL
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Called at the (re)start of the simulation. The Core_Simulation_Stopped hap is
called when the simulation is stopped.

Core_Control_Register_Read
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t register_number);
Index
register_number
Description
Called when a control register is read.
For x86 processors, this hap is triggered when a control register is read using a MOV or
SMSW instruction (i.e., only explicit reads).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 PowerPC processors, this hap is triggered by the MFSPR instruction (i.e., only
explicit reads).

Core_Control_Register_Write
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t register_number, integer_t value);
Index
register_number
Description
Called when a control register is written. Note that value is not (necessarily) the final
contents in the register.
2688

VIRTUTECH CONFIDENTIAL
For x86 processors, this hap is triggered by CLTS, LMSW, and MOV. Page fault updates of CR2 should be caught with the Core_Exception hap. 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 PowerPC processors, this hap is triggered by the MTSPR instruction (i.e., only
explicit writes).

Core_Cpu_Switch_Time_Changed
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t old,
integer_t new);
Description
Triggered when the CPU switch time has changed.

Core_Cycle_Count
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t current_cycle_count);
Index
current_cycle_count
Description
Called when the simulation reaches a specific cycle count. This cycle count is specified
as index when the hap is installed.

Core_Device_Access_Memop
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
memory_transaction_t *memop);
2689

VIRTUTECH CONFIDENTIAL
Description
Called when a device access is performed.

Core_Device_Access_Read
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t address,
integer_t size, integer_t value);
Index
device_object->object_id
Description
Deprecated; use Core_Device_Access_Memop instead. Called when a device is accessed by a read operation.

Core_Device_Access_Write
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t address,
integer_t size, integer_t value);
Index
device_object->device_object
Description
Deprecated; use Core_Device_Access_Memop instead. Called when a device is accessed by a write operation.

Core_Disable_Breakpoints
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int reenable);

2690

VIRTUTECH CONFIDENTIAL
Description
Disable (or reenable) all breakpoints. This hap is primarily used to improve reverse
performance in certain situations.

Core_Discard_Future
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Triggered when recorded events should be forgotten.

Core_Disconnect_Central
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Triggered when Simics has disconnected from Simics central.

Core_DSTC_Flush_Counter
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t type,
integer_t virtual_address,
integer_t physical_address, integer_t counter);
Description
Triggered when the DSTC flushes a lines hit counter. It reports how many hits the
STC recorded since the line was inserted.

2691

VIRTUTECH CONFIDENTIAL

Core_Exception
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t exception_number);
Index
exception_number
Description
Triggered when an exception/trap is taken by a processor. This happens after exception specific side effects have taken place, such as register updates, but before any
control transfer.
The exact meaning of the exception number depends on the simulated processor architecture, the function SIM_get_exception_name gives its symbolic name. SIM_get_
exception_number translates from symbolic name to exception number.

Core_Exception_Return
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t exception_number);
Index
exception_number
Description
Triggered when an exception/trap handler finishes execution.
For x86 processors, this is caused by IRET and IRETD, before they have changed any
processor state.
For ia64 processors, this is caused by rfi, before is has changed any processor state.
For sparc processors, the hap is triggered by the DONE and RETRY instructions, before
any processor state has been changed.
The exception_number parameter is only valid for SPARC processors.

2692

VIRTUTECH CONFIDENTIAL

Core_External_Interrupt
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t source_mid);
Index
source_mid
Description
(SPARC only) Called 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_Fence
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t fence_type);
Index
fence_type
Description
Deprecated; use Core_Sync_Instruction instead. (x86 only) Called when a fence
instruction is run. The encoding of fence_type field is 1 for SFENCE, 2 for LFENCE,
and 3 for MFENCE.

Core_Frontend_Line_Done
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Triggered after the execution of each complete frontend line.

2693

VIRTUTECH CONFIDENTIAL

Core_Hap_Callback_Installed
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t hap_number,
integer_t range_low, integer_t range_high);
Index
hap_number
Description
Called when a callback is installed on a hap.

Core_Hap_Callback_Removed
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t hap_number,
integer_t range_low, integer_t range_high);
Index
hap_number
Description
Called when a callback is unregistered from a hap.

Core_Hap_Type_Added
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, char *hap_name);
Description
Called when a new hap type is added to the simulator. The hap isnot triggered for the
initial set of core haps.

2694

VIRTUTECH CONFIDENTIAL

Core_Initial_Configuration
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Called when the initial configuration has been loaded. This hap is only called once in
a session.

Core_Instruction_Squashed
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, void *instruction_id);
Description
Triggered just before an instruction is squashed. This hap can be used to free user data
that has been added to an instruction. It can also be used to inhibit resending stalling
memory accesses to the timing model by getting the stalling transaction with SIM_
instruction_stalling_mem_op and setting the field ma_no_reissue. Only available in
Micro Architectural Mode.

Core_Interrupt_Status
Provided By
x86-hammer-ma, x86-p2-turbo, x86-486sx-turbo, x86-p4-ma
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t status);
Index
status
Description
Triggered when a processor changes its interrupt status. Status==1 means that interrupts can now be accepted, and status==0 means that interrupts will not be accepted.

2695

VIRTUTECH CONFIDENTIAL

Core_Log_Message
Provided By
Simics Core
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_Magic_Instruction
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t parameter);
Index
parameter
Description
Triggered when Simics executes a magic instruction.
The magic instruction on SPARC is sethi with destination g0 and imm22 != 0. The
imm22 value is supplied as the parameter and range to the hap.
The magic instruction on x86 is xchg bx,bx. parameter is always zero.
The magic instruction on Alpha is sextb with Ra==R0. parameter is always zero.
The magic instruction on 64-bit PowerPC is fmr with identical source and destination
registers. parameter is the number of the register (031). On 32-bit PowerPC, the magic
instruction is mr with identical registers.
The magic instruction on ARM is orreq rN, rN, rN withrN != 15. The parameter is
the register number (0..14).
The magic instruction on IA-64 is a nop with a 21-bit immediate, where most significant bit of the immediate is set.

2696

VIRTUTECH CONFIDENTIAL

Core_MC_Loaded
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Internal. Do not use.

Core_Memory_Barrier
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t membar_mask);
Index
membar_mask
Description
Deprecated; use Core_Sync_Instruction instead. (SPARC only) Called when the
membar instruction is run. The trigger object is the cpu that ran the instruction.
membar_mask is the lower 7 bits of the opcode (the cmask and the mmask fields).

Core_Misplaced_Rex
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
(x86 only) Triggered when an instruction is run containing a REX prefix where the
REX prefix is not placed just before the opcode. This is typically an error since the
REX prefix will be ignored by the processor.

Core_Mode_Change
Provided By
Simics Core
2697

VIRTUTECH CONFIDENTIAL
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t old_mode,
integer_t 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 IA-64 processors, the modes are privilege levels (0-3).
For Alpha processors, the modes are Alpha processor modes (0-3), 0 being Kernel
mode and 3 User mode.
For other processors, the modes are Sim_CPU_Mode_User or Sim_CPU_Mode_Supervisor.
The UltraSPARC T1 processor also has the Sim_CPU_Mode_Hypervisor mode.

Core_Mode_Switch
Provided By
x86-hammer-ma, x86-p2-turbo, x86-486sx-turbo, x86-p4-ma
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t mode);
Index
mode
Description
Triggered when a processor mode switch occurs. Mode encoding: 0==RM16, 1==RM32,
2==V86, 3==PM16, 4==PM32, 5==PM64, 6==CM16, 7==CM32. The last three modes
can only be entered on long mode capable processors.

Core_Module_Loaded
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, char *module_name);
Description
Triggered when a module is loaded into Simics.

2698

VIRTUTECH CONFIDENTIAL

Core_Not_Implemented
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int line, char *file,
char *rcsid, char *message, integer_t data);
Description
Triggered when the simulator encounters unimplemented functionality.

Core_Periodic_Event
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t cycles_between_events);
Index
cycles_between_events
Description
Called periodically while Simics is running. The hap is called every n cycles where n
is the range parameter that the hap callback is installed on.

Core_Pre_Central_Configuration
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Called before the network is configured, and also before the Core_Initial_Configuration
hap occurs. But the initial configuration is actually done.

Core_Preferences_Changed
Provided By
Simics Core
2699

VIRTUTECH CONFIDENTIAL
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Triggered when an attribute in the prefs object is written.

Core_Processor_Schedule_Changed
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
The scheduling order of the processors has changed.

Core_Profiling_Mode_Change
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Obsolete. Never triggered.

Core_Prompt_Changed
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, char *new prompt);
Description
Triggered when the Simics prompt is changed.

2700

VIRTUTECH CONFIDENTIAL

Core_Pseudo_Exception
Provided By
x86-hammer-ma, x86-p2-turbo, x86-486sx-turbo, x86-p4-ma
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t exception_number);
Index
exception_number
Description
Triggered on a simulation pseudo exception.

Core_Recent_Files_Changed
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Triggered when the list of recently used files has changed.

Core_Rexec_Active
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int active_flag);
Description
Triggered when reverse execution support is activated or deactivated.

Core_Screen_Resized
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int width, int height);
2701

VIRTUTECH CONFIDENTIAL
Description
Triggered when the Simics console window changes size.

Core_Simulation_Stopped
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t exception,
char *error_string);
Index
exception
Description
Called when the simulation stops. exception 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.

Core_Source_Step
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, conf_object_t *cpu);
Description
Triggered when source code stepping is done.

Core_Step_Count
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t current_step_count);
Index
current_step_count

2702

VIRTUTECH CONFIDENTIAL
Description
Called when the simulation reaches a specific step count, i.e., it has executed a certain
number of instructions. The step count is specified as index when the hap is installed.

Core_Sync_Instruction
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t type);
Index
type
Description
Called when an synchronizing instruction is executed. The type parameter describe
what kind of instruction is executing. Its encoding is specific to each architecture.
For SPARC-V9, this hap is called 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 called when a fence instruction is executed. The type is set from
the list provided by the x86_instruction_sync_type_t enum.

Core_TD_Changed
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int rev);
Description
Internal. Do not use.

Core_Time_Transition
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int in_the_past);

2703

VIRTUTECH CONFIDENTIAL
Description
Triggered whenever there is a transition between the past and the present.

Core_Trackee_Active
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t tid,
conf_object_t *processor, int active);
Index
tid
Description
Triggered when a trackee becomes active or inactive.

Core_Trackee_Exec
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t tid,
conf_object_t *processor, char *binary);
Index
tid
Description
Triggered when a trackee makes an exec system call.

Core_Workspace_Changed
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Triggered when a new Simics workspace directory is selected.

2704

VIRTUTECH CONFIDENTIAL

Core_Write_Configuration
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, char *file_name);
Description
Triggered when a configuration is about to be written.

ETG_New_Arp_Entry
Provided By
etg
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t param-desc);
Index
IP address
Description
Description

Ethernet_Frame
Provided By
ethernet-link
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t timestamp);
Description
Triggered when a frame is sent over an ethernet network. The network object is given
as a parameter. The contents of the packet can be retrieved or modified using the
last_frame attribute. Setting last_frame to nil will drop the packet from the network, and modifying it will deliver a modified packet to the destination.

Ethernet_Link
Provided By
Simics Core

2705

VIRTUTECH CONFIDENTIAL
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t up);
Description
Ethernet link status changed.

Ethernet_Receive
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Ethernet frame received by device. The contents of the packet can be retrieved/modified
using the current_frame pseudo attribute.

Ethernet_Transmit
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj);
Description
Ethernet frame transmitted by device. The contents of the packet can be retrieved/modified
using the current_frame pseudo attribute.

FC_SCSI_Command
Provided By
fc-disk
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t command_number, integer_t start,
integer_t len);
Index
command_number

2706

VIRTUTECH CONFIDENTIAL
Description
Occurs when a SCSI command is received by a SCSI device. The parameters start and
len are only used for read and write commands.

GDB_Stopped
Provided By
gdb-remote
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int gdb);
Index
signal
Description
Triggered when GDB has stopped execution.

Gfx_Break_String
Provided By
x11-console
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t break_id);
Index
break_id
Description
Triggered when a graphics breakpoint matches the screen. break_id is the number returned when a breakpoint is set.

MIPS_Processor_Reset
Provided By
mips-5kc-turbo, mips-4kc-turbo
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int hard_reset);
Description
Called when a MIPS processor is reset. The hap is called when all processor registers
have been reset. Registers can be changed to special start values.
2707

VIRTUTECH CONFIDENTIAL

MMU_Context_Register_Write
Provided By
cheetah+mmu, panther-mmu, swerver-thread-mmu, cheetah-mmu, jaguar-mmu, spitfiremmu, jalapeno-mmu
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t context_number);
Index
context_number
Description
Triggered on writes to the context register in Cheetah+ MMU. All writes are reported,
not only when the context will change.

MMU_Data_TLB_Demap
Provided By
cheetah+mmu, panther-mmu, swerver-thread-mmu, cheetah-mmu, jaguar-mmu, spitfiremmu, jalapeno-mmu
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t tag_reg,
integer_t data_reg);
Index
context_number
Description
Triggered when an entry in the Cheetah+ MMU is removed from the D-TLB by a
demap operation. All removals, except when caused by a context switch, are reported.
A break request will stop the simulation on the next instruction.

MMU_Data_TLB_Map
Provided By
cheetah+mmu, panther-mmu, swerver-thread-mmu, cheetah-mmu, jaguar-mmu, spitfiremmu, jalapeno-mmu
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t tag_reg,
integer_t data_reg);
2708

VIRTUTECH CONFIDENTIAL
Index
context_number
Description
Triggered when an entry in the Cheetah+ MMU is added to the data TLB. A break
request will stop the simulation on the next instruction.

MMU_Data_TLB_Overwrite
Provided By
cheetah+mmu, panther-mmu, cheetah-mmu, jaguar-mmu, spitfire-mmu, jalapeno-mmu
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t tag_reg,
integer_t data_reg);
Index
context_number
Description
Triggered when a valid entry in the Cheetah+ MMU is overwritten in the D-TLB by
an explicitly mapped page, i.e. not a replacement. A break request will stop the simulation on the next instruction.

MMU_Data_TLB_Replace
Provided By
cheetah+mmu, panther-mmu, cheetah-mmu, jaguar-mmu, spitfire-mmu, jalapeno-mmu
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t tag_reg,
integer_t data_reg);
Index
context_number
Description
Triggered when an entry in the Cheetah+ MMU is removed from the D-TLB due to
replacement. A break request will stop the simulation on the next instruction.

MMU_Instruction_TLB_Demap
Provided By
cheetah+mmu, panther-mmu, swerver-thread-mmu, cheetah-mmu, jaguar-mmu, spitfiremmu, jalapeno-mmu
2709

VIRTUTECH CONFIDENTIAL
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t tag_reg,
integer_t data_reg);
Index
context_number
Description
Triggered when an entry in the Cheetah+ MMU is removed from the I-TLB by a demap
operation. All removals, except when caused by a context switch, are reported. A
break request will stop the simulation on the next instruction.

MMU_Instruction_TLB_Map
Provided By
cheetah+mmu, panther-mmu, swerver-thread-mmu, cheetah-mmu, jaguar-mmu, spitfiremmu, jalapeno-mmu
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t tag_reg,
integer_t data_reg);
Index
context_number
Description
Triggered when an entry in the Cheetah+ MMU is added to the instruction TLB. A
break request will stop the simulation on the next instruction.

MMU_Instruction_TLB_Overwrite
Provided By
cheetah+mmu, panther-mmu, cheetah-mmu, jaguar-mmu, spitfire-mmu, jalapeno-mmu
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t tag_reg,
integer_t data_reg);
Index
context_number
Description
Triggered when a valid entry in the Cheetah+ MMU is overwritten in the I-TLB by an
explicitly mapped page, i.e. not a replacement. A break request will stop the simulation on the next instruction.
2710

VIRTUTECH CONFIDENTIAL

MMU_Instruction_TLB_Replace
Provided By
cheetah+mmu, panther-mmu, cheetah-mmu, jaguar-mmu, spitfire-mmu, jalapeno-mmu
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t tag_reg,
integer_t data_reg);
Index
context_number
Description
Triggered when an entry in the Cheetah+ MMU is removed from the I-TLB due to
replacement. A break request will stop the simulation on the next instruction.

MMU_Register_Write
Provided By
cheetah+mmu, panther-mmu, swerver-thread-mmu, cheetah-mmu, jaguar-mmu, spitfiremmu, jalapeno-mmu
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t register_index, integer_t new_data);
Index
register_index
Description
Triggered on writes to registers in the Cheetah+ MMU. The registers that can trigger
haps are the ones accessible in the registers pseudo attribute.

ppc64_sfmode_change
Provided By
ppc970fx, ppc970fx-turbo
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t sfmode);
Description
Triggered when the processor switches between 64 and 32 bit mode.

2711

VIRTUTECH CONFIDENTIAL

PPC_Attention
Provided By
ppc750fx, ppc970fx, ppc440gp, ppc603e, ppc750gx-turbo, ppc440gp-turbo, ppc750turbo, ppc405gp, ppc7450-turbo, ppc440gx-turbo, ppc603e-turbo, ppc7400, ppc7457turbo, ppc405gp-turbo, ppc7400-turbo, ppc750gx, ppc440gx, ppc750fx-turbo, ppc7450,
ppc7447-turbo, ppc750, ppc7447, ppc970fx-turbo, ppc7457
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int imm);
Description
Called when a PPC processor executes the attn instruction. The imm parameter is the
immediate field from the instruction opcode. The hap will only be called if HID0[en_
attn] is set.

PPC_Processor_Reset
Provided By
ppc750fx, ppc970fx, ppc440gp, ppc603e, ppc750gx-turbo, ppc440gp-turbo, ppc750turbo, ppc405gp, ppc7450-turbo, ppc440gx-turbo, ppc603e-turbo, ppc7400, ppc7457turbo, ppc405gp-turbo, ppc7400-turbo, ppc750gx, ppc440gx, ppc750fx-turbo, ppc7450,
ppc7447-turbo, ppc750, ppc7447, ppc970fx-turbo, ppc7457
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int hard_reset);
Description
Called when a PPC processor is doing a reset. If hard_reset is false, the processor is
doing a soft reset and some registers are preserved across the reset. The hap is called
when all processor registers have been reset. Registers can be changed to special start
values. Note that for the PPC970FX, the PC will be recalculated based on the value
of HIOR.This hap can be used to implement special reset functionality like the mode
ring to load start values in some registers.

PPC_TLB_Invalidate_Entry
Provided By
ppc750fx, ppc970fx, ppc440gp, ppc603e, ppc750gx-turbo, ppc440gp-turbo, ppc750turbo, ppc405gp, ppc7450-turbo, ppc440gx-turbo, ppc603e-turbo, ppc7400, ppc7457turbo, ppc405gp-turbo, ppc7400-turbo, ppc750gx, ppc440gx, ppc750fx-turbo, ppc7450,
ppc7447-turbo, ppc750, ppc7447, ppc970fx-turbo, ppc7457
Callback Type
void (*)(lang_void *callback_data,
2712

VIRTUTECH CONFIDENTIAL
conf_object_t *trigger_obj,
integer_t effective_address);
Description
Called when a tlbie instruction is executed.

Python_Tab_Completion
Provided By
Simics Core
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, char *text,
char *word, integer_t start, integer_t end);
Description
Called when the TAB key is pressed. The arguments are the same as readhist uses,
and are passed untouched.

Rexec_Limit_Exceeded
Provided By
rev-execution
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int limit_type);
Index
limit_type
Description
Triggered when a reverse execution resource limit is exceeded.

RTC_Nvram_Update
Provided By
M5823, DS12887, DS17485
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t index,
integer_t old_value, integer_t new_value);
Index
index
2713

VIRTUTECH CONFIDENTIAL
Description
This hap is triggered when the DS12887 NVRAM memory is changed.

SCSI_CDROM_Command
Provided By
scsi-cdrom
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t command_number, integer_t start,
integer_t len);
Index
command_number
Description
Occurs when a SCSI command is received by a SCSI device. The parameters start and
len are only used for read and write commands.

SCSI_Disk_Command
Provided By
scsi-disk
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t command_number, integer_t start,
integer_t len);
Index
command_number
Description
Occurs when a SCSI command is received by a SCSI device. The parameters start and
len are only used for read and write commands.

TLB_Fill_Data
Provided By
x86_tlb
Callback Type
void (*)(lang_void *callback_data,

2714

VIRTUTECH CONFIDENTIAL
conf_object_t *trigger_obj, integer_t linear,
integer_t physical, integer_t 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.

TLB_Fill_Instruction
Provided By
x86_tlb
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t linear,
integer_t physical, integer_t 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.

TLB_Invalidate_Data
Provided By
x86_tlb
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t linear,
integer_t physical, integer_t 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.

2715

VIRTUTECH CONFIDENTIAL

TLB_Invalidate_Instruction
Provided By
x86_tlb
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t linear,
integer_t physical, integer_t 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.

TLB_Miss_Data
Provided By
x86_tlb
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t linear_address);
Index
linear_address
Description
Triggered when a DTLB miss occurs.

TLB_Miss_Instruction
Provided By
x86_tlb
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t linear_address);
Index
linear_address
Description
Triggered when an ITLB miss occurs.
2716

VIRTUTECH CONFIDENTIAL

TLB_Replace_Data
Provided By
x86_tlb
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t linear,
integer_t physical, integer_t 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.

TLB_Replace_Instruction
Provided By
x86_tlb
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t linear,
integer_t physical, integer_t 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.

Turbo_New_Code_Block
Provided By
alpha-ev5-turbo
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, integer_t start,
integer_t length);
Index
unused
2717

VIRTUTECH CONFIDENTIAL
Description
Internal.

X86_Descriptor_Change
Provided By
x86-hammer-ma, x86-p2-turbo, x86-486sx-turbo, x86-p4-ma
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj,
integer_t segment_number);
Index
segment_number
Description
Triggered when a segment descriptor has been changed. The parameter is the segment
register number. The numbering is: ES=0, CS=1, SS=2, DS=3, FS=4, and GS=5.

X86_Enter_SMM
Provided By
x86-hammer-ma, x86-p2-turbo, x86-486sx-turbo, x86-p4-ma
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int phase);
Description
Called when the processor enters SMM mode. If phase is 0, the processor has just
started to setup SMM mode and no registers are saved or modified yet. If phase is 1,
all registers are setup and the processor is now ready to execute in SMM mode.

X86_Leave_SMM
Provided By
x86-hammer-ma, x86-p2-turbo, x86-486sx-turbo, x86-p4-ma
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int phase);
Description
Called when the processor leaves SMM mode. If phase is 0, the processor has just
started to execute the rsm instruction and nothing has been restored yet. If phase is 1,
rsm is finished and the processor is ready to resume the normal execution.
2718

VIRTUTECH CONFIDENTIAL

X86_Processor_Reset
Provided By
x86-hammer-ma, x86-p2-turbo, x86-486sx-turbo, x86-p4-ma
Callback Type
void (*)(lang_void *callback_data,
conf_object_t *trigger_obj, int hard_reset);
Description
Called when the INIT pin of a x86 processor goes high, usually as a result of a reboot.
The hap is raised after the registers have been reset.

Xterm_Break_String
Provided By
xterm-console, server-console-c
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
returned when a string breakpoint is set.

2719

VIRTUTECH CONFIDENTIAL

Chapter 9

Craff
The compressed random access file format is used by Simicss image module to handle
sparse block data. The craff command-line utility can be used to create and manipulate
craff files.
The general craff usage is:
craff [options] files ...
The default operation is to merge the input files, each of which can be either in craff 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.

9.1

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

2720

VIRTUTECH CONFIDENTIAL

9.1. Options

-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 finegrained 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, zlib, or bz2. No compression is fastest, bz2 is
smallest but slow, and zlib is a good compromise. The default is zlib. (In practice, zlib
is often better than bz2 unless the block size is large.)
-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.
-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.
2721

VIRTUTECH CONFIDENTIAL

9.1. Options

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

2722

VIRTUTECH CONFIDENTIAL

Index
Symbols

82077, 702

!, 534
, 536
<, 537
<<, 538
<=, 538
>, 539
>>, 539
>=, 539
+, 536
+=, 536
-, 536
->, 537
-=, 537
/, 537
=, 538
==, 538
@, 539
$, 535
%, 535
&, 535
, 540
[, 540
[simics], 58
[workspace], 58
, 698
405gp-devices, 700
440gp-devices, 700
440gx-devices, 701
460GX, 701
8237x2, 702
82443BX, 702
8259x2, 702

A
a, 542
a20, 2579
abi
namespace command
symtable, 2276
access-ignore
namespace command
sbbc-pci, 2000
access-info
namespace command
sbbc-pci, 2000
access_t, 162
activate
namespace command
tracker, 2672
add
namespace command
state-assertion, 2142
add-connector
namespace command
std-service-node, 2171
add-diff-file
namespace command
ide-disk, 1256
image, 1263
scsi-disk, 2025
add-diff-partial-file
namespace command
ide-disk, 1256
scsi-disk, 2025
add-directory, 540
add-host
namespace command
service-node, 2094
add-log

Numbers
8042, 701
8254, 702

2723

VIRTUTECH CONFIDENTIAL

INDEX

namespace command
sample-device, 1975
add-map
namespace command
memory-space, 1358
port-space, 1572
add-mem-lis
namespace command
state-assertion, 2142
add-memory-profiler
namespace command
processor, 2636
add-module-directory, 540
add-partial-diff-file
namespace command
image, 1263
add-processor
namespace command
tracker, 2672
add-profiler
namespace command
g-cache, 1107
g-cache-ooo, 1114
add-sun-partition
namespace command
fc-disk, 1081
ide-disk, 1256
scsi-disk, 2025
addr_prof_iter_t, 69
addr_space_t, 2609
addr_type_t, 135
address-profile-data
namespace command
address_profiler, 2581
address-profile-info
namespace command
address_profiler, 2581
address-profile-toplist
namespace command
address_profiler, 2581
address_profiler, 2580
ADM1031, 703, 782
agp-voodoo3, 784
alpha-components, 703
alpha-ev5, 703, 786

alpha-ev5-turbo, 703
alpha-lx164-system, 794
alpha_cpu_mode_t, 111
alpha_memory_transaction_t, 112
AM29F016, 704, 796
AM79C960, 704, 797
AM79C960-dml, 704, 803
AM79C973, 704, 809
and, 541
api-apropos, 541
api-help, 541
apic, 705, 818
apic-bus, 822
apic_cpu, 2583
apm, 705, 824
aprof-views
namespace command
processor, 2636
apropos, 541
arc_type_t, 83
arg, 386
arm, 2584
arm-sa1110-components, 705
arm-sa1110-system, 826
arm_memory_transaction_t, 113
armv5te, 705, 828
armv5te-turbo, 705
arp
namespace command
service-node, 2094
artesyn-pm-ppc, 706, 836
asi_info_t, 2665
assoc_table_t, 135
AT24C164, 706, 838
AT24CS256, 706, 840
attach-branch-recorder
namespace command
processor, 2636
attr_attr_t, 169, 196
attr_data_t, 70
attr_initiator_t, 135
attr_kind_t, 70
attr_list_t, 70
attr_set_t, 135
attr_value_t, 70

2724

VIRTUTECH CONFIDENTIAL

INDEX

auto-release
namespace command
gfx-console, 1129
autodetect-parameters
namespace command
linux-process-tracker, 1323

breakpoint_t, 2587
breakpoint_vector_t, 2588
bridge, 2591
bt, 678
namespace command
processor, 2646
byte_string_t, 135

b, 542
base-trace-mem-hier, 842
BCM5703C, 706, 846
BCM5704C, 706, 865
binary_heap_compare_func_t, 135
binary_heap_t, 135
bitmask-translator, 707, 885
bo, 673
bookmark, 673
bootstrap-tlb-entry
namespace command
ppc440gp, 1641
ppc440gx, 1712
branch_arc, 2585
branch_arc_iter_t, 2585
branch_arc_t, 2585
branch_arc_type_t, 2585
branch_recorder, 887
branch_recorder_direction_t, 2585
break, 542
namespace command
breakpoint, 2588
gfx-console, 1129
server-console, 2086
text-console, 2308
break-cr, 543
namespace command
processor, 2636
break-exception, 543
break-hap, 544
break-io, 544
break-log, 545
breakpoint, 2587
breakpoint_flag
enum, 162
breakpoint_id_t, 163
breakpoint_kind_t, 162
breakpoint_range_t, 2588

c, 669
cache_miss, 2592
capture-start
namespace command
server-console, 2087
text-console, 2308
capture-stop
namespace command
server-console, 2087
text-console, 2308
cassini, 707, 889
cassini_sub, 908
cb, 591
namespace command
processor, 2637
cba, 591
namespace command
processor, 2637
cc, 670
cd, 545
central, 707
central-client, 910
central-server, 913
cheerio-e2bus, 707, 915
cheerio-hme, 708, 917
cheetah+mmu, 708
cheetah-mmu, 708, 927
cheetah-plus-mmu, 935
CL-PD6729, 709, 943
class_data_t, 72
class_kind_t, 72
clean
namespace command
branch_recorder, 888
clear
namespace command
data-profiler, 997
2725

VIRTUTECH CONFIDENTIAL

INDEX

clear-directories, 545
clear-recorder, 546
cli.arg, 386
cli.eval_cli_line, 387
cli.get_available_object_name, 388
cli.new_command, 389
cli.number_str, 390
cli.object_expander, 391
cli.quiet_run_command, 392
cli.run_command, 393
CLI_Variable_Write, 2682
clock, 709, 946
close
namespace command
gfx-console, 1129
text-console, 2309
close-tun-tap-interface, 546
cmos-base-mem
namespace command
DS12887, 1030
DS12887-dml, 1036
DS17485, 1044
M5823, 1338
x86-apic-bus-system, 2448
x86-apic-system, 2452
x86-e7520-system, 2456
x86-separate-mem-io-system, 2562
x86-system, 2566
cmos-boot-dev
namespace command
DS12887, 1030
DS12887-dml, 1036
DS17485, 1044
M5823, 1338
x86-apic-bus-system, 2448
x86-apic-system, 2452
x86-e7520-system, 2456
x86-separate-mem-io-system, 2562
x86-system, 2566
cmos-century
namespace command
DS12887, 1030
DS12887-dml, 1036
DS17485, 1045
M5823, 1338

cmos-extended-mem
namespace command
DS12887, 1030
DS12887-dml, 1036
DS17485, 1045
M5823, 1338
x86-apic-bus-system, 2448
x86-apic-system, 2452
x86-e7520-system, 2456
x86-separate-mem-io-system, 2562
x86-system, 2566
cmos-floppy
namespace command
DS12887, 1031
DS12887-dml, 1036
DS17485, 1045
M5823, 1339
x86-apic-bus-system, 2449
x86-apic-system, 2453
x86-e7520-system, 2457
x86-separate-mem-io-system, 2563
x86-system, 2567
cmos-hd
namespace command
DS12887, 1031
DS12887-dml, 1037
DS17485, 1045
M5823, 1339
x86-apic-bus-system, 2449
x86-apic-system, 2453
x86-e7520-system, 2457
x86-separate-mem-io-system, 2563
x86-system, 2567
cmos-info
namespace command
DS12887, 1031
DS12887-dml, 1037
DS17485, 1045
M5823, 1339
x86-apic-bus-system, 2449
x86-apic-system, 2453
x86-e7520-system, 2457
x86-separate-mem-io-system, 2563
x86-system, 2567
cmos-init

2726

VIRTUTECH CONFIDENTIAL

INDEX

namespace command
DS12887, 1031
DS12887-dml, 1037
DS17485, 1045
M5823, 1339
x86-apic-bus-system, 2449
x86-apic-system, 2453
x86-e7520-system, 2457
x86-separate-mem-io-system, 2563
x86-system, 2567
command-list, 546
component, 948, 2593
conf-object, 951
conf_object_t, 73
conf_class_t, 180
connect
namespace command
AM79C960, 801
AM79C960-dml, 808
BCM5703C, 864
BCM5704C, 883
cassini, 907
central-client, 911
cheerio-hme, 925
component, 949
CS8900A, 991
DEC21041, 1008
DEC21140A, 1014
DEC21143, 1026
eth-transceiver, 1065
mii-transceiver, 1369
ppc405gp-emac, 1606
ppc440gp-emac, 1661
ppc440gx-emac, 1735
sbus-hme, 2010
service-node, 2094
connect-central, 546
connect-components, 547
connect-real-network, 547
connect-real-network-bridge, 548
namespace command
ethernet-link, 1068
connect-real-network-host, 549
namespace command
ethernet-link, 1069

connect-real-network-napt, 549
namespace command
ethernet-link, 1069
connect-real-network-port-in, 550
connect-real-network-port-out, 550
connect-real-network-router, 551
namespace command
ethernet-link, 1070
connections
namespace command
central-server, 914
consistency-controller, 709, 953
context, 955
context-switcher, 709, 966
continue, 669
continue-cycles, 670
copyright, 551
Core_Address_Not_Mapped, 2682
Core_Asynchronous_Trap, 2682
Core_At_Exit, 2683
Core_Back_To_Front, 2683
Core_Breakpoint, 2683
Core_Breakpoint_Memop, 2684
Core_Conf_Class_Register, 2684
Core_Conf_Class_Unregister, 2685
Core_Conf_Object_Create, 2685
Core_Conf_Object_Delete, 2685
Core_Conf_Object_Pre_Delete, 2685
Core_Configuration_Loaded, 2686
Core_Connect_Central, 2686
Core_Console_Owner_Changed, 2686
Core_Context_Activate, 2687
Core_Context_Change, 2687
Core_Context_Deactivate, 2687
Core_Continuation, 2687
Core_Control_Register_Read, 2688
Core_Control_Register_Write, 2688
Core_Cpu_Switch_Time_Changed, 2689
Core_Cycle_Count, 2689
Core_Device_Access_Memop, 2689
Core_Device_Access_Read, 2690
Core_Device_Access_Write, 2690
Core_Disable_Breakpoints, 2690
Core_Discard_Future, 2691
Core_Disconnect_Central, 2691

2727

VIRTUTECH CONFIDENTIAL

INDEX

Core_DSTC_Flush_Counter, 2691
Core_Exception, 2692
Core_Exception_Return, 2692
Core_External_Interrupt, 2693
Core_Fence, 2693
Core_Frontend_Line_Done, 2693
Core_Hap_Callback_Installed, 2694
Core_Hap_Callback_Removed, 2694
Core_Hap_Type_Added, 2694
Core_Initial_Configuration, 2695
Core_Instruction_Squashed, 2695
Core_Interrupt_Status, 2695
Core_Log_Message, 2696
Core_Magic_Instruction, 2696
Core_MC_Loaded, 2697
Core_Memory_Barrier, 2697
Core_Misplaced_Rex, 2697
Core_Mode_Change, 2697
Core_Mode_Switch, 2698
Core_Module_Loaded, 2698
Core_Not_Implemented, 2699
Core_Periodic_Event, 2699
Core_Pre_Central_Configuration, 2699
Core_Preferences_Changed, 2699
Core_Processor_Schedule_Changed, 2700
Core_Profiling_Mode_Change, 2700
Core_Prompt_Changed, 2700
Core_Pseudo_Exception, 2701
Core_Recent_Files_Changed, 2701
Core_Rexec_Active, 2701
Core_Screen_Resized, 2701
Core_Simulation_Stopped, 2702
Core_Source_Step, 2702
Core_Step_Count, 2702
Core_Sync_Instruction, 2703
Core_TD_Changed, 2703
Core_Time_Transition, 2703
Core_Trackee_Active, 2704
Core_Trackee_Exec, 2704
Core_Workspace_Changed, 2704
Core_Write_Configuration, 2705
cpc700, 710
cpc700-gpt, 969
cpc700-iic, 971
cpc700-mc, 974

cpc700-pci, 978
cpc700-pi, 981
cpc700-uic, 983
cpu-group, 710, 985
cpu-mode-tracker, 710, 986
cpu-switch-time, 552
create-agp-voodoo3, 552
create-alpha-lx164-system, 552
create-and-connect-ddr-memory, 552
create-arm-sa1110-system, 553
create-ddr-memory-module, 553
create-ddr2-memory-module, 554
create-dummy-component, 554
create-ebony-board, 554
create-enchilada-system, 554
create-i386-cpu, 555
create-i486dx2-cpu, 555
create-i486sx-cpu, 555
create-ia64-460gx-system, 555
create-isa-lance, 556
create-isa-vga, 556
create-itanium-cpu, 556
create-legacy-pc-devices, 557
create-leon2-simple, 557
create-malta-system, 557
create-niagara-simple-system, 557
create-north-bridge-443bx, 558
create-north-bridge-443bx-agp, 558
create-north-bridge-875p, 558
create-north-bridge-e7520, 559
create-north-bridge-k8, 559
create-opteron-cpu, 559
create-partition
namespace command
ide-disk, 1256
scsi-disk, 2025
create-pc-dual-serial-ports, 559
create-pc-floppy-controller, 560
create-pc-quad-serial-ports, 560
create-pc-single-parallel-port, 560
create-pci-am79c973, 560
create-pci-backplane, 561
create-pci-bcm5703c, 561
create-pci-bcm5704c, 561
create-pci-dec21041, 562

2728

VIRTUTECH CONFIDENTIAL

INDEX

create-pci-dec21140a, 562
create-pci-dec21140a-dml, 562
create-pci-dec21143, 562
create-pci-i21152, 563
create-pci-i82543gc, 563
create-pci-i82546bg, 563
create-pci-isp1040, 563
create-pci-isp2200, 564
create-pci-pd6729, 564
create-pci-pmc1553-bc, 564
create-pci-rage-pm-mobility-pci, 565
create-pci-ragexl, 565
create-pci-sil680a, 565
create-pci-sym53c810, 565
create-pci-sym53c875, 566
create-pci-sym53c876, 566
create-pci-vga, 566
create-pci-voodoo3, 566
create-pcie-pex8524, 567
create-pentium-4-cpu, 567
create-pentium-4e-2ht-cpu, 567
create-pentium-4e-4ht-cpu, 568
create-pentium-4e-cpu, 568
create-pentium-cpu, 568
create-pentium-ii-cpu, 568
create-pentium-iii-cpu, 569
create-pentium-m-cpu, 569
create-pentium-mmx-cpu, 569
create-pentium-pro-cpu, 569
create-phy-mii-transceiver, 570
create-pmppc-board, 570
create-ppc-simple, 570
create-ppc970-simple, 571
create-ps2-keyboard-mouse, 571
create-sample-gcache, 571
create-sample-ma-model, 571
create-sample-ooo-model, 572
create-sample-x86-ma-model, 572
create-sdram-memory-module, 572
create-serengeti-3800-chassis, 573
create-serengeti-4800-chassis, 573
create-serengeti-4810-chassis, 573
create-serengeti-6800-chassis, 573
create-serengeti-cluster-chassis, 574
create-serengeti-cpci4-board, 574

create-serengeti-pci8-board, 574
create-serengeti-sp-cpci6-board, 574
create-serengeti-us-iii-cpu-board, 575
create-serengeti-us-iii-plus-cpu-board, 575
create-serengeti-us-iv-cpu-board, 575
create-serengeti-us-iv-plus-cpu-board, 575
create-simple-fc-disk, 576
create-sio-lpc47m172, 576
create-sio-w83627hf, 576
create-south-bridge-6300esb, 577
create-south-bridge-amd8111, 577
create-south-bridge-md1535d, 577
create-south-bridge-piix4, 577
create-south-bridge-saturn, 578
create-south-bridge-sun-md1535d, 578
create-std-etg, 578
create-std-ethernet-link, 579
create-std-graphics-console, 579
create-std-host-serial-console, 579
create-std-ide-cdrom, 579
create-std-ide-disk, 580
create-std-ms1553-link, 580
create-std-pcmcia-flash-disk, 580
create-std-scsi-bus, 580
create-std-scsi-cdrom, 581
create-std-scsi-disk, 581
create-std-serial-link, 581
create-std-server-console, 581
create-std-service-node, 582
create-std-super-io, 582
create-std-text-console, 582
create-std-text-graphics-console, 583
create-sun-cpci-hme-isp, 583
create-sun-cpci-isp-isp, 583
create-sun-cpci-qlc-qlc, 583
create-sun-pci-ce, 584
create-sun-pci-hme, 584
create-sun-pci-hme-isp, 584
create-sun-pci-pgx64, 584
create-sun-pci-qlc, 585
create-sun-pci-qlc-qlc, 585
create-sun-sbus-fas-hme, 585
create-sun-type5-keyboard, 586
create-sun-type5-mouse, 586
create-sun-vtoc-header

2729

VIRTUTECH CONFIDENTIAL

INDEX

namespace command
fc-disk, 1081
ide-disk, 1257
scsi-disk, 2026
create-sun-vtoc-partition
namespace command
fc-disk, 1082
ide-disk, 1257
scsi-disk, 2026
create-sunfire-3500-backplane, 586
create-sunfire-4500-backplane, 586
create-sunfire-6500-backplane, 587
create-sunfire-cpu-board, 587
create-sunfire-pci-board, 587
create-sunfire-sbus-board, 587
create-taco-system, 588
create-telos-mote, 588
create-x86-apic-bus-system, 588
create-x86-apic-system, 589
create-x86-e7520-system, 589
create-x86-hammer-cpu, 589
create-x86-separate-mem-io-system, 589
create-x86-system, 590
create-xeon-prestonia-cpu, 590
CS8900A, 710, 988
ctrl-alt-del
namespace command
i8042, 1198
current-processor, 590
CY82C693, 711
CY82C693_0, 993
CY82C693_1, 994
CY82C693_2, 995
cycle-break, 590
namespace command
processor, 2637
cycle-break-absolute, 591
namespace command
processor, 2637
cycles_t, 109

jaguar-mmu, 1290
jalapeno-mmu, 1298
niagara-strand-mmu, 1413
panther-mmu, 1451
spitfire-mmu, 2137
d-tlb
namespace command
cheetah-mmu, 932
cheetah-plus-mmu, 940
jaguar-mmu, 1291
jalapeno-mmu, 1298
niagara-strand-mmu, 1413
panther-mmu, 1452
spitfire-mmu, 2137
da, 595
namespace command
logical-memory-translator, 1330
processor, 2638
data-profiler, 996
data_or_instr_t, 74
date, 591
db, 593
dbuffer_append, 366
dbuffer_append_external_data, 367
dbuffer_append_value, 368
dbuffer_clone, 369
dbuffer_copy_append, 370
dbuffer_copy_prepend, 370
dbuffer_free, 371
dbuffer_insert, 366
dbuffer_len, 372
dbuffer_prepend, 366
dbuffer_prepend_external_data, 367
dbuffer_prepend_value, 368
dbuffer_read, 373
dbuffer_read_all, 373
dbuffer_read_some, 373
dbuffer_remove, 374
dbuffer_remove_head, 374
dbuffer_remove_tail, 374
dbuffer_replace, 375
dbuffer_replace_all, 375
dbuffer_replace_some, 375
dbuffer_split, 376
dbuffer_t, 75, 2594, 2595, 2601, 2602

D
d-probe
namespace command
cheetah-mmu, 932
cheetah-plus-mmu, 940
2730

VIRTUTECH CONFIDENTIAL

INDEX

dbuffer_update, 377
dbuffer_update_all, 377
dbuffer_update_some, 377
ddr-memory-module, 998
ddr2-memory-module, 1001
deactivate
namespace command
tracker, 2672
DEC21041, 711, 1004
DEC21140A, 711, 1010
DEC21140A-dml, 711, 1016
DEC21143, 711, 1022
decoder_t, 283
default-port-forward-target, 592
default-translation
namespace command
ide-disk, 1258
defined, 592
del-map
namespace command
memory-space, 1358
port-space, 1572
delete, 592
namespace command
file-cdrom, 1092
gfx-console, 1129
host-cdrom, 1165
delete-bookmark, 592
delete-sun-vtoc-partition
namespace command
fc-disk, 1082
ide-disk, 1258
scsi-disk, 2027
describe_event, 2598
detach-branch-recorder
namespace command
processor, 2638
devs, 593
dhcp-add-pool
namespace command
service-node, 2095
dhcp-leases
namespace command
service-node, 2095
digit-grouping, 593

dirs, 594
disable, 594
namespace command
processor, 2638
disable-fifo-break
namespace command
voodoo3, 2417
disable-input
namespace command
gfx-console, 1129
disable-quiet
namespace command
text-console, 2309
disable-real-dns
namespace command
service-node, 2095
disable-real-time-mode, 594
disable-service
namespace command
service-node, 2095
disable-window
namespace command
text-console, 2309
disassemble, 595
namespace command
logical-memory-translator, 1330
processor, 2638
disassemble-settings, 595
disconnect
namespace command
AM79C960, 801
AM79C960-dml, 808
BCM5703C, 864
BCM5704C, 883
cassini, 907
central-client, 912
cheerio-hme, 925
component, 949
CS8900A, 991
DEC21041, 1009
DEC21140A, 1015
DEC21143, 1027
eth-transceiver, 1065
gdb-remote, 1118
mii-transceiver, 1369

2731

VIRTUTECH CONFIDENTIAL

INDEX

ppc405gp-emac, 1606
ppc440gp-emac, 1661
ppc440gx-emac, 1735
sbus-hme, 2010
disconnect-real-network, 596
namespace command
ethernet-link, 1070
disconnect-real-network-port-in, 596
disconnect-real-network-port-out, 597
display, 597
dmacache
struct, 135
down, 598
namespace command
processor, 2639
DS12887, 712, 1028
DS12887-dml, 712, 1033
DS1621, 712, 1039
DS1743P, 712, 1040
DS17485, 713, 1042
dstc-disable, 598
dstc-enable, 599
dummy-component, 1047
dump-sun-partition
namespace command
fc-disk, 1082
ide-disk, 1258
scsi-disk, 2027

namespace command
voodoo3, 2417
enable-ftp-alg
namespace command
service-node, 2095
enable-input
namespace command
gfx-console, 1130
enable-quiet
namespace command
text-console, 2309
enable-real-dns
namespace command
service-node, 2096
enable-real-time-mode, 600
enable-service
namespace command
service-node, 2096
enable-window
namespace command
text-console, 2310
enchilada-system, 1054
endianness_t, 76
enum
breakpoint_flag, 162
st_lookup_approx_result, 135
etg, 713, 1058
ETG_New_Arp_Entry, 2705
eth-transceiver, 714, 1063
ether_addr
struct, 135
ethereal, 601
ethernet-link, 714, 1066
ethernet_device, 2594
Ethernet_Frame, 2705
Ethernet_Link, 2705
ethernet_link, 2595
Ethernet_Receive, 2706
Ethernet_Transmit, 2706
eval_cli_line, 387
event_handler_t, 77
event_function_t, 77
event_poster, 2597
event_poster_interface_describe_event_t, 398
event_poster_interface_get_event_info_t, 398

E
ebony-board, 1049
ebony-fpga, 713, 1051
echo, 599
eject
namespace command
ide-cdrom, 1250
scsi-cdrom, 2019
eject-floppy
namespace command
i82077, 1204
else, 599
empty-device, 713, 1052
enable, 600
namespace command
processor, 2639
enable-fifo-break
2732

VIRTUTECH CONFIDENTIAL

INDEX

event_poster_interface_set_event_info_t, 398
events
posting, 315, 318
exception, 2599
exception_type_t, 78
exit, 662
expect, 601
extended_serial, 2600

F
f, 602
namespace command
processor, 2640
FAS366U, 714, 1072
fbdump
namespace command
ragexl, 1939
voodoo3, 2417
voodoo3-agp, 2426
fc-disk, 715, 1078
FC_SCSI_Command, 2706
fforward
namespace command
state-assertion, 2143
fiesta-components, 715
fiesta-system, 715, 1084
fiesta-tomatillo, 715, 1086
file-cdrom, 716, 1091
fin, 601
namespace command
context, 957
finish, 601
namespace command
context, 957
finish-connection
namespace command
rn-eth-bridge-tap, 1953
rn-eth-proxy-tap, 1961
rn-ip-tunnel-tun, 1967
finish-function, 601
namespace command
context, 957
firewire_async_transfer_t, 79
firewire_iso_transfer_t, 81
flash-memory, 716, 1093
floppy-drive, 1096

follow-context
namespace command
gdb-remote, 1118
for_all_assoc_table_func_t, 135
fourport, 716, 1099
fpsr, 602
frame, 602
namespace command
processor, 2639
frontend-server, 716, 1101
ftp-alg, 1102
ftp_alg, 716
function-profile, 603
fwrite, 262, 397

G
g-cache, 717, 1103
g-cache-ooo, 717, 1110
gdb-remote, 603, 717, 1116
GDB_Stopped, 2707
generic-flash-memory, 1120
generic_transaction_t, 82
generic_address_t, 96
get, 603
namespace command
logical-memory-translator, 1330
memory-space, 1359
get-component-object
namespace command
component, 950
get-component-prefix, 604
get-date-time
namespace command
DS12887, 1031
DS12887-dml, 1037
DS1743P, 1041
DS17485, 1046
M5823, 1339
get-nvram-hostid
namespace command
enchilada-system, 1055
serengeti-3800-chassis, 2033
serengeti-4800-chassis, 2037
serengeti-4810-chassis, 2041
serengeti-6800-chassis, 2045
serengeti-cluster-chassis, 2049
2733

VIRTUTECH CONFIDENTIAL

INDEX

sunfire-3500-backplane, 2237
sunfire-4500-backplane, 2241
sunfire-6500-backplane, 2245
taco-system, 2281
get-nvram-mac
namespace command
enchilada-system, 1055
serengeti-3800-chassis, 2033
serengeti-4800-chassis, 2037
serengeti-4810-chassis, 2041
serengeti-6800-chassis, 2045
serengeti-cluster-chassis, 2049
sunfire-3500-backplane, 2237
sunfire-4500-backplane, 2241
sunfire-6500-backplane, 2245
taco-system, 2281
get-prom-env
namespace command
enchilada-system, 1056
fiesta-system, 1085
niagara-simple-system, 1406
serengeti-3800-chassis, 2033
serengeti-4800-chassis, 2037
serengeti-4810-chassis, 2041
serengeti-6800-chassis, 2045
serengeti-cluster-chassis, 2049
serengeti-system, 2072
sunfire-3500-backplane, 2238
sunfire-4500-backplane, 2242
sunfire-6500-backplane, 2246
sunfire-system, 2265
taco-system, 2281
get-time
namespace command
MK48T08, 1392
serengeti-console, 2055
get-variable
namespace command
nvci, 1436
get_available_object_name, 388
get_bp_func_t, 2587
get_bp_ranges_func_t, 2587
get_event_info, 2598
get_event_info_val, 2598
get_object_by_id_t, 2662

gfx-console, 1125
Gfx_Break_String, 2707
grab-setup
namespace command
gfx-console, 1130
GT64120, 717, 1133
GT64120-pci, 1162

H
h, 604
hap_flags_t, 86
hap_type_t, 87
hap_handle_t, 212
help, 604
hex, 604
hide-leds
namespace command
sun4u-systemregs, 2227
hl, 617
host-cdrom, 718, 1164
host-source-at
namespace command
symtable, 2277
hostfs, 718, 1166
ht_entry_t, 135
ht_for_each_entry_func_t, 135
ht_iter_t, 135
ht_sorted_entries_func_t, 135
ht_table_t, 135

I
i-probe
namespace command
cheetah-mmu, 933
cheetah-plus-mmu, 941
jaguar-mmu, 1291
jalapeno-mmu, 1298
niagara-strand-mmu, 1413
panther-mmu, 1452
spitfire-mmu, 2138
i-tlb
namespace command
cheetah-mmu, 933
cheetah-plus-mmu, 941
jaguar-mmu, 1291
jalapeno-mmu, 1298
2734

VIRTUTECH CONFIDENTIAL

INDEX

niagara-strand-mmu, 1414
panther-mmu, 1452
spitfire-mmu, 2138
i21150, 718, 1169
i21152, 718, 1172
i21554, 719
i21554-prim, 1175
i21554-scnd, 1177
i21555, 719
i21555-prim, 1179
i21555-scnd, 1181
i2c-bus, 719, 1183
i386-cpu, 1185
i486dx2-cpu, 1187
i486sx-cpu, 1189
i8042, 1191
i82077, 1201
i8237x2, 1206
i82443bx, 1209
i82443bx_agp, 1211
i82461GX, 1213
i82468GX_0, 1215
i8254, 1216
i8259x2, 1220
ia64-460gx-system, 1223
ia64-components, 719
ia64-itanium, 719, 1225
ia64-itanium2, 720, 1232
ia64_fp_register_t, 114
ia64_interruption_type_t, 115
ia64_interruption_t, 116
ia64_iva_offset_t, 118
ia64_memory_transaction_t, 119
ib, 615
icode_mode_group_t, 135
icode_mode_t, 135
icode_page_t, 135
ICS951601, 720, 1239
id-splitter, 720, 1241
ide, 720, 1242
ide-cdrom, 1245
ide-disk, 1251
ieee_802_3_mac, 2601
ieee_802_3_phy, 2602
if, 605

ifm, 611
namespace command
processor, 2640
ignore, 605
image, 1261, 2603
image_spage_t, 135
import-alpha-components, 605
import-arm-sa1110-components, 606
import-fiesta-components, 606
import-ia64-components, 606
import-isa-components, 606
import-leon2-components, 607
import-malta-components, 607
import-memory-components, 607
import-niagara-simple-components, 607
import-pci-components, 608
import-phy-components, 608
import-pmppc-components, 608
import-ppc-simple-components, 608
import-ppc440gp-components, 608
import-ppc970fx-components, 609
import-serengeti-components, 609
import-std-components, 609
import-sun-components, 609
import-sunfire-components, 610
import-telos-mote-components, 610
import-timing-components, 610
import-usb-components, 610
import-x86-components, 611
include, 669
increment
namespace command
empty-device, 1052
info
namespace command
agp-voodoo3, 784
alpha-lx164-system, 795
AM79C960, 801
AM79C960-dml, 808
AM79C973, 816
apic, 821
apic-bus, 823
arm-sa1110-system, 827
AT24C164, 839
BCM5703C, 864

2735

VIRTUTECH CONFIDENTIAL

INDEX

BCM5704C, 883
bitmask-translator, 885
branch_recorder, 888
cassini, 907
central-client, 912
central-server, 914
cheerio-e2bus, 916
cheerio-hme, 925
cheetah-mmu, 933
cheetah-plus-mmu, 941
CL-PD6729, 945
component, 950
context, 958
cpc700-gpt, 970
cpc700-iic, 973
cpc700-mc, 977
cpc700-pci, 980
cpc700-pi, 981
cpc700-uic, 984
cpu-group, 985
CS8900A, 991
ddr-memory-module, 999
ddr2-memory-module, 1002
DEC21041, 1009
DEC21140A, 1015
DEC21143, 1027
DS12887, 1032
DS12887-dml, 1037
DS17485, 1046
dummy-component, 1047
ebony-board, 1050
empty-device, 1053
enchilada-system, 1056
etg, 1061
eth-transceiver, 1065
ethernet-link, 1071
FAS366U, 1077
fc-disk, 1082
fiesta-system, 1085
floppy-drive, 1097
fourport, 1100
g-cache, 1108
g-cache-ooo, 1114
gdb-remote, 1118
generic-flash-memory, 1124

hostfs, 1168
i21150, 1170
i21152, 1173
i2c-bus, 1184
i386-cpu, 1186
i486dx2-cpu, 1188
i486sx-cpu, 1190
i8042, 1198
i82077, 1204
i8237x2, 1208
i82443bx, 1210
i82461GX, 1214
i8254, 1219
i8259x2, 1222
ia64-460gx-system, 1224
ide, 1243
ide-cdrom, 1250
ide-disk, 1259
io-apic, 1266
ISA, 1268
isa-lance, 1270
isa-vga, 1272
ISP1040, 1277
ISP2200, 1282
itanium-cpu, 1284
jaguar-mmu, 1291
jalapeno-mmu, 1299
legacy-pc-devices, 1300
leon2-simple, 1312
local-space-mapper, 1326
M5823, 1340
malta-system, 1343
memory-space, 1359
mii-transceiver, 1370
mips, 2619
niagara-simple-system, 1406
north-bridge-443bx, 1415
north-bridge-443bx-agp, 1417
north-bridge-875p, 1419
north-bridge-e7520, 1421
north-bridge-k8, 1423
NS16450, 1428
NS16550, 1432
nvci, 1436
opteron-cpu, 1445

2736

VIRTUTECH CONFIDENTIAL

INDEX

panther-mmu, 1452
pc-dual-serial-ports, 1455
pc-floppy-controller, 1457
pc-quad-serial-ports, 1459
pc-shadow, 1462
pc-single-parallel-port, 1463
pci-am79c973, 1471
pci-backplane, 1472
pci-bcm5703c, 1475
pci-bcm5704c, 1477
pci-bus, 1479
pci-dec21041, 1481
pci-dec21140a, 1483
pci-dec21140a-dml, 1485
pci-dec21143, 1487
pci-i21152, 1488
pci-i82543gc, 1491
pci-i82546bg, 1493
pci-isp1040, 1495
pci-isp2200, 1497
pci-pd6729, 1498
pci-pmc1553-bc, 1500
pci-rage-pm-mobility-pci, 1502
pci-ragexl, 1504
pci-sil680a, 1506
pci-sym53c810, 1509
pci-sym53c875, 1511
pci-sym53c876, 1512
pci-vga, 1515
pci-voodoo3, 1516
pcie-pex8524, 1520
pcie-switch, 1522
pentium-4-cpu, 1524
pentium-4e-2ht-cpu, 1526
pentium-4e-4ht-cpu, 1528
pentium-4e-cpu, 1530
pentium-cpu, 1532
pentium-ii-cpu, 1534
pentium-iii-cpu, 1536
pentium-m-cpu, 1538
pentium-mmx-cpu, 1540
pentium-pro-cpu, 1542
phy-mii-transceiver, 1548
piix4_ide, 1551
piix4_isa, 1553

piix4_power, 1556
piix4_usb, 1562
pmppc-board, 1566
port-space, 1572
ppc-broadcast-bus, 1575
ppc-of, 1577
ppc-simple, 1579
ppc440gp-emac, 1661
ppc440gx-emac, 1735
ppc970-simple, 1911
processor, 2640
ps2-keyboard-mouse, 1929
pyxis, 1933
ragexl, 1939
ram, 1942
recorder, 1944
rn-eth-bridge-raw, 1950
rn-eth-bridge-tap, 1953
rn-eth-proxy-raw, 1957
rn-eth-proxy-tap, 1961
rn-ip-router-raw, 1964
rn-ip-tunnel-tun, 1967
rom, 1970
SA1110-device, 1973
sample-device, 1975
sample-device-python, 1976
sample-gcache, 1978
sample-ma-model, 1982
sample-ooo-model, 1985
sample-x86-ma-model, 1989
sbbc-pci, 2000
sbus-hme, 2010
scsi-bus, 2012
scsi-cdrom, 2019
scsi-disk, 2027
sdram-memory-module, 2030
serengeti-3800-chassis, 2034
serengeti-4800-chassis, 2038
serengeti-4810-chassis, 2042
serengeti-6800-chassis, 2046
serengeti-cluster-chassis, 2050
serengeti-console, 2055
serengeti-cpci4-board, 2060
serengeti-pci8-board, 2062
serengeti-sp-cpci6-board, 2069

2737

VIRTUTECH CONFIDENTIAL

INDEX

serengeti-system, 2072
serengeti-us-iii-cpu-board, 2074
serengeti-us-iii-plus-cpu-board, 2076
serengeti-us-iv-cpu-board, 2078
serengeti-us-iv-plus-cpu-board, 2080
serial-link, 2082
server-console, 2087
service-node, 2096
service-node-device, 2099
signal-bus, 2102
simple-byte-dump, 2111
simple-fc-disk, 2114
sio-lpc47m172, 2116
sio-w83627hf, 2117
south-bridge-6300esb, 2121
south-bridge-amd8111, 2122
south-bridge-md1535d, 2124
south-bridge-piix4, 2126
south-bridge-saturn, 2128
south-bridge-sun-md1535d, 2130
sparc-irq-bus, 2133
spitfire-mmu, 2138
state-assertion, 2143
std-etg, 2145
std-ethernet-link, 2147
std-graphics-console, 2149
std-host-serial-console, 2150
std-ide-cdrom, 2152
std-ide-disk, 2155
std-ms1553-link, 2156
std-pcmcia-flash-disk, 2159
std-scsi-bus, 2160
std-scsi-cdrom, 2163
std-scsi-disk, 2165
std-serial-link, 2166
std-server-console, 2169
std-service-node, 2171
std-super-io, 2173
std-text-console, 2175
std-text-graphics-console, 2176
sun-cpci-hme-isp, 2182
sun-cpci-isp-isp, 2184
sun-cpci-qlc-qlc, 2186
sun-pci-ce, 2194
sun-pci-hme, 2196

sun-pci-hme-isp, 2198
sun-pci-pgx64, 2199
sun-pci-qlc, 2202
sun-pci-qlc-qlc, 2204
sun-sbus-fas-hme, 2206
sun-type5-keyboard, 2207
sun-type5-mouse, 2209
sun4u-clockregs, 2214
sun4u-counter, 2217
sun4u-fhc, 2222
sun4u-simm-status, 2224
sun4u-systemregs, 2227
sun4u-temperature, 2229
sun4v-rtc, 2234
sunfire-3500-backplane, 2238
sunfire-4500-backplane, 2242
sunfire-6500-backplane, 2246
sunfire-cpu-board, 2249
sunfire-pci-board, 2251
sunfire-psycho, 2256
sunfire-sbus-board, 2258
sunfire-sysio, 2262
sunfire-system, 2265
SYM53C810, 2269
SYM53C875, 2272
taco-system, 2282
telos-environment, 2287
telos-io-ports, 2291
telos-mote, 2293
text-console, 2310
top-component, 2316
trans-sorter, 2319
trans-splitter-ooo, 2323
v9-sol9-idle-opt, 2398
vga, 2403
vga_pci, 2409
voodoo3, 2417
voodoo3-agp, 2426
x86-apic-bus-system, 2450
x86-apic-system, 2454
x86-e7520-system, 2458
x86-hammer-cpu, 2493
x86-reset-bus, 2560
x86-separate-mem-io-system, 2564
x86-system, 2568

2738

VIRTUTECH CONFIDENTIAL

INDEX

x86-tlb, 2570
x87_exception, 2572
xeon-prestonia-cpu, 2574
info-breakpoints, 615
ini_type_t, 84
input
namespace command
gfx-console, 1130
server-console, 2087
text-console, 2310
input-file
namespace command
server-console, 2087
text-console, 2310
insert
namespace command
ide-cdrom, 1250
scsi-cdrom, 2019
insert-floppy
namespace command
i82077, 1204
insert_bp_func_t, 2587
instantiate-components, 611
instr_type_t, 88
instr_info_dep_t, 2634
instr_info_t, 2634
instruction-fetch-mode, 611
namespace command
processor, 2640
instruction-profile-mode, 612
instruction_error_t, 89
instruction_phase_t, 90
instruction_status_t, 91
instruction_info_t, 284, 287
instruction_trace_callback_t, 135
int16, 92
int32, 92
int64, 92
int8, 92
int_register, 2604
integer_t, 92
interface_list_t, 135
interrupt-script-branch, 612
interrupt-status, 612
interrupt_ack, 2606

interrupt_ack_fn_t, 2606, 2607


interrupt_ack_t, 2660
interrupt_by_id_t, 2662
interrupt_cpu, 2607
interrupt_cpu_t, 2660
interval_set_iter_t, 135
interval_set_t, 135
intervals_func_t, 135
intptr_t, 92
io-apic, 721, 1265
io-read
namespace command
processor, 2640
io-write
namespace command
processor, 2641
io_memory, 2608
io_trace_log_t, 135
io_trace_t, 135
ioreg
namespace command
voodoo3, 2418
voodoo3-agp, 2426
ipm, 612
ireg_info_t, 2604
irq-info
namespace command
sunfire-psycho, 2256
sunfire-sysio, 2262
ISA, 1267
isa, 721
isa-components, 721
isa-lance, 1269
isa-vga, 1271
ISP1040, 722, 1273
ISP2200, 722, 1278
istc-disable, 612
istc-enable, 613
itanium-cpu, 1283

J
jaguar-mmu, 722, 1285
jalapeno-mmu, 723, 1293

K
kbd-abort
2739

VIRTUTECH CONFIDENTIAL

INDEX

namespace command
server-console, 2088
text-console, 2311
Z8530, 2576
key-down
namespace command
i8042, 1198
sun-keyboard, 2188
key-switch
namespace command
sunfire-3500-backplane, 2238
sunfire-4500-backplane, 2242
sunfire-6500-backplane, 2246
key-up
namespace command
i8042, 1198
sun-keyboard, 2188
keyboard, 2610

list, 614
namespace command
processor, 2641
symtable, 2277
list-asis
namespace command
sparc_v9, 2667
list-attributes, 614
list-bookmarks, 614
list-break-strings
namespace command
server-console, 2088
text-console, 2311
list-breakpoints, 615
list-classes, 615
list-components, 616
list-directories, 616
list-failed-modules, 616
list-hap-callbacks, 617
list-haps, 617
list-host-info
namespace command
service-node, 2096
list-memory-profilers
namespace command
processor, 2641
list-modules, 617
list-namespaces, 618
list-objects, 618
list-port-forwarding-setup, 619
list-script-branches, 619
list-variables
namespace command
nvci, 1437
list-vars, 619
load-binary, 620
namespace command
memory-space, 1359
processor, 2641
load-file, 621
namespace command
memory-space, 1360
load-module, 621
load-persistent-state, 622
load-rom, 622

L
l2p, 625
namespace command
logical-memory-translator, 1330
processor, 2642
lang_void, 93
lb, 615
left-button
namespace command
i8042, 1198
sun-mouse, 2190
legacy-pc-devices, 1300
leon2, 1302
leon2-components, 723
leon2-devices, 724
leon2-simple, 1311
leon2_cfg, 1313
leon2_ioport, 1315
leon2_irq, 1316
leon2_timer, 1318
leon2_uart, 1320
license, 614
linear_address_t, 96
links
namespace command
central-client, 912
linux-process-tracker, 724, 1322
2740

VIRTUTECH CONFIDENTIAL

INDEX

load-symbols
namespace command
symtable, 2277
local-space-mapper, 724, 1325
log, 622
namespace command
log_object, 2613
log-group
namespace command
log_object, 2613
log-level, 623
namespace command
log_object, 2613
log-object, 1327
log-setup, 623
log-size, 624
namespace command
log_object, 2614
log-type, 624
namespace command
log_object, 2614
log_object_t, 94
log_type_t, 95
log_object, 2611, 2612
logical-memory-translator, 724, 1329
logical-to-physical, 624
namespace command
logical-memory-translator, 1330
processor, 2642
logical_address_t, 96
lookup-file, 665
ls, 625
LX164-IRQ-PLD, 725, 1332
LX164-NVRAM, 725, 1334

memory-space, 1360
port-space, 1572
map_info_t, 97
map_list_t, 98
map_demap, 2615
map_func_t, 2608
map_info_t, 98
map_type_t, 97, 98
max, 626
MD1535D, 726
MD1535D-acpi, 1344
MD1535D-cfg, 1345
MD1535D-ide, 1347
MD1535D-isa, 1350
MD1535D-power, 1352
MD1535D-smb, 1354
MD1535D-unknown, 1355
mem_op_type_t, 99
memory-components, 726
memory-configuration
namespace command
x86, 2677
memory-space, 1356
memory-usage, 627
memory_space, 2616
memory_space_interface_t, 2616
microwire, 2618
microwire-eeprom, 727, 1362
middle-button
namespace command
i8042, 1199
sun-mouse, 2190
mii-management-bus, 727, 1364
mii-transceiver, 727, 1366
min, 627
mips, 2619
mips-4kc, 727, 1371
mips-4kc-turbo, 728
mips-5kc, 728, 1381
mips-5kc-turbo, 728
mips_memory_transaction_t, 120
MIPS_Processor_Reset, 2707
MK48T08, 728, 1391
MM_FREE, 380
MM_MALIGN, 381

M
M5823, 725, 1336
magic-break-disable, 625
magic-break-enable, 626
magic-break-query, 626
malta, 725, 1341
malta-components, 726
malta-system, 1342
man, 604
map
namespace command
2741

VIRTUTECH CONFIDENTIAL

INDEX

MM_MALLOC, 382
MM_MALLOC_SZ, 382
MM_REALLOC, 383
MM_REALLOC_SZ, 383
MM_STRDUP, 384
MM_ZALIGN, 381
MM_ZALLOC, 382
MM_ZALLOC_SZ, 382
MM_ZREALLOC, 383
MM_ZREALLOC_SZ, 383
mmu, 2621
MMU_Context_Register_Write, 2708
MMU_Data_TLB_Demap, 2708
MMU_Data_TLB_Map, 2708
MMU_Data_TLB_Overwrite, 2709
MMU_Data_TLB_Replace, 2709
mmu_error_info_t, 135
MMU_Instruction_TLB_Demap, 2709
MMU_Instruction_TLB_Map, 2710
MMU_Instruction_TLB_Overwrite, 2710
MMU_Instruction_TLB_Replace, 2711
MMU_Register_Write, 2711
module-list, 618
module-list-failed, 616
module-list-refresh, 627
mouse, 2622
mouse-down
namespace command
i8042, 1199
sun-mouse, 2190
mouse-left
namespace command
i8042, 1199
sun-mouse, 2191
mouse-right
namespace command
i8042, 1199
sun-mouse, 2191
mouse-up
namespace command
i8042, 1200
sun-mouse, 2191
msp430, 729, 1394
msrs
namespace command

x86, 2677

N
n, 648
namespace command
context, 958
nano_secs_t, 109
native-path, 627
network-helper, 628
new-arm-sa1110-system, 628
new-branch-recorder, 628
new-central-server, 629
new-context, 629
new-context-switcher, 630
new-cpu-mode-tracker, 630
new-ddr-memory-module, 630
new-ddr2-memory-module, 630
new-dummy-component, 631
new-ebony-board, 631
new-etg, 631
new-ethernet-link, 632
new-file-cdrom, 632
new-flash-memory, 729
new-gdb-remote, 632
new-host-cdrom, 633
new-ia64-460gx-system, 633
new-leon2-simple, 633
new-linux-process-tracker, 634
new-niagara-simple-system, 634
new-pcie-pex8524, 635
new-pmppc-board, 635
new-ppc-simple, 635
new-ppc32-linux-process-tracker, 636
new-ppc64-linux-process-tracker, 636
new-ppc970-simple, 636
new-sample-gcache, 637
new-sample-ma-model, 637
new-sample-ooo-model, 637
new-sample-x86-ma-model, 638
new-sdram-memory-module, 638
new-serengeti-3800-chassis, 638
new-serengeti-4800-chassis, 639
new-serengeti-4810-chassis, 639
new-serengeti-6800-chassis, 639
new-serengeti-cluster-chassis, 640
new-serial-link, 640
2742

VIRTUTECH CONFIDENTIAL

INDEX

new-service-node, 640
new-south-bridge-6300esb, 641
new-std-etg, 641
new-std-ethernet-link, 641
new-std-graphics-console, 642
new-std-host-serial-console, 642
new-std-ms1553-link, 642
new-std-pcmcia-flash-disk, 643
new-std-serial-link, 643
new-std-server-console, 643
new-std-service-node, 644
new-std-text-console, 644
new-std-text-graphics-console, 644
new-sun-type5-keyboard, 645
new-sun-type5-mouse, 645
new-symtable, 645
new-telos-mote, 646
new-tracer, 646
new-x86-linux-process-tracker, 647
new_command, 389
new_dbuffer, 378
new_info_command, 394
new_status_command, 395
next, 648
namespace command
context, 958
next-instruction, 647
namespace command
context, 958
next-line, 648
namespace command
context, 958
nexti, 647
namespace command
context, 958
ni, 647
namespace command
context, 958
niagara-core-mmu, 1400
niagara-devices, 729
niagara-dram-ctl, 1402
niagara-iob, 1403
niagara-l2c, 1404
niagara-simple-components, 729
niagara-simple-system, 1405

niagara-strand-mmu, 1408
no-window
namespace command
text-console, 2311
north-bridge-443bx, 1415
north-bridge-443bx-agp, 1417
north-bridge-875p, 1419
north-bridge-e7520, 1421
north-bridge-k8, 1423
not, 648
notify_mode_t, 298
NS16450, 730, 1425
NS16550, 730, 1429
number_str, 390
nvci, 1433

O
object_expander, 391
off
namespace command
context, 959
on
namespace command
context, 959
ooo-micro-arch, 730
ooo_micro_arch, 1438
open
namespace command
gfx-console, 1130
text-console, 2311
open-pic, 730, 1439
opencores_eth, 1441
operate_func_t, 2670
operation_func_t, 2608
opteron-cpu, 1444
or, 649
os_time_t, 135
os_tm
struct, 135
output-file-start, 649
output-file-stop, 649
output-radix, 649
output_handler_t, 259

P
p, 657
2743

VIRTUTECH CONFIDENTIAL

INDEX

p2_memory_transaction_t, 132
packet-rate
namespace command
etg, 1061
packet-size
namespace command
etg, 1062
page_info_t, 135
page_t, 83
palcode_memop_flags_t, 121
panther-mmu, 730, 1446
pc-config, 731, 1454
pc-dual-serial-ports, 1455
pc-floppy-controller, 1457
pc-quad-serial-ports, 1459
pc-shadow, 731, 1461
pc-single-parallel-port, 1463
pc_step_t, 109
pcapdump, 650
PCF8582C, 731, 1465
PCF8584, 731, 1467
PCF8587, 732, 1469
pci-a-iommu-translate
namespace command
fiesta-tomatillo, 1089
serengeti-schizo, 2067
pci-a-irqs
namespace command
serengeti-schizo, 2067
pci-a-regs
namespace command
fiesta-tomatillo, 1089
serengeti-schizo, 2067
pci-am79c973, 1470
pci-b-iommu-translate
namespace command
fiesta-tomatillo, 1089
serengeti-schizo, 2067
pci-b-irqs
namespace command
serengeti-schizo, 2068
pci-b-regs
namespace command
fiesta-tomatillo, 1089
serengeti-schizo, 2068

pci-backplane, 1472
pci-bcm5703c, 1474
pci-bcm5704c, 1476
pci-bus, 732, 1478
pci-components, 732
pci-dec21041, 1480
pci-dec21140a, 1482
pci-dec21140a-dml, 1484
pci-dec21143, 1486
pci-header
namespace command
AM79C973, 816
BCM5703C, 864
BCM5704C, 883
cassini, 907
cheerio-e2bus, 916
cheerio-hme, 925
CL-PD6729, 945
DEC21041, 1009
DEC21140A, 1015
DEC21143, 1027
i21150, 1170
i21152, 1173
i82443bx, 1210
i82443bx_agp, 1212
ISP1040, 1277
ISP2200, 1282
ragexl, 1939
sbbc-pci, 2000
SYM53C810, 2269
SYM53C875, 2272
pci-i21152, 1488
pci-i82543gc, 1490
pci-i82546bg, 1492
pci-irqs
namespace command
fiesta-tomatillo, 1089
pci-isp1040, 1494
pci-isp2200, 1496
pci-pd6729, 1498
pci-pmc1553-bc, 1500
pci-rage-pm-mobility-pci, 1502
pci-ragexl, 1504
pci-sil680a, 1506
pci-sym53c810, 1508

2744

VIRTUTECH CONFIDENTIAL

INDEX

pci-sym53c875, 1510
pci-sym53c876, 1512
pci-vga, 1514
pci-voodoo3, 1516
PCI0646, 734, 1518
pci_memory_transaction_t, 100
PCI_add_config_register, 330
pci_bridge, 2623
PCI_bridge_default_access_not_taken, 331
PCI_bridge_default_interrupt_lowered, 332
PCI_bridge_default_interrupt_raised, 333
PCI_bridge_default_system_error, 334
PCI_bridge_init, 335
PCI_bridge_map_setup, 336
pci_bus, 2624
PCI_config_register_name, 337
PCI_config_register_size, 338
PCI_configuration_access, 339
PCI_data_from_memory, 340
PCI_data_to_memory, 340
PCI_default_configuration_read_access, 341
PCI_default_configuration_write_access, 342
PCI_default_device_reset, 343
pci_device, 2625
PCI_device_init, 344
pci_express, 2626
PCI_get_bus_address, 345
PCI_get_config_register_mask, 346
PCI_get_map_always_on, 353
PCI_get_map_base, 353
PCI_get_map_enable, 353
PCI_get_map_ignore_command, 353
PCI_get_map_offset, 353
PCI_get_map_size, 353
PCI_get_may_stall, 355
PCI_handle_mapping32, 347
PCI_handle_mapping64, 347
pci_interrupt, 2628
PCI_lower_interrupt, 348
PCI_lower_interrupt_pin, 348
PCI_raise_interrupt, 348
PCI_raise_interrupt_pin, 348
PCI_read_config_register, 349
PCI_read_sized_config_register, 349
PCI_register_bridge_attributes, 350

2745

PCI_register_device_attributes, 351
PCI_set_config_register_mask, 352
PCI_set_map_always_on, 353
PCI_set_map_base, 353
PCI_set_map_enable, 353
PCI_set_map_ignore_command, 353
PCI_set_map_offset, 353
PCI_set_map_size, 353
PCI_set_may_stall, 355
PCI_system_error, 356
PCI_value_from_memory, 357
PCI_value_to_memory, 357
PCI_write_config_register, 349
PCI_write_sized_config_register, 358
pcie-pex8524, 1519
pcie-switch, 734, 1521
PCIE_send_message, 328
pdisable, 650
penable, 650
pentium-4-cpu, 1523
pentium-4e-2ht-cpu, 1525
pentium-4e-4ht-cpu, 1527
pentium-4e-cpu, 1529
pentium-cpu, 1531
pentium-ii-cpu, 1533
pentium-iii-cpu, 1535
pentium-m-cpu, 1537
pentium-mmx-cpu, 1539
pentium-pro-cpu, 1541
peq, 658
perfanalyze, 1543
perfanalyze-client, 734, 1545
persistent-ram, 1546
pfregs, 651, 652
pgreg
namespace command
ragexl, 1939
phy-components, 734
phy-mii-transceiver, 1547
physical_address_t, 96
pid, 652
piix4, 735
piix4_ide, 1549
piix4_isa, 1552
piix4_power, 1554

VIRTUTECH CONFIDENTIAL

INDEX

piix4_usb, 1557
piix4_usb_dummy, 1563
pin, 2629
pipe, 652
piprs, 653
plain-symbols
namespace command
symtable, 2277
playback-start
namespace command
recorder, 1944
server-console, 2088
text-console, 2311
playback-stop
namespace command
recorder, 1944
server-console, 2088
text-console, 2312
pmppc-board, 1565
pmppc-components, 735
poll-rate
namespace command
gfx-console, 1131
popd, 653
port-forward-incoming-server, 1567
port-forward-outgoing-server, 1569
port-space, 1571
port_space, 2630
pos, 653
namespace command
processor, 2642
symtable, 2278
post event, 315, 318
pow, 654
ppc, 2631
ppc-broadcast-bus, 735, 1574
ppc-of, 735, 1576
ppc-simple, 1578
ppc-simple-components, 736
ppc32-linux-process-tracker, 736, 1580
ppc405gp, 736, 1582
ppc405gp-cpc, 1596
ppc405gp-ebc, 1598
ppc405gp-emac, 1601
ppc405gp-gpio, 1608

ppc405gp-iic, 1609
ppc405gp-mal, 1612
ppc405gp-mc, 1616
ppc405gp-pci, 1618
ppc405gp-turbo, 737
ppc405gp-uic, 1621
ppc440gp, 737, 1624
ppc440gp-components, 737
ppc440gp-cpc, 1642
ppc440gp-dma, 1645
ppc440gp-ebc, 1650
ppc440gp-emac, 1656
ppc440gp-gpio, 1663
ppc440gp-iic, 1665
ppc440gp-mal, 1669
ppc440gp-mc, 1673
ppc440gp-pci, 1677
ppc440gp-plb, 1686
ppc440gp-sram, 1688
ppc440gp-turbo, 738
ppc440gp-uic, 1690
ppc440gp-zmii, 1693
ppc440gx, 738, 1695
ppc440gx-cpc, 1714
ppc440gx-cpr, 1717
ppc440gx-dma, 1719
ppc440gx-ebc, 1724
ppc440gx-emac, 1730
ppc440gx-gpio, 1737
ppc440gx-iic, 1739
ppc440gx-l2c, 1743
ppc440gx-mal, 1745
ppc440gx-opb, 1750
ppc440gx-pci, 1752
ppc440gx-plb, 1761
ppc440gx-rgmii, 1763
ppc440gx-sdr, 1764
ppc440gx-sdram, 1768
ppc440gx-sram, 1771
ppc440gx-turbo, 738
ppc440gx-uic, 1773
ppc440gx-zmii, 1776
ppc603e, 739, 1778
ppc603e-turbo, 739
ppc64-linux-process-tracker, 739, 1793

2746

VIRTUTECH CONFIDENTIAL

INDEX

ppc64_sfmode_change, 2711
ppc7400, 740, 1795
ppc7400-turbo, 740
ppc7447, 740, 1811
ppc7447-turbo, 741
ppc7450, 741, 1829
ppc7450-turbo, 741
ppc7457, 742, 1845
ppc7457-turbo, 742
ppc750, 742, 1863
ppc750-turbo, 743
ppc750fx, 743, 1878
ppc750fx-turbo, 743
ppc750gx, 744, 1894
ppc750gx-turbo, 744
ppc970-simple, 1910
ppc970fx, 744, 1912
ppc970fx-components, 745
ppc970fx-turbo, 745
ppc_mem_instr_origin_t, 122
ppc_memory_transaction_t, 124
PPC_Attention, 2712
ppc_mc_exc_t, 2631
PPC_Processor_Reset, 2712
PPC_TLB_Invalidate_Entry, 2712
preferences, 1927
pregs, 654
namespace command
fiesta-tomatillo, 1089
processor, 2643
serengeti-schizo, 2068
pregs-all, 654
pregs-altivec, 654
namespace command
ppc7400, 1809
pregs-fpu, 655
namespace command
mips, 2619
ppc603e, 1791
sparc_v9, 2667
x86, 2678
pregs-hyper, 655, 656
namespace command
processor, 2643
pregs-sse

namespace command
x86, 2678
print, 656
print-branch-arcs
namespace command
branch_recorder, 888
print-directories, 657
print-double-regs, 657
print-dtlb, 658
namespace command
ppc603e, 1791
ppc7400, 1809
ppc7447, 1827
ppc7450, 1844
ppc7457, 1862
ppc750, 1877
ppc750fx, 1893
ppc750gx, 1909
print-event-queue, 658
print-float-regs, 658
print-float-regs-raw, 659
print-gdt
namespace command
x86, 2678
print-idt
namespace command
x86, 2678
print-itlb, 659
namespace command
ppc603e, 1791
ppc7400, 1809
ppc7447, 1827
ppc7450, 1844
ppc7457, 1862
ppc750, 1877
ppc750fx, 1893
ppc750gx, 1909
print-partition-info
namespace command
ide-disk, 1259
scsi-disk, 2027
print-partition-table
namespace command
ide-disk, 1259
scsi-disk, 2028

2747

VIRTUTECH CONFIDENTIAL

INDEX

print-shadow-tlb
namespace command
ppc440gp, 1641
ppc440gx, 1712
print-slb
namespace command
ppc970fx, 1925
print-statistics, 659
namespace command
processor, 2643
print-sun-vtoc
namespace command
fc-disk, 1083
ide-disk, 1259
scsi-disk, 2028
print-time, 660
namespace command
processor, 2643
print-tlb, 660
namespace command
mips, 2619
ppc970fx, 1925
print-utlb
namespace command
ppc405gp, 1595
ppc440gp, 1641
ppc440gx, 1712
printf, 262, 397
process-list
namespace command
linux-process-tracker, 1323
processor, 2633
processor_mode_t, 101
processor_t, 102
prof_data_address_t, 135
prof_data_counter_t, 135
prof_data_func_t, 135
prof_data_iter_t, 135
prof_data_t, 135
ps2-keyboard-mouse, 1929
pscc-regs
namespace command
arm, 2584
psel, 660
pselect, 660

pseudo_exceptions_t, 103
psreg
namespace command
ragexl, 1939
pstats, 659
pstatus, 661
psym, 661
namespace command
processor, 2644
ptime, 660
namespace command
processor, 2644
pushd, 661
putchar, 262, 397
puts, 262, 397
pwd, 662
python, 662, 1931
Python_Tab_Completion, 2713
pyxis, 745, 1932

Q
q, 662
quiet
namespace command
text-console, 2312
quiet_run_command, 392
quit, 662

R
r, 669
radix_bottom_t, 135
radix_middle_t, 135
radix_top_t, 135
ragexl, 746, 1934
ram, 1941, 2652
rand_state_t, 135
range-sum
namespace command
sample-device, 1975
range_node_t, 135
rc, 670
read
namespace command
processor, 2644
read-configuration, 663
read-fp-reg-i, 663
2748

VIRTUTECH CONFIDENTIAL

INDEX

read-fp-reg-x, 663
read-ipr, 664
read-only
namespace command
text-console, 2312
read-reg, 664
namespace command
processor, 2644
read_or_write_t, 105
readme, 664
real-network, 746
record-start
namespace command
server-console, 2089
text-console, 2313
record-stop
namespace command
server-console, 2089
text-console, 2313
recorder, 746, 1943
recorder-save
namespace command
recorder, 1945
recorder-start
namespace command
recorder, 1945
recorder-stop
namespace command
recorder, 1945
redraw
namespace command
ragexl, 1939
vga, 2403
vga_pci, 2409
voodoo3, 2418
voodoo3-agp, 2426
refresh
namespace command
gfx-console, 1131
refresh-rate
namespace command
ragexl, 1940
vga, 2403
vga_pci, 2409
voodoo3, 2418

voodoo3-agp, 2426
reg2d
namespace command
voodoo3, 2418
voodoo3-agp, 2427
reg3d
namespace command
voodoo3, 2418
voodoo3-agp, 2427
reg_info_t, 284, 287, 2634
register-number
namespace command
processor, 2645
register_id_t, 125
register_type_t, 106
regs
namespace command
cheetah-mmu, 933
cheetah-plus-mmu, 941
jaguar-mmu, 1291
jalapeno-mmu, 1299
niagara-strand-mmu, 1414
panther-mmu, 1452
spitfire-mmu, 2138
remove-memory-profiler
namespace command
processor, 2645
remove-processor
namespace command
tracker, 2672
remove-profiler
namespace command
g-cache, 1108
g-cache-ooo, 1114
remove_bp_func_t, 2587
remove_bp_range_func_t, 2587
render
namespace command
voodoo3, 2418
reset
namespace command
msp430, 1399
reset-cache-lines
namespace command
g-cache, 1108

2749

VIRTUTECH CONFIDENTIAL

INDEX

g-cache-ooo, 1114
reset-statistics
namespace command
g-cache, 1108
g-cache-ooo, 1115
trans-splitter-ooo, 2323
reset_all_t, 2662
resolve-file, 665
rev, 665
rev-execution, 746, 1946
reverse, 665
reverse-lookup
namespace command
cheetah-mmu, 933
cheetah-plus-mmu, 942
jaguar-mmu, 1292
jalapeno-mmu, 1299
panther-mmu, 1453
spitfire-mmu, 2139
reverse-next-instruction, 665
namespace command
context, 959
reverse-next-line, 666
namespace command
context, 960
reverse-step-instruction, 667
namespace command
context, 961
reverse-step-line, 667
namespace command
context, 961
reverse-to, 668
reverse-until-active
namespace command
context, 962
revto, 668
rexec-limit, 668
Rexec_Limit_Exceeded, 2713
right-button
namespace command
i8042, 1200
sun-mouse, 2192
rlimit, 668
rn, 666
namespace command

context, 960
rn-eth-bridge-raw, 1948
rn-eth-bridge-tap, 1951
rn-eth-proxy-raw, 1955
rn-eth-proxy-tap, 1958
rn-ip-router-raw, 1962
rn-ip-tunnel-tun, 1965
rnext, 666
namespace command
context, 960
rnexti, 665
namespace command
context, 960
rni, 665
namespace command
context, 960
rom, 1969, 2653
rom-device, 747, 1971
root
namespace command
hostfs, 1168
route
namespace command
service-node, 2096
route-add
namespace command
service-node, 2097
rs, 667
namespace command
context, 961
rs232_device, 2654
rse-status, 669
rsi, 667
namespace command
context, 961
rstep, 667
namespace command
context, 961
rstepi, 667
namespace command
context, 961
RTC_Nvram_Update, 2713
run, 669
run-command-file, 669
run-cycles, 670

2750

VIRTUTECH CONFIDENTIAL

INDEX

run-python-file, 670
run-until-active
namespace command
context, 962
run_command, 393

sb16, 749, 1996


sba, 682
namespace command
processor, 2647
sbbc-pci, 749, 1998
sbus-hme, 749, 2002
sbus-info
namespace command
sunfire-sysio, 2262
sc, 682
script-branch, 672
scs, 683
scsi-bus, 749, 2011
scsi-cdrom, 750, 2014
scsi-disk, 750, 2020
SCSI_CDROM_Command, 2714
SCSI_Disk_Command, 2714
sdram-memory-module, 2029
select-profiles, 672
serengeti-3800-chassis, 2032
serengeti-4800-chassis, 2036
serengeti-4810-chassis, 2040
serengeti-6800-chassis, 2044
serengeti-cluster-chassis, 2048
serengeti-components, 750
serengeti-console, 751, 2052
serengeti-console-old, 2056
serengeti-cpci4-board, 2060
serengeti-pci8-board, 2062
serengeti-schizo, 752, 2064
serengeti-sp-cpci6-board, 2069
serengeti-system, 752, 2071
serengeti-us-iii-cpu-board, 2073
serengeti-us-iii-plus-cpu-board, 2075
serengeti-us-iv-cpu-board, 2077
serengeti-us-iv-plus-cpu-board, 2079
serial-link, 752, 2081
serial_device, 2655
serial_link, 2656
server-console, 2084
server-console-c, 752
service-node, 752, 2091
service-node-device, 2098
service_routine_t, 284, 287
set, 672

S
s, 684
namespace command
context, 963
SA1110, 747
SA1110-device, 1972
sample-device, 747, 1974
sample-device-python, 747, 1976
sample-gcache, 1978
sample-i2c-device, 748, 1980
sample-ma-model, 1982
sample-memhier, 748, 1984
sample-micro-arch, 748
sample-micro-arch-x86, 748
sample-ooo-model, 1985
sample-pci-device, 748, 1987
sample-user-decoder, 749
sample-x86-ma-model, 1989
sample_micro_arch, 1991
sample_micro_arch_x86, 1993
sapic-bus, 749, 1995
save
namespace command
image, 1263
save-bmp
namespace command
gfx-console, 1131
save-break-xy
namespace command
gfx-console, 1131
save-component-template, 671
save-diff-file
namespace command
ide-disk, 1259
image, 1264
scsi-disk, 2028
save-persistent-state, 671
sb, 681
namespace command
processor, 2647
2751

VIRTUTECH CONFIDENTIAL

INDEX

namespace command
image, 1264
logical-memory-translator, 1331
memory-space, 1361
set-bookmark, 673
set-component-prefix, 673
set-context, 674
namespace command
processor, 2645
set-date-time
namespace command
DS12887, 1032
DS12887-dml, 1038
DS1743P, 1041
DS17485, 1046
M5823, 1340
set-memory, 753, 2100
set-memory-limit, 674
set-nvram-hostid
namespace command
enchilada-system, 1056
serengeti-3800-chassis, 2034
serengeti-4800-chassis, 2038
serengeti-4810-chassis, 2042
serengeti-6800-chassis, 2046
serengeti-cluster-chassis, 2050
sunfire-3500-backplane, 2238
sunfire-4500-backplane, 2242
sunfire-6500-backplane, 2246
taco-system, 2282
set-nvram-mac
namespace command
enchilada-system, 1056
serengeti-3800-chassis, 2034
serengeti-4800-chassis, 2038
serengeti-4810-chassis, 2042
serengeti-6800-chassis, 2046
serengeti-cluster-chassis, 2050
sunfire-3500-backplane, 2238
sunfire-4500-backplane, 2242
sunfire-6500-backplane, 2246
taco-system, 2282
set-output-file
namespace command
simple-byte-dump, 2112

set-pattern, 674
set-pc, 675
namespace command
processor, 2645
set-prefix, 675
set-prom-defaults
namespace command
enchilada-system, 1057
fiesta-system, 1085
niagara-simple-system, 1406
sunfire-3500-backplane, 2239
sunfire-4500-backplane, 2243
sunfire-6500-backplane, 2247
sunfire-system, 2265
taco-system, 2282
set-prom-env
namespace command
enchilada-system, 1057
fiesta-system, 1085
niagara-simple-system, 1407
serengeti-3800-chassis, 2034
serengeti-4800-chassis, 2038
serengeti-4810-chassis, 2042
serengeti-6800-chassis, 2046
serengeti-cluster-chassis, 2050
serengeti-system, 2072
sunfire-3500-backplane, 2239
sunfire-4500-backplane, 2243
sunfire-6500-backplane, 2247
sunfire-system, 2265
taco-system, 2283
set-simics-id, 675
set-substr, 676
set-time
namespace command
MK48T08, 1393
serengeti-console, 2055
set-time-current
namespace command
MK48T08, 1393
serengeti-console, 2055
set-variable
namespace command
nvci, 1437
set_error_t, 107

2752

VIRTUTECH CONFIDENTIAL

INDEX

set_bus_id_t, 2662
set_error_t, 135, 198
set_event_info, 2598
show-leds
namespace command
sun4u-systemregs, 2228
si, 683
namespace command
context, 963
signal, 2657
namespace command
gdb-remote, 1118
signal-bus, 753, 2101
signed, 676
signed16, 676
signed32, 677
signed64, 677
signed8, 677
sim, 2103
sim-break, 681
namespace command
processor, 2647
sim-break-absolute, 682
namespace command
processor, 2647
SIM_add_configuration, 166
SIM_add_directory, 263
SIM_add_mode_counter, 399
SIM_add_output_handler, 259
SIM_all_classes, 400
SIM_all_objects, 401
SIM_alloc_attr_dict, 148
SIM_alloc_attr_list, 149
SIM_alloc_conf_object, 167
SIM_alpha_mem_trans_from_generic, 238
SIM_arm_mem_trans_from_generic, 238
SIM_ascanf, 150
SIM_attribute_error, 168
SIM_BC_NO_STDOUT_REDEFINE, 396
SIM_break_cycle, 160
SIM_break_message, 292
SIM_break_simulation, 293
SIM_break_step, 161
SIM_breakpoint, 162
SIM_breakpoint_action, 402

SIM_breakpoint_remove, 164
SIM_c_frontend_exception, 403
SIM_c_get_mem_op_value_buf, 240
SIM_c_hap_occurred, 209
SIM_c_hap_occurred_always, 209
SIM_c_hap_occurred_always_vararg, 209
SIM_c_hap_occurred_vararg, 209
SIM_c_set_mem_op_value_buf, 242
SIM_cancel_realtime_event, 297
SIM_change_attribute_attribute, 169
SIM_check_exception, 404
SIM_class_has_attribute, 171
SIM_clear_atomic_reservation_bit, 405
SIM_clear_directories, 264
SIM_clear_exception, 204
SIM_command_clear_problem, 205
SIM_command_has_problem, 205
SIM_command_problem_status, 205
sim_commands.new_info_command, 394
sim_commands.new_status_command, 395
SIM_continue, 294
SIM_copyright, 203
SIM_cpu_by_mid, 406
SIM_cpu_enabled, 407
SIM_cpu_issue_cycles, 408
SIM_cpu_privilege_level, 409
SIM_create_object, 172
SIM_current_processor, 268
SIM_cycle_count, 309
SIM_delete_breakpoint, 165
SIM_delete_object, 173
SIM_device_log, 410
SIM_disable_processor, 270
SIM_disassemble, 269
SIM_disassemble_physical, 411
SIM_dump_caches, 412
SIM_enable_processor, 270
SIM_ensure_partial_attr_order, 174
SIM_exception_has_occurred, 413
sim_exception_t, 67
SIM_flush, 261
SIM_flush_all_caches, 304
SIM_flush_D_STC_logical, 302
SIM_flush_D_STC_physical, 302
SIM_flush_I_STC_logical, 302

2753

VIRTUTECH CONFIDENTIAL

INDEX

SIM_flush_I_STC_physical, 302
SIM_for_all_hap_types, 414
SIM_for_all_memory_pages, 230
SIM_for_all_modules, 415
SIM_for_all_modules_failed, 416
SIM_for_all_processors, 417
SIM_free_attribute, 175
SIM_frontend_exception, 206
SIM_get_all_classes, 176
SIM_get_all_exceptions, 273
SIM_get_all_failed_modules, 255
SIM_get_all_hap_types, 210
SIM_get_all_modules, 256
SIM_get_all_objects, 177
SIM_get_all_processors, 271
SIM_get_all_registers, 272
SIM_get_attribute, 178
SIM_get_attribute_attributes, 179
SIM_get_attribute_idx, 178
SIM_get_base_pointer, 419
SIM_get_batch_mode, 320
SIM_get_class, 180
SIM_get_class_attribute, 178
SIM_get_class_attribute_idx, 178
SIM_get_class_interface, 183
SIM_get_class_name, 181
SIM_get_class_port_interface, 183
SIM_get_configuration_file_prefix, 182
SIM_get_control_register_name, 420
SIM_get_control_register_number, 421
SIM_get_current_proc_no, 422
SIM_get_directories, 265
SIM_get_exception_name, 273
SIM_get_exception_number, 273
SIM_get_file_size, 423
SIM_get_history_match, 424
SIM_get_interface, 183
SIM_get_mem_op_type, 243
SIM_get_mem_op_type_name, 244
SIM_get_mem_op_value_be, 240
SIM_get_mem_op_value_buf, 240
SIM_get_mem_op_value_cpu, 240
SIM_get_mem_op_value_le, 240
SIM_get_mmu_data, 425
SIM_get_mode_counter, 426

SIM_get_No_Exception, 418
SIM_get_object, 184
SIM_get_pending_exception, 207
SIM_get_port_interface, 183
SIM_get_proc_no, 427
SIM_get_processor, 274
SIM_get_processor_number, 275
SIM_get_program_counter, 276
SIM_get_quiet, 222
SIM_get_register_name, 277
SIM_get_register_number, 277
SIM_get_simics_home, 428
SIM_get_stack_pointer, 429
SIM_get_trap_time, 430
SIM_get_unique_memory_transaction_id,
245, 360
SIM_get_verbose, 223
SIM_hap_add_callback, 211
SIM_hap_add_callback_index, 211
SIM_hap_add_callback_obj, 211
SIM_hap_add_callback_obj_index, 211
SIM_hap_add_callback_obj_range, 211
SIM_hap_add_callback_range, 211
SIM_hap_add_type, 213
SIM_hap_callback_exists, 215
SIM_hap_delete_callback, 216
SIM_hap_delete_callback_id, 216
SIM_hap_delete_callback_obj, 216
SIM_hap_delete_callback_obj_id, 216
SIM_hap_get_name, 217
SIM_hap_get_number, 218
SIM_hap_install_callback, 431
SIM_hap_install_callback_idx, 432
SIM_hap_install_callback_range, 433
SIM_hap_is_active, 219
SIM_hap_new_type, 434
SIM_hap_occurred, 220
SIM_hap_occurred_always, 220
SIM_hap_register_callback, 435
SIM_hap_register_callback_idx, 436
SIM_hap_register_callback_range, 437
SIM_hap_remove_callback, 438
SIM_hap_remove_type, 221
SIM_hap_unregister_callback, 439
SIM_ia64_mem_trans_from_generic, 238

2754

VIRTUTECH CONFIDENTIAL

INDEX

sim_ic_type_t, 135
SIM_inc_cur_mode_counter, 440
SIM_inc_mode_counter, 441
SIM_initial_configuration_ok, 185
SIM_install_default_ASI_handler, 442
SIM_install_user_ASI_handler, 443
SIM_instruction_begin, 360
SIM_instruction_child, 360
SIM_instruction_commit, 360
SIM_instruction_cpu, 360
SIM_instruction_decode, 360
SIM_instruction_end, 360
SIM_instruction_execute, 360
SIM_instruction_fetch, 360
SIM_instruction_force_correct, 360
SIM_instruction_get_field_value, 360
SIM_instruction_get_reg_info, 360
SIM_instruction_get_user_data, 360
SIM_instruction_handle_exception, 360
SIM_instruction_handle_interrupt, 360
SIM_instruction_id_from_mem_op_id, 360
SIM_instruction_info, 444
SIM_instruction_insert, 360
SIM_instruction_is_sync, 360
SIM_instruction_length, 360
SIM_instruction_nth_id, 360
SIM_instruction_opcode, 360
SIM_instruction_parent, 360
SIM_instruction_phase, 360
SIM_instruction_proceed, 360
SIM_instruction_read_input_reg, 360
SIM_instruction_read_output_reg, 360
SIM_instruction_remaining_stall_time, 360
SIM_instruction_retire, 360
SIM_instruction_rewind, 360
SIM_instruction_set_stop_phase, 360
SIM_instruction_set_user_data, 360
SIM_instruction_speculative, 360
SIM_instruction_squash, 360
SIM_instruction_stalling_mem_op, 360
SIM_instruction_status, 360
SIM_instruction_store_queue_mem_op, 360
SIM_instruction_type, 360
SIM_instruction_write_input_reg, 360
SIM_instruction_write_output_reg, 360

2755

SIM_is_interactive, 321
SIM_iter_addr, 291
SIM_iter_free, 291
SIM_iter_next, 291
SIM_last_error, 208
SIM_license, 203
SIM_load_binary, 231
SIM_load_file, 232
SIM_load_module, 257
SIM_log_constructor, 224
SIM_log_error, 225
SIM_log_info, 225
SIM_log_message, 226
SIM_log_register_groups, 227
SIM_log_spec_violation, 225
SIM_log_target_error, 225
SIM_log_undefined, 225
SIM_log_unimplemented, 225
SIM_logical_to_physical, 233
SIM_lookup_file, 266
SIM_make_attr_boolean, 151
SIM_make_attr_data, 152
SIM_make_attr_floating, 153
SIM_make_attr_integer, 154
SIM_make_attr_invalid, 155
SIM_make_attr_list, 156
SIM_make_attr_list_vararg, 156
SIM_make_attr_nil, 157
SIM_make_attr_object, 158
SIM_make_attr_string, 159
SIM_mem_op_is_control, 246
SIM_mem_op_is_data, 247
SIM_mem_op_is_from_cache, 248
SIM_mem_op_is_from_cpu, 249
SIM_mem_op_is_from_cpu_arch, 250
SIM_mem_op_is_from_device, 251
SIM_mem_op_is_instruction, 247
SIM_mem_op_is_prefetch, 252
SIM_mem_op_is_read, 253
SIM_mem_op_is_write, 253
SIM_mips_mem_trans_from_generic, 238
SIM_module_list_refresh, 258
SIM_native_path, 267
SIM_new_object, 186
SIM_next_queue, 310

VIRTUTECH CONFIDENTIAL

INDEX

SIM_no_windows, 445
SIM_notify_on_descriptor, 298
SIM_notify_on_object, 298
SIM_notify_on_socket, 298
SIM_num_control_registers, 446
SIM_number_processors, 278
SIM_object_by_id, 447
SIM_object_constructor, 187
SIM_object_is_processor, 188
SIM_pci_mem_trans_from_generic, 238
SIM_post_command, 322
SIM_postponing_continue, 295
SIM_ppc_mem_trans_from_generic, 238
SIM_printf, 261, 262, 397
SIM_printf_vararg, 261
SIM_proc_no_2_ptr, 448
SIM_processor_break, 449
SIM_processor_enabled, 279
SIM_processor_privilege_level, 280
SIM_putchar, 261
SIM_puts, 261
SIM_quit, 323
SIM_raise_general_exception, 450
SIM_read_byte, 234
SIM_read_configuration, 189
SIM_read_control_register, 451
SIM_read_fp_register, 452
SIM_read_fp_register_d, 453
SIM_read_fp_register_i, 454
SIM_read_fp_register_s, 455
SIM_read_fp_register_x, 456
SIM_read_global_register, 457
SIM_read_phys_memory, 235
SIM_read_phys_memory_tags, 236
SIM_read_register, 281
SIM_read_window_register, 458
SIM_readme, 203
SIM_realtime_event, 300
SIM_register_arch_decoder, 282
SIM_register_attribute, 190
SIM_register_class, 191
SIM_register_class_alias, 193
SIM_register_class_attribute, 190
SIM_register_copyright, 202
SIM_register_decoder, 286

SIM_register_interface, 194
SIM_register_port_interface, 194
SIM_register_typed_attribute, 195
SIM_register_typed_class_attribute, 195
SIM_release_stall, 305, 360
SIM_remove_output_handler, 260
SIM_reset_processor, 289
SIM_run_command_file, 324
SIM_set_attribute, 198
SIM_set_attribute_idx, 198
SIM_set_class_attribute, 198
SIM_set_class_attribute_idx, 198
SIM_set_configuration, 199
SIM_set_mem_op_type, 254
SIM_set_mem_op_value_be, 242
SIM_set_mem_op_value_buf, 242
SIM_set_mem_op_value_cpu, 242
SIM_set_mem_op_value_le, 242
SIM_set_mode_counter, 459
SIM_set_program_counter, 276
SIM_set_prompt, 325
SIM_set_quiet, 228
SIM_set_verbose, 229
SIM_simics_is_running, 296
SIM_snapshot_date, 203
SIM_source_python, 326
SIM_source_python_in_module, 326
SIM_sparc_ASI_info, 460
SIM_stacked_post, 311
SIM_stall, 307
SIM_stall_count, 306
SIM_stall_cycle, 307
SIM_stalled_until, 308
SIM_STC_flush_cache, 302
SIM_step_clean, 312
SIM_step_count, 313
SIM_step_next_occurrence, 314
SIM_step_post, 315
SIM_thread_safe_callback, 301
SIM_time, 309
SIM_time_clean, 316
SIM_time_next_occurrence, 317
SIM_time_post, 318
SIM_time_post_cycle, 318
SIM_unload_module, 257

2756

VIRTUTECH CONFIDENTIAL

INDEX

SIM_unregister_arch_decoder, 282
SIM_unregister_decoder, 286
SIM_v9_mem_trans_from_generic, 238
SIM_version, 203
SIM_version_sub, 203
SIM_void_to_processor_t, 461
SIM_write, 261, 262, 397
SIM_write_byte, 234
SIM_write_configuration_to_file, 201
SIM_write_control_register, 462
SIM_write_fp_register, 463
SIM_write_fp_register_d, 464
SIM_write_fp_register_i, 465
SIM_write_fp_register_s, 466
SIM_write_fp_register_x, 467
SIM_write_global_register, 468
SIM_write_phys_memory, 237
SIM_write_phys_memory_tags, 236
SIM_write_register, 290
SIM_write_window_register, 469
SIM_x86_mem_trans_from_generic, 238
simcontext
struct, 135
Simics Core, 753
simics-module-symbols, 678
simics_internal_counters_t, 135
simics_symbol_lookup_t, 135
simple-byte-dump, 761, 2111
simple-fc-disk, 2113
simple_interrupt, 2658
simtime_t, 109
sio-lpc47m172, 2115
sio-w83627hf, 2117
SIO82378ZB, 761, 2119
skip-to, 678
snoop_memory, 2659
socket_t, 110
source, 671
source-path
namespace command
symtable, 2278
source_python_func_t, 135
source_python_module_func_t, 135
south-bridge-6300esb, 2120
south-bridge-amd8111, 2122

south-bridge-md1535d, 2124
south-bridge-piix4, 2126
south-bridge-saturn, 2128
south-bridge-sun-md1535d, 2130
sparc-irq-bus, 761, 2132
sparc-l2, 761
sparc-l2-turbo, 761
sparc-niagara, 762
sparc-niagara-turbo, 762
sparc-u2, 762
sparc-u2-ma, 762
sparc-u2-turbo, 763
sparc-u3, 763
sparc-u3-ma, 763
sparc-u3-turbo, 763
sparc-u4, 764
sparc-u4-turbo, 764
sparc_access_type_t, 131
sparc_interrupt, 2660
sparc_irq_bus, 2662
sparc_u3, 2663
sparc_u3_error_t, 2663
sparc_v9, 2665
spitfire-mmu, 764, 2134
st, 678
st_do_all_func_t, 135
st_for_all_func_t, 135
st_lookup_approx_result
enum, 135
stack-trace, 678
namespace command
processor, 2646
stall_id_num_t, 135
stall_id_t, 135
start
namespace command
base-trace-mem-hier, 844
etg, 1062
state-assertion, 2143
start-instruction-profiling
namespace command
processor, 2646
start-logical-memory-translator, 679
state-assertion, 765, 2140
state-assertion-connect, 679

2757

VIRTUTECH CONFIDENTIAL

INDEX

state-assertion-create-file, 679
state-assertion-open-file, 680
state-assertion-receive, 680
state-assertion-simple-assert, 680
state-assertion-simple-record, 681
state_save_kind_t, 135
statistics
namespace command
g-cache, 1108
g-cache-ooo, 1115
trans-sorter, 2319
trans-splitter-ooo, 2323
status
namespace command
agp-voodoo3, 784
alpha-lx164-system, 795
AM79C960, 801
AM79C960-dml, 808
AM79C973, 817
apic, 821
apic-bus, 823
apm, 825
arm-sa1110-system, 827
AT24C164, 839
BCM5703C, 864
BCM5704C, 884
bitmask-translator, 886
branch_recorder, 888
cassini, 907
cheerio-e2bus, 916
cheerio-hme, 926
CL-PD6729, 945
component, 950
context, 962
context-switcher, 967
cpc700-gpt, 970
cpc700-iic, 973
cpc700-mc, 977
cpc700-pci, 980
cpc700-pi, 981
cpc700-uic, 984
cpu-mode-tracker, 987
CS8900A, 992
ddr-memory-module, 1000
ddr2-memory-module, 1002

DEC21041, 1009
DEC21140A, 1015
DEC21143, 1027
DS12887, 1032
DS12887-dml, 1038
DS17485, 1046
dummy-component, 1047
ebony-board, 1050
empty-device, 1053
enchilada-system, 1057
etg, 1062
eth-transceiver, 1065
ethernet-link, 1071
floppy-drive, 1097
fourport, 1100
g-cache, 1108
g-cache-ooo, 1115
generic-flash-memory, 1124
hostfs, 1168
i21150, 1170
i21152, 1173
i2c-bus, 1184
i386-cpu, 1186
i486dx2-cpu, 1188
i486sx-cpu, 1190
i8042, 1200
i82077, 1205
i8237x2, 1208
i8254, 1219
i8259x2, 1222
ia64-460gx-system, 1224
ide, 1244
io-apic, 1266
ISA, 1268
isa-lance, 1270
isa-vga, 1272
ISP1040, 1277
ISP2200, 1282
itanium-cpu, 1284
legacy-pc-devices, 1301
leon2-simple, 1312
linux-process-tracker, 1323
M5823, 1340
malta-system, 1343
mii-transceiver, 1370

2758

VIRTUTECH CONFIDENTIAL

INDEX

mips, 2620
niagara-simple-system, 1407
north-bridge-443bx, 1415
north-bridge-443bx-agp, 1417
north-bridge-875p, 1419
north-bridge-e7520, 1421
north-bridge-k8, 1423
NS16450, 1428
NS16550, 1432
opteron-cpu, 1445
pc-dual-serial-ports, 1455
pc-floppy-controller, 1457
pc-quad-serial-ports, 1459
pc-shadow, 1462
pc-single-parallel-port, 1463
pci-am79c973, 1471
pci-backplane, 1473
pci-bcm5703c, 1475
pci-bcm5704c, 1477
pci-dec21041, 1481
pci-dec21140a, 1483
pci-dec21140a-dml, 1485
pci-dec21143, 1487
pci-i21152, 1488
pci-i82543gc, 1491
pci-i82546bg, 1493
pci-isp1040, 1495
pci-isp2200, 1497
pci-pd6729, 1498
pci-pmc1553-bc, 1500
pci-rage-pm-mobility-pci, 1502
pci-ragexl, 1504
pci-sil680a, 1506
pci-sym53c810, 1509
pci-sym53c875, 1511
pci-sym53c876, 1512
pci-vga, 1515
pci-voodoo3, 1516
pcie-pex8524, 1520
pentium-4-cpu, 1524
pentium-4e-2ht-cpu, 1526
pentium-4e-4ht-cpu, 1528
pentium-4e-cpu, 1530
pentium-cpu, 1532
pentium-ii-cpu, 1534

pentium-iii-cpu, 1536
pentium-m-cpu, 1538
pentium-mmx-cpu, 1540
pentium-pro-cpu, 1542
phy-mii-transceiver, 1548
piix4_ide, 1551
piix4_isa, 1553
piix4_power, 1556
piix4_usb, 1562
piix4_usb_dummy, 1564
pmppc-board, 1566
ppc-of, 1577
ppc-simple, 1579
ppc32-linux-process-tracker, 1581
ppc405gp-emac, 1606
ppc440gp-cpc, 1644
ppc440gp-dma, 1649
ppc440gp-ebc, 1655
ppc440gp-emac, 1662
ppc440gp-gpio, 1664
ppc440gp-iic, 1668
ppc440gp-mal, 1672
ppc440gp-mc, 1676
ppc440gp-pci, 1685
ppc440gp-uic, 1692
ppc440gp-zmii, 1694
ppc440gx-cpc, 1716
ppc440gx-dma, 1723
ppc440gx-ebc, 1729
ppc440gx-emac, 1736
ppc440gx-gpio, 1738
ppc440gx-iic, 1742
ppc440gx-mal, 1749
ppc440gx-pci, 1760
ppc440gx-uic, 1775
ppc440gx-zmii, 1777
ppc64-linux-process-tracker, 1794
ppc970-simple, 1911
ps2-keyboard-mouse, 1929
ragexl, 1940
recorder, 1945
rn-eth-bridge-raw, 1950
rn-eth-bridge-tap, 1954
rn-eth-proxy-raw, 1957
rn-eth-proxy-tap, 1961

2759

VIRTUTECH CONFIDENTIAL

INDEX

rn-ip-router-raw, 1964
rn-ip-tunnel-tun, 1967
sample-device, 1975
sample-device-python, 1977
sample-gcache, 1978
sample-ma-model, 1982
sample-ooo-model, 1985
sample-x86-ma-model, 1989
sbbc-pci, 2001
sbus-hme, 2010
scsi-bus, 2013
scsi-cdrom, 2019
scsi-disk, 2028
sdram-memory-module, 2030
serengeti-3800-chassis, 2035
serengeti-4800-chassis, 2039
serengeti-4810-chassis, 2043
serengeti-6800-chassis, 2047
serengeti-cluster-chassis, 2051
serengeti-cpci4-board, 2060
serengeti-pci8-board, 2062
serengeti-sp-cpci6-board, 2069
serengeti-system, 2072
serengeti-us-iii-cpu-board, 2074
serengeti-us-iii-plus-cpu-board, 2076
serengeti-us-iv-cpu-board, 2078
serengeti-us-iv-plus-cpu-board, 2080
serial-link, 2083
server-console, 2089
service-node, 2097
service-node-device, 2099
signal-bus, 2102
simple-byte-dump, 2112
simple-fc-disk, 2114
sio-lpc47m172, 2116
sio-w83627hf, 2117
south-bridge-6300esb, 2121
south-bridge-amd8111, 2122
south-bridge-md1535d, 2125
south-bridge-piix4, 2127
south-bridge-saturn, 2129
south-bridge-sun-md1535d, 2130
state-assertion, 2143
std-etg, 2145
std-ethernet-link, 2147

std-graphics-console, 2149
std-host-serial-console, 2151
std-ide-cdrom, 2152
std-ide-disk, 2155
std-ms1553-link, 2156
std-pcmcia-flash-disk, 2159
std-scsi-bus, 2160
std-scsi-cdrom, 2163
std-scsi-disk, 2165
std-serial-link, 2166
std-server-console, 2169
std-service-node, 2171
std-super-io, 2173
std-text-console, 2175
std-text-graphics-console, 2176
sun-cpci-hme-isp, 2182
sun-cpci-isp-isp, 2184
sun-cpci-qlc-qlc, 2186
sun-pci-ce, 2194
sun-pci-hme, 2196
sun-pci-hme-isp, 2198
sun-pci-pgx64, 2199
sun-pci-qlc, 2202
sun-pci-qlc-qlc, 2204
sun-sbus-fas-hme, 2206
sun-type5-keyboard, 2207
sun-type5-mouse, 2209
sun4v-rtc, 2235
sunfire-3500-backplane, 2239
sunfire-4500-backplane, 2243
sunfire-6500-backplane, 2247
sunfire-cpu-board, 2249
sunfire-pci-board, 2251
sunfire-psycho, 2256
sunfire-sbus-board, 2258
sunfire-sysio, 2263
sunfire-system, 2265
SYM53C810, 2269
SYM53C875, 2272
taco-system, 2283
telos-environment, 2287
telos-io-ports, 2291
telos-mote, 2293
text-console, 2313
top-component, 2316

2760

VIRTUTECH CONFIDENTIAL

INDEX

v9-sol9-idle-opt, 2399
vga, 2404
voodoo3, 2419
x86-apic-bus-system, 2450
x86-apic-system, 2454
x86-e7520-system, 2458
x86-hammer-cpu, 2493
x86-linux-process-tracker, 2495
x86-separate-mem-io-system, 2564
x86-system, 2568
x86-tlb, 2570
x87_exception, 2572
xeon-prestonia-cpu, 2574
stc-status, 681
std-components, 765
std-etg, 2144
std-ethernet-link, 2146
std-graphics-console, 2148
std-host-serial-console, 2150
std-ide-cdrom, 2152
std-ide-disk, 2154
std-ms1553-link, 2156
std-pcmcia-flash-disk, 2158
std-scsi-bus, 2160
std-scsi-cdrom, 2162
std-scsi-disk, 2164
std-serial-link, 2166
std-server-console, 2168
std-service-node, 2170
std-super-io, 2172
std-text-console, 2174
std-text-graphics-console, 2176
step, 684
namespace command
context, 963
step-break, 681
namespace command
processor, 2647
step-break-absolute, 682
namespace command
processor, 2647
step-cycle, 682
step-cycle-single, 683
step-instruction, 683
namespace command

context, 962
step-line, 683
namespace command
context, 963
stepi, 683
namespace command
context, 963
stop, 684
namespace command
base-trace-mem-hier, 844
etg, 1062
state-assertion, 2143
store_queue, 2178
strata-flash, 766, 2179
strbuf_t, 135
string_tree_t, 135
struct
dmacache, 135
ether_addr, 135
os_tm, 135
simcontext, 135
symtable, 135
ucontext, 135
sum, 684
namespace command
processor, 2647
sun-components, 767
sun-cpci-hme-isp, 2181
sun-cpci-isp-isp, 2183
sun-cpci-qlc-qlc, 2185
sun-keyboard, 767, 2187
sun-mouse, 767, 2189
sun-pci-ce, 2193
sun-pci-hme, 2195
sun-pci-hme-isp, 2197
sun-pci-pgx64, 2199
sun-pci-qlc, 2201
sun-pci-qlc-qlc, 2203
sun-sbus-fas-hme, 2205
sun-type5-keyboard, 2207
sun-type5-mouse, 2209
sun4u-ac, 2211
sun4u-clockregs, 2213
sun4u-counter, 2215
sun4u-fasdma, 768, 2218

2761

VIRTUTECH CONFIDENTIAL

INDEX

sun4u-fhc, 2220
sun4u-sbus-speed, 2223
sun4u-simm-status, 2224
sun4u-systemregs, 2226
sun4u-temperature, 2229
sun4u-trans2, 2231
sun4v-rtc, 768, 2234
sunfire-3500-backplane, 2236
sunfire-4500-backplane, 2240
sunfire-6500-backplane, 2244
sunfire-components, 768
sunfire-cpu-board, 2248
sunfire-devices, 769
sunfire-pci-board, 2250
sunfire-psycho, 769, 2252
sunfire-sbus-board, 2257
sunfire-sysio, 769, 2259
sunfire-system, 769, 2264
swerver-proc-mmu, 769
swerver-thread-mmu, 770
switch-to-serial-link
namespace command
server-console, 2089
text-console, 2313
switch-to-server-console
namespace command
text-console, 2313
switch-to-text-console
namespace command
gfx-console, 1132
server-console, 2089
sym, 685
namespace command
processor, 2648
SYM53C810, 770, 2267
SYM53C875, 770, 2270
symtable, 770, 2273, 2669
namespace command
context, 964
struct, 135
symval, 685
namespace command
processor, 2647
sync_t, 318

table_func_t, 135
table_t, 135
taco-system, 2280
tagged_physical_address_t, 2680
target
namespace command
gdb-remote, 1119
tbreak
namespace command
breakpoint, 2589
tcpdump, 685
tcpip-info
namespace command
service-node, 2097
telos-basic-clock, 2284
telos-button, 2285
telos-devices, 771
telos-environment, 2286
telos-io-ports, 2288
telos-mote, 2292
telos-mote-components, 771
telos-sfr, 2294
telos-timer, 2296
telos-usart, 2299
temperature
namespace command
ppc405gp, 1595
ppc440gp, 1641
ppc440gx, 1712
ppc603e, 1792
ppc7400, 1810
ppc7447, 1828
ppc7450, 1844
ppc7457, 1862
ppc750, 1877
ppc750fx, 1893
ppc750gx, 1909
ppc970fx, 1926
text-console, 2302
text-dump
namespace command
ragexl, 1940
vga, 2404
vga_pci, 2409

2762

VIRTUTECH CONFIDENTIAL

INDEX

voodoo3, 2419
voodoo3-agp, 2427
timing-components, 772
timing_model, 2670
tlb-status, 685
TLB_Fill_Data, 2714
TLB_Fill_Instruction, 2715
TLB_Invalidate_Data, 2715
TLB_Invalidate_Instruction, 2716
TLB_Miss_Data, 2716
TLB_Miss_Instruction, 2716
TLB_Replace_Data, 2717
TLB_Replace_Instruction, 2717
top-component, 2315
trace, 772
namespace command
cheetah-mmu, 934
cheetah-plus-mmu, 942
jaguar-mmu, 1292
jalapeno-mmu, 1299
panther-mmu, 1453
spitfire-mmu, 2139
trace-breakpoint, 686
trace-cr, 686
namespace command
processor, 2648
trace-exception, 687
trace-hap, 687
trace-io, 687
trace-mem-hier, 2317
trace-nvram
namespace command
DS12887, 1032
DS17485, 1046
M5823, 1340
trace-start
namespace command
base-trace-mem-hier, 844
trace-stop
namespace command
base-trace-mem-hier, 844
track-bin
namespace command
context-switcher, 967
track-pid

namespace command
context-switcher, 967
tracker, 2671
tracker_settings, 2674
tracker_unix, 2675
trans-sorter, 2318
trans-splitter, 2320
trans-splitter-ooo, 2322
trans-staller, 772, 2324
translate, 2676
trap-info, 688
trap_cpu_t, 2660
tuple_int_string_t, 269
turbo_exit_case_t, 135
Turbo_New_Code_Block, 2717
typed_lang_void, 93

U
ucontext
struct, 135
ui, 667
namespace command
context, 961
uint16, 92
uint32, 92
uint64, 92
uint8, 92
uinteger_t, 92
uintptr_t, 92
ultrasparc-ii, 2325
ultrasparc-iii, 2334
ultrasparc-iii-i, 2344
ultrasparc-iii-plus, 2354
ultrasparc-iv, 2364
ultrasparc-iv-plus, 2374
ultrasparc-t1, 2384
unbreak, 688
namespace command
server-console, 2090
text-console, 2314
unbreak-cr, 688
namespace command
processor, 2648
unbreak-exception, 689
unbreak-hap, 689
unbreak-id
2763

VIRTUTECH CONFIDENTIAL

INDEX

namespace command
server-console, 2090
text-console, 2314
unbreak-io, 690
uncall, 690
namespace command
context, 964
uncall-function, 690
namespace command
context, 964
undisplay, 691
unload-module, 691
unresolved_object_class, 2394
unset, 692
unstep-instruction, 667
namespace command
context, 961
untrace-breakpoint, 692
untrace-cr, 692
namespace command
processor, 2649
untrace-exception, 693
untrace-hap, 693
untrace-io, 693
up, 694
namespace command
processor, 2649
uPD66566S1016, 2395
user_decoder_t, 286

namespace command
processor, 2649
wait-for-hap, 695
wait-for-step
namespace command
processor, 2650
wait-for-string
namespace command
server-console, 2090
text-console, 2314
wait-for-variable, 695
where, 678
namespace command
processor, 2646
whereis, 695
namespace command
symtable, 2279
while, 696
wire, 774, 2428
write
namespace command
processor, 2650
write-configuration, 696
write-fp-reg-i, 696
write-fp-reg-x, 697
write-ipr, 697
write-reg, 697
namespace command
processor, 2650

v9-sol9-idle-opt, 694, 773, 2397


v9_exception_type_t, 128
v9_memory_transaction_t, 131
v9_register_id_t, 125
vdisk_addr_t, 2603
version, 694
vga, 773, 2400
vga-pci, 773
vga_pci, 2405
voodoo3, 773, 2411
voodoo3-agp, 774, 2420
vtmem_inform_opcode_t, 135

x, 698
namespace command
image, 1264
logical-memory-translator, 1331
memory-space, 1361
processor, 2651
x11-console, 774
x86, 2677
x86-486sx, 774, 2429
x86-486sx-turbo, 774
x86-apic-bus-system, 2447
x86-apic-system, 2451
x86-components, 775
x86-e7520-system, 2455
x86-hammer, 776, 2459

W
wait-for-cycle
2764

VIRTUTECH CONFIDENTIAL

INDEX

x86-hammer-cpu, 2492
x86-hammer-ma, 777
x86-hammer-turbo, 777
x86-linux-process-tracker, 777, 2494
x86-p2, 777, 2496
x86-p2-turbo, 778
x86-p4, 778, 2522
x86-p4-ma, 778
x86-p4-turbo, 779
x86-reset-bus, 779, 2559
x86-separate-mem-io-system, 2561
x86-system, 2565
x86-tlb, 2569
x86_memory_transaction_t, 132
x86_sync_instruction_type_t, 134
x86_access_type_t, 132
X86_Descriptor_Change, 2718
X86_Enter_SMM, 2718
X86_Leave_SMM, 2718
x86_memory_type_t, 133
x86_pin_t, 2677
X86_Processor_Reset, 2719
x86_register_id_t, 125
x86_tlb, 779, 2680
x87_exception, 780, 2571
xeon-prestonia-cpu, 2573
xterm-console, 780
Xterm_Break_String, 2719

Z
Z8530, 780, 2575
Z8530-port, 2577

2765

Virtutech, Inc.
1740 Technology Dr., suite 460
San Jose, CA 95110
USA
Phone +1 408-392-9150
Fax +1 408-608-0430
http://www.virtutech.com

You might also like