2021-06-02 17:23:18

by Vineeth Pillai

[permalink] [raw]
Subject: [PATCH 01/17] hyperv: Few TLFS definitions

Adding few TLFS definitions which would be used later in
this patch series.

Signed-off-by: Vineeth Pillai <[email protected]>
---
arch/x86/include/uapi/asm/hyperv-tlfs.h | 2 ++
include/asm-generic/hyperv-tlfs.h | 6 ++++++
include/uapi/asm-generic/hyperv-tlfs.h | 1 +
3 files changed, 9 insertions(+)

diff --git a/arch/x86/include/uapi/asm/hyperv-tlfs.h b/arch/x86/include/uapi/asm/hyperv-tlfs.h
index 4447ef5362e9..3ffd6336da27 100644
--- a/arch/x86/include/uapi/asm/hyperv-tlfs.h
+++ b/arch/x86/include/uapi/asm/hyperv-tlfs.h
@@ -1003,6 +1003,8 @@ enum hv_interrupt_type {
HV_X64_INTERRUPT_TYPE_MAXIMUM = 0x000A
};

+#define HV_INTERRUPT_VECTOR_NONE 0xFFFFFFFF
+
union hv_interrupt_control {
struct {
__u32 interrupt_type; /* enum hv_interrupt type */
diff --git a/include/asm-generic/hyperv-tlfs.h b/include/asm-generic/hyperv-tlfs.h
index b5e4a5003b63..8f08d0e9163d 100644
--- a/include/asm-generic/hyperv-tlfs.h
+++ b/include/asm-generic/hyperv-tlfs.h
@@ -249,7 +249,13 @@ enum hv_status {
/* Valid SynIC vectors are 16-255. */
#define HV_SYNIC_FIRST_VALID_VECTOR (16)

+/* Hyper-V defined statically assigned SINTs */
#define HV_SYNIC_INTERCEPTION_SINT_INDEX 0x00000000
+#define HV_SYNIC_IOMMU_FAULT_SINT_INDEX 0x00000001
+#define HV_SYNIC_VMBUS_SINT_INDEX 0x00000002
+#define HV_SYNIC_HAL_HV_TIMER_SINT_INDEX 0x00000003
+#define HV_SYNIC_HVL_SHARED_SINT_INDEX 0x00000004
+#define HV_SYNIC_FIRST_UNUSED_SINT_INDEX 0x00000005

#define HV_SYNIC_CONTROL_ENABLE (1ULL << 0)
#define HV_SYNIC_SIMP_ENABLE (1ULL << 0)
diff --git a/include/uapi/asm-generic/hyperv-tlfs.h b/include/uapi/asm-generic/hyperv-tlfs.h
index 95020e3a67ba..388c4eb29212 100644
--- a/include/uapi/asm-generic/hyperv-tlfs.h
+++ b/include/uapi/asm-generic/hyperv-tlfs.h
@@ -10,6 +10,7 @@
#define HV_MESSAGE_SIZE (256)
#define HV_MESSAGE_PAYLOAD_BYTE_COUNT (240)
#define HV_MESSAGE_PAYLOAD_QWORD_COUNT (30)
+#define HV_ANY_VP (0xFFFFFFFF)

/* Define hypervisor message types. */
enum hv_message_type {
--
2.25.1