From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60978) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3REG-0003oV-FV for qemu-devel@nongnu.org; Mon, 30 Nov 2015 11:23:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a3RED-0007Pv-C4 for qemu-devel@nongnu.org; Mon, 30 Nov 2015 11:23:04 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:20277 helo=relay.sw.ru) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3REC-0007Nn-W5 for qemu-devel@nongnu.org; Mon, 30 Nov 2015 11:23:01 -0500 From: Andrey Smetanin Date: Mon, 30 Nov 2015 19:22:13 +0300 Message-Id: <1448900541-19939-2-git-send-email-asmetanin@virtuozzo.com> In-Reply-To: <1448900541-19939-1-git-send-email-asmetanin@virtuozzo.com> References: <1448900541-19939-1-git-send-email-asmetanin@virtuozzo.com> Subject: [Qemu-devel] [PATCH v2 1/9] drivers/hv: replace enum hv_message_type by u32 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kvm@vger.kernel.org Cc: Gleb Natapov , Haiyang Zhang , qemu-devel@nongnu.org, Roman Kagan , "Denis V. Lunev" , Paolo Bonzini , Vitaly Kuznetsov , "K. Y. Srinivasan" enum hv_message_type inside struct hv_message, hv_post_message is not size portable. Replace enum by u32. Signed-off-by: Andrey Smetanin CC: Gleb Natapov CC: Paolo Bonzini CC: "K. Y. Srinivasan" CC: Haiyang Zhang CC: Vitaly Kuznetsov CC: Roman Kagan CC: Denis V. Lunev CC: qemu-devel@nongnu.org --- drivers/hv/hv.c | 4 ++-- drivers/hv/hyperv_vmbus.h | 48 +++++++++++++++++++++++------------------------ 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c index 6341be8..dde7e1c 100644 --- a/drivers/hv/hv.c +++ b/drivers/hv/hv.c @@ -310,8 +310,8 @@ void hv_cleanup(void) * This involves a hypercall. */ int hv_post_message(union hv_connection_id connection_id, - enum hv_message_type message_type, - void *payload, size_t payload_size) + u32 message_type, + void *payload, size_t payload_size) { struct hv_input_post_message *aligned_msg; diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h index 3782636..e46e18c 100644 --- a/drivers/hv/hyperv_vmbus.h +++ b/drivers/hv/hyperv_vmbus.h @@ -75,32 +75,30 @@ enum hv_cpuid_function { #define HV_EVENT_FLAGS_DWORD_COUNT (256 / sizeof(u32)) /* Define hypervisor message types. */ -enum hv_message_type { - HVMSG_NONE = 0x00000000, +#define HVMSG_NONE 0x00000000 - /* Memory access messages. */ - HVMSG_UNMAPPED_GPA = 0x80000000, - HVMSG_GPA_INTERCEPT = 0x80000001, +/* Memory access messages. */ +#define HVMSG_UNMAPPED_GPA 0x80000000 +#define HVMSG_GPA_INTERCEPT 0x80000001 - /* Timer notification messages. */ - HVMSG_TIMER_EXPIRED = 0x80000010, +/* Timer notification messages. */ +#define HVMSG_TIMER_EXPIRED 0x80000010 - /* Error messages. */ - HVMSG_INVALID_VP_REGISTER_VALUE = 0x80000020, - HVMSG_UNRECOVERABLE_EXCEPTION = 0x80000021, - HVMSG_UNSUPPORTED_FEATURE = 0x80000022, +/* Error messages. */ +#define HVMSG_INVALID_VP_REGISTER_VALUE 0x80000020 +#define HVMSG_UNRECOVERABLE_EXCEPTION 0x80000021 +#define HVMSG_UNSUPPORTED_FEATURE 0x80000022 - /* Trace buffer complete messages. */ - HVMSG_EVENTLOG_BUFFERCOMPLETE = 0x80000040, +/* Trace buffer complete messages. */ +#define HVMSG_EVENTLOG_BUFFERCOMPLETE 0x80000040 - /* Platform-specific processor intercept messages. */ - HVMSG_X64_IOPORT_INTERCEPT = 0x80010000, - HVMSG_X64_MSR_INTERCEPT = 0x80010001, - HVMSG_X64_CPUID_INTERCEPT = 0x80010002, - HVMSG_X64_EXCEPTION_INTERCEPT = 0x80010003, - HVMSG_X64_APIC_EOI = 0x80010004, - HVMSG_X64_LEGACY_FP_ERROR = 0x80010005 -}; +/* Platform-specific processor intercept messages. */ +#define HVMSG_X64_IOPORT_INTERCEPT 0x80010000 +#define HVMSG_X64_MSR_INTERCEPT 0x80010001 +#define HVMSG_X64_CPUID_INTERCEPT 0x80010002 +#define HVMSG_X64_EXCEPTION_INTERCEPT 0x80010003 +#define HVMSG_X64_APIC_EOI 0x80010004 +#define HVMSG_X64_LEGACY_FP_ERROR 0x80010005 #define HV_SYNIC_STIMER_COUNT (4) @@ -174,7 +172,7 @@ union hv_message_flags { /* Define synthetic interrupt controller message header. */ struct hv_message_header { - enum hv_message_type message_type; + u32 message_type; u8 payload_size; union hv_message_flags message_flags; u8 reserved[2]; @@ -347,7 +345,7 @@ enum hv_call_code { struct hv_input_post_message { union hv_connection_id connectionid; u32 reserved; - enum hv_message_type message_type; + u32 message_type; u32 payload_size; u64 payload[HV_MESSAGE_PAYLOAD_QWORD_COUNT]; }; @@ -579,8 +577,8 @@ extern int hv_init(void); extern void hv_cleanup(void); extern int hv_post_message(union hv_connection_id connection_id, - enum hv_message_type message_type, - void *payload, size_t payload_size); + u32 message_type, + void *payload, size_t payload_size); extern u16 hv_signal_event(void *con_id); -- 2.4.3