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"