| a1688bc8 | 27-Oct-2025 |
Julian Ganz <neither@nut.email> |
plugins: add hooks for new discontinuity related callbacks
The plugin API allows registration of callbacks for a variety of VCPU related events, such as VCPU reset, idle and resume. In addition, we
plugins: add hooks for new discontinuity related callbacks
The plugin API allows registration of callbacks for a variety of VCPU related events, such as VCPU reset, idle and resume. In addition, we recently introduced API for registering callbacks for discontinuity events, specifically for interrupts, exceptions and host calls.
This change introduces the corresponding hooks called from target specific code inside qemu.
Signed-off-by: Julian Ganz <neither@nut.email> Message-ID: <20251027110344.2289945-10-alex.bennee@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
show more ...
|
| 30424b8d | 27-Jun-2025 |
Rowan Hart <rowanbhart@gmail.com> |
plugins: Add memory hardware address read/write API
This patch adds functions to the plugins API to allow plugins to read and write memory via hardware addresses. The functions use the current addre
plugins: Add memory hardware address read/write API
This patch adds functions to the plugins API to allow plugins to read and write memory via hardware addresses. The functions use the current address space of the current CPU in order to avoid exposing address space information to users. A later patch may want to add a function to permit a specified address space, for example to facilitate architecture-specific plugins that want to operate on them, for example reading ARM secure memory.
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Rowan Hart <rowanbhart@gmail.com> Message-ID: <20250624175351.440780-6-rowanbhart@gmail.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-ID: <20250627112512.1880708-10-alex.bennee@linaro.org>
show more ...
|
| f00373b8 | 27-Jun-2025 |
Rowan Hart <rowanbhart@gmail.com> |
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 curr
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>
show more ...
|
| 766e00bd | 27-Jun-2025 |
Rowan Hart <rowanbhart@gmail.com> |
plugins: Add enforcement of QEMU_PLUGIN_CB flags in register R/W callbacks
This patch adds functionality to enforce the requested QEMU_PLUGIN_CB_ flags level passed when registering a callback funct
plugins: Add enforcement of QEMU_PLUGIN_CB flags in register R/W callbacks
This patch adds functionality to enforce the requested QEMU_PLUGIN_CB_ flags level passed when registering a callback function using the plugins API. Each time a callback is about to be invoked, a thread-local variable will be updated with the level that callback requested. Then, called API functions (in particular, the register read and write API) will call qemu_plugin_get_cb_flags() to check the level is at least the level they require.
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Rowan Hart <rowanbhart@gmail.com> Message-ID: <20250624175351.440780-4-rowanbhart@gmail.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-ID: <20250627112512.1880708-8-alex.bennee@linaro.org>
show more ...
|
| 606ad7fe | 04-Mar-2025 |
Alex Bennée <alex.bennee@linaro.org> |
plugins/core: make a single build unit
Trim through the includes and remove everything not needed for the core. Only include tcg-op-common.h to remove the need to TARGET_LONG_BITS and move the build
plugins/core: make a single build unit
Trim through the includes and remove everything not needed for the core. Only include tcg-op-common.h to remove the need to TARGET_LONG_BITS and move the build unit into the common set.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250304222439.2035603-31-alex.bennee@linaro.org>
show more ...
|
| 40988ed9 | 04-Mar-2025 |
Alex Bennée <alex.bennee@linaro.org> |
plugins/api: build only once
Now all the softmmu/user-mode stuff has been split out we can build this compilation unit only once.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signe
plugins/api: build only once
Now all the softmmu/user-mode stuff has been split out we can build this compilation unit only once.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250304222439.2035603-30-alex.bennee@linaro.org>
show more ...
|
| 1d3e745f | 04-Mar-2025 |
Alex Bennée <alex.bennee@linaro.org> |
plugins/api: split out time control helpers
These are only usable in system mode where we control the timer. For user-mode make them NOPs.
Reviewed-by: Richard Henderson <richard.henderson@linaro.o
plugins/api: split out time control helpers
These are only usable in system mode where we control the timer. For user-mode make them NOPs.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250304222439.2035603-29-alex.bennee@linaro.org>
show more ...
|
| 455a2d26 | 04-Mar-2025 |
Alex Bennée <alex.bennee@linaro.org> |
plugins/api: split out the vaddr/hwaddr helpers
These only work for system-mode and are NOPs for user-mode.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée
plugins/api: split out the vaddr/hwaddr helpers
These only work for system-mode and are NOPs for user-mode.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250304222439.2035603-28-alex.bennee@linaro.org>
show more ...
|
| 8c15f6e4 | 04-Mar-2025 |
Alex Bennée <alex.bennee@linaro.org> |
plugins/loader: compile loader only once
There is very little in loader that is different between builds save for a tiny user/system mode difference in the plugin_info structure. Create two new file
plugins/loader: compile loader only once
There is very little in loader that is different between builds save for a tiny user/system mode difference in the plugin_info structure. Create two new files, user and system to hold mode specific helpers and move loader into common_ss.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250304222439.2035603-26-alex.bennee@linaro.org>
show more ...
|
| 5dd09b81 | 04-Mar-2025 |
Alex Bennée <alex.bennee@linaro.org> |
plugins/plugin.h: include queue.h
Headers should bring in what they need so don't rely on getting queue.h by side effects. This will help with clean-ups in the following patches.
Reviewed-by: Richa
plugins/plugin.h: include queue.h
Headers should bring in what they need so don't rely on getting queue.h by side effects. This will help with clean-ups in the following patches.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250304222439.2035603-25-alex.bennee@linaro.org>
show more ...
|
| f85a28de | 04-Mar-2025 |
Alex Bennée <alex.bennee@linaro.org> |
plugins/api: clean-up the includes
Thanks to re-factoring and clean-up work (especially to exec-all) we no longer need such broad headers for the api.
Reviewed-by: Richard Henderson <richard.hender
plugins/api: clean-up the includes
Thanks to re-factoring and clean-up work (especially to exec-all) we no longer need such broad headers for the api.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250304222439.2035603-24-alex.bennee@linaro.org>
show more ...
|
| 1d9a9743 | 04-Mar-2025 |
Alex Bennée <alex.bennee@linaro.org> |
plugins/loader: populate target_name with target_name()
We have a function we can call for this, lets not rely on macros that stop us building once.
Reviewed-by: Richard Henderson <richard.henderso
plugins/loader: populate target_name with target_name()
We have a function we can call for this, lets not rely on macros that stop us building once.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250304222439.2035603-22-alex.bennee@linaro.org>
show more ...
|