VIRTUTECH CONFIDENTIAL    Previous - Up - Next

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

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

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

3.4.3   Obsolete API Functions

SIM_add_mode_counter()

NAME
SIM_add_mode_counterobsolete 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.

SIM_all_classes()

NAME
SIM_all_classesobsolete 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
SIM_all_objects()

NAME
SIM_all_objectsobsolete 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
SIM_breakpoint_action()

NAME
SIM_breakpoint_actionobsolete 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.

SIM_c_frontend_exception()

NAME
SIM_c_frontend_exceptionobsolete 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
SIM_check_exception()

NAME
SIM_check_exceptionobsolete 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
SIM_clear_atomic_reservation_bit()

NAME
SIM_clear_atomic_reservation_bitobsolete 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.

SIM_cpu_by_mid()

NAME
SIM_cpu_by_midobsolete API function

SYNOPSIS
processor_t *
SIM_cpu_by_mid(int mid);

DESCRIPTION
Obsolete since Simics 1.6.

SEE ALSO
SIM_cpu_enabled()

NAME
SIM_cpu_enabledobsolete 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
SIM_cpu_issue_cycles()

NAME
SIM_cpu_issue_cyclesobsolete 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
SIM_cpu_privilege_level()

NAME
SIM_cpu_privilege_levelobsolete 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
SIM_device_log()

NAME
SIM_device_logobsolete 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
SIM_disassemble_physical()

NAME
SIM_disassemble_physicalobsolete 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
SIM_dump_caches()

NAME
SIM_dump_cachesobsolete 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
SIM_exception_has_occurred()

NAME
SIM_exception_has_occurredobsolete 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
SIM_for_all_hap_types()

NAME
SIM_for_all_hap_typesobsolete 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.

SIM_for_all_modules()

NAME
SIM_for_all_modulesobsolete 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.

SIM_for_all_modules_failed()

NAME
SIM_for_all_modules_failedobsolete 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.

SIM_for_all_processors()

NAME
SIM_for_all_processorsobsolete 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
SIM_get_No_Exception()

NAME
SIM_get_No_Exceptionobsolete 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.

SIM_get_base_pointer()

NAME
SIM_get_base_pointerobsolete 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
SIM_get_control_register_name()

NAME
SIM_get_control_register_nameobsolete 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
SIM_get_control_register_number()

NAME
SIM_get_control_register_numberobsolete 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
SIM_get_current_proc_no()

NAME
SIM_get_current_proc_noobsolete 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
SIM_get_file_size()

NAME
SIM_get_file_sizeobsolete 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.

SIM_get_history_match()

NAME
SIM_get_history_matchobsolete API function

SYNOPSIS
const char *
SIM_get_history_match(const char *str);

DESCRIPTION
Obsolete since Simics 3.0.

SEE ALSO
SIM_get_mmu_data()

NAME
SIM_get_mmu_dataobsolete 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.

SIM_get_mode_counter()

NAME
SIM_get_mode_counterobsolete 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.

SIM_get_proc_no()

NAME
SIM_get_proc_noobsolete 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
SIM_get_simics_home()

NAME
SIM_get_simics_homeobsolete 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.

SIM_get_stack_pointer()

NAME
SIM_get_stack_pointerobsolete 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
SIM_get_trap_time()

NAME
SIM_get_trap_timeobsolete 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.

SIM_hap_install_callback()

NAME
SIM_hap_install_callbackobsolete 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
SIM_hap_install_callback_idx()

NAME
SIM_hap_install_callback_idxobsolete 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
SIM_hap_install_callback_range()

NAME
SIM_hap_install_callback_rangeobsolete 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
SIM_hap_new_type()

NAME
SIM_hap_new_typeobsolete API function

