On 12/02/2010 10:51 PM, Anthony Liguori wrote:
VCPU in HLT state only allows injection of certain events that
would be delivered on HLT. #PF is not one of them.
But you can't inject an exception into a guest while the VMCS is
active, can you?
No, but this is irrelevant.
So the guest takes an exit while in the hlt instruction but that's no
different than if the guest has been interrupted because of hlt exiting.
hlt exiting doesn't leave vcpu in the halted state (since hlt has not
been executed). So currently we never see a vcpu in halted state.
You'd have to handle this situation on event injection, vmentry fails
otherwise. Or perhaps clear HLT state on vmexit and vmentry.
So this works today because on a hlt exit, emulate_halt() will clear
the the HLT state which then puts the the vcpu into a state where it
can receive an exception injection?
The halt state is never entered.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html