diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2016-02-25 10:46:06 +0000 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2016-02-25 10:46:06 +0000 |
| commit | d159148b63cb31ba086d26f1b7da24c0614ca856 (patch) | |
| tree | fbdffeb21ad6c6047279c3fc59e11b77745d4dd3 /target-ppc/kvm.c | |
| parent | 7bd57b515067b355ac997d29b0daf4fb8689e9be (diff) | |
| parent | 388e47c75be411979c420abbc76a250597f4ea94 (diff) | |
| download | focaccia-qemu-d159148b63cb31ba086d26f1b7da24c0614ca856.tar.gz focaccia-qemu-d159148b63cb31ba086d26f1b7da24c0614ca856.zip | |
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.6-20160225' into staging
ppc patch queue for 2016-02-25
Hopefully final queue before qemu-2.6 soft freeze. Currently
accumulated patches for target-ppc, pseries machine type and related
devices:
* SLOF firmware update
- Many new features, including virtio 1.0 non-legacy support
* H_PAGE_INIT hypercall implementation
* Small cleanups and bugfixes.
# gpg: Signature made Thu 25 Feb 2016 03:00:56 GMT using RSA key ID 20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
# gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>"
# gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392
* remotes/dgibson/tags/ppc-for-2.6-20160225:
ppc/kvm: Tell the user what might be wrong when using bad CPU types with kvm-hv
ppc/kvm: Use error_report() instead of cpu_abort() for user-triggerable errors
spapr: initialize local Error pointer
hw/ppc/spapr: Implement the h_page_init hypercall
pseries: Update SLOF firmware image to 20160223
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-ppc/kvm.c')
| -rw-r--r-- | target-ppc/kvm.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c index 70ca29637f..d67c169ba3 100644 --- a/target-ppc/kvm.c +++ b/target-ppc/kvm.c @@ -23,6 +23,7 @@ #include <linux/kvm.h> #include "qemu-common.h" +#include "qemu/error-report.h" #include "qemu/timer.h" #include "sysemu/sysemu.h" #include "sysemu/kvm.h" @@ -512,6 +513,10 @@ int kvm_arch_init_vcpu(CPUState *cs) /* Synchronize sregs with kvm */ ret = kvm_arch_sync_sregs(cpu); if (ret) { + if (ret == -EINVAL) { + error_report("Register sync failed... If you're using kvm-hv.ko," + " only \"-cpu host\" is possible"); + } return ret; } @@ -1993,7 +1998,8 @@ void kvmppc_set_papr(PowerPCCPU *cpu) ret = kvm_vcpu_enable_cap(cs, KVM_CAP_PPC_PAPR, 0); if (ret) { - cpu_abort(cs, "This KVM version does not support PAPR\n"); + error_report("This vCPU type or KVM version does not support PAPR"); + exit(1); } /* Update the capability flag so we sync the right information @@ -2013,7 +2019,8 @@ void kvmppc_set_mpic_proxy(PowerPCCPU *cpu, int mpic_proxy) ret = kvm_vcpu_enable_cap(cs, KVM_CAP_PPC_EPR, 0, mpic_proxy); if (ret && mpic_proxy) { - cpu_abort(cs, "This KVM version does not support EPR\n"); + error_report("This KVM version does not support EPR"); + exit(1); } } |