From patchwork Thu Feb 5 01:13:29 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 2993 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 07FA2B42B; Thu, 5 Feb 2015 02:13:46 +0100 (CET) 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 ; Thu, 5 Feb 2015 02:13:43 +0100 (CET) Received: by pdjy10 with SMTP id y10so4215540pdj.9 for ; 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 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 , Stephen Hemminger 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Stephen Hemminger For users using non latest kernels, put kernel patch in for them to use. Signed-off-by: Stephen Hemminger --- .../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 +Signed-off-by: Stephen Hemminger + +--- +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;