diff options
author | Avi Kivity <avi@redhat.com> | 2009-01-18 12:36:25 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-01-18 12:36:25 +0200 |
commit | 931c5ab4bfd044e8dfc264ad4fda6ac62e078316 (patch) | |
tree | e75853dd4bfa7f1fee2fb1ddbce0510178b0f2a6 /cpu-exec.c | |
parent | Device-assignment: fix ROM writing (diff) | |
parent | Remove unused info_str parameter to pcnet_common_init() (diff) | |
download | qemu-kvm-931c5ab4bfd044e8dfc264ad4fda6ac62e078316.tar.gz qemu-kvm-931c5ab4bfd044e8dfc264ad4fda6ac62e078316.tar.bz2 qemu-kvm-931c5ab4bfd044e8dfc264ad4fda6ac62e078316.zip |
Merge branch 'qemu-cvs'
Conflicts:
qemu/hw/cirrus_vga.c
qemu/hw/pc.c
qemu/hw/pcnet.c
qemu/hw/vga.c
qemu/vl.c
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r-- | cpu-exec.c | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/cpu-exec.c b/cpu-exec.c index 430187f1c..2132d64da 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -268,7 +268,8 @@ int cpu_exec(CPUState *env1) if (ret == EXCP_DEBUG) cpu_handle_debug_exception(env); break; - } else if (env->user_mode_only) { + } else { +#if defined(CONFIG_USER_ONLY) /* if user mode only, we simulate a fake exception which will be handled outside the cpu execution loop */ @@ -282,7 +283,7 @@ int cpu_exec(CPUState *env1) #endif ret = env->exception_index; break; - } else { +#else #if defined(TARGET_I386) /* simulate a real cpu exception. On i386, it can trigger new exceptions, but we do not handle @@ -312,6 +313,7 @@ int cpu_exec(CPUState *env1) #elif defined(TARGET_IA64) do_interrupt(env); #endif +#endif } env->exception_index = -1; } @@ -401,9 +403,7 @@ int cpu_exec(CPUState *env1) svm_check_intercept(SVM_EXIT_INTR); env->interrupt_request &= ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_VIRQ); intno = cpu_get_pic_interrupt(env); - if (loglevel & CPU_LOG_TB_IN_ASM) { - fprintf(logfile, "Servicing hardware INT=0x%02x\n", intno); - } + qemu_log_mask(CPU_LOG_TB_IN_ASM, "Servicing hardware INT=0x%02x\n", intno); do_interrupt(intno, 0, 0, 0, 1); /* ensure that no TB jump will be modified as the program flow was changed */ @@ -416,8 +416,7 @@ int cpu_exec(CPUState *env1) /* FIXME: this should respect TPR */ svm_check_intercept(SVM_EXIT_VINTR); intno = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_vector)); - if (loglevel & CPU_LOG_TB_IN_ASM) - fprintf(logfile, "Servicing virtual hardware INT=0x%02x\n", intno); + qemu_log_mask(CPU_LOG_TB_IN_ASM, "Servicing virtual hardware INT=0x%02x\n", intno); do_interrupt(intno, 0, 0, 0, 1); env->interrupt_request &= ~CPU_INTERRUPT_VIRQ; next_tb = 0; @@ -546,33 +545,33 @@ int cpu_exec(CPUState *env1) } } #ifdef DEBUG_EXEC - if ((loglevel & CPU_LOG_TB_CPU)) { + if (qemu_loglevel_mask(CPU_LOG_TB_CPU)) { /* restore flags in standard format */ regs_to_env(); #if defined(TARGET_I386) env->eflags = env->eflags | helper_cc_compute_all(CC_OP) | (DF & DF_MASK); - cpu_dump_state(env, logfile, fprintf, X86_DUMP_CCOP); + log_cpu_state(env, X86_DUMP_CCOP); env->eflags &= ~(DF_MASK | CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C); #elif defined(TARGET_ARM) - cpu_dump_state(env, logfile, fprintf, 0); + log_cpu_state(env, 0); #elif defined(TARGET_SPARC) - cpu_dump_state(env, logfile, fprintf, 0); + log_cpu_state(env, 0); #elif defined(TARGET_PPC) - cpu_dump_state(env, logfile, fprintf, 0); + log_cpu_state(env, 0); #elif defined(TARGET_M68K) cpu_m68k_flush_flags(env, env->cc_op); env->cc_op = CC_OP_FLAGS; env->sr = (env->sr & 0xffe0) | env->cc_dest | (env->cc_x << 4); - cpu_dump_state(env, logfile, fprintf, 0); + log_cpu_state(env, 0); #elif defined(TARGET_MIPS) - cpu_dump_state(env, logfile, fprintf, 0); + log_cpu_state(env, 0); #elif defined(TARGET_SH4) - cpu_dump_state(env, logfile, fprintf, 0); + log_cpu_state(env, 0); #elif defined(TARGET_ALPHA) - cpu_dump_state(env, logfile, fprintf, 0); + log_cpu_state(env, 0); #elif defined(TARGET_CRIS) - cpu_dump_state(env, logfile, fprintf, 0); + log_cpu_state(env, 0); #else #error unsupported target CPU #endif @@ -590,11 +589,9 @@ int cpu_exec(CPUState *env1) tb_invalidated_flag = 0; } #ifdef DEBUG_EXEC - if ((loglevel & CPU_LOG_EXEC)) { - fprintf(logfile, "Trace 0x%08lx [" TARGET_FMT_lx "] %s\n", - (long)tb->tc_ptr, tb->pc, - lookup_symbol(tb->pc)); - } + qemu_log_mask(CPU_LOG_EXEC, "Trace 0x%08lx [" TARGET_FMT_lx "] %s\n", + (long)tb->tc_ptr, tb->pc, + lookup_symbol(tb->pc)); #endif /* see if we can patch the calling TB. When the TB spans two pages, we cannot safely do a direct @@ -1232,7 +1229,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, &uc->uc_sigmask, puc); } -#elif defined(__powerpc__) +#elif defined(_ARCH_PPC) /*********************************************************************** * signal context platform-specific definitions |