Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jul 2016 05:16:23 +0000 (UTC)
From:      Sepherosa Ziehau <sephe@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r303067 - in head/sys/dev/hyperv: include utilities
Message-ID:  <201607200516.u6K5GNSU047687@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sephe
Date: Wed Jul 20 05:16:23 2016
New Revision: 303067
URL: https://svnweb.freebsd.org/changeset/base/303067

Log:
  hyperv/vmbus: Move IC register definition to Hyper-V utilities
  
  MFC after:	1 week
  Sponsored by:	Microsoft OSTC
  Differential Revision:	https://reviews.freebsd.org/D7241

Added:
  head/sys/dev/hyperv/utilities/hv_utilreg.h   (contents, props changed)
Modified:
  head/sys/dev/hyperv/include/hyperv.h
  head/sys/dev/hyperv/utilities/hv_heartbeat.c
  head/sys/dev/hyperv/utilities/hv_kvp.c
  head/sys/dev/hyperv/utilities/hv_shutdown.c
  head/sys/dev/hyperv/utilities/hv_timesync.c
  head/sys/dev/hyperv/utilities/hv_util.c

Modified: head/sys/dev/hyperv/include/hyperv.h
==============================================================================
--- head/sys/dev/hyperv/include/hyperv.h	Wed Jul 20 05:03:04 2016	(r303066)
+++ head/sys/dev/hyperv/include/hyperv.h	Wed Jul 20 05:16:23 2016	(r303067)
@@ -58,11 +58,6 @@
 #include <amd64/include/atomic.h>
 #include <dev/hyperv/include/hyperv_busdma.h>
 
