xref: /openbmc/qemu/target/loongarch/internals.h (revision 425876f5)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * QEMU LoongArch CPU -- internal functions and types
4  *
5  * Copyright (c) 2021 Loongson Technology Corporation Limited
6  */
7 
8 #ifndef LOONGARCH_INTERNALS_H
9 #define LOONGARCH_INTERNALS_H
10 
11 #define FCMP_LT   0b0001  /* fp0 < fp1 */
12 #define FCMP_EQ   0b0010  /* fp0 = fp1 */
13 #define FCMP_UN   0b0100  /* unordered */
14 #define FCMP_GT   0b1000  /* fp0 > fp1 */
15 
16 void loongarch_translate_init(void);
17 
18 void loongarch_cpu_dump_state(CPUState *cpu, FILE *f, int flags);
19 
20 void G_NORETURN do_raise_exception(CPULoongArchState *env,
21                                    uint32_t exception,
22                                    uintptr_t pc);
23 
24 const char *loongarch_exception_name(int32_t exception);
25 
26 void restore_fp_status(CPULoongArchState *env);
27 
28 extern const VMStateDescription vmstate_loongarch_cpu;
29 
30 #endif
31