Add PCIe Hot-Plug report from jmg
This commit is contained in:
parent
8933cce619
commit
1e216065b4
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=47620
1 changed files with 69 additions and 0 deletions
|
|
@ -3117,4 +3117,73 @@
|
|||
</help>
|
||||
</project>
|
||||
|
||||
<project cat='kern'>
|
||||
<title>Adding PCIe Hot-plug Support</title>
|
||||
|
||||
<contact>
|
||||
<person>
|
||||
<name>
|
||||
<given>John-Mark</given>
|
||||
<common>Gurney</common>
|
||||
</name>
|
||||
<email>jmg@FreeBSD.org</email>
|
||||
</person>
|
||||
</contact>
|
||||
|
||||
<links>
|
||||
<url href="http://p4db.FreeBSD.org/depotTreeBrowser.cgi?FSPC=//depot/projects/pciehotplug">PCIe
|
||||
Hot-plug Perforce Branch</url>
|
||||
<url href="https://svnweb.FreeBSD.org/changeset/base/r281874">Commit
|
||||
adding bridge save/restore.</url>
|
||||
<url href="https://github.com/FreeBSDFoundation/freebsd/tree/pciehp">Github
|
||||
branch with patches</url>
|
||||
</links>
|
||||
|
||||
<body>
|
||||
<p>PCI Express (PCIe) hot-plug is used on both laptops and
|
||||
servers to allow peripheral devices to be added or removed while
|
||||
the system is running. Laptops commonly include hot-pluggable
|
||||
PCIe as either an ExpressCard slot or Thunderbolt interface.
|
||||
ExpressCard has built-in USB support that is already supported by
|
||||
&os;, but ExpressCard PCIe devices like Gigabit Ethernet adapters
|
||||
and eSATA cards are only supported when they are present at boot,
|
||||
and their removal may cause &os; to crash.</p>
|
||||
|
||||
<p>The goal of this project is to allow these devices to be
|
||||
inserted and removed while &os; is running. This work will provide
|
||||
the basic infrastructure to support adding and removing devices,
|
||||
though it is expected that additional work will be needed to
|
||||
update individual drivers to support hot-plug.</p>
|
||||
|
||||
<p>Current testing is focused on getting a simple UART device
|
||||
functional. Basic hot swap is currently functional.</p>
|
||||
|
||||
<p>A set of the patches for the work done in this project is
|
||||
now available on github.com.
|
||||
</p>
|
||||
</body>
|
||||
|
||||
<sponsor>
|
||||
The FreeBSD Foundation
|
||||
</sponsor>
|
||||
|
||||
<help>
|
||||
<task>
|
||||
<p>Get suspend/resume functional by save/restoring the necessary
|
||||
registers. This should be addressed by r281874.</p>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<p>Make sure that upon suspend, devices are removed so that we
|
||||
are not fooled if they are replaced with different devices while
|
||||
the machine is suspended.</p>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<p>Improve how state transitions are handled, possibly by
|
||||
using a proper state machine.</p>
|
||||
</task>
|
||||
</help>
|
||||
</project>
|
||||
|
||||
</report>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue