KVM/arm updates for Linux 5.5: - Allow non-ISV data aborts to be reported to userspace - Allow injection of data aborts from userspace - Expose stolen time to guests - GICv4 performance improvements - vgic ITS emulation fixes - Simplify FWB handling - Enable halt pool counters - Make the emulated timer PREEMPT_RT compliant
Showing the changes to include/uapi/linux (1 of 55 files). Show all
Unified · Split
| @@ -235,6 +235,7 @@ struct kvm_hyperv_exit { · 234 unmodified lines | |||
| 235 | #define KVM_EXIT_S390_STSI 25 | 235 | #define KVM_EXIT_S390_STSI 25 |
| 236 | #define KVM_EXIT_IOAPIC_EOI 26 | 236 | #define KVM_EXIT_IOAPIC_EOI 26 |
| 237 | #define KVM_EXIT_HYPERV 27 | 237 | #define KVM_EXIT_HYPERV 27 |
| 238 | #define KVM_EXIT_ARM_NISV 28 | ||
| 238 | 239 | ||
| 239 | /* For KVM_EXIT_INTERNAL_ERROR */ | 240 | /* For KVM_EXIT_INTERNAL_ERROR */ |
| 240 | /* Emulate instruction failed. */ | 241 | /* Emulate instruction failed. */ |
| @@ -394,6 +395,11 @@ struct kvm_run { · 153 unmodified lines | |||
| 394 | } eoi; | 395 | } eoi; |
| 395 | /* KVM_EXIT_HYPERV */ | 396 | /* KVM_EXIT_HYPERV */ |
| 396 | struct kvm_hyperv_exit hyperv; | 397 | struct kvm_hyperv_exit hyperv; |
| 398 | /* KVM_EXIT_ARM_NISV */ | ||
| 399 | struct { | ||
| 400 | __u64 esr_iss; | ||
| 401 | __u64 fault_ipa; | ||
| 402 | } arm_nisv; | ||
| 397 | /* Fix the size of the union. */ | 403 | /* Fix the size of the union. */ |
| 398 | char padding[256]; | 404 | char padding[256]; |
| 399 | }; | 405 | }; |
| @@ -1001,6 +1007,8 @@ struct kvm_ppc_resize_hpt { · 601 unmodified lines | |||
| 1001 | #define KVM_CAP_ARM_IRQ_LINE_LAYOUT_2 174 | 1007 | #define KVM_CAP_ARM_IRQ_LINE_LAYOUT_2 174 |
| 1002 | #define KVM_CAP_HYPERV_DIRECT_TLBFLUSH 175 | 1008 | #define KVM_CAP_HYPERV_DIRECT_TLBFLUSH 175 |
| 1003 | #define KVM_CAP_PPC_GUEST_DEBUG_SSTEP 176 | 1009 | #define KVM_CAP_PPC_GUEST_DEBUG_SSTEP 176 |
| 1010 | #define KVM_CAP_ARM_NISV_TO_USER 177 | ||
| 1011 | #define KVM_CAP_ARM_INJECT_EXT_DABT 178 | ||
| 1004 | 1012 | ||
| 1005 | #ifdef KVM_CAP_IRQ_ROUTING | 1013 | #ifdef KVM_CAP_IRQ_ROUTING |
| 1006 | 1014 | ||
| @@ -1228,6 +1236,8 @@ enum kvm_device_type { · 221 unmodified lines | |||
| 1228 | #define KVM_DEV_TYPE_ARM_VGIC_ITS KVM_DEV_TYPE_ARM_VGIC_ITS | 1236 | #define KVM_DEV_TYPE_ARM_VGIC_ITS KVM_DEV_TYPE_ARM_VGIC_ITS |
| 1229 | KVM_DEV_TYPE_XIVE, | 1237 | KVM_DEV_TYPE_XIVE, |
| 1230 | #define KVM_DEV_TYPE_XIVE KVM_DEV_TYPE_XIVE | 1238 | #define KVM_DEV_TYPE_XIVE KVM_DEV_TYPE_XIVE |
| 1239 | KVM_DEV_TYPE_ARM_PV_TIME, | ||
| 1240 | #define KVM_DEV_TYPE_ARM_PV_TIME KVM_DEV_TYPE_ARM_PV_TIME | ||
| 1231 | KVM_DEV_TYPE_MAX, | 1241 | KVM_DEV_TYPE_MAX, |
| 1232 | }; | 1242 | }; |
| 1233 | 1243 | ||