* [PATCH v4 3/5] util: [ppc] Use new error_report_fatal() instead of exit()
[not found] <145401727502.31479.11571397180565966513.stgit@localhost>
@ 2016-01-28 21:41 ` Lluís Vilanova
2016-01-28 21:41 ` [PATCH v4 4/5] util: [ppc] Use new error_report_abort() instead of abort() Lluís Vilanova
1 sibling, 0 replies; 4+ messages in thread
From: Lluís Vilanova @ 2016-01-28 21:41 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, open list:Overall, Stefan Hajnoczi,
Dr . David Alan Gilbert, Alexander Graf, open list:PowerPC,
Paolo Bonzini, Markus Armbruster
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
---
target-ppc/kvm.c | 5 +--
target-ppc/translate.c | 7 ++--
target-ppc/translate_init.c | 80 +++++++++++++++++++++----------------------
3 files changed, 44 insertions(+), 48 deletions(-)
diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
index 9940a90..098a40d 100644
--- a/target-ppc/kvm.c
+++ b/target-ppc/kvm.c
@@ -316,9 +316,8 @@ static long gethugepagesize(const char *mem_path)
} while (ret != 0 && errno == EINTR);
if (ret != 0) {
- fprintf(stderr, "Couldn't statfs() memory path: %s\n",
- strerror(errno));
- exit(1);
+ error_report_fatal("Couldn't statfs() memory path: %s",
+ strerror(errno));
}
#define HUGETLBFS_MAGIC 0x958458f6
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index 4be7eaa..2dfbbc2 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -11574,10 +11574,9 @@ void gen_intermediate_code(CPUPPCState *env, struct TranslationBlock *tb)
break;
}
if (tcg_check_temp_count()) {
- fprintf(stderr, "Opcode %02x %02x %02x (%08x) leaked temporaries\n",
- opc1(ctx.opcode), opc2(ctx.opcode), opc3(ctx.opcode),
- ctx.opcode);
- exit(1);
+ error_report_fatal("Opcode %02x %02x %02x (%08x) leaked temporaries",
+ opc1(ctx.opcode), opc2(ctx.opcode), opc3(ctx.opcode),
+ ctx.opcode);
}
}
if (tb->cflags & CF_LAST_IO)
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index d7e1a4e..dc9bbd6 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -619,8 +619,8 @@ static inline void _spr_register(CPUPPCState *env, int num,
spr->oea_read != NULL || spr->oea_write != NULL ||
#endif
spr->uea_read != NULL || spr->uea_write != NULL) {
- printf("Error: Trying to register SPR %d (%03x) twice !\n", num, num);
- exit(1);
+ error_report_fatal("Error: Trying to register SPR %d (%03x) twice !",
+ num, num);
}
#if defined(PPC_DEBUG_SPR)
printf("*** register spr %d (%03x) %s val " TARGET_FMT_lx "\n", num, num,
@@ -1608,8 +1608,7 @@ static void gen_spr_BookE (CPUPPCState *env, uint64_t ivor_mask)
for (i = 0; i < 64; i++) {
if (ivor_mask & (1ULL << i)) {
if (ivor_sprn[i] == SPR_BOOKE_IVORxx) {
- fprintf(stderr, "ERROR: IVOR %d SPR is not defined\n", i);
- exit(1);
+ error_report_fatal("ERROR: IVOR %d SPR is not defined", i);
}
spr_register(env, ivor_sprn[i], ivor_names[i],
SPR_NOACCESS, SPR_NOACCESS,
@@ -8319,14 +8318,14 @@ static void init_ppc_proc(PowerPCCPU *cpu)
case POWERPC_FLAG_VRE:
break;
default:
- fprintf(stderr, "PowerPC MSR definition inconsistency\n"
- "Should define POWERPC_FLAG_SPE or POWERPC_FLAG_VRE\n");
- exit(1);
+ error_report("PowerPC MSR definition inconsistency");
+ error_report_fatal(
+ "Should define POWERPC_FLAG_SPE or POWERPC_FLAG_VRE");
}
} else if (env->flags & (POWERPC_FLAG_SPE | POWERPC_FLAG_VRE)) {
- fprintf(stderr, "PowerPC MSR definition inconsistency\n"
- "Should not define POWERPC_FLAG_SPE nor POWERPC_FLAG_VRE\n");
- exit(1);
+ error_report("PowerPC MSR definition inconsistency");
+ error_report_fatal(
+ "Should not define POWERPC_FLAG_SPE nor POWERPC_FLAG_VRE");
}
if (env->msr_mask & (1 << 17)) {
switch (env->flags & (POWERPC_FLAG_TGPR | POWERPC_FLAG_CE)) {
@@ -8334,14 +8333,14 @@ static void init_ppc_proc(PowerPCCPU *cpu)
case POWERPC_FLAG_CE:
break;
default:
- fprintf(stderr, "PowerPC MSR definition inconsistency\n"
- "Should define POWERPC_FLAG_TGPR or POWERPC_FLAG_CE\n");
- exit(1);
+ error_report("PowerPC MSR definition inconsistency");
+ error_report_fatal(
+ "Should define POWERPC_FLAG_TGPR or POWERPC_FLAG_CE");
}
} else if (env->flags & (POWERPC_FLAG_TGPR | POWERPC_FLAG_CE)) {
- fprintf(stderr, "PowerPC MSR definition inconsistency\n"
- "Should not define POWERPC_FLAG_TGPR nor POWERPC_FLAG_CE\n");
- exit(1);
+ error_report("PowerPC MSR definition inconsistency");
+ error_report_fatal(
+ "Should not define POWERPC_FLAG_TGPR nor POWERPC_FLAG_CE");
}
if (env->msr_mask & (1 << 10)) {
switch (env->flags & (POWERPC_FLAG_SE | POWERPC_FLAG_DWE |
@@ -8351,17 +8350,17 @@ static void init_ppc_proc(PowerPCCPU *cpu)
case POWERPC_FLAG_UBLE:
break;
default:
- fprintf(stderr, "PowerPC MSR definition inconsistency\n"
- "Should define POWERPC_FLAG_SE or POWERPC_FLAG_DWE or "
- "POWERPC_FLAG_UBLE\n");
- exit(1);
+ error_report("PowerPC MSR definition inconsistency");
+ error_report_fatal(
+ "Should define POWERPC_FLAG_SE or POWERPC_FLAG_DWE or "
+ "POWERPC_FLAG_UBLE");
}
} else if (env->flags & (POWERPC_FLAG_SE | POWERPC_FLAG_DWE |
POWERPC_FLAG_UBLE)) {
- fprintf(stderr, "PowerPC MSR definition inconsistency\n"
- "Should not define POWERPC_FLAG_SE nor POWERPC_FLAG_DWE nor "
- "POWERPC_FLAG_UBLE\n");
- exit(1);
+ error_report("PowerPC MSR definition inconsistency");
+ error_report_fatal(
+ "Should not define POWERPC_FLAG_SE nor POWERPC_FLAG_DWE nor "
+ "POWERPC_FLAG_UBLE");
}
if (env->msr_mask & (1 << 9)) {
switch (env->flags & (POWERPC_FLAG_BE | POWERPC_FLAG_DE)) {
@@ -8369,14 +8368,14 @@ static void init_ppc_proc(PowerPCCPU *cpu)
case POWERPC_FLAG_DE:
break;
default:
- fprintf(stderr, "PowerPC MSR definition inconsistency\n"
- "Should define POWERPC_FLAG_BE or POWERPC_FLAG_DE\n");
- exit(1);
+ error_report("PowerPC MSR definition inconsistency");
+ error_report_fatal(
+ "Should define POWERPC_FLAG_BE or POWERPC_FLAG_DE");
}
} else if (env->flags & (POWERPC_FLAG_BE | POWERPC_FLAG_DE)) {
- fprintf(stderr, "PowerPC MSR definition inconsistency\n"
- "Should not define POWERPC_FLAG_BE nor POWERPC_FLAG_DE\n");
- exit(1);
+ error_report("PowerPC MSR definition inconsistency");
+ error_report_fatal(
+ "Should not define POWERPC_FLAG_BE nor POWERPC_FLAG_DE");
}
if (env->msr_mask & (1 << 2)) {
switch (env->flags & (POWERPC_FLAG_PX | POWERPC_FLAG_PMM)) {
@@ -8384,19 +8383,19 @@ static void init_ppc_proc(PowerPCCPU *cpu)
case POWERPC_FLAG_PMM:
break;
default:
- fprintf(stderr, "PowerPC MSR definition inconsistency\n"
- "Should define POWERPC_FLAG_PX or POWERPC_FLAG_PMM\n");
- exit(1);
+ error_report("PowerPC MSR definition inconsistency");
+ error_report_fatal(
+ "Should define POWERPC_FLAG_PX or POWERPC_FLAG_PMM");
}
} else if (env->flags & (POWERPC_FLAG_PX | POWERPC_FLAG_PMM)) {
- fprintf(stderr, "PowerPC MSR definition inconsistency\n"
- "Should not define POWERPC_FLAG_PX nor POWERPC_FLAG_PMM\n");
- exit(1);
+ error_report("PowerPC MSR definition inconsistency");
+ error_report_fatal(
+ "Should not define POWERPC_FLAG_PX nor POWERPC_FLAG_PMM");
}
if ((env->flags & (POWERPC_FLAG_RTC_CLK | POWERPC_FLAG_BUS_CLK)) == 0) {
- fprintf(stderr, "PowerPC flags inconsistency\n"
- "Should define the time-base and decrementer clock source\n");
- exit(1);
+ error_report("PowerPC flags inconsistency");
+ error_report_fatal(
+ "Should define the time-base and decrementer clock source");
}
/* Allocate TLBs buffer when needed */
#if !defined(CONFIG_USER_ONLY)
@@ -9570,8 +9569,7 @@ static void ppc_cpu_reset(CPUState *s)
#if !defined(TARGET_WORDS_BIGENDIAN)
msr |= (target_ulong)1 << MSR_LE; /* Little-endian user mode */
if (!((env->msr_mask >> MSR_LE) & 1)) {
- fprintf(stderr, "Selected CPU does not support little-endian.\n");
- exit(1);
+ error_report_fatal("Selected CPU does not support little-endian.");
}
#endif
#endif
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v4 4/5] util: [ppc] Use new error_report_abort() instead of abort()
[not found] <145401727502.31479.11571397180565966513.stgit@localhost>
2016-01-28 21:41 ` [PATCH v4 3/5] util: [ppc] Use new error_report_fatal() instead of exit() Lluís Vilanova
@ 2016-01-28 21:41 ` Lluís Vilanova
2016-01-28 21:45 ` Eric Blake
1 sibling, 1 reply; 4+ messages in thread
From: Lluís Vilanova @ 2016-01-28 21:41 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, open list:Overall, Stefan Hajnoczi,
Dr . David Alan Gilbert, Alexander Graf, open list:PowerPC,
Paolo Bonzini, Markus Armbruster
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
---
target-ppc/kvm.c | 4 ++--
target-ppc/kvm_ppc.h | 15 +++++++++------
target-ppc/mmu-hash32.c | 5 +++--
target-ppc/mmu_helper.c | 3 +--
4 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
index 098a40d..e7596a2 100644
--- a/target-ppc/kvm.c
+++ b/target-ppc/kvm.c
@@ -587,7 +587,7 @@ static void kvm_get_one_spr(CPUState *cs, uint64_t id, int spr)
default:
/* Don't handle this size yet */
- abort();
+ error_report_abort("Unhandled size: %d", id & KVM_REG_SIZE_MASK);
}
}
}
@@ -617,7 +617,7 @@ static void kvm_put_one_spr(CPUState *cs, uint64_t id, int spr)
default:
/* Don't handle this size yet */
- abort();
+ error_report_abort("Unhandled size: %d", id & KVM_REG_SIZE_MASK);
}
ret = kvm_vcpu_ioctl(cs, KVM_SET_ONE_REG, ®);
diff --git a/target-ppc/kvm_ppc.h b/target-ppc/kvm_ppc.h
index 5e1333d..07ff3fc 100644
--- a/target-ppc/kvm_ppc.h
+++ b/target-ppc/kvm_ppc.h
@@ -9,6 +9,9 @@
#ifndef __KVM_PPC_H__
#define __KVM_PPC_H__
+#include "qemu/error-report.h"
+
+
#define TYPE_HOST_POWERPC_CPU "host-" TYPE_POWERPC_CPU
#ifdef CONFIG_KVM
@@ -220,36 +223,36 @@ static inline int kvmppc_get_htab_fd(bool write)
static inline int kvmppc_save_htab(QEMUFile *f, int fd, size_t bufsize,
int64_t max_ns)
{
- abort();
+ error_report_abort(" ");
}
static inline int kvmppc_load_htab_chunk(QEMUFile *f, int fd, uint32_t index,
uint16_t n_valid, uint16_t n_invalid)
{
- abort();
+ error_report_abort(" ");
}
static inline uint64_t kvmppc_hash64_read_pteg(PowerPCCPU *cpu,
target_ulong pte_index)
{
- abort();
+ error_report_abort(" ");
}
static inline void kvmppc_hash64_free_pteg(uint64_t token)
{
- abort();
+ error_report_abort(" ");
}
static inline void kvmppc_hash64_write_pte(CPUPPCState *env,
target_ulong pte_index,
target_ulong pte0, target_ulong pte1)
{
- abort();
+ error_report_abort(" ");
}
static inline bool kvmppc_has_cap_fixup_hcalls(void)
{
- abort();
+ error_report_abort(" ");
}
static inline int kvmppc_enable_hwrng(void)
diff --git a/target-ppc/mmu-hash32.c b/target-ppc/mmu-hash32.c
index a00ae3c..9d1cc33 100644
--- a/target-ppc/mmu-hash32.c
+++ b/target-ppc/mmu-hash32.c
@@ -20,6 +20,7 @@
#include "cpu.h"
#include "exec/helper-proto.h"
+#include "qemu/error-report.h"
#include "sysemu/kvm.h"
#include "kvm_ppc.h"
#include "mmu-hash32.h"
@@ -55,7 +56,7 @@ static int ppc_hash32_pp_prot(int key, int pp, int nx)
break;
default:
- abort();
+ error_report_abort("Unhandled pp: %d", pp);
}
} else {
switch (pp) {
@@ -73,7 +74,7 @@ static int ppc_hash32_pp_prot(int key, int pp, int nx)
break;
default:
- abort();
+ error_report_abort("Unhandled pp: %d", pp);
}
}
if (nx == 0) {
diff --git a/target-ppc/mmu_helper.c b/target-ppc/mmu_helper.c
index 5217691..7ded975 100644
--- a/target-ppc/mmu_helper.c
+++ b/target-ppc/mmu_helper.c
@@ -1349,8 +1349,7 @@ static inline int check_physical(CPUPPCState *env, mmu_ctx_t *ctx,
default:
/* Caller's checks mean we should never get here for other models */
- abort();
- return -1;
+ error_report_abort("Unhandled MMU model: %d", env->mmu_model);
}
return ret;
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v4 4/5] util: [ppc] Use new error_report_abort() instead of abort()
2016-01-28 21:41 ` [PATCH v4 4/5] util: [ppc] Use new error_report_abort() instead of abort() Lluís Vilanova
@ 2016-01-28 21:45 ` Eric Blake
2016-01-28 22:16 ` Lluís Vilanova
0 siblings, 1 reply; 4+ messages in thread
From: Eric Blake @ 2016-01-28 21:45 UTC (permalink / raw)
To: Lluís Vilanova, qemu-devel
Cc: Stefan Hajnoczi, Dr . David Alan Gilbert, Thomas Huth,
Markus Armbruster, Alexander Graf, Paolo Bonzini,
open list:PowerPC, open list:Overall
[-- Attachment #1: Type: text/plain, Size: 1086 bytes --]
On 01/28/2016 02:41 PM, Lluís Vilanova wrote:
> Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
> ---
> target-ppc/kvm.c | 4 ++--
> target-ppc/kvm_ppc.h | 15 +++++++++------
> target-ppc/mmu-hash32.c | 5 +++--
> target-ppc/mmu_helper.c | 3 +--
> 4 files changed, 15 insertions(+), 12 deletions(-)
>
> +++ b/target-ppc/kvm_ppc.h
> @@ -9,6 +9,9 @@
> #ifndef __KVM_PPC_H__
> #define __KVM_PPC_H__
>
> +#include "qemu/error-report.h"
> +
> +
> #define TYPE_HOST_POWERPC_CPU "host-" TYPE_POWERPC_CPU
>
> #ifdef CONFIG_KVM
> @@ -220,36 +223,36 @@ static inline int kvmppc_get_htab_fd(bool write)
> static inline int kvmppc_save_htab(QEMUFile *f, int fd, size_t bufsize,
> int64_t max_ns)
> {
> - abort();
> + error_report_abort(" ");
Aborting with an empty string with trailing spaces feels awkward.
Either this should be a real message, or abort() was just fine.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v4 4/5] util: [ppc] Use new error_report_abort() instead of abort()
2016-01-28 21:45 ` Eric Blake
@ 2016-01-28 22:16 ` Lluís Vilanova
0 siblings, 0 replies; 4+ messages in thread
From: Lluís Vilanova @ 2016-01-28 22:16 UTC (permalink / raw)
To: Eric Blake
Cc: qemu-devel, Stefan Hajnoczi, Dr . David Alan Gilbert, Thomas Huth,
Markus Armbruster, Alexander Graf, Paolo Bonzini,
open list:PowerPC, open list:Overall
Eric Blake writes:
> On 01/28/2016 02:41 PM, Lluís Vilanova wrote:
>> Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
>> ---
>> target-ppc/kvm.c | 4 ++--
>> target-ppc/kvm_ppc.h | 15 +++++++++------
>> target-ppc/mmu-hash32.c | 5 +++--
>> target-ppc/mmu_helper.c | 3 +--
>> 4 files changed, 15 insertions(+), 12 deletions(-)
>>
>> +++ b/target-ppc/kvm_ppc.h
>> @@ -9,6 +9,9 @@
>> #ifndef __KVM_PPC_H__
>> #define __KVM_PPC_H__
>>
>> +#include "qemu/error-report.h"
>> +
>> +
>> #define TYPE_HOST_POWERPC_CPU "host-" TYPE_POWERPC_CPU
>>
>> #ifdef CONFIG_KVM
>> @@ -220,36 +223,36 @@ static inline int kvmppc_get_htab_fd(bool write)
>> static inline int kvmppc_save_htab(QEMUFile *f, int fd, size_t bufsize,
>> int64_t max_ns)
>> {
>> - abort();
>> + error_report_abort(" ");
> Aborting with an empty string with trailing spaces feels awkward.
> Either this should be a real message, or abort() was just fine.
See my other mail for why (I think) it makes sense to abort without an
additional message. Also, an empty string makes gcc grumpy with a warning.
Cheers,
Lluis
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-01-28 22:16 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <145401727502.31479.11571397180565966513.stgit@localhost>
2016-01-28 21:41 ` [PATCH v4 3/5] util: [ppc] Use new error_report_fatal() instead of exit() Lluís Vilanova
2016-01-28 21:41 ` [PATCH v4 4/5] util: [ppc] Use new error_report_abort() instead of abort() Lluís Vilanova
2016-01-28 21:45 ` Eric Blake
2016-01-28 22:16 ` Lluís Vilanova
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).