diff mbox series

[v2,1/4] target: Make qemu_target_page_mask() available for *-user

Message ID 20230630234230.596193-2-iii@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series accel/tcg: Move perf and debuginfo support to tcg | expand

Commit Message

Ilya Leoshkevich June 30, 2023, 11:40 p.m. UTC
Currently qemu_target_page_mask() is usable only from the softmmu
code. Make it possible to use it from the *-user code as well.

Make use of it in perf.c.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
 accel/tcg/perf.c       | 2 +-
 softmmu/physmem.c      | 5 -----
 target/meson.build     | 2 ++
 target/target-common.c | 9 +++++++++
 4 files changed, 12 insertions(+), 6 deletions(-)
 create mode 100644 target/target-common.c
diff mbox series

Patch

diff --git a/accel/tcg/perf.c b/accel/tcg/perf.c
index cd1aa99a7ee..b42742c4c0d 100644
--- a/accel/tcg/perf.c
+++ b/accel/tcg/perf.c
@@ -335,7 +335,7 @@  void perf_report_code(uint64_t guest_pc, TranslationBlock *tb,
         /* FIXME: This replicates the restore_state_to_opc() logic. */
         q[insn].address = gen_insn_data[insn * start_words + 0];
         if (tb_cflags(tb) & CF_PCREL) {
-            q[insn].address |= (guest_pc & TARGET_PAGE_MASK);
+            q[insn].address |= (guest_pc & qemu_target_page_mask());
         } else {
 #if defined(TARGET_I386)
             q[insn].address -= tb->cs_base;
diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index bda475a719d..6bdd944fe88 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -3359,11 +3359,6 @@  size_t qemu_target_page_size(void)
     return TARGET_PAGE_SIZE;
 }
 
-int qemu_target_page_mask(void)
-{
-    return TARGET_PAGE_MASK;
-}
-
 int qemu_target_page_bits(void)
 {
     return TARGET_PAGE_BITS;
diff --git a/target/meson.build b/target/meson.build
index a53a60486fc..dee2ac47e02 100644
--- a/target/meson.build
+++ b/target/meson.build
@@ -19,3 +19,5 @@  subdir('sh4')
 subdir('sparc')
 subdir('tricore')
 subdir('xtensa')
+
+specific_ss.add(files('target-common.c'))
diff --git a/target/target-common.c b/target/target-common.c
new file mode 100644
index 00000000000..6868a1f490f
--- /dev/null
+++ b/target/target-common.c
@@ -0,0 +1,9 @@ 
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#include "qemu/osdep.h"
+
+#include "exec/exec-all.h"
+
+int qemu_target_page_mask(void)
+{
+    return TARGET_PAGE_MASK;
+}