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> — <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>
<<a class="Mt" href="mailto:bouyer@NetBSD.org">bouyer@NetBSD.org</a>>.</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>
|