diff mbox series

[4/4] accel/tcg: Move perf and debuginfo support to tcg

Message ID 20230630203720.528552-5-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, 8:36 p.m. UTC
tcg/ should not depend on accel/tcg/, but perf and debuginfo
support provided by the latter are being used by tcg/tcg.c.

Since that's the only user, move both to tcg/.

Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
 accel/tcg/meson.build          | 2 --
 accel/tcg/translate-all.c      | 2 +-
 hw/core/loader.c               | 2 +-
 linux-user/elfload.c           | 2 +-
 linux-user/exit.c              | 2 +-
 linux-user/main.c              | 2 +-
 softmmu/vl.c                   | 2 +-
 {accel/tcg => tcg}/debuginfo.c | 0
 {accel/tcg => tcg}/debuginfo.h | 4 ++--
 tcg/meson.build                | 3 +++
 {accel/tcg => tcg}/perf.c      | 4 ++--
 {accel/tcg => tcg}/perf.h      | 4 ++--
 tcg/tcg.c                      | 2 +-
 13 files changed, 16 insertions(+), 15 deletions(-)
 rename {accel/tcg => tcg}/debuginfo.c (100%)
 rename {accel/tcg => tcg}/debuginfo.h (96%)
 rename {accel/tcg => tcg}/perf.c (98%)
 rename {accel/tcg => tcg}/perf.h (95%)

Comments

Philippe Mathieu-Daudé June 30, 2023, 11:26 p.m. UTC | #1
On 30/6/23 22:36, Ilya Leoshkevich wrote:
> tcg/ should not depend on accel/tcg/, but perf and debuginfo
> support provided by the latter are being used by tcg/tcg.c.
> 
> Since that's the only user, move both to tcg/.
> 
> Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
> ---
>   accel/tcg/meson.build          | 2 --
>   accel/tcg/translate-all.c      | 2 +-
>   hw/core/loader.c               | 2 +-
>   linux-user/elfload.c           | 2 +-
>   linux-user/exit.c              | 2 +-
>   linux-user/main.c              | 2 +-
>   softmmu/vl.c                   | 2 +-
>   {accel/tcg => tcg}/debuginfo.c | 0
>   {accel/tcg => tcg}/debuginfo.h | 4 ++--
>   tcg/meson.build                | 3 +++
>   {accel/tcg => tcg}/perf.c      | 4 ++--
>   {accel/tcg => tcg}/perf.h      | 4 ++--
>   tcg/tcg.c                      | 2 +-
>   13 files changed, 16 insertions(+), 15 deletions(-)
>   rename {accel/tcg => tcg}/debuginfo.c (100%)
>   rename {accel/tcg => tcg}/debuginfo.h (96%)
>   rename {accel/tcg => tcg}/perf.c (98%)
>   rename {accel/tcg => tcg}/perf.h (95%)


> diff --git a/accel/tcg/perf.c b/tcg/perf.c
> similarity index 98%
> rename from accel/tcg/perf.c
> rename to tcg/perf.c
> index e2813e11806..4a08fd9d259 100644
> --- a/accel/tcg/perf.c
> +++ b/tcg/perf.c
> @@ -10,7 +10,7 @@
>   
>   #include "qemu/osdep.h"
>   #include "elf.h"
> -#include "exec/exec-all.h"
> +#include "exec/translation-block.h"
>   #include "qemu/timer.h"
>   #include "tcg/tcg.h"
>   
> @@ -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());
>           }
>           q[insn].flags = DEBUGINFO_SYMBOL | (jitdump ? DEBUGINFO_LINE : 0);
>       }

Could this hunk belong to patch #1?
diff mbox series

Patch

