Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1502892

Re: [PATCH v2 3/3] doc: add documentation for uio-hv-generic

From Jani Nikula <jani.nikula@linux.intel.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2 3/3] doc: add documentation for uio-hv-generic
Date 2016-10-18 13:00 +0200
Message-ID <stAhH-w3-7@gated-at.bofh.it> (permalink)
References <stlVn-7Rn-13@gated-at.bofh.it> <stlVo-7Rn-47@gated-at.bofh.it>
Organization Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

Show all headers | View raw


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 &quot;f8615163-df3e-46c5-913f-f2d2f965ed0e&quot; &gt; /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 &gt; /sys/bus/vmbus/drivers/hv_netvsc/unbind
> +	  echo -n vmbus-ed963694-e847-4b2a-85af-bc9cfc11d6f3 &gt; /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 -&gt; ../../../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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 1/3] vmbus: add support for dynamic device id's Stephen Hemminger <stephen@networkplumber.org> - 2016-10-17 21:40 +0200
  [PATCH v2 3/3] doc: add documentation for uio-hv-generic Stephen Hemminger <stephen@networkplumber.org> - 2016-10-17 21:40 +0200
    Re: [PATCH v2 3/3] doc: add documentation for uio-hv-generic Jani Nikula <jani.nikula@linux.intel.com> - 2016-10-18 13:00 +0200
      Re: [PATCH v2 3/3] doc: add documentation for uio-hv-generic Markus Heiser <markus.heiser@darmarit.de> - 2016-10-18 13:10 +0200
        Re: [PATCH v2 3/3] doc: add documentation for uio-hv-generic Stephen Hemminger <stephen@networkplumber.org> - 2016-10-18 16:00 +0200
          Re: [PATCH v2 3/3] doc: add documentation for uio-hv-generic Markus Heiser <markus.heiser@darmarit.de> - 2016-10-18 16:10 +0200
    Re: [PATCH v2 3/3] doc: add documentation for uio-hv-generic Jonathan Corbet <corbet@lwn.net> - 2016-10-21 23:20 +0200

csiph-web