KVM: MMU: Track page fault data in struct vcpu
This patch introduces a struct with two new fields in vcpu_arch for x86: * fault.address * fault.error_code This will be used to correctly propagate page faults back into the guest when we could have either an ordinary page fault or a nested page fault. In the case of a nested page fault the fault-address is different from the original address that should be walked. So we need to keep track about the real fault-address. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
@@ -2566,11 +2566,9 @@ static unsigned long get_cr3(struct kvm_vcpu *vcpu)
|
||||
return vcpu->arch.cr3;
|
||||
}
|
||||
|
||||
static void inject_page_fault(struct kvm_vcpu *vcpu,
|
||||
u64 addr,
|
||||
u32 err_code)
|
||||
static void inject_page_fault(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
vcpu->arch.mmu.inject_page_fault(vcpu, addr, err_code);
|
||||
vcpu->arch.mmu.inject_page_fault(vcpu);
|
||||
}
|
||||
|
||||
static void paging_free(struct kvm_vcpu *vcpu)
|
||||
|
Reference in New Issue
Block a user