KVM: arm64: more traces for MMIO guard

Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Marc Zyngier <mzyngier@google.com>
diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c
index d54cd90..8138ed9 100644
--- a/arch/arm64/kvm/mmu.c
+++ b/arch/arm64/kvm/mmu.c
@@ -1162,6 +1162,8 @@ bool kvm_install_ioguard_page(struct kvm_vcpu *vcpu, gpa_t ipa)
 					  ipa, PAGE_SIZE, memcache,
 					  MMIO_NOTE);
 	spin_unlock(&vcpu->kvm->mmu_lock);
+	if (!ret)
+		trace_kvm_mmio_map(*vcpu_pc(vcpu), ipa);
 
 	return ret == 0;
 }
@@ -1193,9 +1195,11 @@ bool kvm_remove_ioguard_page(struct kvm_vcpu *vcpu, gpa_t ipa)
 	spin_lock(&vcpu->kvm->mmu_lock);
 
 	ret = __check_ioguard_page(vcpu, ipa);
-	if (ret)		/* Drop the annotation */
+	if (ret) {		/* Drop the annotation */
 		kvm_pgtable_stage2_unmap(vcpu->arch.hw_mmu->pgt,
 					 ALIGN_DOWN(ipa, PAGE_SIZE), PAGE_SIZE);
+		trace_kvm_mmio_unmap(*vcpu_pc(vcpu), ipa);
+	}
 
 	spin_unlock(&vcpu->kvm->mmu_lock);
 	return ret;
diff --git a/arch/arm64/kvm/trace_arm.h b/arch/arm64/kvm/trace_arm.h
index 1e3d6f6..d0b4774 100644
--- a/arch/arm64/kvm/trace_arm.h
+++ b/arch/arm64/kvm/trace_arm.h
@@ -89,6 +89,40 @@ TRACE_EVENT(kvm_access_fault,
 	TP_printk("IPA: %lx", __entry->ipa)
 );
 
+TRACE_EVENT(kvm_mmio_map,
+	TP_PROTO(unsigned long vcpu_pc, unsigned long ipa),
+	TP_ARGS(vcpu_pc, ipa),
+
+	TP_STRUCT__entry(
+		__field(	unsigned long,	vcpu_pc		)
+		__field(	unsigned long,	ipa		)
+	),
+
+	TP_fast_assign(
+		__entry->vcpu_pc	= vcpu_pc;
+		__entry->ipa		= ipa;
+	),
+
+	TP_printk("PC: %lx IPA: %lx", __entry->vcpu_pc, __entry->ipa)
+);
+
+TRACE_EVENT(kvm_mmio_unmap,
+	TP_PROTO(unsigned long vcpu_pc, unsigned long ipa),
+	TP_ARGS(vcpu_pc, ipa),
+
+	TP_STRUCT__entry(
+		__field(	unsigned long,	vcpu_pc		)
+		__field(	unsigned long,	ipa		)
+	),
+
+	TP_fast_assign(
+		__entry->vcpu_pc	= vcpu_pc;
+		__entry->ipa		= ipa;
+	),
+
+	TP_printk("PC: %lx IPA: %lx", __entry->vcpu_pc, __entry->ipa)
+);
+
 TRACE_EVENT(kvm_failed_mmio_check,
 	TP_PROTO(unsigned long vcpu_pc, unsigned long ipa),
 	TP_ARGS(vcpu_pc, ipa),