> -----Original Message----- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Wednesday, March 25, 2015 11:11 AM > To: simonxiaolinux at hotmail.com; Alexander Malysh; KY Srinivasan > Cc: dev at dpdk.org; Stephen Hemminger > Subject: [PATCH v2 7/7] hv: add kernel patch > > From: Stephen Hemminger <stephen at networkplumber.org> > > For users using non latest kernels, put kernel patch in for > them to use. > > Signed-off-by: Stephen Hemminger <stephen at networkplumber.org> > --- > .../linuxapp/hv_uio/vmbus-get-pages.patch | 53 > ++++++++++++++++++++++ > 1 file changed, 53 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..e1a4b13 > --- /dev/null > +++ b/lib/librte_eal/linuxapp/hv_uio/vmbus-get-pages.patch > @@ -0,0 +1,53 @@ > +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 at mirantis.com> > +Signed-off-by: Stephen Hemminger <stephen at 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 > ++++ b/drivers/hv/connection.c > +@@ -64,6 +64,15 @@ > + } > + } > + > ++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) > + { > +@@ -327,8 +336,6 @@ > + else > + bytes_to_read = 0; > + } while (read_state && (bytes_to_read != 0)); > +- } else { > +- pr_err("no channel callback for relid - %u\n", relid); > + } > + > + spin_unlock_irqrestore(&channel->inbound_lock, flags); > +--- a/include/linux/hyperv.h > ++++ b/include/linux/hyperv.h > +@@ -1162,6 +1162,9 @@ > + > + 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;
Are you basing this on the current Greg's tree. K. Y > -- > 2.1.4