diff mbox series

[08/24] user: Forward declare TaskState type definition

Message ID 20240428221450.26460-9-philmd@linaro.org
State New
Headers show
Series exec: Rework around CPUState user fields (part 2) | expand

Commit Message

Philippe Mathieu-Daudé April 28, 2024, 10:14 p.m. UTC
Forward declare TaskState in "qemu/typedefs.h" so we can
use it in generic headers like "hw/cpu/core.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 bsd-user/qemu.h         | 4 ++--
 include/qemu/typedefs.h | 1 +
 linux-user/qemu.h       | 4 ++--
 3 files changed, 5 insertions(+), 4 deletions(-)

Comments

Richard Henderson April 29, 2024, 1:13 a.m. UTC | #1
On 4/28/24 15:14, Philippe Mathieu-Daudé wrote:
> Forward declare TaskState in "qemu/typedefs.h" so we can
> use it in generic headers like "hw/cpu/core.h".
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   bsd-user/qemu.h         | 4 ++--
>   include/qemu/typedefs.h | 1 +
>   linux-user/qemu.h       | 4 ++--
>   3 files changed, 5 insertions(+), 4 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~

> 
> diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
> index e562adde65..be57374b41 100644
> --- a/bsd-user/qemu.h
> +++ b/bsd-user/qemu.h
> @@ -76,7 +76,7 @@ struct emulated_sigtable {
>   /*
>    * NOTE: we force a big alignment so that the stack stored after is aligned too
>    */
> -typedef struct TaskState {
> +struct TaskState {
>       pid_t ts_tid;     /* tid (or pid) of this task */
>   
>       struct TaskState *next;
> @@ -114,7 +114,7 @@ typedef struct TaskState {
>   
>       /* This thread's sigaltstack, if it has one */
>       struct target_sigaltstack sigaltstack_used;
> -} __attribute__((aligned(16))) TaskState;
> +} __attribute__((aligned(16)));
>   
>   static inline TaskState *get_task_state(CPUState *cs)
>   {
> diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
> index 50c277cf0b..36f2825725 100644
> --- a/include/qemu/typedefs.h
> +++ b/include/qemu/typedefs.h
> @@ -134,6 +134,7 @@ typedef struct SHPCDevice SHPCDevice;
>   typedef struct SSIBus SSIBus;
>   typedef struct TCGCPUOps TCGCPUOps;
>   typedef struct TCGHelperInfo TCGHelperInfo;
> +typedef struct TaskState TaskState;
>   typedef struct TranslationBlock TranslationBlock;
>   typedef struct VirtIODevice VirtIODevice;
>   typedef struct Visitor Visitor;
> diff --git a/linux-user/qemu.h b/linux-user/qemu.h
> index 4777856b52..16d9f6ae8c 100644
> --- a/linux-user/qemu.h
> +++ b/linux-user/qemu.h
> @@ -95,7 +95,7 @@ struct emulated_sigtable {
>       target_siginfo_t info;
>   };
>   
> -typedef struct TaskState {
> +struct TaskState {
>       pid_t ts_tid;     /* tid (or pid) of this task */
>   #ifdef TARGET_ARM
>   # ifdef TARGET_ABI32
> @@ -158,7 +158,7 @@ typedef struct TaskState {
>   
>       /* Start time of task after system boot in clock ticks */
>       uint64_t start_boottime;
> -} TaskState;
> +};
>   
>   static inline TaskState *get_task_state(CPUState *cs)
>   {
diff mbox series

Patch

diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index e562adde65..be57374b41 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -76,7 +76,7 @@  struct emulated_sigtable {
 /*
  * NOTE: we force a big alignment so that the stack stored after is aligned too
  */
-typedef struct TaskState {
+struct TaskState {
     pid_t ts_tid;     /* tid (or pid) of this task */
 
     struct TaskState *next;
@@ -114,7 +114,7 @@  typedef struct TaskState {
 
     /* This thread's sigaltstack, if it has one */
     struct target_sigaltstack sigaltstack_used;
-} __attribute__((aligned(16))) TaskState;
+} __attribute__((aligned(16)));
 
 static inline TaskState *get_task_state(CPUState *cs)
 {
diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
index 50c277cf0b..36f2825725 100644
--- a/include/qemu/typedefs.h
+++ b/include/qemu/typedefs.h
@@ -134,6 +134,7 @@  typedef struct SHPCDevice SHPCDevice;
 typedef struct SSIBus SSIBus;
 typedef struct TCGCPUOps TCGCPUOps;
 typedef struct TCGHelperInfo TCGHelperInfo;
+typedef struct TaskState TaskState;
 typedef struct TranslationBlock TranslationBlock;
 typedef struct VirtIODevice VirtIODevice;
 typedef struct Visitor Visitor;
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index 4777856b52..16d9f6ae8c 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -95,7 +95,7 @@  struct emulated_sigtable {
     target_siginfo_t info;
 };
 
-typedef struct TaskState {
+struct TaskState {
     pid_t ts_tid;     /* tid (or pid) of this task */
 #ifdef TARGET_ARM
 # ifdef TARGET_ABI32
@@ -158,7 +158,7 @@  typedef struct TaskState {
 
     /* Start time of task after system boot in clock ticks */
     uint64_t start_boottime;
-} TaskState;
+};
 
 static inline TaskState *get_task_state(CPUState *cs)
 {