user: Declare cpu_loop() once in 'user/cpu_loop.h'
authorPhilippe Mathieu-Daudé <philmd@linaro.org>
Fri, 22 Nov 2024 16:56:56 +0000 (17:56 +0100)
committerPhilippe Mathieu-Daudé <philmd@linaro.org>
Fri, 20 Dec 2024 16:44:57 +0000 (17:44 +0100)
Declare cpu_loop() once in "user/cpu_loop.h".
bsd-user gets the G_NORETURN attribute.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241212185341.2857-18-philmd@linaro.org>

bsd-user/aarch64/target_arch_cpu.h
bsd-user/arm/target_arch_cpu.h
bsd-user/i386/target_arch_cpu.h
bsd-user/qemu.h
bsd-user/riscv/target_arch_cpu.h
bsd-user/x86_64/target_arch_cpu.h
include/user/cpu_loop.h
linux-user/user-internals.h

index b288e0d069b0916420c4a2f05eed4e97bb683575..87fbf6d67755d7401ca39577b96628e36b068d6f 100644 (file)
@@ -43,7 +43,7 @@ static inline void target_cpu_init(CPUARMState *env,
 }
 
 
-static inline void target_cpu_loop(CPUARMState *env)
+static inline G_NORETURN void target_cpu_loop(CPUARMState *env)
 {
     CPUState *cs = env_cpu(env);
     int trapnr, ec, fsc, si_code, si_signo;
index 517d0087644e11a30142988a8b3dfeb94dedf082..bc2eaa0bf4e7f8fdb7be4544a95e6f9ec977f238 100644 (file)
@@ -37,7 +37,7 @@ static inline void target_cpu_init(CPUARMState *env,
     }
 }
 
-static inline void target_cpu_loop(CPUARMState *env)
+static inline G_NORETURN void target_cpu_loop(CPUARMState *env)
 {
     int trapnr, si_signo, si_code;
     CPUState *cs = env_cpu(env);
index 9bf2c4244b7dc59708329490bc59e18f0f62553c..5d4c931decdbd94e153e6efa86b3aacefde9f8f3 100644 (file)
@@ -102,7 +102,7 @@ static inline void target_cpu_init(CPUX86State *env,
     env->segs[R_FS].selector = 0;
 }
 
-static inline void target_cpu_loop(CPUX86State *env)
+static inline G_NORETURN void target_cpu_loop(CPUX86State *env)
 {
     CPUState *cs = env_cpu(env);
     int trapnr;
index 04faee459df7963a831332fb2528be6702275d48..3eaa14f3f56d5fb49f5ccc0399492762186ebdc9 100644 (file)
@@ -26,6 +26,7 @@
 #include "exec/exec-all.h"
 
 #include "user/abitypes.h"
+#include "user/cpu_loop.h"
 #include "user/page-protection.h"
 
 extern char **environ;
@@ -187,7 +188,6 @@ abi_long do_openbsd_syscall(void *cpu_env, int num, abi_long arg1,
                             abi_long arg5, abi_long arg6);
 void gemu_log(const char *fmt, ...) G_GNUC_PRINTF(1, 2);
 extern __thread CPUState *thread_cpu;
-void cpu_loop(CPUArchState *env);
 char *target_strerror(int err);
 int get_osversion(void);
 void fork_start(void);
index a93ea3915a14c2d68800e960c7292da42e7323be..ef92f004803bae44667873c1ee131369cc06ea60 100644 (file)
@@ -37,7 +37,7 @@ static inline void target_cpu_init(CPURISCVState *env,
     env->pc = regs->sepc;
 }
 
-static inline void target_cpu_loop(CPURISCVState *env)
+static inline G_NORETURN void target_cpu_loop(CPURISCVState *env)
 {
     CPUState *cs = env_cpu(env);
     int trapnr;
index 4094d61da1af54c168353bedc3c5eb00f11d2987..f82042e30afae964e000cee9230390834ff7f75d 100644 (file)
@@ -110,7 +110,7 @@ static inline void target_cpu_init(CPUX86State *env,
     cpu_x86_load_seg(env, R_GS, 0);
 }
 
-static inline void target_cpu_loop(CPUX86State *env)
+static inline G_NORETURN void target_cpu_loop(CPUX86State *env)
 {
     CPUState *cs = env_cpu(env);
     int trapnr;
index 8e2df232758e0e65e679d688aec9642a8d17aed3..b0d4704018dabcc709945b97fcfe7ff60908cbb7 100644 (file)
@@ -23,6 +23,8 @@
 #include "exec/log.h"
 #include "special-errno.h"
 
+G_NORETURN void cpu_loop(CPUArchState *env);
+
 void target_exception_dump(CPUArchState *env, const char *fmt, int code);
 #define EXCP_DUMP(env, fmt, code) \
     target_exception_dump(env, fmt, code)
index 46ffc093f402bae2610b02f1cb79b489dfcfab49..b9b05c1d11f28544496dcc4e5f642221330675f6 100644 (file)
@@ -65,7 +65,6 @@ abi_long do_syscall(CPUArchState *cpu_env, int num, abi_long arg1,
                     abi_long arg5, abi_long arg6, abi_long arg7,
                     abi_long arg8);
 extern __thread CPUState *thread_cpu;
-G_NORETURN void cpu_loop(CPUArchState *env);
 abi_long get_errno(abi_long ret);
 const char *target_strerror(int err);
 int get_osversion(void);