Steven Price <steven.price@xxxxxxx> writes: > At runtime if the realm guest accesses memory which hasn't yet been > mapped then KVM needs to either populate the region or fault the guest. > > For memory in the lower (protected) region of IPA a fresh page is > provided to the RMM which will zero the contents. For memory in the > upper (shared) region of IPA, the memory from the memslot is mapped > into the realm VM non secure. > > Signed-off-by: Steven Price <steven.price@xxxxxxx> > --- > Changes since v2: > * Avoid leaking memory if failing to map it in the realm. > * Correctly mask RTT based on LPA2 flag (see rtt_get_phys()). > * Adapt to changes in previous patches. > .... > - gfn = ipa >> PAGE_SHIFT; > + gfn = (ipa & ~gpa_stolen_mask) >> PAGE_SHIFT; > memslot = gfn_to_memslot(vcpu->kvm, gfn); > + > + if (kvm_slot_can_be_private(memslot)) { > + ret = private_memslot_fault(vcpu, fault_ipa, memslot); > + if (ret != -EAGAIN) > + goto out; > + } > Shouldn't this be s/fault_ipa/ipa ? ret = private_memslot_fault(vcpu, ipa, memslot); -aneesh