xemu/include/hw/core
Pierrick Bouvier b709da5d29 plugins: save value during memory accesses
Different code paths handle memory accesses:
- tcg generated code
- load/store helpers
- atomic helpers

This value is saved in cpu->neg.plugin_mem_value_{high,low}. Values are
written only for accessed word size (upper bits are not set).

Atomic operations are doing read/write at the same time, so we generate
two memory callbacks instead of one, to allow plugins to access distinct
values.

For now, we can have access only up to 128 bits, thus split this in two
64 bits words. When QEMU will support wider operations, we'll be able to
reconsider this.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240724194708.1843704-2-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240916085400.1046925-5-alex.bennee@linaro.org>
2024-09-19 15:58:01 +01:00
..
accel-cpu.h accel: Rename AccelCPUClass::cpu_realizefn() -> cpu_target_realize() 2023-10-03 08:00:25 -07:00
cpu.h plugins: save value during memory accesses 2024-09-19 15:58:01 +01:00
generic-loader.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
resetcontainer.h hw/core: Add ResetContainer which holds objects implementing Resettable 2024-02-27 13:01:42 +00:00
split-irq.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
sysbus-fdt.h hw/core: Move the ARM sysbus-fdt to core 2022-04-29 10:48:26 +10:00
sysemu-cpu-ops.h memory: follow Error API guidelines 2023-10-19 23:13:27 +02:00
tcg-cpu-ops.h accel/tcg: Make TCGCPUOps::cpu_exec_halt mandatory 2024-07-11 11:41:34 +01:00