| .. | .. |
|---|
| 29 | 29 | #define KVM_FEATURE_PV_TLB_FLUSH 9 |
|---|
| 30 | 30 | #define KVM_FEATURE_ASYNC_PF_VMEXIT 10 |
|---|
| 31 | 31 | #define KVM_FEATURE_PV_SEND_IPI 11 |
|---|
| 32 | +#define KVM_FEATURE_POLL_CONTROL 12 |
|---|
| 33 | +#define KVM_FEATURE_PV_SCHED_YIELD 13 |
|---|
| 34 | +#define KVM_FEATURE_ASYNC_PF_INT 14 |
|---|
| 35 | +#define KVM_FEATURE_MSI_EXT_DEST_ID 15 |
|---|
| 32 | 36 | |
|---|
| 33 | 37 | #define KVM_HINTS_REALTIME 0 |
|---|
| 34 | 38 | |
|---|
| .. | .. |
|---|
| 47 | 51 | #define MSR_KVM_ASYNC_PF_EN 0x4b564d02 |
|---|
| 48 | 52 | #define MSR_KVM_STEAL_TIME 0x4b564d03 |
|---|
| 49 | 53 | #define MSR_KVM_PV_EOI_EN 0x4b564d04 |
|---|
| 54 | +#define MSR_KVM_POLL_CONTROL 0x4b564d05 |
|---|
| 55 | +#define MSR_KVM_ASYNC_PF_INT 0x4b564d06 |
|---|
| 56 | +#define MSR_KVM_ASYNC_PF_ACK 0x4b564d07 |
|---|
| 50 | 57 | |
|---|
| 51 | 58 | struct kvm_steal_time { |
|---|
| 52 | 59 | __u64 steal; |
|---|
| .. | .. |
|---|
| 78 | 85 | #define KVM_ASYNC_PF_ENABLED (1 << 0) |
|---|
| 79 | 86 | #define KVM_ASYNC_PF_SEND_ALWAYS (1 << 1) |
|---|
| 80 | 87 | #define KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT (1 << 2) |
|---|
| 88 | +#define KVM_ASYNC_PF_DELIVERY_AS_INT (1 << 3) |
|---|
| 89 | + |
|---|
| 90 | +/* MSR_KVM_ASYNC_PF_INT */ |
|---|
| 91 | +#define KVM_ASYNC_PF_VEC_MASK GENMASK(7, 0) |
|---|
| 92 | + |
|---|
| 81 | 93 | |
|---|
| 82 | 94 | /* Operations for KVM_HC_MMU_OP */ |
|---|
| 83 | 95 | #define KVM_MMU_OP_WRITE_PTE 1 |
|---|
| .. | .. |
|---|
| 109 | 121 | #define KVM_PV_REASON_PAGE_READY 2 |
|---|
| 110 | 122 | |
|---|
| 111 | 123 | struct kvm_vcpu_pv_apf_data { |
|---|
| 112 | | - __u32 reason; |
|---|
| 113 | | - __u8 pad[60]; |
|---|
| 124 | + /* Used for 'page not present' events delivered via #PF */ |
|---|
| 125 | + __u32 flags; |
|---|
| 126 | + |
|---|
| 127 | + /* Used for 'page ready' events delivered via interrupt notification */ |
|---|
| 128 | + __u32 token; |
|---|
| 129 | + |
|---|
| 130 | + __u8 pad[56]; |
|---|
| 114 | 131 | __u32 enabled; |
|---|
| 115 | 132 | }; |
|---|
| 116 | 133 | |
|---|