mirror of https://github.com/xemu-project/xemu.git
mips_malta: Catch kernels linked at wrong address
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. Cc: Aurelien Jarno <aurelien@aurel32.net> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: James Hogan <james.hogan@imgtec.com> Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
fbdb1d9555
commit
f7f152458e
|
@ -792,9 +792,23 @@ static int64_t load_kernel (void)
|
||||||
loaderparams.kernel_filename);
|
loaderparams.kernel_filename);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Sanity check where the kernel has been linked */
|
||||||
if (kvm_enabled()) {
|
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;
|
xlate_to_kseg0 = cpu_mips_kvm_um_phys_to_kseg0;
|
||||||
} else {
|
} 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;
|
xlate_to_kseg0 = cpu_mips_phys_to_kseg0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue