qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* Qemu TCG Plugins - how to access guest registers
@ 2020-03-26 21:32 Benjamin
  0 siblings, 0 replies; only message in thread
From: Benjamin @ 2020-03-26 21:32 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1210 bytes --]

Qemu version 4.2.0 includes new functionality for something called TCG
Plugins. There are a few examples in the tests/plugins directory, and the
API is more or less defined in qemu-plugin.h.

This file defines two enumerated types, "qemu_plugin_cb_flags" and
"qemu_plugin_mem_rw", which are passed into functions that register
callbacks. These enums seem to indicate whether the callbacks will read or
write CPU registers or memory. However, all of the example plugins use
"QEMU_PLUGIN_CB_NO_REGS", and only 2 of the plugins use the memory access
enum. hotpages.c and mem.c use "QEMU_PLUGIN_MEM_RW" as the default for
registering a memory callback (qemu_plugin_register_vcpu_mem_cb). mem.c has
an argument when the plugin is loaded to choose if it's read or write,
however, it doesn't seem to make any difference in the callback function.

My question is, how do I access the guest memory and registers from the
plugin callback function? The API seems to indicate that it is possible,
since the callback registering requires you to say if you will access them,
and if it's RW or just read.

Are there any examples of using this part of the API? I realize this is a
very new part of Qemu functionality.

Thanks

[-- Attachment #2: Type: text/html, Size: 1480 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-03-26 21:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-26 21:32 Qemu TCG Plugins - how to access guest registers Benjamin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).