diff --git a/bsd-user/main.c b/bsd-user/main.c index 1ecaeb50e5..fefcfc1ccf 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -33,6 +33,7 @@ #include "tcg.h" #include "qemu/timer.h" #include "qemu/envlist.h" +#include "exec/log.h" int singlestep; unsigned long mmap_min_addr; diff --git a/cpu-exec.c b/cpu-exec.c index c4593646ff..fd92452f16 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -27,6 +27,7 @@ #include "exec/address-spaces.h" #include "qemu/rcu.h" #include "exec/tb-hash.h" +#include "exec/log.h" #if defined(TARGET_I386) && !defined(CONFIG_USER_ONLY) #include "hw/i386/apic.h" #endif diff --git a/exec.c b/exec.c index 9e076bc323..ab373604d7 100644 --- a/exec.c +++ b/exec.c @@ -52,6 +52,7 @@ #include "exec/memory-internal.h" #include "exec/ram_addr.h" +#include "exec/log.h" #include "qemu/range.h" #ifndef _WIN32 diff --git a/hw/acpi/cpu_hotplug.c b/hw/acpi/cpu_hotplug.c index 2f99ec5455..5a410a5287 100644 --- a/hw/acpi/cpu_hotplug.c +++ b/hw/acpi/cpu_hotplug.c @@ -12,6 +12,7 @@ #include "qemu/osdep.h" #include "hw/hw.h" #include "hw/acpi/cpu_hotplug.h" +#include "qom/cpu.h" static uint64_t cpu_status_read(void *opaque, hwaddr addr, unsigned int size) { diff --git a/hw/timer/a9gtimer.c b/hw/timer/a9gtimer.c index c11a7bc75b..fa4602ca04 100644 --- a/hw/timer/a9gtimer.c +++ b/hw/timer/a9gtimer.c @@ -25,6 +25,7 @@ #include "qemu/timer.h" #include "qemu/bitops.h" #include "qemu/log.h" +#include "qom/cpu.h" #ifndef A9_GTIMER_ERR_DEBUG #define A9_GTIMER_ERR_DEBUG 0 diff --git a/include/exec/log.h b/include/exec/log.h new file mode 100644 index 0000000000..ba1c9b5682 --- /dev/null +++ b/include/exec/log.h @@ -0,0 +1,60 @@ +#ifndef QEMU_EXEC_LOG_H +#define QEMU_EXEC_LOG_H + +#include "qemu/log.h" +#include "qom/cpu.h" +#include "disas/disas.h" + +/* cpu_dump_state() logging functions: */ +/** + * log_cpu_state: + * @cpu: The CPU whose state is to be logged. + * @flags: Flags what to log. + * + * Logs the output of cpu_dump_state(). + */ +static inline void log_cpu_state(CPUState *cpu, int flags) +{ + if (qemu_log_enabled()) { + cpu_dump_state(cpu, qemu_logfile, fprintf, flags); + } +} + +/** + * log_cpu_state_mask: + * @mask: Mask when to log. + * @cpu: The CPU whose state is to be logged. + * @flags: Flags what to log. + * + * Logs the output of cpu_dump_state() if loglevel includes @mask. + */ +static inline void log_cpu_state_mask(int mask, CPUState *cpu, int flags) +{ + if (qemu_loglevel & mask) { + log_cpu_state(cpu, flags); + } +} + +#ifdef NEED_CPU_H +/* disas() and target_disas() to qemu_logfile: */ +static inline void log_target_disas(CPUState *cpu, target_ulong start, + target_ulong len, int flags) +{ + target_disas(qemu_logfile, cpu, start, len, flags); +} + +static inline void log_disas(void *code, unsigned long size) +{ + disas(qemu_logfile, code, size); +} + +#if defined(CONFIG_USER_ONLY) +/* page_dump() output to the log file: */ +static inline void log_page_dump(void) +{ + page_dump(qemu_logfile); +} +#endif +#endif + +#endif diff --git a/include/qemu/log.h b/include/qemu/log.h index d837d90e77..09722e3c6c 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -5,10 +5,6 @@ #include #include #include "qemu/compiler.h" -#include "qom/cpu.h" -#ifdef NEED_CPU_H -#include "disas/disas.h" -#endif /* Private global variables, don't use */ extern FILE *qemu_logfile; @@ -78,61 +74,6 @@ qemu_log_vprintf(const char *fmt, va_list va) void GCC_FMT_ATTR(2, 3) qemu_log_mask(int mask, const char *fmt, ...); -/* Special cases: */ - -/* cpu_dump_state() logging functions: */ -/** - * log_cpu_state: - * @cpu: The CPU whose state is to be logged. - * @flags: Flags what to log. - * - * Logs the output of cpu_dump_state(). - */ -static inline void log_cpu_state(CPUState *cpu, int flags) -{ - if (qemu_log_enabled()) { - cpu_dump_state(cpu, qemu_logfile, fprintf, flags); - } -} - -/** - * log_cpu_state_mask: - * @mask: Mask when to log. - * @cpu: The CPU whose state is to be logged. - * @flags: Flags what to log. - * - * Logs the output of cpu_dump_state() if loglevel includes @mask. - */ -static inline void log_cpu_state_mask(int mask, CPUState *cpu, int flags) -{ - if (qemu_loglevel & mask) { - log_cpu_state(cpu, flags); - } -} - -#ifdef NEED_CPU_H -/* disas() and target_disas() to qemu_logfile: */ -static inline void log_target_disas(CPUState *cpu, target_ulong start, - target_ulong len, int flags) -{ - target_disas(qemu_logfile, cpu, start, len, flags); -} - -static inline void log_disas(void *code, unsigned long size) -{ - disas(qemu_logfile, code, size); -} - -#if defined(CONFIG_USER_ONLY) -/* page_dump() output to the log file: */ -static inline void log_page_dump(void) -{ - page_dump(qemu_logfile); -} -#endif -#endif - - /* Maintenance: */ /* fflush() the log file */ diff --git a/linux-user/main.c b/linux-user/main.c index f8d45778c8..e719a2da02 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -28,6 +28,7 @@ #include "qemu/timer.h" #include "qemu/envlist.h" #include "elf.h" +#include "exec/log.h" char *exec_path; diff --git a/qom/cpu.c b/qom/cpu.c index 8f537a470f..38dc713ce2 100644 --- a/qom/cpu.c +++ b/qom/cpu.c @@ -23,6 +23,7 @@ #include "sysemu/kvm.h" #include "qemu/notify.h" #include "qemu/log.h" +#include "exec/log.h" #include "qemu/error-report.h" #include "sysemu/sysemu.h" diff --git a/target-alpha/translate.c b/target-alpha/translate.c index 7d419d9972..c96adbb6c7 100644 --- a/target-alpha/translate.c +++ b/target-alpha/translate.c @@ -28,6 +28,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" #undef ALPHA_DEBUG_DISAS diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c index 80f6c2058c..2af7d860a5 100644 --- a/target-arm/translate-a64.c +++ b/target-arm/translate-a64.c @@ -31,6 +31,7 @@ #include "exec/helper-proto.h" #include "exec/helper-gen.h" +#include "exec/log.h" #include "trace-tcg.h" diff --git a/target-arm/translate.c b/target-arm/translate.c index cff511b9c6..3ec758ad6f 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -32,6 +32,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" #define ENABLE_ARCH_4T arm_dc_feature(s, ARM_FEATURE_V4T) diff --git a/target-cris/translate.c b/target-cris/translate.c index 295005f141..0350cb59c0 100644 --- a/target-cris/translate.c +++ b/target-cris/translate.c @@ -35,6 +35,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" #define DISAS_CRIS 0 diff --git a/target-i386/seg_helper.c b/target-i386/seg_helper.c index 4c7cab79ff..4f269416a5 100644 --- a/target-i386/seg_helper.c +++ b/target-i386/seg_helper.c @@ -23,6 +23,7 @@ #include "qemu/log.h" #include "exec/helper-proto.h" #include "exec/cpu_ldst.h" +#include "exec/log.h" //#define DEBUG_PCALL diff --git a/target-i386/smm_helper.c b/target-i386/smm_helper.c index b930421724..e7bb5be521 100644 --- a/target-i386/smm_helper.c +++ b/target-i386/smm_helper.c @@ -20,6 +20,7 @@ #include "qemu/osdep.h" #include "cpu.h" #include "exec/helper-proto.h" +#include "exec/log.h" /* SMM support */ diff --git a/target-i386/translate.c b/target-i386/translate.c index 957a92d591..73a45c872e 100644 --- a/target-i386/translate.c +++ b/target-i386/translate.c @@ -28,6 +28,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" #define PREFIX_REPZ 0x01 diff --git a/target-lm32/helper.c b/target-lm32/helper.c index 3ebec68cba..655248f81a 100644 --- a/target-lm32/helper.c +++ b/target-lm32/helper.c @@ -22,6 +22,7 @@ #include "qemu/host-utils.h" #include "sysemu/sysemu.h" #include "exec/semihost.h" +#include "exec/log.h" int lm32_cpu_handle_mmu_fault(CPUState *cs, vaddr address, int rw, int mmu_idx) diff --git a/target-lm32/translate.c b/target-lm32/translate.c index 477d4285a5..52fe562737 100644 --- a/target-lm32/translate.c +++ b/target-lm32/translate.c @@ -29,6 +29,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" #define DISAS_LM32 1 diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 342c040559..a402bd847a 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -29,6 +29,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" //#define DEBUG_DISPATCH 1 diff --git a/target-microblaze/helper.c b/target-microblaze/helper.c index 3b0fae8072..4de6bdbf83 100644 --- a/target-microblaze/helper.c +++ b/target-microblaze/helper.c @@ -21,6 +21,7 @@ #include "qemu/osdep.h" #include "cpu.h" #include "qemu/host-utils.h" +#include "exec/log.h" #define D(x) diff --git a/target-microblaze/translate.c b/target-microblaze/translate.c index 2e1293d953..40be4ec805 100644 --- a/target-microblaze/translate.c +++ b/target-microblaze/translate.c @@ -28,6 +28,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" #define SIM_COMPAT 0 diff --git a/target-mips/helper.c b/target-mips/helper.c index f9c4c11eb9..1004edee05 100644 --- a/target-mips/helper.c +++ b/target-mips/helper.c @@ -21,6 +21,7 @@ #include "cpu.h" #include "sysemu/kvm.h" #include "exec/cpu_ldst.h" +#include "exec/log.h" enum { TLBRET_XI = -6, diff --git a/target-mips/translate.c b/target-mips/translate.c index 383d4b5118..791866bf2d 100644 --- a/target-mips/translate.c +++ b/target-mips/translate.c @@ -33,6 +33,7 @@ #include "exec/semihost.h" #include "trace-tcg.h" +#include "exec/log.h" #define MIPS_DEBUG_DISAS 0 diff --git a/target-moxie/translate.c b/target-moxie/translate.c index 229ce3b64d..04ab278ea2 100644 --- a/target-moxie/translate.c +++ b/target-moxie/translate.c @@ -31,6 +31,7 @@ #include "exec/helper-proto.h" #include "exec/helper-gen.h" +#include "exec/log.h" /* This is the state at translation time. */ typedef struct DisasContext { diff --git a/target-openrisc/translate.c b/target-openrisc/translate.c index 62890c21ed..b766b27405 100644 --- a/target-openrisc/translate.c +++ b/target-openrisc/translate.c @@ -32,6 +32,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" #define OPENRISC_DISAS diff --git a/target-ppc/mmu-hash32.c b/target-ppc/mmu-hash32.c index b076d8006f..39abb2fd39 100644 --- a/target-ppc/mmu-hash32.c +++ b/target-ppc/mmu-hash32.c @@ -24,6 +24,7 @@ #include "sysemu/kvm.h" #include "kvm_ppc.h" #include "mmu-hash32.h" +#include "exec/log.h" //#define DEBUG_BAT diff --git a/target-ppc/mmu-hash64.c b/target-ppc/mmu-hash64.c index 6d110ee342..9c58fbf009 100644 --- a/target-ppc/mmu-hash64.c +++ b/target-ppc/mmu-hash64.c @@ -25,6 +25,7 @@ #include "qemu/error-report.h" #include "kvm_ppc.h" #include "mmu-hash64.h" +#include "exec/log.h" //#define DEBUG_SLB diff --git a/target-ppc/mmu_helper.c b/target-ppc/mmu_helper.c index de4e286eee..e5ec8d6169 100644 --- a/target-ppc/mmu_helper.c +++ b/target-ppc/mmu_helper.c @@ -24,6 +24,7 @@ #include "mmu-hash64.h" #include "mmu-hash32.h" #include "exec/cpu_ldst.h" +#include "exec/log.h" //#define DEBUG_MMU //#define DEBUG_BATS diff --git a/target-ppc/translate.c b/target-ppc/translate.c index 7db3145cff..0057bdaf37 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -29,6 +29,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" #define CPU_SINGLE_STEP 0x1 diff --git a/target-s390x/translate.c b/target-s390x/translate.c index 811928b1c3..3087692aa7 100644 --- a/target-s390x/translate.c +++ b/target-s390x/translate.c @@ -44,6 +44,7 @@ static TCGv_ptr cpu_env; #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" /* Information that (most) every instruction needs to manipulate. */ diff --git a/target-sh4/helper.c b/target-sh4/helper.c index 9d8b61cce6..6438338f24 100644 --- a/target-sh4/helper.c +++ b/target-sh4/helper.c @@ -19,6 +19,7 @@ #include "qemu/osdep.h" #include "cpu.h" +#include "exec/log.h" #if !defined(CONFIG_USER_ONLY) #include "hw/sh4/sh_intc.h" diff --git a/target-sh4/translate.c b/target-sh4/translate.c index 9de5659cf7..3e4164b78f 100644 --- a/target-sh4/translate.c +++ b/target-sh4/translate.c @@ -29,6 +29,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" typedef struct DisasContext { diff --git a/target-sparc/int32_helper.c b/target-sparc/int32_helper.c index d4d6a4b8a5..09afe136e5 100644 --- a/target-sparc/int32_helper.c +++ b/target-sparc/int32_helper.c @@ -21,6 +21,7 @@ #include "cpu.h" #include "trace.h" #include "sysemu/sysemu.h" +#include "exec/log.h" #define DEBUG_PCALL diff --git a/target-sparc/int64_helper.c b/target-sparc/int64_helper.c index ddef66b569..aa876cd8ba 100644 --- a/target-sparc/int64_helper.c +++ b/target-sparc/int64_helper.c @@ -20,6 +20,7 @@ #include "qemu/osdep.h" #include "cpu.h" #include "exec/helper-proto.h" +#include "exec/log.h" #include "trace.h" #define DEBUG_PCALL diff --git a/target-sparc/translate.c b/target-sparc/translate.c index 747f94d60e..67268604ba 100644 --- a/target-sparc/translate.c +++ b/target-sparc/translate.c @@ -29,6 +29,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" #define DEBUG_DISAS diff --git a/target-tilegx/translate.c b/target-tilegx/translate.c index 2088f8796b..a5bb8d4aba 100644 --- a/target-tilegx/translate.c +++ b/target-tilegx/translate.c @@ -21,6 +21,7 @@ #include "qemu/osdep.h" #include "cpu.h" #include "qemu/log.h" +#include "exec/log.h" #include "disas/disas.h" #include "tcg-op.h" #include "exec/cpu_ldst.h" diff --git a/target-tricore/translate.c b/target-tricore/translate.c index 2b07b86694..e385fc71f7 100644 --- a/target-tricore/translate.c +++ b/target-tricore/translate.c @@ -28,6 +28,7 @@ #include "exec/helper-gen.h" #include "tricore-opcodes.h" +#include "exec/log.h" /* * TCG registers diff --git a/target-unicore32/translate.c b/target-unicore32/translate.c index 5db8f94931..7dbfe3bd03 100644 --- a/target-unicore32/translate.c +++ b/target-unicore32/translate.c @@ -20,6 +20,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" /* internal defines */ diff --git a/target-xtensa/translate.c b/target-xtensa/translate.c index a8c1113489..435ee035d5 100644 --- a/target-xtensa/translate.c +++ b/target-xtensa/translate.c @@ -43,6 +43,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" +#include "exec/log.h" typedef struct DisasContext { diff --git a/tcg/tcg.c b/tcg/tcg.c index 3ce02dcd08..be765ad3a8 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -60,6 +60,7 @@ #endif #include "elf.h" +#include "exec/log.h" /* Forward declarations for functions declared in tcg-target.c and used here. */ static void tcg_target_init(TCGContext *s); diff --git a/translate-all.c b/translate-all.c index ab61fac66c..e9f409b762 100644 --- a/translate-all.c +++ b/translate-all.c @@ -55,6 +55,7 @@ #include "translate-all.h" #include "qemu/bitmap.h" #include "qemu/timer.h" +#include "exec/log.h" //#define DEBUG_TB_INVALIDATE //#define DEBUG_FLUSH