diff options
-rw-r--r-- | hw/ppc/spapr.c | 6 | ||||
-rw-r--r-- | hw/ppc/spapr_hcall.c | 2 | ||||
-rw-r--r-- | target/ppc/excp_helper.c | 1 |
3 files changed, 2 insertions, 7 deletions
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 227075103e..12a012d9dd 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1522,12 +1522,6 @@ int spapr_reallocate_hpt(SpaprMachineState *spapr, int shift, Error **errp) int i; spapr->htab = qemu_memalign(size, size); - if (!spapr->htab) { - error_setg_errno(errp, errno, - "Could not allocate HPT of order %d", shift); - return -ENOMEM; - } - memset(spapr->htab, 0, size); spapr->htab_shift = shift; diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c index 607740150f..1d8e8e6a88 100644 --- a/hw/ppc/spapr_hcall.c +++ b/hw/ppc/spapr_hcall.c @@ -360,7 +360,7 @@ static void *hpt_prepare_thread(void *opaque) SpaprPendingHpt *pending = opaque; size_t size = 1ULL << pending->shift; - pending->hpt = qemu_memalign(size, size); + pending->hpt = qemu_try_memalign(size, size); if (pending->hpt) { memset(pending->hpt, 0, size); pending->ret = H_SUCCESS; diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index d7411bcc81..ad0612555d 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -527,6 +527,7 @@ static inline void powerpc_excp(PowerPCCPU *cpu, int excp_model, int excp) break; case POWERPC_EXCP_HISI: /* Hypervisor instruction storage exception */ msr |= env->error_code; + /* fall through */ case POWERPC_EXCP_HDECR: /* Hypervisor decrementer exception */ case POWERPC_EXCP_HDSI: /* Hypervisor data storage exception */ case POWERPC_EXCP_HDSEG: /* Hypervisor data segment exception */ |