diff --git a/accel/tcg/meson.build b/accel/tcg/meson.build
index 166bef173b8..083c9058391 100644
--- a/accel/tcg/meson.build
+++ b/accel/tcg/meson.build
@@ -12,8 +12,6 @@  tcg_ss.add(files(
 tcg_ss.add(when: 'CONFIG_USER_ONLY', if_true: files('user-exec.c'))
 tcg_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_false: files('user-exec-stub.c'))
 tcg_ss.add(when: 'CONFIG_PLUGIN', if_true: [files('plugin-gen.c')])
-tcg_ss.add(when: libdw, if_true: files('debuginfo.c'))
-tcg_ss.add(when: 'CONFIG_LINUX', if_true: files('perf.c'))
 specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_ss)
 
 specific_ss.add(when: ['CONFIG_SYSTEM_ONLY', 'CONFIG_TCG'], if_true: files(
diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
index d3d4fbc1a41..58d9bd5a69e 100644
--- a/accel/tcg/translate-all.c
+++ b/accel/tcg/translate-all.c
@@ -62,7 +62,7 @@ 
 #include "tb-hash.h"
 #include "tb-context.h"
 #include "internal.h"
-#include "perf.h"
+#include "tcg/perf.h"
 #include "tcg/insn-start-words.h"
 
 TBContext tb_ctx;
diff --git a/hw/core/loader.c b/hw/core/loader.c
index 8b7fd9e9e55..ad8d00440a7 100644
--- a/hw/core/loader.c
+++ b/hw/core/loader.c
@@ -62,7 +62,7 @@ 
 #include "hw/boards.h"
 #include "qemu/cutils.h"
 #include "sysemu/runstate.h"
-#include "accel/tcg/debuginfo.h"
+#include "tcg/debuginfo.h"
 
 #include <zlib.h>
 
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 9a2ec568b09..6900974c373 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -21,7 +21,7 @@ 
 #include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "target_signal.h"
-#include "accel/tcg/debuginfo.h"
+#include "tcg/debuginfo.h"
 
 #ifdef _ARCH_PPC64
 #undef ARCH_DLINFO
diff --git a/linux-user/exit.c b/linux-user/exit.c
index 3017d28a3c3..122b9d904f1 100644
--- a/linux-user/exit.c
+++ b/linux-user/exit.c
@@ -17,7 +17,7 @@ 
  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "qemu/osdep.h"
-#include "accel/tcg/perf.h"
+#include "tcg/perf.h"
 #include "gdbstub/syscalls.h"
 #include "qemu.h"
 #include "user-internals.h"
diff --git a/linux-user/main.c b/linux-user/main.c
index dba67ffa362..3f65ca49db8 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -54,7 +54,7 @@ 
 #include "signal-common.h"
 #include "loader.h"
 #include "user-mmap.h"
-#include "accel/tcg/perf.h"
+#include "tcg/perf.h"
 
 #ifdef CONFIG_SEMIHOSTING
 #include "semihosting/semihost.h"
diff --git a/softmmu/vl.c b/softmmu/vl.c
index b0b96f67fac..92922377210 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -97,7 +97,7 @@ 
 #endif
 #include "sysemu/qtest.h"
 #ifdef CONFIG_TCG
-#include "accel/tcg/perf.h"
+#include "tcg/perf.h"
 #endif
 
 #include "disas/disas.h"
diff --git a/accel/tcg/debuginfo.c b/tcg/debuginfo.c
similarity index 100%
rename from accel/tcg/debuginfo.c
rename to tcg/debuginfo.c
diff --git a/accel/tcg/debuginfo.h b/tcg/debuginfo.h
similarity index 96%
rename from accel/tcg/debuginfo.h
rename to tcg/debuginfo.h
index f064e1c144b..858535b5da5 100644
--- a/accel/tcg/debuginfo.h
+++ b/tcg/debuginfo.h
@@ -4,8 +4,8 @@ 
  * SPDX-License-Identifier: GPL-2.0-or-later
  */
 
-#ifndef ACCEL_TCG_DEBUGINFO_H
-#define ACCEL_TCG_DEBUGINFO_H
+#ifndef TCG_DEBUGINFO_H
+#define TCG_DEBUGINFO_H
 
 #include "qemu/bitops.h"
 
diff --git a/tcg/meson.build b/tcg/meson.build
index c0252c41988..0800e1faae8 100644
--- a/tcg/meson.build
+++ b/tcg/meson.build
@@ -22,6 +22,9 @@  if get_option('tcg_interpreter')
   tcg_ss.add(files('tci.c'))
 endif
 
+tcg_ss.add(when: libdw, if_true: files('debuginfo.c'))
+tcg_ss.add(when: 'CONFIG_LINUX', if_true: files('perf.c'))
+
 tcg_ss = tcg_ss.apply(config_host, strict: false)
 
 libtcg_user = static_library('tcg_user',
diff --git a/accel/tcg/perf.c b/tcg/perf.c
similarity index 98%
rename from accel/tcg/perf.c
rename to tcg/perf.c
index e2813e11806..4a08fd9d259 100644
--- a/accel/tcg/perf.c
+++ b/tcg/perf.c
@@ -10,7 +10,7 @@ 
 
 #include "qemu/osdep.h"
 #include "elf.h"
-#include "exec/exec-all.h"
+#include "exec/translation-block.h"
 #include "qemu/timer.h"
 #include "tcg/tcg.h"
 
@@ -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());
         }
         q[insn].flags = DEBUGINFO_SYMBOL | (jitdump ? DEBUGINFO_LINE : 0);
     }
diff --git a/accel/tcg/perf.h b/tcg/perf.h
similarity index 95%
rename from accel/tcg/perf.h
rename to tcg/perf.h
index f92dd52c699..c96b5920a3f 100644
--- a/accel/tcg/perf.h
+++ b/tcg/perf.h
@@ -4,8 +4,8 @@ 
  * SPDX-License-Identifier: GPL-2.0-or-later
  */
 
-#ifndef ACCEL_TCG_PERF_H
-#define ACCEL_TCG_PERF_H
+#ifndef TCG_PERF_H
+#define TCG_PERF_H
 
 #if defined(CONFIG_TCG) && defined(CONFIG_LINUX)
 /* Start writing perf-<pid>.map. */
diff --git a/tcg/tcg.c b/tcg/tcg.c
index a0628fe4249..2afc5f2d0f7 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -54,7 +54,7 @@ 
 #include "tcg/tcg-ldst.h"
 #include "tcg/tcg-temp-internal.h"
 #include "tcg-internal.h"
-#include "accel/tcg/perf.h"
+#include "tcg/perf.h"
 #ifdef CONFIG_USER_ONLY
 #include "exec/user/guest-base.h"
 #endif