user: Declare cpu_loop() once in 'user/cpu_loop.h'

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>
This commit is contained in:
Philippe Mathieu-Daudé 2024-11-22 17:56:56 +01:00
parent b74c898158
commit 166a4b6e43
8 changed files with 8 additions and 7 deletions

View 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); CPUState *cs = env_cpu(env);
int trapnr, ec, fsc, si_code, si_signo; int trapnr, ec, fsc, si_code, si_signo;

View 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; int trapnr, si_signo, si_code;
CPUState *cs = env_cpu(env); CPUState *cs = env_cpu(env);

View file

@ -102,7 +102,7 @@ static inline void target_cpu_init(CPUX86State *env,
env->segs[R_FS].selector = 0; 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); CPUState *cs = env_cpu(env);
int trapnr; int trapnr;

View file

@ -26,6 +26,7 @@
#include "exec/exec-all.h" #include "exec/exec-all.h"
#include "user/abitypes.h" #include "user/abitypes.h"
#include "user/cpu_loop.h"
#include "user/page-protection.h" #include "user/page-protection.h"
extern char **environ; 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); abi_long arg5, abi_long arg6);
void gemu_log(const char *fmt, ...) G_GNUC_PRINTF(1, 2); void gemu_log(const char *fmt, ...) G_GNUC_PRINTF(1, 2);
extern __thread CPUState *thread_cpu; extern __thread CPUState *thread_cpu;
void cpu_loop(CPUArchState *env);
char *target_strerror(int err); char *target_strerror(int err);
int get_osversion(void); int get_osversion(void);
void fork_start(void); void fork_start(void);

View file

@ -37,7 +37,7 @@ static inline void target_cpu_init(CPURISCVState *env,
env->pc = regs->sepc; 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); CPUState *cs = env_cpu(env);
int trapnr; int trapnr;

View file

@ -110,7 +110,7 @@ static inline void target_cpu_init(CPUX86State *env,
cpu_x86_load_seg(env, R_GS, 0); 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); CPUState *cs = env_cpu(env);
int trapnr; int trapnr;

View file

@ -23,6 +23,8 @@
#include "exec/log.h" #include "exec/log.h"
#include "special-errno.h" #include "special-errno.h"
G_NORETURN void cpu_loop(CPUArchState *env);
void target_exception_dump(CPUArchState *env, const char *fmt, int code); void target_exception_dump(CPUArchState *env, const char *fmt, int code);
#define EXCP_DUMP(env, fmt, code) \ #define EXCP_DUMP(env, fmt, code) \
target_exception_dump(env, fmt, code) target_exception_dump(env, fmt, code)

View 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 arg5, abi_long arg6, abi_long arg7,
abi_long arg8); abi_long arg8);
extern __thread CPUState *thread_cpu; extern __thread CPUState *thread_cpu;
G_NORETURN void cpu_loop(CPUArchState *env);
abi_long get_errno(abi_long ret); abi_long get_errno(abi_long ret);
const char *target_strerror(int err); const char *target_strerror(int err);
int get_osversion(void); int get_osversion(void);