Message ID | 1403775865-25219-5-git-send-email-james.hogan@imgtec.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Jun 26, 2014 at 10:44:25AM +0100, James Hogan wrote: > Add error reporting if the wrong type of kernel is provided for the > current mode of acceleration. > > Currently a KVM kernel linked at 0x40000000 can't be used with TCG, and > a normal kernel linked at 0x80000000 can't be used with KVM. > > Signed-off-by: James Hogan <james.hogan@imgtec.com> > Cc: Aurelien Jarno <aurelien@aurel32.net> > Cc: Paolo Bonzini <pbonzini@redhat.com> > --- > hw/mips/mips_malta.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c > index 76cf5f2c48f4..95df42e6a4d5 100644 > --- a/hw/mips/mips_malta.c > +++ b/hw/mips/mips_malta.c > @@ -792,9 +792,23 @@ static int64_t load_kernel (void) > loaderparams.kernel_filename); > exit(1); > } > + > + /* Sanity check where the kernel has been linked */ > if (kvm_enabled()) { > + if (kernel_entry & 0x80000000ll) { > + error_report("KVM guest kernels must be linked in useg. " > + "Did you forget to enable CONFIG_KVM_GUEST?"); > + exit(1); > + } > + > xlate_to_kseg0 = cpu_mips_kvm_um_phys_to_kseg0; > } else { > + if (!(kernel_entry & 0x80000000ll)) { > + error_report("KVM guest kernels aren't supported with TCG. " > + "Did you unintentionally enable CONFIG_KVM_GUEST?"); > + exit(1); > + } > + > xlate_to_kseg0 = cpu_mips_phys_to_kseg0; > } Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c index 76cf5f2c48f4..95df42e6a4d5 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c @@ -792,9 +792,23 @@ static int64_t load_kernel (void) loaderparams.kernel_filename); exit(1); } + + /* Sanity check where the kernel has been linked */ if (kvm_enabled()) { + if (kernel_entry & 0x80000000ll) { + error_report("KVM guest kernels must be linked in useg. " + "Did you forget to enable CONFIG_KVM_GUEST?"); + exit(1); + } + xlate_to_kseg0 = cpu_mips_kvm_um_phys_to_kseg0; } else { + if (!(kernel_entry & 0x80000000ll)) { + error_report("KVM guest kernels aren't supported with TCG. " + "Did you unintentionally enable CONFIG_KVM_GUEST?"); + exit(1); + } + xlate_to_kseg0 = cpu_mips_phys_to_kseg0; }
Add error reporting if the wrong type of kernel is provided for the current mode of acceleration. Currently a KVM kernel linked at 0x40000000 can't be used with TCG, and a normal kernel linked at 0x80000000 can't be used with KVM. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Aurelien Jarno <aurelien@aurel32.net> Cc: Paolo Bonzini <pbonzini@redhat.com> --- hw/mips/mips_malta.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)