[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 14/28] user: Declare get_task_state() once in 'accel/tcg/vcpu-stat
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 14/28] user: Declare get_task_state() once in 'accel/tcg/vcpu-state.h' |
Date: |
Mon, 6 May 2024 14:37:14 +0200 |
While each user emulation implentation defines its own
TaskState structure, both use the same get_task_state()
declaration, in particular in common code (such gdbstub).
Declare the method once in "accel/tcg/vcpu-state.h".
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240428221450.26460-10-philmd@linaro.org>
---
accel/tcg/vcpu-state.h | 18 ++++++++++++++++++
bsd-user/qemu.h | 6 +-----
linux-user/qemu.h | 6 +-----
3 files changed, 20 insertions(+), 10 deletions(-)
create mode 100644 accel/tcg/vcpu-state.h
diff --git a/accel/tcg/vcpu-state.h b/accel/tcg/vcpu-state.h
new file mode 100644
index 0000000000..e407d914df
--- /dev/null
+++ b/accel/tcg/vcpu-state.h
@@ -0,0 +1,18 @@
+/*
+ * SPDX-FileContributor: Philippe Mathieu-Daudé <philmd@linaro.org>
+ * SPDX-FileCopyrightText: 2023 Linaro Ltd.
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+#ifndef ACCEL_TCG_VCPU_STATE_H
+#define ACCEL_TCG_VCPU_STATE_H
+
+#include "hw/core/cpu.h"
+
+#ifdef CONFIG_USER_ONLY
+static inline TaskState *get_task_state(const CPUState *cs)
+{
+ return cs->opaque;
+}
+#endif
+
+#endif
diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index 1780f485d6..9d2fc7148e 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -36,6 +36,7 @@ extern char **environ;
#include "exec/gdbstub.h"
#include "exec/page-protection.h"
#include "qemu/clang-tsa.h"
+#include "accel/tcg/vcpu-state.h"
#include "qemu-os.h"
/*
@@ -116,11 +117,6 @@ struct TaskState {
struct target_sigaltstack sigaltstack_used;
} __attribute__((aligned(16)));
-static inline TaskState *get_task_state(CPUState *cs)
-{
- return cs->opaque;
-}
-
void stop_all_tasks(void);
extern const char *interp_prefix;
extern const char *qemu_uname_release;
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index 7df4645c2b..2e90a97175 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -8,6 +8,7 @@
#include "syscall_defs.h"
#include "target_syscall.h"
+#include "accel/tcg/vcpu-state.h"
/*
* This is the size of the host kernel's sigset_t, needed where we make
@@ -160,11 +161,6 @@ struct TaskState {
uint64_t start_boottime;
};
-static inline TaskState *get_task_state(CPUState *cs)
-{
- return cs->opaque;
-}
-
abi_long do_brk(abi_ulong new_brk);
int do_guest_openat(CPUArchState *cpu_env, int dirfd, const char *pathname,
int flags, mode_t mode, bool safe);
--
2.41.0
- [PULL 04/28] exec/cpu: Remove duplicated PAGE_PASSTHROUGH definition, (continued)
- [PULL 04/28] exec/cpu: Remove duplicated PAGE_PASSTHROUGH definition, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 05/28] exec/cpu: Extract page-protection definitions to page-protection.h, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 06/28] accel/tcg: Use cpu_loop_exit_requested() in cpu_loop_exec_tb(), Philippe Mathieu-Daudé, 2024/05/06
- [PULL 07/28] accel/tcg: Access tcg_cflags with getter / setter, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 08/28] accel/tcg: Move user definition of cpu_interrupt() to user-exec.c, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 11/28] accel/tcg: Restrict cpu_plugin_mem_cbs_enabled() to TCG, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 10/28] accel/tcg: Restrict qemu_plugin_vcpu_exit_hook() to TCG plugins, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 09/28] accel/tcg: Update CPUNegativeOffsetState::can_do_io field documentation, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 12/28] accel/tcg: Move @plugin_mem_cbs from CPUState to CPUNegativeOffsetState, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 13/28] user: Forward declare TaskState type definition, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 14/28] user: Declare get_task_state() once in 'accel/tcg/vcpu-state.h',
Philippe Mathieu-Daudé <=
- [PULL 15/28] user: Use get_task_state() helper, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 16/28] softmmu: let qemu_map_ram_ptr() use qemu_ram_ptr_length(), Philippe Mathieu-Daudé, 2024/05/06
- [PULL 17/28] xen: let xen_ram_addr_from_mapcache() return -1 in case of not found entry, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 20/28] xen: mapcache: Refactor xen_remap_bucket for multi-instance, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 18/28] xen: mapcache: Refactor lock functions for multi-instance, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 19/28] xen: mapcache: Refactor xen_map_cache for multi-instance, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 22/28] xen: mapcache: Refactor xen_replace_cache_entry_unlocked, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 21/28] xen: mapcache: Break out xen_ram_addr_from_mapcache_single, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 23/28] xen: mapcache: Refactor xen_invalidate_map_cache_entry_unlocked, Philippe Mathieu-Daudé, 2024/05/06
- [PULL 24/28] xen: mapcache: Break out xen_invalidate_map_cache_single(), Philippe Mathieu-Daudé, 2024/05/06