Dear QEMU list members,
So we developed a virtual machine that that runs on QEMU. The virtual machine emulates a certain piece of equipment running on a PowerPC 7457 processor. And we are running the virtual machine on a T4240-RDB which as a PowerPC e6500 processor. I can't give any more details than that as this project has military applications.
The problem I'm having right now is when I use the -enable-kvm option when starting the virtual machine, the virtual machine crashes like so:
kvm error: missing PVR setting capability
kvm_init_vcpu failed: Function not implemented
common_qemu_exit() has been called
Now I am fairly sure KVM is actually enabled on the system. Finding that out was another story that spanned a couple of months. But long story short, lsmod doesn't show that the KVM kernel module is running. But that's because KVM is built-in and it can't actually be built as a loadable kernel module in this particular system.
So I'm not really sure what could be the problem. Though I was thinking if I understood the error better that might help? Following the code I see that the "Missing PVR setting capability." is called when a variable called "cap_segstate" is 0:
if (!cap_segstate) {
fprintf(stderr, "kvm error: missing PVR setting capability\n");
return -ENOSYS;
}
And the cap_segstate variable is set by the following function:
cap_segstate = kvm_check_extension(s, KVM_CAP_PPC_SEGSTATE);
From there I'm pretty lost; I simply don't understand what any of these terms mean. Do any of you guys know what PVR setting capability, cap_segstate, or
KVM_CAP_PPC_SEGSTATE mean? Do I have to set up any kind of communication between my virtual machine and KVM? Any of you guys know what's going on here? I'm just pretty lost right now haha.
-Thanks, Wayne Li