diff options
author | Alexey Kardashevskiy <aik@ozlabs.ru> | 2016-03-01 07:54:40 +0100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2016-03-01 23:56:50 +0100 |
commit | 58ded4201ff028b15f6b317228faa5f154a0663f (patch) | |
tree | d8f0be5813a349059e31724b24801fb526222be4 /arch/powerpc/include/uapi | |
parent | KVM: PPC: Add @offset to kvmppc_spapr_tce_table (diff) | |
download | linux-58ded4201ff028b15f6b317228faa5f154a0663f.tar.xz linux-58ded4201ff028b15f6b317228faa5f154a0663f.zip |
KVM: PPC: Add support for 64bit TCE windows
The existing KVM_CREATE_SPAPR_TCE only supports 32bit windows which is not
enough for directly mapped windows as the guest can get more than 4GB.
This adds KVM_CREATE_SPAPR_TCE_64 ioctl and advertises it
via KVM_CAP_SPAPR_TCE_64 capability. The table size is checked against
the locked memory limit.
Since 64bit windows are to support Dynamic DMA windows (DDW), let's add
@bus_offset and @page_shift which are also required by DDW.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/include/uapi')
-rw-r--r-- | arch/powerpc/include/uapi/asm/kvm.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/powerpc/include/uapi/asm/kvm.h b/arch/powerpc/include/uapi/asm/kvm.h index ab4d4732c492..c93cf35ce379 100644 --- a/arch/powerpc/include/uapi/asm/kvm.h +++ b/arch/powerpc/include/uapi/asm/kvm.h @@ -333,6 +333,15 @@ struct kvm_create_spapr_tce { __u32 window_size; }; +/* for KVM_CAP_SPAPR_TCE_64 */ +struct kvm_create_spapr_tce_64 { + __u64 liobn; + __u32 page_shift; + __u32 flags; + __u64 offset; /* in pages */ + __u64 size; /* in pages */ +}; + /* for KVM_ALLOCATE_RMA */ struct kvm_allocate_rma { __u64 rma_size; |