xref: /openbmc/qemu/include/exec/log.h (revision 27a985159a80430a0a43161797ca14ef946962b8)
1508127e2SPaolo Bonzini #ifndef QEMU_EXEC_LOG_H
2508127e2SPaolo Bonzini #define QEMU_EXEC_LOG_H
3508127e2SPaolo Bonzini 
4508127e2SPaolo Bonzini #include "qemu/log.h"
52e5b09fdSMarkus Armbruster #include "hw/core/cpu.h"
6508127e2SPaolo Bonzini #include "disas/disas.h"
7508127e2SPaolo Bonzini 
8508127e2SPaolo Bonzini /* cpu_dump_state() logging functions: */
9508127e2SPaolo Bonzini /**
10508127e2SPaolo Bonzini  * log_cpu_state:
11508127e2SPaolo Bonzini  * @cpu: The CPU whose state is to be logged.
12508127e2SPaolo Bonzini  * @flags: Flags what to log.
13508127e2SPaolo Bonzini  *
14508127e2SPaolo Bonzini  * Logs the output of cpu_dump_state().
15508127e2SPaolo Bonzini  */
log_cpu_state(CPUState * cpu,int flags)16508127e2SPaolo Bonzini static inline void log_cpu_state(CPUState *cpu, int flags)
17508127e2SPaolo Bonzini {
18*bf619eaeSRichard Henderson     FILE *f = qemu_log_trylock();
19*bf619eaeSRichard Henderson     if (f) {
20*bf619eaeSRichard Henderson         cpu_dump_state(cpu, f, flags);
21*bf619eaeSRichard Henderson         qemu_log_unlock(f);
22508127e2SPaolo Bonzini     }
23508127e2SPaolo Bonzini }
24508127e2SPaolo Bonzini 
25508127e2SPaolo Bonzini /**
26508127e2SPaolo Bonzini  * log_cpu_state_mask:
27508127e2SPaolo Bonzini  * @mask: Mask when to log.
28508127e2SPaolo Bonzini  * @cpu: The CPU whose state is to be logged.
29508127e2SPaolo Bonzini  * @flags: Flags what to log.
30508127e2SPaolo Bonzini  *
31508127e2SPaolo Bonzini  * Logs the output of cpu_dump_state() if loglevel includes @mask.
32508127e2SPaolo Bonzini  */
log_cpu_state_mask(int mask,CPUState * cpu,int flags)33508127e2SPaolo Bonzini static inline void log_cpu_state_mask(int mask, CPUState *cpu, int flags)
34508127e2SPaolo Bonzini {
35508127e2SPaolo Bonzini     if (qemu_loglevel & mask) {
36508127e2SPaolo Bonzini         log_cpu_state(cpu, flags);
37508127e2SPaolo Bonzini     }
38508127e2SPaolo Bonzini }
39508127e2SPaolo Bonzini 
40508127e2SPaolo Bonzini #endif
41