All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/1] KVM: PPC: Introduce KVM_CAP_PPC_HTM
@ 2016-07-20  3:41 ` Sam Bobroff
  0 siblings, 0 replies; 26+ messages in thread
From: Sam Bobroff @ 2016-07-20  3:41 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: kvm-ppc, kvm, david, aik, mpe, agraf, qemu-devel, paulus

Introduce a new KVM capability, KVM_CAP_PPC_HTM, that can be queried to
determine if a PowerPC KVM guest should use HTM (Hardware Transactional
Memory).

This will be used by QEMU to populate the pa-features bits in the
guest's device tree.

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
---

v2:

* Use CPU_FTR_TM_COMP instead of CPU_FTR_TM.
* I didn't unbreak the line, as with the extra characters checkpatch will
  complain if I do. I did move the break to a more usual place.

 arch/powerpc/kvm/powerpc.c | 4 ++++
 include/uapi/linux/kvm.h   | 1 +
 2 files changed, 5 insertions(+)

diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 02416fe..5ebc8ff 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -588,6 +588,10 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
 		r = 1;
 		break;
 #endif
+	case KVM_CAP_PPC_HTM:
+		r = cpu_has_feature(CPU_FTR_TM_COMP) &&
+		    is_kvmppc_hv_enabled(kvm);
+		break;
 	default:
 		r = 0;
 		break;
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index 05ebf47..f421d0e 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -866,6 +866,7 @@ struct kvm_ppc_smmu_info {
 #define KVM_CAP_ARM_PMU_V3 126
 #define KVM_CAP_VCPU_ATTRIBUTES 127
 #define KVM_CAP_MAX_VCPU_ID 128
+#define KVM_CAP_PPC_HTM 129
 
 #ifdef KVM_CAP_IRQ_ROUTING
 
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2016-08-01 18:53 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-20  3:41 [PATCH v2 1/1] KVM: PPC: Introduce KVM_CAP_PPC_HTM Sam Bobroff
2016-07-20  3:41 ` [Qemu-devel] " Sam Bobroff
2016-07-20  3:41 ` Sam Bobroff
2016-07-20  4:20 ` Balbir Singh
2016-07-20  4:20   ` [Qemu-devel] " Balbir Singh
2016-07-20  4:20   ` Balbir Singh
2016-07-20  5:46 ` Michael Ellerman
2016-07-20  5:46   ` [Qemu-devel] " Michael Ellerman
2016-07-20  5:46 ` Michael Ellerman
2016-07-20  6:30   ` Paolo Bonzini
2016-07-20  6:30     ` [Qemu-devel] " Paolo Bonzini
2016-07-20  6:30     ` Paolo Bonzini
2016-07-20 10:20     ` Michael Ellerman
2016-07-20 10:20     ` Michael Ellerman
2016-07-20 10:20     ` Michael Ellerman
2016-07-20 10:20       ` [Qemu-devel] " Michael Ellerman
2016-07-20 10:20     ` Michael Ellerman
2016-08-01 18:52     ` Paolo Bonzini
2016-08-01 18:52       ` [Qemu-devel] " Paolo Bonzini
2016-08-01 18:52       ` Paolo Bonzini
2016-08-01 18:52       ` Paolo Bonzini
2016-07-20  5:46 ` Michael Ellerman
2016-07-20  5:46 ` Michael Ellerman
2016-07-20  9:16 ` David Gibson
2016-07-20  9:16   ` [Qemu-devel] " David Gibson
2016-07-20  9:16   ` David Gibson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.