Hi List,
this patchset adds a new -dfilter option and address range matching. With this
execlog can match only a certain range of address for both instruction and
data adresses.
Example usage:
qemu-system-xxx <other options> -d plugin -plugin libexeclog.so,afilter=0x1000-0x2000,dfilter=0x388
This would only log instruction in the address range 0x1000 to 0x2000
and accessing data at address 0x388.
Changes in v3:
- extend plugin api to re-use the existing range parsing infrastructure
- export error report api
Changes in v2:
- rebased on top of latest master
Sven Schnelle (12):
util/log: convert debug_regions to GList
util/log: make qemu_set_dfilter_ranges() take a GList
util/range: move range_list_from_string() to range.c
util/range: add range_list_free()
util/range: use append_new_range() in range_list_from_string()
util/range: split up range_list_from_string()
util/range: make range_list_from_string() accept a single number
qemu/range: add range_list_contains() function
plugins: add API to print errors
plugins: add range list API
plugins/execlog: use range list api
plugins/execlog: add data address match
contrib/plugins/execlog.c | 55 +++++++++++--------
include/qemu/qemu-plugin.h | 53 ++++++++++++++++++
include/qemu/range.h | 24 +++++++++
plugins/api.c | 25 +++++++++
plugins/qemu-plugins.symbols | 4 ++
util/log.c | 84 ++---------------------------
util/range.c | 102 +++++++++++++++++++++++++++++++++++
7 files changed, 244 insertions(+), 103 deletions(-)
--
2.43.2