x86_instrumentation_subscribe_v2 x86_memory_operation
API Reference Manual  /  4 Model-to-Model Interfaces  / 

x86_memory_access

Description
The x86_memory_access interface is used to access memory from user decoder service routines. If an exception condition occurs, a longjmp is taken. The interface methods may only be invoked from user decoder service routines.

This interface is internal and may change without notice.

SIM_INTERFACE(x86_memory_access) {
        uint64 (*read_logical)(
                conf_object_t *cpu,
                logical_address_t offs,
                x86_seg_t seg,
                unsigned len,
                x86_processor_mode_t mode,
                x86_access_type_t access_type);
#if !defined(PYWRAP)
        void (*read_logical_buf)(
                conf_object_t *cpu, 
                logical_address_t offs,
                x86_seg_t seg,
                unsigned len,
                void *p,
                x86_processor_mode_t mode,
                x86_access_type_t access_type,
                x86_alignment_t alignment);
#endif
        void (*write_logical)(
                conf_object_t *cpu,
                logical_address_t offs,
                x86_seg_t seg,
                unsigned len,
                uint64 val,
                x86_processor_mode_t mode,
                x86_access_type_t access_type);
#if !defined(PYWRAP)
        void (*write_logical_buf)(
                conf_object_t *cpu,
                logical_address_t offs,
                x86_seg_t seg,
                unsigned len,
                const void *p,
                x86_processor_mode_t mode,
                x86_access_type_t access_type,
                x86_alignment_t alignment);
#endif
};
#define X86_MEMORY_ACCESS_INTERFACE "x86_memory_access"

Execution Context
The methods in this interface may only be called from user decoder service routines.

x86_instrumentation_subscribe_v2 x86_memory_operation