@ -47,7 +47,7 @@ typedef uint64_t qemu_plugin_id_t;
extern QEMU_PLUGIN_EXPORT int qemu_plugin_version ;
extern QEMU_PLUGIN_EXPORT int qemu_plugin_version ;
# define QEMU_PLUGIN_VERSION 0
# define QEMU_PLUGIN_VERSION 1
typedef struct {
typedef struct {
/* string describing architecture */
/* string describing architecture */
@ -307,8 +307,8 @@ bool qemu_plugin_mem_is_sign_extended(qemu_plugin_meminfo_t info);
bool qemu_plugin_mem_is_big_endian ( qemu_plugin_meminfo_t info ) ;
bool qemu_plugin_mem_is_big_endian ( qemu_plugin_meminfo_t info ) ;
bool qemu_plugin_mem_is_store ( qemu_plugin_meminfo_t info ) ;
bool qemu_plugin_mem_is_store ( qemu_plugin_meminfo_t info ) ;
/*
/**
* qemu_plugin_get_hwaddr ( ) :
* qemu_plugin_get_hwaddr ( ) - return handle for memory operation
* @ vaddr : the virtual address of the memory operation
* @ vaddr : the virtual address of the memory operation
*
*
* For system emulation returns a qemu_plugin_hwaddr handle to query
* For system emulation returns a qemu_plugin_hwaddr handle to query
@ -323,12 +323,30 @@ struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info,
uint64_t vaddr ) ;
uint64_t vaddr ) ;
/*
/*
* The following additional queries can be run on the hwaddr structure
* The following additional queries can be run on the hwaddr structure to
* to return information about it . For non - IO accesses the device
* return information about it - namely whether it is for an IO access and the
* offset will be into the appropriate block of RAM .
* physical address associated with the access .
*/
/**
* qemu_plugin_hwaddr_is_io ( ) - query whether memory operation is IO
* @ haddr : address handle from qemu_plugin_get_hwaddr ( )
*
* Returns true if the handle ' s memory operation is to memory - mapped IO , or
* false if it is to RAM
*/
*/
bool qemu_plugin_hwaddr_is_io ( const struct qemu_plugin_hwaddr * haddr ) ;
bool qemu_plugin_hwaddr_is_io ( const struct qemu_plugin_hwaddr * haddr ) ;
uint64_t qemu_plugin_hwaddr_device_offset ( const struct qemu_plugin_hwaddr * haddr ) ;
/**
* qemu_plugin_hwaddr_phys_addr ( ) - query physical address for memory operation
* @ haddr : address handle from qemu_plugin_get_hwaddr ( )
*
* Returns the physical address associated with the memory operation
*
* Note that the returned physical address may not be unique if you are dealing
* with multiple address spaces .
*/
uint64_t qemu_plugin_hwaddr_phys_addr ( const struct qemu_plugin_hwaddr * haddr ) ;
/*
/*
* Returns a string representing the device . The string is valid for
* Returns a string representing the device . The string is valid for