jclulow / illumos-kvm

KVM driver for illumos (now with 25% more AMD-V). Note: latest work is in branch "pre-ept"; use that one!
Other
51 stars 11 forks source link

KVM internal error. Suberror: 2 #6

Closed jclulow closed 12 years ago

jclulow commented 12 years ago

Sometimes a VM will start, but instead of being useful will loop forever outputting this:

KVM internal error. Suberror: 2
extra data[0]: 80000008
extra data[1]: 80000b08

The only place it appears that this could come from in the code is handle_exception in kvm_vmx.c. On that basis...

data[0] = vect_info = vmx->idt_vectoring_info;
data[1] = intr_info = vmcs_read32(VM_EXIT_INTR_INFO);

(NB: this is using KVM built from branch rebase0 with hacks to target VMX and remove the requirement for EPT)

jclulow commented 12 years ago

It turns out that this intr_info is a Double Fault, so is presumably deeply related to something we're still duffing in the SPT handling.

richlowe commented 12 years ago

Sounds likely.

When someone in #illumos it this, I did some looking around and it appeared that folks had it it on vanilla joyent bits, as well. That may mean that whatever we're screwing can be reached without hitting any of the other bits which we already fixed (in my imagination, at least, this narrows things down somewhat).

jclulow commented 12 years ago

Were they vanilla joyent bits from before the EPT-check was in place though? (thus still potentially exercising the SPT code if run on non-EPT hardware)

richlowe commented 12 years ago

Yes they were, but that's not necessarily relevant to what I was hoping, in that I believe that on a non-EPT machine they'd usually panic. Unless my memory is failing me, this isn't the usual symptom of lacking EPT on those chips.

jclulow commented 12 years ago

I'm reasonably confident, at this stage, that this is just another manifestation of the problems behind #7. Both issues have seemingly gone away since ensuring the 32bit root SPT was allocated in the first 4GB of physical memory.