[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 6/9] drivers/hv: share Hyper-V SynIC constants with
From: |
Denis V. Lunev |
Subject: |
[Qemu-devel] [PATCH 6/9] drivers/hv: share Hyper-V SynIC constants with userspace |
Date: |
Fri, 16 Oct 2015 10:07:50 +0300 |
From: Andrey Smetanin <address@hidden>
Moved Hyper-V synic contants from guest Hyper-V drivers private
header into x86 arch uapi Hyper-V header.
Added Hyper-V synic msr's flags into x86 arch uapi Hyper-V header.
Signed-off-by: Andrey Smetanin <address@hidden>
Reviewed-by: Roman Kagan <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Vitaly Kuznetsov <address@hidden>
CC: "K. Y. Srinivasan" <address@hidden>
CC: Gleb Natapov <address@hidden>
CC: Paolo Bonzini <address@hidden>
---
arch/x86/include/uapi/asm/hyperv.h | 12 ++++++++++++
drivers/hv/hyperv_vmbus.h | 5 -----
include/linux/hyperv.h | 1 +
3 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/arch/x86/include/uapi/asm/hyperv.h
b/arch/x86/include/uapi/asm/hyperv.h
index 2677a0a..040d408 100644
--- a/arch/x86/include/uapi/asm/hyperv.h
+++ b/arch/x86/include/uapi/asm/hyperv.h
@@ -257,4 +257,16 @@ typedef struct _HV_REFERENCE_TSC_PAGE {
__s64 tsc_offset;
} HV_REFERENCE_TSC_PAGE, *PHV_REFERENCE_TSC_PAGE;
+/* Define the number of synthetic interrupt sources. */
+#define HV_SYNIC_SINT_COUNT (16)
+/* Define the expected SynIC version. */
+#define HV_SYNIC_VERSION_1 (0x1)
+
+#define HV_SYNIC_CONTROL_ENABLE (1ULL << 0)
+#define HV_SYNIC_SIMP_ENABLE (1ULL << 0)
+#define HV_SYNIC_SIEFP_ENABLE (1ULL << 0)
+#define HV_SYNIC_SINT_MASKED (1ULL << 16)
+#define HV_SYNIC_SINT_AUTO_EOI (1ULL << 17)
+#define HV_SYNIC_SINT_VECTOR_MASK (0xFF)
+
#endif
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index 3d70e36..3782636 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -63,9 +63,6 @@ enum hv_cpuid_function {
/* Define version of the synthetic interrupt controller. */
#define HV_SYNIC_VERSION (1)
-/* Define the expected SynIC version. */
-#define HV_SYNIC_VERSION_1 (0x1)
-
/* Define synthetic interrupt controller message constants. */
#define HV_MESSAGE_SIZE (256)
#define HV_MESSAGE_PAYLOAD_BYTE_COUNT (240)
@@ -105,8 +102,6 @@ enum hv_message_type {
HVMSG_X64_LEGACY_FP_ERROR = 0x80010005
};
-/* Define the number of synthetic interrupt sources. */
-#define HV_SYNIC_SINT_COUNT (16)
#define HV_SYNIC_STIMER_COUNT (4)
/* Define invalid partition identifier. */
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 54733d5..8fdc17b 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -26,6 +26,7 @@
#define _HYPERV_H
#include <uapi/linux/hyperv.h>
+#include <uapi/asm/hyperv.h>
#include <linux/types.h>
#include <linux/scatterlist.h>
--
2.1.4
- [Qemu-devel] [PATCH v2 0/9] Hyper-V synthetic interrupt controller, Denis V. Lunev, 2015/10/16
- [Qemu-devel] [PATCH 2/9] kvm/eventfd: factor out kvm_notify_acked_gsi(), Denis V. Lunev, 2015/10/16
- [Qemu-devel] [PATCH 1/9] kvm/eventfd: avoid loop inside irqfd_update(), Denis V. Lunev, 2015/10/16
- [Qemu-devel] [PATCH 4/9] kvm/irqchip: allow only multiple irqchip routes per GSI, Denis V. Lunev, 2015/10/16
- [Qemu-devel] [PATCH 5/9] kvm/irqchip: kvm_arch_irq_routing_update renaming split, Denis V. Lunev, 2015/10/16
- [Qemu-devel] [PATCH 3/9] kvm/eventfd: add arch-specific set_irq, Denis V. Lunev, 2015/10/16
- [Qemu-devel] [PATCH 6/9] drivers/hv: share Hyper-V SynIC constants with userspace,
Denis V. Lunev <=
- [Qemu-devel] [PATCH 7/9] kvm/x86: split ioapic-handled and EOI exit bitmaps, Denis V. Lunev, 2015/10/16
- [Qemu-devel] [PATCH 9/9] kvm/x86: Hyper-V kvm exit, Denis V. Lunev, 2015/10/16
- [Qemu-devel] [PATCH 8/9] kvm/x86: Hyper-V synthetic interrupt controller, Denis V. Lunev, 2015/10/16