mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-26 20:03:54 -06:00
plugins: Add memory virtual address write API
This patch adds functions to the plugins API to allow reading and writing memory via virtual addresses. These functions only permit doing so on the current CPU, because there is no way to ensure consistency if plugins are allowed to read or write to other CPUs that aren't currently in the context of the plugin. Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Rowan Hart <rowanbhart@gmail.com> Message-ID: <20250624175351.440780-5-rowanbhart@gmail.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-ID: <20250627112512.1880708-9-alex.bennee@linaro.org>
This commit is contained in:
parent
766e00bd57
commit
f00373b895
2 changed files with 39 additions and 0 deletions
|
@ -476,6 +476,24 @@ bool qemu_plugin_read_memory_vaddr(uint64_t addr, GByteArray *data, size_t len)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool qemu_plugin_write_memory_vaddr(uint64_t addr, GByteArray *data)
|
||||
{
|
||||
g_assert(current_cpu);
|
||||
|
||||
if (data->len == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int result = cpu_memory_rw_debug(current_cpu, addr, data->data,
|
||||
data->len, true);
|
||||
|
||||
if (result < 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
struct qemu_plugin_scoreboard *qemu_plugin_scoreboard_new(size_t element_size)
|
||||
{
|
||||
return plugin_scoreboard_new(element_size);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue