Messages in this thread | | | Date | Thu, 04 Jun 2009 15:49:03 +0300 | From | Avi Kivity <> | Subject | Re: [PATCH] [2/2] KVM: Add VT-x machine check support |
| |
Andi Kleen wrote: >> This assumption is incorrect. This code is executed after preemption >> has been enabled, and we may have even slept before reaching it. >> > > The only thing that counts here is the context before the machine > check event. If there was a vmexit we know it was in guest context. > > The only requirement we have is that we're running still on the same > CPU. I assume that's true, otherwise the vmcb accesses wouldn't work? >
It's not true, we're in preemptible context and may have even slept.
vmcs access work because we have a preempt notifier called when we are scheduled in, and will execute vmclear/vmptrld as necessary. Look at kvm_preempt_ops in virt/kvm_main.c.
>> We get both an explicit EXIT_REASON and an exception? >> > > These are different cases. The exception is #MC in guest context, > the EXIT_REASON is when a #MC happens while the CPU is executing > the VM entry microcode. >
I see, thanks.
-- error compiling committee.c: too many arguments to function
| |