|
@@ -420,13 +420,19 @@ struct kvm_run {
|
|
struct kvm_coalesced_mmio_zone {
|
|
struct kvm_coalesced_mmio_zone {
|
|
__u64 addr;
|
|
__u64 addr;
|
|
__u32 size;
|
|
__u32 size;
|
|
- __u32 pad;
|
|
|
|
|
|
+ union {
|
|
|
|
+ __u32 pad;
|
|
|
|
+ __u32 pio;
|
|
|
|
+ };
|
|
};
|
|
};
|
|
|
|
|
|
struct kvm_coalesced_mmio {
|
|
struct kvm_coalesced_mmio {
|
|
__u64 phys_addr;
|
|
__u64 phys_addr;
|
|
__u32 len;
|
|
__u32 len;
|
|
- __u32 pad;
|
|
|
|
|
|
+ union {
|
|
|
|
+ __u32 pad;
|
|
|
|
+ __u32 pio;
|
|
|
|
+ };
|
|
__u8 data[8];
|
|
__u8 data[8];
|
|
};
|
|
};
|
|
|
|
|
|
@@ -751,6 +757,15 @@ struct kvm_ppc_resize_hpt {
|
|
|
|
|
|
#define KVM_S390_SIE_PAGE_OFFSET 1
|
|
#define KVM_S390_SIE_PAGE_OFFSET 1
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * On arm64, machine type can be used to request the physical
|
|
|
|
+ * address size for the VM. Bits[7-0] are reserved for the guest
|
|
|
|
+ * PA size shift (i.e, log2(PA_Size)). For backward compatibility,
|
|
|
|
+ * value 0 implies the default IPA size, 40bits.
|
|
|
|
+ */
|
|
|
|
+#define KVM_VM_TYPE_ARM_IPA_SIZE_MASK 0xffULL
|
|
|
|
+#define KVM_VM_TYPE_ARM_IPA_SIZE(x) \
|
|
|
|
+ ((x) & KVM_VM_TYPE_ARM_IPA_SIZE_MASK)
|
|
/*
|
|
/*
|
|
* ioctls for /dev/kvm fds:
|
|
* ioctls for /dev/kvm fds:
|
|
*/
|
|
*/
|
|
@@ -958,6 +973,8 @@ struct kvm_ppc_resize_hpt {
|
|
#define KVM_CAP_HYPERV_SEND_IPI 161
|
|
#define KVM_CAP_HYPERV_SEND_IPI 161
|
|
#define KVM_CAP_COALESCED_PIO 162
|
|
#define KVM_CAP_COALESCED_PIO 162
|
|
#define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
|
|
#define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
|
|
|
|
+#define KVM_CAP_EXCEPTION_PAYLOAD 164
|
|
|
|
+#define KVM_CAP_ARM_VM_IPA_SIZE 165
|
|
|
|
|
|
#ifdef KVM_CAP_IRQ_ROUTING
|
|
#ifdef KVM_CAP_IRQ_ROUTING
|
|
|
|
|