-#define HV_S_OK			0x00000000
-#define HV_E_FAIL		0x80004005
-#define HV_ERROR_NOT_SUPPORTED	0x80070032
-#define HV_ERROR_MACHINE_LOCKED	0x800704F7
-
 /*
  * VMBUS version is 32 bit, upper 16 bit for major_number and lower
  * 16 bit for minor_number.
@@ -88,60 +83,6 @@ struct hyperv_guid {
 
 int	hyperv_guid2str(const struct hyperv_guid *, char *, size_t);
 
-/*
- * Common defines for Hyper-V ICs
- */
-#define HV_ICMSGTYPE_NEGOTIATE		0
-#define HV_ICMSGTYPE_HEARTBEAT		1
-#define HV_ICMSGTYPE_KVPEXCHANGE	2
-#define HV_ICMSGTYPE_SHUTDOWN		3
-#define HV_ICMSGTYPE_TIMESYNC		4
-#define HV_ICMSGTYPE_VSS		5
-
-#define HV_ICMSGHDRFLAG_TRANSACTION	1
-#define HV_ICMSGHDRFLAG_REQUEST		2
-#define HV_ICMSGHDRFLAG_RESPONSE	4
-
-typedef struct hv_vmbus_pipe_hdr {
-	uint32_t flags;
-	uint32_t msgsize;
-} __packed hv_vmbus_pipe_hdr;
-
-typedef struct hv_vmbus_ic_version {
-	uint16_t major;
-	uint16_t minor;
-} __packed hv_vmbus_ic_version;
-
-typedef struct hv_vmbus_icmsg_hdr {
-	hv_vmbus_ic_version	icverframe;
-	uint16_t		icmsgtype;
-	hv_vmbus_ic_version	icvermsg;
-	uint16_t		icmsgsize;
-	uint32_t		status;
-	uint8_t			ictransaction_id;
-	uint8_t			icflags;
-	uint8_t			reserved[2];
-} __packed hv_vmbus_icmsg_hdr;
-
-typedef struct hv_vmbus_icmsg_negotiate {
-	uint16_t		icframe_vercnt;
-	uint16_t		icmsg_vercnt;
-	uint32_t		reserved;
-	hv_vmbus_ic_version	icversion_data[1]; /* any size array */
-} __packed hv_vmbus_icmsg_negotiate;
-
-typedef struct hv_vmbus_shutdown_msg_data {
-	uint32_t		reason_code;
-	uint32_t		timeout_seconds;
-	uint32_t 		flags;
-	uint8_t			display_message[2048];
-} __packed hv_vmbus_shutdown_msg_data;
-
-typedef struct hv_vmbus_heartbeat_msg_data {
-	uint64_t 		seq_num;
-	uint32_t 		reserved[8];
-} __packed hv_vmbus_heartbeat_msg_data;
-
 typedef struct {
 	/*
 	 * offset in bytes from the start of ring data below

Modified: head/sys/dev/hyperv/utilities/hv_heartbeat.c
==============================================================================
--- head/sys/dev/hyperv/utilities/hv_heartbeat.c	Wed Jul 20 05:03:04 2016	(r303066)
+++ head/sys/dev/hyperv/utilities/hv_heartbeat.c	Wed Jul 20 05:16:23 2016	(r303067)
@@ -36,6 +36,7 @@
 
 #include <dev/hyperv/include/hyperv.h>
 #include <dev/hyperv/include/vmbus.h>
+#include <dev/hyperv/utilities/hv_utilreg.h>
 #include "hv_util.h"
 #include "vmbus_if.h"
 

Modified: head/sys/dev/hyperv/utilities/hv_kvp.c
==============================================================================
--- head/sys/dev/hyperv/utilities/hv_kvp.c	Wed Jul 20 05:03:04 2016	(r303066)
+++ head/sys/dev/hyperv/utilities/hv_kvp.c	Wed Jul 20 05:16:23 2016	(r303067)
@@ -65,6 +65,7 @@ __FBSDID("$FreeBSD$");
 
 #include <dev/hyperv/include/hyperv.h>
 #include <dev/hyperv/netvsc/hv_net_vsc.h>
+#include <dev/hyperv/utilities/hv_utilreg.h>
 
 #include "hv_util.h"
 #include "unicode.h"

Modified: head/sys/dev/hyperv/utilities/hv_shutdown.c
==============================================================================
--- head/sys/dev/hyperv/utilities/hv_shutdown.c	Wed Jul 20 05:03:04 2016	(r303066)
+++ head/sys/dev/hyperv/utilities/hv_shutdown.c	Wed Jul 20 05:16:23 2016	(r303067)
@@ -41,6 +41,7 @@
 
 #include <dev/hyperv/include/hyperv.h>
 #include <dev/hyperv/include/vmbus.h>
+#include <dev/hyperv/utilities/hv_utilreg.h>
 #include "hv_util.h"
 #include "vmbus_if.h"
 

Modified: head/sys/dev/hyperv/utilities/hv_timesync.c
==============================================================================
--- head/sys/dev/hyperv/utilities/hv_timesync.c	Wed Jul 20 05:03:04 2016	(r303066)
+++ head/sys/dev/hyperv/utilities/hv_timesync.c	Wed Jul 20 05:16:23 2016	(r303067)
@@ -41,6 +41,7 @@
 
 #include <dev/hyperv/include/hyperv.h>
 #include <dev/hyperv/include/vmbus.h>
+#include <dev/hyperv/utilities/hv_utilreg.h>
 #include "hv_util.h"
 #include "vmbus_if.h"
 

Modified: head/sys/dev/hyperv/utilities/hv_util.c
==============================================================================
--- head/sys/dev/hyperv/utilities/hv_util.c	Wed Jul 20 05:03:04 2016	(r303066)
+++ head/sys/dev/hyperv/utilities/hv_util.c	Wed Jul 20 05:16:23 2016	(r303067)
@@ -41,6 +41,7 @@
 
 #include <dev/hyperv/include/hyperv.h>
 #include <dev/hyperv/include/vmbus.h>
+#include <dev/hyperv/utilities/hv_utilreg.h>
 #include "hv_util.h"
 
 void

Added: head/sys/dev/hyperv/utilities/hv_utilreg.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/dev/hyperv/utilities/hv_utilreg.h	Wed Jul 20 05:16:23 2016	(r303067)
@@ -0,0 +1,91 @@
+/*-
+ * Copyright (c) 2016 Microsoft Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice unmodified, this list of conditions, and the following
+ *    disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _HV_UTILREG_H_
+#define _HV_UTILREG_H_
+
+#define HV_S_OK			0x00000000
+#define HV_E_FAIL		0x80004005
+#define HV_ERROR_NOT_SUPPORTED	0x80070032
+#define HV_ERROR_MACHINE_LOCKED	0x800704F7
+
+/*
+ * Common defines for Hyper-V ICs
+ */
+#define HV_ICMSGTYPE_NEGOTIATE		0
+#define HV_ICMSGTYPE_HEARTBEAT		1
+#define HV_ICMSGTYPE_KVPEXCHANGE	2
+#define HV_ICMSGTYPE_SHUTDOWN		3
+#define HV_ICMSGTYPE_TIMESYNC		4
+#define HV_ICMSGTYPE_VSS		5
+
+#define HV_ICMSGHDRFLAG_TRANSACTION	1
+#define HV_ICMSGHDRFLAG_REQUEST		2
+#define HV_ICMSGHDRFLAG_RESPONSE	4
+
+typedef struct hv_vmbus_pipe_hdr {
+	uint32_t flags;
+	uint32_t msgsize;
+} __packed hv_vmbus_pipe_hdr;
+
+typedef struct hv_vmbus_ic_version {
+	uint16_t major;
+	uint16_t minor;
+} __packed hv_vmbus_ic_version;
+
+typedef struct hv_vmbus_icmsg_hdr {
+	hv_vmbus_ic_version	icverframe;
+	uint16_t		icmsgtype;
+	hv_vmbus_ic_version	icvermsg;
+	uint16_t		icmsgsize;
+	uint32_t		status;
+	uint8_t			ictransaction_id;
+	uint8_t			icflags;
+	uint8_t			reserved[2];
+} __packed hv_vmbus_icmsg_hdr;
+
+typedef struct hv_vmbus_icmsg_negotiate {
+	uint16_t		icframe_vercnt;
+	uint16_t		icmsg_vercnt;
+	uint32_t		reserved;
+	hv_vmbus_ic_version	icversion_data[1]; /* any size array */
+} __packed hv_vmbus_icmsg_negotiate;
+
+typedef struct hv_vmbus_shutdown_msg_data {
+	uint32_t		reason_code;
+	uint32_t		timeout_seconds;
+	uint32_t 		flags;
+	uint8_t			display_message[2048];
+} __packed hv_vmbus_shutdown_msg_data;
+
+typedef struct hv_vmbus_heartbeat_msg_data {
+	uint64_t 		seq_num;
+	uint32_t 		reserved[8];
+} __packed hv_vmbus_heartbeat_msg_data;
+
+#endif	/* !_HV_UTILREG_H_ */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201607200516.u6K5GNSU047687>