There is no vCPU within the QTest accelerator (well, they
are stubs doing nothing, see dummy_cpu_thread_fn).
Directly use the cpu_physical_memory_rw() API -- which
amusingly prefixed 'cpu_' does not use vCPU -- to access
memory. This reduces accesses to the global 'first_cpu'.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
system/qtest.c | 42 ++++++++++++++----------------------------
1 file changed, 14 insertions(+), 28 deletions(-)
diff --git a/system/qtest.c b/system/qtest.c
index 12703a20455..a2de9a7d5a4 100644
--- a/system/qtest.c
+++ b/system/qtest.c
@@ -18,6 +18,7 @@
#include "chardev/char-fe.h"
#include "exec/ioport.h"
#include "exec/memory.h"
+#include "exec/cpu-common.h"
#include "exec/tswap.h"
#include "hw/qdev-core.h"
#include "hw/irq.h"
@@ -514,23 +515,19 @@ static void qtest_process_command(CharBackend
*chr, gchar **words)
if (words[0][5] == 'b') {
uint8_t data = value;
- address_space_write(first_cpu->as, addr,
MEMTXATTRS_UNSPECIFIED,
- &data, 1);
+ cpu_physical_memory_write(addr, &data, 1);