diff options
Diffstat (limited to 'arch/x86/include/asm/hyperv-tlfs.h')
-rw-r--r-- | arch/x86/include/asm/hyperv-tlfs.h | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/arch/x86/include/asm/hyperv-tlfs.h b/arch/x86/include/asm/hyperv-tlfs.h index 416cb0e0c496..3bfa92c2793c 100644 --- a/arch/x86/include/asm/hyperv-tlfs.h +++ b/arch/x86/include/asm/hyperv-tlfs.h | |||
@@ -164,6 +164,11 @@ | |||
164 | */ | 164 | */ |
165 | #define HV_X64_DEPRECATING_AEOI_RECOMMENDED (1 << 9) | 165 | #define HV_X64_DEPRECATING_AEOI_RECOMMENDED (1 << 9) |
166 | 166 | ||
167 | /* | ||
168 | * Recommend using cluster IPI hypercalls. | ||
169 | */ | ||
170 | #define HV_X64_CLUSTER_IPI_RECOMMENDED (1 << 10) | ||
171 | |||
167 | /* Recommend using the newer ExProcessorMasks interface */ | 172 | /* Recommend using the newer ExProcessorMasks interface */ |
168 | #define HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED (1 << 11) | 173 | #define HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED (1 << 11) |
169 | 174 | ||
@@ -329,12 +334,17 @@ struct hv_tsc_emulation_status { | |||
329 | #define HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_MASK \ | 334 | #define HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_MASK \ |
330 | (~((1ull << HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_SHIFT) - 1)) | 335 | (~((1ull << HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_SHIFT) - 1)) |
331 | 336 | ||
337 | #define HV_IPI_LOW_VECTOR 0x10 | ||
338 | #define HV_IPI_HIGH_VECTOR 0xff | ||
339 | |||
332 | /* Declare the various hypercall operations. */ | 340 | /* Declare the various hypercall operations. */ |
333 | #define HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE 0x0002 | 341 | #define HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE 0x0002 |
334 | #define HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST 0x0003 | 342 | #define HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST 0x0003 |
335 | #define HVCALL_NOTIFY_LONG_SPIN_WAIT 0x0008 | 343 | #define HVCALL_NOTIFY_LONG_SPIN_WAIT 0x0008 |
344 | #define HVCALL_SEND_IPI 0x000b | ||
336 | #define HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE_EX 0x0013 | 345 | #define HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE_EX 0x0013 |
337 | #define HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST_EX 0x0014 | 346 | #define HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST_EX 0x0014 |
347 | #define HVCALL_SEND_IPI_EX 0x0015 | ||
338 | #define HVCALL_POST_MESSAGE 0x005c | 348 | #define HVCALL_POST_MESSAGE 0x005c |
339 | #define HVCALL_SIGNAL_EVENT 0x005d | 349 | #define HVCALL_SIGNAL_EVENT 0x005d |
340 | 350 | ||
@@ -360,7 +370,7 @@ struct hv_tsc_emulation_status { | |||
360 | #define HV_FLUSH_USE_EXTENDED_RANGE_FORMAT BIT(3) | 370 | #define HV_FLUSH_USE_EXTENDED_RANGE_FORMAT BIT(3) |
361 | 371 | ||
362 | enum HV_GENERIC_SET_FORMAT { | 372 | enum HV_GENERIC_SET_FORMAT { |
363 | HV_GENERIC_SET_SPARCE_4K, | 373 | HV_GENERIC_SET_SPARSE_4K, |
364 | HV_GENERIC_SET_ALL, | 374 | HV_GENERIC_SET_ALL, |
365 | }; | 375 | }; |
366 | 376 | ||
@@ -706,4 +716,22 @@ struct hv_enlightened_vmcs { | |||
706 | #define HV_STIMER_AUTOENABLE (1ULL << 3) | 716 | #define HV_STIMER_AUTOENABLE (1ULL << 3) |
707 | #define HV_STIMER_SINT(config) (__u8)(((config) >> 16) & 0x0F) | 717 | #define HV_STIMER_SINT(config) (__u8)(((config) >> 16) & 0x0F) |
708 | 718 | ||
719 | struct ipi_arg_non_ex { | ||
720 | u32 vector; | ||
721 | u32 reserved; | ||
722 | u64 cpu_mask; | ||
723 | }; | ||
724 | |||
725 | struct hv_vpset { | ||
726 | u64 format; | ||
727 | u64 valid_bank_mask; | ||
728 | u64 bank_contents[]; | ||
729 | }; | ||
730 | |||
731 | struct ipi_arg_ex { | ||
732 | u32 vector; | ||
733 | u32 reserved; | ||
734 | struct hv_vpset vp_set; | ||
735 | }; | ||
736 | |||
709 | #endif | 737 | #endif |