On Mon, Mar 15, 2010 at 11:23:07AM +0200, Avi Kivity wrote: > On 03/15/2010 11:06 AM, Joerg Roedel wrote: >> On Mon, Mar 15, 2010 at 09:36:52AM +0200, Avi Kivity wrote: >> >>> On 03/03/2010 09:12 PM, Joerg Roedel wrote: >>> >>>> This patch implements logic to make sure that either a >>>> page-fault/page-fault-vmexit or a nested-page-fault-vmexit >>>> is propagated back to the guest. >>>> >>>> Signed-off-by: Joerg Roedel<joerg.roedel@xxxxxxx> >>>> --- >>>> arch/x86/kvm/mmu.h | 1 + >>>> arch/x86/kvm/paging_tmpl.h | 2 ++ >>>> arch/x86/kvm/x86.c | 15 ++++++++++++++- >>>> 3 files changed, 17 insertions(+), 1 deletions(-) >>>> >>>> diff --git a/arch/x86/kvm/mmu.h b/arch/x86/kvm/mmu.h >>>> index 64f619b..b42b27e 100644 >>>> --- a/arch/x86/kvm/mmu.h >>>> +++ b/arch/x86/kvm/mmu.h >>>> @@ -47,6 +47,7 @@ >>>> #define PFERR_USER_MASK (1U<< 2) >>>> #define PFERR_RSVD_MASK (1U<< 3) >>>> #define PFERR_FETCH_MASK (1U<< 4) >>>> +#define PFERR_NESTED_MASK (1U<< 31) >>>> >>>> >>> >>> Why is this needed? Queue an ordinary page fault page; the injection >>> code should check the page fault intercept and #VMEXIT if needed. >>> >> This is needed because we could have a nested page fault or an ordinary >> page fault which need to be propagated. >> > > Right. > > Why is pio_copy_data() changed? One would think that it would be an > all-or-nothing affair. It was the only place I found where the PROPAGATE_FAULT value was checked and actually propagated. Joerg -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html