summaryrefslogtreecommitdiff
path: root/static/netbsd/man4/pciback.4 3.html
blob: 0b713667258232eaf89838fdece161c6d8d1d692 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<table class="head">
  <tr>
    <td class="head-ltitle">PCIBACK(4)</td>
    <td class="head-vol">Device Drivers Manual (xen)</td>
    <td class="head-rtitle">PCIBACK(4)</td>
  </tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">pciback</code> &#x2014; <span class="Nd">Xen
    backend paravirtualized PCI pass-through driver</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="Cd">pciback* at pci?</code></p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">pciback</code> driver is the backend part of
    the PCI pass-through functionality that can be used by the Xen dom0 to
    export <a class="Xr">pci(4)</a> devices to a guest domain. To export a PCI
    device to a guest domain, the device has to be attached to
    <code class="Nm">pciback</code> in the dom0.</p>
<p class="Pp">When the guest domain is <span class="Ux">NetBSD</span>, the
    device attached to the <code class="Nm">pciback</code> driver will attach to
    a <a class="Xr">xpci(4)</a> bus inside the guest domain.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
<p class="Pp">To attach a device to the <code class="Nm">pciback</code> driver,
    follow these steps:</p>
<ol class="Bl-enum Bd-indent Bl-compact">
  <li>look for the device PCI ID, via <a class="Xr">pcictl(8)</a>.</li>
  <li>edit <a class="Xr">boot.cfg(5)</a> and add the PCI ID to the list of PCI
      IDs that you want to attach to <code class="Nm">pciback</code>, in
      bus:device.function notation. The list is passed to dom0 module via the
      <code class="Ic">pciback.hide</code> parameter:
    <div class="Bd
      Bd-indent"><code class="Li">pciback.hide=(bus:dev.fun)(bus:dev.func)(...)</code></div>
    See also <a class="Xr">boot(8)</a>.</li>
  <li>reboot dom0.</li>
  <li>add the PCI ID to the list of PCI devices in the domain configuration
      file:
    <div class="Bd Bd-indent"><code class="Li">pci = ['bus:dev.fun',
      '...']</code></div>
  </li>
  <li>start the guest domain.</li>
</ol>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<p class="Pp"><a class="Xr">pci(4)</a>, <a class="Xr">xpci(4)</a>,
    <a class="Xr">boot(8)</a>, <a class="Xr">pcictl(8)</a></p>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<p class="Pp">The <code class="Nm">pciback</code> driver first appeared in
    <span class="Ux">NetBSD 5.1</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">The <code class="Nm">pciback</code> driver was written by
    <span class="An">Manuel Bouyer</span>
    &lt;<a class="Mt" href="mailto:bouyer@NetBSD.org">bouyer@NetBSD.org</a>&gt;.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1>
<p class="Pp">Currently, to attach a device to the
    <code class="Nm">pciback</code> backend, this procedure has to be performed
    at <a class="Xr">boot(8)</a> time. In the future, it will be possible to do
    it without requiring a dom0 reboot.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="SECURITY_CONSIDERATIONS"><a class="permalink" href="#SECURITY_CONSIDERATIONS">SECURITY
  CONSIDERATIONS</a></h1>
<p class="Pp">As PCI passthrough offers the possibility for guest domains to
    send arbitrary PCI commands to a physical device, this has direct impact on
    the overall stability and security of the system. For example, in case of
    erroneous or malicious commands, the device could overwrite physical memory
    portions, via DMA.</p>
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">January 8, 2011</td>
    <td class="foot-os">NetBSD 10.1</td>
  </tr>
</table>