aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/kvm.h
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2011-08-18 16:25:21 -0400
committerAvi Kivity <avi@redhat.com>2012-03-05 07:52:24 -0500
commitdc83b8bc0256ee682506ed83853a98eaba529c6f (patch)
tree0d5f73b725392104320894d606bba10151a9ea3c /include/linux/kvm.h
parent0164c0f0c404017fb04defb0ceb23fd1c3c3a53e (diff)
KVM: PPC: e500: MMU API
This implements a shared-memory API for giving host userspace access to the guest's TLB. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'include/linux/kvm.h')
-rw-r--r--include/linux/kvm.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 245bcb3a0fcd..fa029ced4bd5 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -581,6 +581,7 @@ struct kvm_ppc_pvinfo {
581#define KVM_CAP_PPC_RMA 65 581#define KVM_CAP_PPC_RMA 65
582#define KVM_CAP_MAX_VCPUS 66 /* returns max vcpus per vm */ 582#define KVM_CAP_MAX_VCPUS 66 /* returns max vcpus per vm */
583#define KVM_CAP_PPC_PAPR 68 583#define KVM_CAP_PPC_PAPR 68
584#define KVM_CAP_SW_TLB 69
584#define KVM_CAP_S390_GMAP 71 585#define KVM_CAP_S390_GMAP 71
585#define KVM_CAP_TSC_DEADLINE_TIMER 72 586#define KVM_CAP_TSC_DEADLINE_TIMER 72
586#define KVM_CAP_S390_UCONTROL 73 587#define KVM_CAP_S390_UCONTROL 73
@@ -664,6 +665,21 @@ struct kvm_clock_data {
664 __u32 pad[9]; 665 __u32 pad[9];
665}; 666};
666 667
668#define KVM_MMU_FSL_BOOKE_NOHV 0
669#define KVM_MMU_FSL_BOOKE_HV 1
670
671struct kvm_config_tlb {
672 __u64 params;
673 __u64 array;
674 __u32 mmu_type;
675 __u32 array_len;
676};
677
678struct kvm_dirty_tlb {
679 __u64 bitmap;
680 __u32 num_dirty;
681};
682
667/* 683/*
668 * ioctls for VM fds 684 * ioctls for VM fds
669 */ 685 */
@@ -801,6 +817,8 @@ struct kvm_s390_ucas_mapping {
801#define KVM_CREATE_SPAPR_TCE _IOW(KVMIO, 0xa8, struct kvm_create_spapr_tce) 817#define KVM_CREATE_SPAPR_TCE _IOW(KVMIO, 0xa8, struct kvm_create_spapr_tce)
802/* Available with KVM_CAP_RMA */ 818/* Available with KVM_CAP_RMA */
803#define KVM_ALLOCATE_RMA _IOR(KVMIO, 0xa9, struct kvm_allocate_rma) 819#define KVM_ALLOCATE_RMA _IOR(KVMIO, 0xa9, struct kvm_allocate_rma)
820/* Available with KVM_CAP_SW_TLB */
821#define KVM_DIRTY_TLB _IOW(KVMIO, 0xaa, struct kvm_dirty_tlb)
804 822
805#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) 823#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
806 824