[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[qemu-s390x] [PULL 1/8] target/s390x/excp_helper: Remove DPRINTF() macro
From: |
Cornelia Huck |
Subject: |
[qemu-s390x] [PULL 1/8] target/s390x/excp_helper: Remove DPRINTF() macro |
Date: |
Fri, 12 Oct 2018 12:00:54 +0200 |
From: Thomas Huth <address@hidden>
Debug macros that are disabled by default should be avoided (since the
code bit-rots quite easily). Thus turn these debug prints into proper
qemu_log_mask(CPU_LOG_xxx, ...) statements instead. The DPRINTF statements
in do_[ext|io|mchk]_interrupt can even be removed completely since we can
log the information in a central place, s390_cpu_do_interrupt, instead.
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
target/s390x/excp_helper.c | 48 +++++++++++-----------------------------------
1 file changed, 11 insertions(+), 37 deletions(-)
diff --git a/target/s390x/excp_helper.c b/target/s390x/excp_helper.c
index cd76c3163a..2a33222f7e 100644
--- a/target/s390x/excp_helper.c
+++ b/target/s390x/excp_helper.c
@@ -33,23 +33,6 @@
#include "hw/s390x/s390_flic.h"
#endif
-/* #define DEBUG_S390 */
-/* #define DEBUG_S390_STDOUT */
-
-#ifdef DEBUG_S390
-#ifdef DEBUG_S390_STDOUT
-#define DPRINTF(fmt, ...) \
- do { fprintf(stderr, fmt, ## __VA_ARGS__); \
- if (qemu_log_separate()) { qemu_log(fmt, ##__VA_ARGS__); } } while (0)
-#else
-#define DPRINTF(fmt, ...) \
- do { qemu_log(fmt, ## __VA_ARGS__); } while (0)
-#endif
-#else
-#define DPRINTF(fmt, ...) \
- do { } while (0)
-#endif
-
void QEMU_NORETURN tcg_s390_program_interrupt(CPUS390XState *env, uint32_t
code,
int ilen, uintptr_t ra)
{
@@ -128,8 +111,8 @@ int s390_cpu_handle_mmu_fault(CPUState *cs, vaddr
orig_vaddr, int size,
uint64_t asc;
int prot;
- DPRINTF("%s: address 0x%" VADDR_PRIx " rw %d mmu_idx %d\n",
- __func__, orig_vaddr, rw, mmu_idx);
+ qemu_log_mask(CPU_LOG_MMU, "%s: addr 0x%" VADDR_PRIx " rw %d mmu_idx %d\n",
+ __func__, orig_vaddr, rw, mmu_idx);
vaddr = orig_vaddr;
@@ -158,8 +141,9 @@ int s390_cpu_handle_mmu_fault(CPUState *cs, vaddr
orig_vaddr, int size,
if (!address_space_access_valid(&address_space_memory, raddr,
TARGET_PAGE_SIZE, rw,
MEMTXATTRS_UNSPECIFIED)) {
- DPRINTF("%s: raddr %" PRIx64 " > ram_size %" PRIx64 "\n", __func__,
- (uint64_t)raddr, (uint64_t)ram_size);
+ qemu_log_mask(CPU_LOG_MMU,
+ "%s: raddr %" PRIx64 " > ram_size %" PRIx64 "\n",
+ __func__, (uint64_t)raddr, (uint64_t)ram_size);
trigger_pgm_exception(env, PGM_ADDRESSING, ILEN_AUTO);
return 1;
}
@@ -217,8 +201,10 @@ static void do_program_interrupt(CPUS390XState *env)
break;
}
- qemu_log_mask(CPU_LOG_INT, "%s: code=0x%x ilen=%d\n",
- __func__, env->int_pgm_code, ilen);
+ qemu_log_mask(CPU_LOG_INT,
+ "%s: code=0x%x ilen=%d psw: %" PRIx64 " %" PRIx64 "\n",
+ __func__, env->int_pgm_code, ilen, env->psw.mask,
+ env->psw.addr);
lowcore = cpu_map_lowcore(env);
@@ -240,10 +226,6 @@ static void do_program_interrupt(CPUS390XState *env)
cpu_unmap_lowcore(lowcore);
- DPRINTF("%s: %x %x %" PRIx64 " %" PRIx64 "\n", __func__,
- env->int_pgm_code, ilen, env->psw.mask,
- env->psw.addr);
-
load_psw(env, mask, addr);
}
@@ -334,9 +316,6 @@ static void do_ext_interrupt(CPUS390XState *env)
cpu_unmap_lowcore(lowcore);
- DPRINTF("%s: %" PRIx64 " %" PRIx64 "\n", __func__,
- env->psw.mask, env->psw.addr);
-
load_psw(env, mask, addr);
}
@@ -365,8 +344,6 @@ static void do_io_interrupt(CPUS390XState *env)
cpu_unmap_lowcore(lowcore);
g_free(io);
- DPRINTF("%s: %" PRIx64 " %" PRIx64 "\n", __func__, env->psw.mask,
- env->psw.addr);
load_psw(env, mask, addr);
}
@@ -408,9 +385,6 @@ static void do_mchk_interrupt(CPUS390XState *env)
cpu_unmap_lowcore(lowcore);
- DPRINTF("%s: %" PRIx64 " %" PRIx64 "\n", __func__,
- env->psw.mask, env->psw.addr);
-
load_psw(env, mask, addr);
}
@@ -421,8 +395,8 @@ void s390_cpu_do_interrupt(CPUState *cs)
CPUS390XState *env = &cpu->env;
bool stopped = false;
- qemu_log_mask(CPU_LOG_INT, "%s: %d at pc=%" PRIx64 "\n",
- __func__, cs->exception_index, env->psw.addr);
+ qemu_log_mask(CPU_LOG_INT, "%s: %d at psw=%" PRIx64 ":%" PRIx64 "\n",
+ __func__, cs->exception_index, env->psw.mask, env->psw.addr);
try_deliver:
/* handle machine checks */
--
2.14.4
- [qemu-s390x] [PULL 0/8] s390x updates, Cornelia Huck, 2018/10/12
- [qemu-s390x] [PULL 1/8] target/s390x/excp_helper: Remove DPRINTF() macro,
Cornelia Huck <=
- [qemu-s390x] [PULL 3/8] s390x/cpumodel: Set up CPU model for AP device support, Cornelia Huck, 2018/10/12
- [qemu-s390x] [PULL 6/8] s390x/vfio: ap: Introduce VFIO AP device, Cornelia Huck, 2018/10/12
- [qemu-s390x] [PULL 4/8] s390x/kvm: enable AP instruction interpretation for guest, Cornelia Huck, 2018/10/12
- [qemu-s390x] [PULL 2/8] linux-headers: update, Cornelia Huck, 2018/10/12
- [qemu-s390x] [PULL 8/8] hw/s390x: Include the tod-qemu also for builds with --disable-tcg, Cornelia Huck, 2018/10/12
- [qemu-s390x] [PULL 5/8] s390x/ap: base Adjunct Processor (AP) object model, Cornelia Huck, 2018/10/12
- [qemu-s390x] [PULL 7/8] s390: doc: detailed specifications for AP virtualization, Cornelia Huck, 2018/10/12
- Re: [qemu-s390x] [PULL 0/8] s390x updates, Peter Maydell, 2018/10/12