SYNOPSIS
hap_type_t
SIM_hap_new_type(const char *hap,
                 const char *params,
                 const char *param_desc,
                 const char *index,
                 const char *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
SIM_hap_register_callback()

NAME
SIM_hap_register_callbackobsolete 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
SIM_hap_register_callback_idx()

NAME
SIM_hap_register_callback_idxobsolete 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
SIM_hap_register_callback_range()

NAME
SIM_hap_register_callback_rangeobsolete 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
SIM_hap_remove_callback()

NAME
SIM_hap_remove_callbackobsolete 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
SIM_hap_unregister_callback()

NAME
SIM_hap_unregister_callbackobsolete 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
SIM_inc_cur_mode_counter()

NAME
SIM_inc_cur_mode_counterobsolete 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.

SIM_inc_mode_counter()

NAME
SIM_inc_mode_counterobsolete 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.

SIM_install_default_ASI_handler()

NAME
SIM_install_default_ASI_handlerobsolete API function

SYNOPSIS
void
SIM_install_default_ASI_handler(
                      exception_type_t (*handler)(generic_transaction_t *),
                      int asi);

DESCRIPTION
Obsolete since Simics 1.6.

SIM_install_user_ASI_handler()

NAME
SIM_install_user_ASI_handlerobsolete API function

SYNOPSIS
void
SIM_install_user_ASI_handler(
                       exception_type_t (*handler)(generic_transaction_t *),
                       int asi);

DESCRIPTION
Obsolete since Simics 1.6.

SIM_instruction_info()

NAME
SIM_instruction_infoobsolete 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.

SIM_no_windows()

NAME
SIM_no_windowsobsolete 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.

SIM_num_control_registers()

NAME
SIM_num_control_registersobsolete API function

SYNOPSIS
int
SIM_num_control_registers(processor_t *cpu_ptr);

DESCRIPTION
Obsolete since Simics 1.6.

SEE ALSO
SIM_object_by_id()

NAME
SIM_object_by_idobsolete 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
SIM_proc_no_2_ptr()

NAME
SIM_proc_no_2_ptrobsolete 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
SIM_processor_break()

NAME
SIM_processor_breakobsolete 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
SIM_raise_general_exception()

NAME
SIM_raise_general_exceptionobsolete 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
SIM_read_control_register()

NAME
SIM_read_control_registerobsolete 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
SIM_read_fp_register()

NAME
SIM_read_fp_registerobsolete 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.

SIM_read_fp_register_d()

NAME
SIM_read_fp_register_dobsolete 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.

SIM_read_fp_register_i()

NAME
SIM_read_fp_register_iobsolete 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.

SIM_read_fp_register_s()

NAME
SIM_read_fp_register_sobsolete 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.

SIM_read_fp_register_x()

NAME
SIM_read_fp_register_xobsolete 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.

SIM_read_global_register()

NAME
SIM_read_global_registerobsolete 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.

SIM_read_window_register()

NAME
SIM_read_window_registerobsolete 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.

SIM_set_mode_counter()

NAME
SIM_set_mode_counterobsolete 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.

SIM_sparc_ASI_info()

NAME
SIM_sparc_ASI_infoobsolete API function

SYNOPSIS
int
SIM_sparc_ASI_info(processor_t *cpu_ptr, int asi, int info);

DESCRIPTION
Obsolete since Simics 1.6.

SIM_void_to_processor_t()

NAME
SIM_void_to_processor_tobsolete 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.

SIM_write_control_register()

NAME
SIM_write_control_registerobsolete 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
SIM_write_fp_register()

NAME
SIM_write_fp_registerobsolete 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.

SIM_write_fp_register_d()

NAME
SIM_write_fp_register_dobsolete 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.

SIM_write_fp_register_i()

NAME
SIM_write_fp_register_iobsolete 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.

SIM_write_fp_register_s()

NAME
SIM_write_fp_register_sobsolete 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.

SIM_write_fp_register_x()

NAME
SIM_write_fp_register_xobsolete 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.

SIM_write_global_register()

NAME
SIM_write_global_registerobsolete 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.

SIM_write_window_register()

NAME
SIM_write_window_registerobsolete 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.

VIRTUTECH CONFIDENTIAL    Previous - Up - Next