Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95b0430d authored by Takuya Yoshikawa's avatar Takuya Yoshikawa Committed by Gleb Natapov
Browse files

KVM: MMU: Mark sp mmio cached when creating mmio spte



This will be used not to zap unrelated mmu pages when creating/moving
a memory slot later.

Reviewed-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: default avatarTakuya Yoshikawa <yoshikawa_takuya_b1@lab.ntt.co.jp>
Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
parent 0238ea91
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -230,6 +230,7 @@ struct kvm_mmu_page {
#endif

	int write_flooding_count;
	bool mmio_cached;
};

struct kvm_pio_request {
+3 −0
Original line number Diff line number Diff line
@@ -199,8 +199,11 @@ EXPORT_SYMBOL_GPL(kvm_mmu_set_mmio_spte_mask);

static void mark_mmio_spte(u64 *sptep, u64 gfn, unsigned access)
{
	struct kvm_mmu_page *sp =  page_header(__pa(sptep));

	access &= ACC_WRITE_MASK | ACC_USER_MASK;

	sp->mmio_cached = true;
	trace_mark_mmio_spte(sptep, gfn, access);
	mmu_spte_set(sptep, shadow_mmio_mask | access | gfn << PAGE_SHIFT);
}