qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé via" <qemu-devel@nongnu.org>
To: qemu-devel@nongnu.org
Cc: "Richard Henderson" <richard.henderson@linaro.org>,
	"Thomas Huth" <thuth@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: [PATCH v2 04/21] exec: Make cpu_memory_rw_debug() target agnostic
Date: Thu,  3 Feb 2022 20:17:57 +0100	[thread overview]
Message-ID: <20220203191814.45023-5-f4bug@amsat.org> (raw)
In-Reply-To: <20220203191814.45023-1-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>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 cpu.c                     | 6 +++---
 include/exec/cpu-all.h    | 4 ----
 include/exec/cpu-common.h | 4 ++++
 softmmu/cpus.c            | 2 +-
 softmmu/physmem.c         | 6 +++---
 5 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/cpu.c b/cpu.c
index 016bf06a1a..97d42b6b2a 100644
--- a/cpu.c
+++ b/cpu.c
@@ -395,11 +395,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/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 84caf5c3d9..c0f0fab28a 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 cd1d7328a1..8031ebc680 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/softmmu/cpus.c b/softmmu/cpus.c
index 23bca46b07..7f15106dd9 100644
--- a/softmmu/cpus.c
+++ b/softmmu/cpus.c
@@ -32,7 +32,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 dddf70edf5..eb4b3bcae7 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -3435,11 +3435,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.34.1



  parent reply	other threads:[~2022-02-03 20:19 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-03 19:17 [PATCH v2 00/21] softmmu: Make various objects target agnostic Philippe Mathieu-Daudé via
2022-02-03 19:17 ` [PATCH v2 01/21] accel: Restrict sysemu stubs to system emulation Philippe Mathieu-Daudé via
2022-02-04  8:04   ` Thomas Huth
2022-02-05 23:04   ` Richard Henderson
2022-02-03 19:17 ` [PATCH v2 02/21] accel/meson: Only build hw virtualization with " Philippe Mathieu-Daudé via
2022-02-04  7:37   ` Thomas Huth
2022-02-04  7:51     ` Philippe Mathieu-Daudé via
2022-02-04  8:00       ` Thomas Huth
2022-02-03 19:17 ` [PATCH v2 03/21] exec: Declare vaddr as a generic target-agnostic type Philippe Mathieu-Daudé via
2022-02-05 23:12   ` Richard Henderson
2022-02-03 19:17 ` Philippe Mathieu-Daudé via [this message]
2022-02-05 23:13   ` [PATCH v2 04/21] exec: Make cpu_memory_rw_debug() target agnostic Richard Henderson
2022-02-03 19:17 ` [PATCH v2 05/21] sysemu/memory_mapping: Become target-agnostic Philippe Mathieu-Daudé via
2022-02-03 19:17 ` [PATCH v2 06/21] sysemu/kvm: Make kvm_on_sigbus() / kvm_on_sigbus_vcpu() target agnostic Philippe Mathieu-Daudé via
2022-02-03 19:18 ` [PATCH v2 07/21] accel/kvm: Simplify user-mode #ifdef'ry Philippe Mathieu-Daudé via
2022-02-03 19:18 ` [PATCH v2 08/21] accel/hax: Introduce CONFIG_HAX_IS_POSSIBLE Philippe Mathieu-Daudé via
2022-02-05 23:15   ` Richard Henderson
2022-02-03 19:18 ` [PATCH v2 09/21] softmmu/cpus: Code movement Philippe Mathieu-Daudé via
2022-02-05 23:16   ` Richard Henderson
2022-02-03 19:18 ` [PATCH v2 10/21] accel: Introduce AccelOpsClass::cpu_thread_is_idle() Philippe Mathieu-Daudé via
2022-02-05 23:22   ` Richard Henderson
2022-02-03 19:18 ` [PATCH v2 11/21] accel: Introduce AccelOpsClass::cpus_are_resettable() Philippe Mathieu-Daudé via
2022-02-05 23:25   ` Richard Henderson
2022-02-03 19:18 ` [PATCH v2 12/21] softmmu/globals: Remove unused 'hw/i386/*' headers Philippe Mathieu-Daudé via
2022-02-03 19:18 ` [PATCH v2 13/21] softmmu/runstate: Clean headers Philippe Mathieu-Daudé via
2022-02-03 19:18 ` [PATCH v2 14/21] softmmu/physmem: Remove unnecessary include Philippe Mathieu-Daudé via
2022-02-05 23:26   ` Richard Henderson
2022-02-03 19:18 ` [PATCH v2 15/21] softmmu/cpu-timers: Remove unused 'exec/exec-all.h' header Philippe Mathieu-Daudé via
2022-02-03 19:18 ` [PATCH v2 16/21] misc: Remove unnecessary "sysemu/cpu-timers.h" include Philippe Mathieu-Daudé via
2022-02-05 23:29   ` Richard Henderson
2022-02-03 19:18 ` [PATCH v2 17/21] misc: Add missing " Philippe Mathieu-Daudé via
2022-02-05 23:30   ` Richard Henderson
2022-02-03 19:18 ` [PATCH v2 18/21] exec/gdbstub: Make gdb_exit() / gdb_set_stop_cpu() target agnostic Philippe Mathieu-Daudé via
2022-02-03 19:18 ` [PATCH v2 19/21] exec/cpu: Make address_space_init/reloading_memory_map " Philippe Mathieu-Daudé via
2022-02-05 23:31   ` Richard Henderson
2022-02-03 19:18 ` [PATCH v2 20/21] softmmu: Add qemu_init_arch_modules() Philippe Mathieu-Daudé via
2022-02-05 23:32   ` Richard Henderson
2022-02-03 19:18 ` [PATCH v2 21/21] softmmu: Build target-agnostic objects once Philippe Mathieu-Daudé via
2022-02-04 12:21 ` [PATCH v2 00/21] softmmu: Make various objects target agnostic Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220203191814.45023-5-f4bug@amsat.org \
    --to=qemu-devel@nongnu.org \
    --cc=f4bug@amsat.org \
    --cc=pbonzini@redhat.com \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).