From: Jani Nikula <jani.nikula@linux.intel.com>
To: Stephen Hemminger <stephen@networkplumber.org>,
Greg KH <greg@kroah.com>, KY Srinivasan <kys@microsoft.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
corbet@lwn.net
Cc: devel@linuxdriverproject.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org
Subject: Re: [PATCH v2 3/3] doc: add documentation for uio-hv-generic
Date: Tue, 18 Oct 2016 13:54:16 +0300 [thread overview]
Message-ID: <87mvi2vsfb.fsf@intel.com> (raw)
In-Reply-To: <20161017123319.1e1fd706@xeon-e3>
On Mon, 17 Oct 2016, Stephen Hemminger <stephen@networkplumber.org> wrote:
> From: Stephen Hemminger <sthemmin@microsoft.com>
>
> Update UIO documentation to include basic information about
> uio_hv_generic.
How about converting to Sphinx/reStructuredText first...? It's not a big
file...
BR,
Jani.
>
> Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
> ---
> Documentation/DocBook/uio-howto.tmpl | 62 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 62 insertions(+)
>
> diff --git a/Documentation/DocBook/uio-howto.tmpl b/Documentation/DocBook/uio-howto.tmpl
> index cd0e452..5210f8a 100644
> --- a/Documentation/DocBook/uio-howto.tmpl
> +++ b/Documentation/DocBook/uio-howto.tmpl
> @@ -46,6 +46,13 @@ GPL version 2.
>
> <revhistory>
> <revision>
> + <revnumber>0.10</revnumber>
> + <date>2016-10-17</date>
> + <authorinitials>sch</authorinitials>
> + <revremark>Added generic hyperv driver
> + </revremark>
> + </revision>
> + <revision>
> <revnumber>0.9</revnumber>
> <date>2009-07-16</date>
> <authorinitials>mst</authorinitials>
> @@ -1033,6 +1040,61 @@ int main()
>
> </chapter>
>
> +<chapter id="uio_hv_generic" xreflabel="Using Generic driver for Hyper-V VMBUS">
> +<?dbhtml filename="uio_hv_generic.html"?>
> +<title>Generic Hyper-V UIO driver</title>
> + <para>
> + The generic driver is a kernel module named uio_hv_generic.
> + It supports devices on the Hyper-V VMBus similar to uio_pci_generic
> + on PCI bus.
> + </para>
> +
> +<sect1 id="uio_hv_generic_binding">
> +<title>Making the driver recognize the device</title>
> + <para>
> +Since the driver does not declare any device GUID's, it will not get loaded
> +automatically and will not automatically bind to any devices, you must load it
> +and allocate id to the driver yourself. For example, to use the network device
> +GUID:
> + <programlisting>
> + modprobe uio_hv_generic
> + echo "f8615163-df3e-46c5-913f-f2d2f965ed0e" > /sys/bus/vmbus/drivers/uio_hv_generic/new_id
> + </programlisting>
> + </para>
> + <para>
> +If there already is a hardware specific kernel driver for the device, the
> +generic driver still won't bind to it, in this case if you want to use the
> +generic driver (why would you?) you'll have to manually unbind the hardware
> +specific driver and bind the generic driver, like this:
> + <programlisting>
> + echo -n vmbus-ed963694-e847-4b2a-85af-bc9cfc11d6f3 > /sys/bus/vmbus/drivers/hv_netvsc/unbind
> + echo -n vmbus-ed963694-e847-4b2a-85af-bc9cfc11d6f3 > /sys/bus/vmbus/drivers/uio_hv_generic/bind
> + </programlisting>
> + </para>
> + <para>
> +You can verify that the device has been bound to the driver
> +by looking for it in sysfs, for example like the following:
> + <programlisting>
> + ls -l /sys/bus/vmbus/devices/vmbus-ed963694-e847-4b2a-85af-bc9cfc11d6f3/driver
> + </programlisting>
> +Which if successful should print
> + <programlisting>
> + .../vmbus-ed963694-e847-4b2a-85af-bc9cfc11d6f3/driver -> ../../../bus/vmbus/drivers/uio_hv_generic
> + </programlisting>
> + </para>
> +</sect1>
> +
> +<sect1 id="uio_hv_generic_internals">
> +<title>Things to know about uio_hv_generic</title>
> + <para>
> +On each interrupt, uio_hv_generic sets the Interrupt Disable bit.
> +This prevents the device from generating further interrupts
> +until the bit is cleared. The userspace driver should clear this
> +bit before blocking and waiting for more interrupts.
> + </para>
> +</sect1>
> +</chapter>
> +
> <appendix id="app1">
> <title>Further information</title>
> <itemizedlist>
--
Jani Nikula, Intel Open Source Technology Center
next prev parent reply other threads:[~2016-10-18 10:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-17 19:29 [PATCH v2 1/3] vmbus: add support for dynamic device id's Stephen Hemminger
2016-10-17 19:31 ` [PATCH v2 2/3] uio-hv-generic: new userspace i/o driver for VMBus Stephen Hemminger
2016-10-17 19:33 ` [PATCH v2 3/3] doc: add documentation for uio-hv-generic Stephen Hemminger
2016-10-18 10:54 ` Jani Nikula [this message]
2016-10-18 11:01 ` Markus Heiser
2016-10-18 13:59 ` Stephen Hemminger
2016-10-18 14:04 ` Markus Heiser
2016-10-21 21:10 ` Jonathan Corbet
2016-11-10 15:59 ` [PATCH v2 1/3] vmbus: add support for dynamic device id's Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mvi2vsfb.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=corbet@lwn.net \
--cc=devel@linuxdriverproject.org \
--cc=greg@kroah.com \
--cc=haiyangz@microsoft.com \
--cc=kys@microsoft.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).