[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 04/33] exec: Make cpu_memory_rw_debug() target agnostic
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 04/33] exec: Make cpu_memory_rw_debug() target agnostic |
Date: |
Sun, 6 Mar 2022 13:59:31 +0100 |
From: Philippe Mathieu-Daudé <f4bug@amsat.org>
cpu_memory_rw_debug() is declared in "exec/cpu-all.h" which
contains target-specific declarations. To be able to use it
from target agnostic source, move the declaration to the
generic "exec/cpu-common.h" header.
Replace the target-specific 'target_ulong' type by 'vaddr'
which better reflects the argument type, and is target agnostic.
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220207075426.81934-5-f4bug@amsat.org>
---
include/exec/cpu-all.h | 4 ----
include/exec/cpu-common.h | 4 ++++
cpu.c | 6 +++---
softmmu/cpus.c | 2 +-
softmmu/physmem.c | 6 +++---
5 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 84caf5c3d9f..c0f0fab28a1 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -433,10 +433,6 @@ int cpu_exec(CPUState *cpu);
void tcg_exec_realizefn(CPUState *cpu, Error **errp);
void tcg_exec_unrealizefn(CPUState *cpu);
-/* Returns: 0 on success, -1 on error */
-int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr,
- void *ptr, target_ulong len, bool is_write);
-
/**
* cpu_set_cpustate_pointers(cpu)
* @cpu: The cpu object
diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
index cd1d7328a1d..8031ebc680c 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -128,6 +128,10 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start,
size_t length);
#endif
+/* Returns: 0 on success, -1 on error */
+int cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
+ void *ptr, size_t len, bool is_write);
+
/* vl.c */
extern int singlestep;
diff --git a/cpu.c b/cpu.c
index 3ea38aea707..d5d4cbf8cb7 100644
--- a/cpu.c
+++ b/cpu.c
@@ -415,11 +415,11 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...)
/* physical memory access (slow version, mainly for debug) */
#if defined(CONFIG_USER_ONLY)
-int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr,
- void *ptr, target_ulong len, bool is_write)
+int cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
+ void *ptr, size_t len, bool is_write)
{
int flags;
- target_ulong l, page;
+ vaddr l, page;
void * p;
uint8_t *buf = ptr;
diff --git a/softmmu/cpus.c b/softmmu/cpus.c
index 1681844b61d..3f8fae43ba6 100644
--- a/softmmu/cpus.c
+++ b/softmmu/cpus.c
@@ -33,7 +33,7 @@
#include "qapi/qmp/qerror.h"
#include "exec/gdbstub.h"
#include "sysemu/hw_accel.h"
-#include "exec/exec-all.h"
+#include "exec/cpu-common.h"
#include "qemu/thread.h"
#include "qemu/plugin.h"
#include "sysemu/cpus.h"
diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index a13289a594a..cf6b2b48995 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -3436,11 +3436,11 @@ address_space_write_cached_slow(MemoryRegionCache
*cache, hwaddr addr,
#include "memory_ldst.c.inc"
/* virtual memory access for debug (includes writing to ROM) */
-int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr,
- void *ptr, target_ulong len, bool is_write)
+int cpu_memory_rw_debug(CPUState *cpu, vaddr addr,
+ void *ptr, size_t len, bool is_write)
{
hwaddr phys_addr;
- target_ulong l, page;
+ vaddr l, page;
uint8_t *buf = ptr;
cpu_synchronize_state(cpu);
--
2.35.1
- [PULL 00/33] Abstract ArchCPU, Philippe Mathieu-Daudé, 2022/03/06
- [PULL 01/33] accel: Restrict sysemu stubs to system emulation, Philippe Mathieu-Daudé, 2022/03/06
- [PULL 02/33] accel/meson: Only build hw virtualization with system emulation, Philippe Mathieu-Daudé, 2022/03/06
- [PULL 03/33] exec: Declare vaddr as a generic target-agnostic type, Philippe Mathieu-Daudé, 2022/03/06
- [PULL 04/33] exec: Make cpu_memory_rw_debug() target agnostic,
Philippe Mathieu-Daudé <=
- [PULL 05/33] sysemu/memory_mapping: Become target-agnostic, Philippe Mathieu-Daudé, 2022/03/06
- [PULL 06/33] sysemu/kvm: Make kvm_on_sigbus() / kvm_on_sigbus_vcpu() target agnostic, Philippe Mathieu-Daudé, 2022/03/06
- [PULL 07/33] accel/kvm: Simplify user-mode #ifdef'ry, Philippe Mathieu-Daudé, 2022/03/06
- [PULL 08/33] accel/hax: Introduce CONFIG_HAX_IS_POSSIBLE, Philippe Mathieu-Daudé, 2022/03/06
- [PULL 09/33] softmmu/cpus: Code movement, Philippe Mathieu-Daudé, 2022/03/06
- [PULL 10/33] accel: Introduce AccelOpsClass::cpu_thread_is_idle(), Philippe Mathieu-Daudé, 2022/03/06
- [PULL 11/33] accel: Introduce AccelOpsClass::cpus_are_resettable(), Philippe Mathieu-Daudé, 2022/03/06
- [PULL 12/33] softmmu/globals: Remove unused 'hw/i386/*' headers, Philippe Mathieu-Daudé, 2022/03/06
- [PULL 13/33] softmmu/physmem: Remove unnecessary include, Philippe Mathieu-Daudé, 2022/03/06
- [PULL 14/33] softmmu/cpu-timers: Remove unused 'exec/exec-all.h' header, Philippe Mathieu-Daudé, 2022/03/06