From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <stephen@networkplumber.org>
Received: from mail-pd0-f171.google.com (mail-pd0-f171.google.com
 [209.85.192.171]) by dpdk.org (Postfix) with ESMTP id 16E00B3FC
 for <dev@dpdk.org>; Thu,  5 Feb 2015 02:13:43 +0100 (CET)
Received: by pdjy10 with SMTP id y10so4215540pdj.9
 for <dev@dpdk.org>; Wed, 04 Feb 2015 17:13:42 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references;
 bh=4siwOcCEhPC7BY/QPlcpPDiymWpks7MmlHkzyCIXowM=;
 b=jBiSIh8+qWjdBECohD/3qvyCauTLYZP5/DslHE4KyFJxu83hjL20mP4xnzYZTs/6Dq
 t4vF0f2ndnmStNm1SR2FOReDtd4muOjAyYSzyryy79ZcnPb44bU0fonuwuyIZdHWYR76
 l9yvhrrB3pHKvDE5DPjijEAOQcgM2Yl3ErKkHgahsZRcF086Uy1utn93bpR8rHx0qqUc
 dwacIhaatyHRFKQ0TE0AKWfkIGPNZcCeqn8BnJZhzck4QeXLoUdBShzVMC9z+Y9uwJ1R
 Z+XbVbDFqsaOkSj81GKW5zjUDpBRl4xJNH+qperl7P7AkpmytutsA5kk0dB3jFKfRSoL
 Wc9g==
X-Gm-Message-State: ALoCoQniShCJ5brCsO64SNPbg2r+R3viL77DZcIWlkZYh6qQ9J4r+CSptcdlkgPie6PoQYKtHcGI
X-Received: by 10.68.218.196 with SMTP id pi4mr1659491pbc.124.1423098822450;
 Wed, 04 Feb 2015 17:13:42 -0800 (PST)
Received: from urahara.brocade.com
 (static-50-53-82-155.bvtn.or.frontiernet.net. [50.53.82.155])
 by mx.google.com with ESMTPSA id cz1sm3236673pdb.32.2015.02.04.17.13.41
 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Wed, 04 Feb 2015 17:13:41 -0800 (PST)
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Date: Wed,  4 Feb 2015 17:13:29 -0800
Message-Id: <1423098809-21305-8-git-send-email-stephen@networkplumber.org>
X-Mailer: git-send-email 2.1.4
In-Reply-To: <1423098809-21305-1-git-send-email-stephen@networkplumber.org>
References: <1423098809-21305-1-git-send-email-stephen@networkplumber.org>
Cc: KY Srinivasan <kys@microsoft.com>, Stephen Hemminger <shemming@brocade.com>
Subject: [dpdk-dev] [PATCH 7/7] hv: add kernel patch
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Feb 2015 01:13:43 -0000

From: Stephen Hemminger <shemming@brocade.com>

For users using non latest kernels, put kernel patch in for
them to use.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 .../linuxapp/hv_uio/vmbus-get-pages.patch          | 55 ++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 lib/librte_eal/linuxapp/hv_uio/vmbus-get-pages.patch

diff --git a/lib/librte_eal/linuxapp/hv_uio/vmbus-get-pages.patch b/lib/librte_eal/linuxapp/hv_uio/vmbus-get-pages.patch
new file mode 100644
index 0000000..43507a8
--- /dev/null
+++ b/lib/librte_eal/linuxapp/hv_uio/vmbus-get-pages.patch
@@ -0,0 +1,55 @@
+hyper-v: allow access to vmbus from userspace driver
+
+This is patch from  to allow access to hyper-v vmbus from UIO driver.
+
+Signed-off-by: Stas Egorov <segorov@mirantis.com>
+Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
+
+---
+v2 - simplify and rename to vmbus_get_monitor_pages
+
+ drivers/hv/connection.c |   20 +++++++++++++++++---
+ include/linux/hyperv.h  |    3 +++
+ 2 files changed, 20 insertions(+), 3 deletions(-)
+
+--- a/drivers/hv/connection.c	2015-02-03 10:58:51.751752450 -0800
++++ b/drivers/hv/connection.c	2015-02-04 14:59:51.636194383 -0800
+@@ -64,6 +64,15 @@ static __u32 vmbus_get_next_version(__u3
+ 	}
+ }
+ 
++void vmbus_get_monitor_pages(unsigned long *int_page,
++			     unsigned long monitor_pages[2])
++{
++	*int_page = (unsigned long)vmbus_connection.int_page;
++	monitor_pages[0] = (unsigned long)vmbus_connection.monitor_pages[0];
++	monitor_pages[1] = (unsigned long)vmbus_connection.monitor_pages[1];
++}
++EXPORT_SYMBOL_GPL(vmbus_get_monitor_pages);
++
+ static int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo,
+ 					__u32 version)
+ {
+@@ -347,10 +356,7 @@ static void process_chn_event(u32 relid)
+ 			else
+ 				bytes_to_read = 0;
+ 		} while (read_state && (bytes_to_read != 0));
+-	} else {
+-		pr_err("no channel callback for relid - %u\n", relid);
+ 	}
+-
+ }
+ 
+ /*
+--- a/include/linux/hyperv.h	2015-02-03 10:58:51.751752450 -0800
++++ b/include/linux/hyperv.h	2015-02-04 15:00:26.388355012 -0800
+@@ -868,6 +868,9 @@ extern int vmbus_recvpacket_raw(struct v
+ 
+ extern void vmbus_ontimer(unsigned long data);
+ 
++extern void vmbus_get_monitor_pages(unsigned long *int_page,
++				    unsigned long monitor_pages[2]);
++
+ /* Base driver object */
+ struct hv_driver {
+ 	const char *name;
-- 
2.1.4