Add John-Mark Gurney <jmg@funkthat.com>'s report on PCIe hot-plug.

This commit is contained in:
Warren Block 2015-07-14 06:07:14 +00:00
parent a47d844260
commit 021d93160c
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=46962

View file

@ -654,4 +654,131 @@
The &os; Foundation
</sponsor>
</project>
<project cat='misc'>
<title>BSDCan 2015</title>
<contact>
<person>
<name>
<given>Dan</given>
<common>Langille</common>
</name>
<email>dvl@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.bsdcan.org/2015/" />
<url href="https://www.youtube.com/playlist?list=PLWW0CjV-TafY0NqFDvD4k31CtnX-CGn8f" />
</links>
<body>
<p>BSDCan, a conference for people working on and with
4.4BSD-based operating systems and related projects, was held
in Ottawa, Ontario on June 12 and 13. A two-day &os;
developer summit event preceded it on June 10 and 11.</p>
<p>This was the largest BSDCan ever, with over 280 attendees, up
by more than 40 people over the 2014 event. There were a
record number of speakers and talks. An additional room and
"track" was added to provide even more choices for concurrent
talks on both days of the conference. Social media response
to the whole conference has been very positive.</p>
<p>The keynote talk by Stephen Bourne was very popular. So
popular, in fact, that the main conference room could not hold
all the attendees. An overflow room with live video was set
up to hold the extra people. The
<a href="https://www.youtube.com/watch?v=2kEJoWfobpA">video</a>
of the presentation has had over 6300 views in the first
twelve days.</p>
<p>Andrew Tanenbaum's talk on
<a href="https://www.youtube.com/watch?v=0pebP891V0c">reimplementing NetBSD using a MicroKernel</a>
was so well-attended it was standing room only.</p>
<p>There were many other excellent talks, and we recommend
browsing through the playlist in the links above.</p>
<p>Activity was not limited to the talks. Each night, the
"Hacker Lounge" was used by developers to cooperate and
interact on projects. Embedded projects were popular this
year, as FreeBSD was installed directly on wireless
routers.</p>
<p>The very successful and well-attended closing event, held
at the Lowerton Brewery, provided an elegant closure to the
whole conference.</p>
<p>We would like to thank everyone who made BSDCan 2015 such a
success, and look forward to next year!</p>
</body>
</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 P4 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 a
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 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. The 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 functional.</p>
<p>A set of the patches is now available on github.com.</p>
</body>
<sponsor>
The FreeBSD Foundation
</sponsor>
<help>
<task>
<p>Get suspend/resume functional by save/restoring necessary
registers. This should be addressed by r281874.</p>
</task>
<task>
<p>Make sure that upon suspend, devices are removed so we
are not fooled if they are replaced 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>