[PATCH v4 0/4] KVM: arm64: Do not communicate host pmu event changes by accessing hyp data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

This series changes the way KVM communicates host pmu event changes to the
hypervisor in nvhe and protected mode. Instead of accessing hyp data directly
from the host, the data is passed to hyp via the loaded vcpu. This provides
more isolation between the host and the hypervisor, and allows us to use pmu in
protected mode.

This series is based on kvmarm/next (8c22fd2d4cfa).

Changes since V3 [1]:
- Fix/clarify commit messages (Oliver)
- Reduce scope of kvm_pmu_events (Oliver/Marc)

Changes since V2 [2]:
- Update the guest view of the pmu events after interrupts have been disabled
  (Marc)

Changes since V1 [3]:
- Repack struct kvm_pmu to remove all (two) holes (Marc)
- Updating the guest's view of the pmu events before every vcpu run rather than
  vcpu load to avoid missing updates (Marc)

Thanks,
/fuad

[1] https://lore.kernel.org/all/20220509120330.3043773-1-tabba@xxxxxxxxxx/
[2] https://lore.kernel.org/all/20220509095500.2408785-1-tabba@xxxxxxxxxx/
[3] https://lore.kernel.org/linux-arm-kernel/20220408084052.3310931-1-tabba@xxxxxxxxxx/

Fuad Tabba (4):
  KVM: arm64: Wrapper for getting pmu_events
  KVM: arm64: Repack struct kvm_pmu to reduce size
  KVM: arm64: Pass pmu events to hyp via vcpu
  KVM: arm64: Reenable pmu in Protected Mode

 arch/arm64/include/asm/kvm_host.h |  7 +-----
 arch/arm64/kvm/arm.c              | 15 ++++++++++++
 arch/arm64/kvm/hyp/nvhe/switch.c  | 20 +++++-----------
 arch/arm64/kvm/pmu-emul.c         |  3 +--
 arch/arm64/kvm/pmu.c              | 40 ++++++++++++++++++-------------
 include/kvm/arm_pmu.h             | 10 ++++++--
 6 files changed, 54 insertions(+), 41 deletions(-)


base-commit: 8c22fd2d4cfaab2ae3c5859496c894df58ab014b
-- 
2.36.0.512.ge40c2bad7a-goog

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm



[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux