<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/lib/libvmmapi, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-11-24T23:18:52Z</updated>
<entry>
<title>Honor the disabled setting for MSI-X interrupts for passthrough devices.</title>
<updated>2020-11-24T23:18:52Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2020-11-24T23:18:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1925586e03bed086b78fda5d8d758912aea7ecc7'/>
<id>urn:sha1:1925586e03bed086b78fda5d8d758912aea7ecc7</id>
<content type='text'>
Add a new ioctl to disable all MSI-X interrupts for a PCI passthrough
device and invoke it if a write to the MSI-X capability registers
disables MSI-X.  This avoids leaving MSI-X interrupts enabled on the
host if a guest device driver has disabled them (e.g. as part of
detaching a guest device driver).

This was found by Chelsio QA when testing that a Linux guest could
switch from MSI-X to MSI interrupts when using the cxgb4vf driver.

While here, explicitly fail requests to enable MSI on a passthrough
device if MSI-X is enabled and vice versa.

Reported by:	Sony Arpita Das @ Chelsio
Reviewed by:	grehan, markj
MFC after:	2 weeks
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D27212
</content>
</entry>
<entry>
<title>vmm(4), bhyve(8): Expose kernel-emulated special devices to userspace</title>
<updated>2020-05-15T15:54:22Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2020-05-15T15:54:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=8a68ae80f67adcb35e6f9712384a3da6dca26de2'/>
<id>urn:sha1:8a68ae80f67adcb35e6f9712384a3da6dca26de2</id>
<content type='text'>
Expose the special kernel LAPIC, IOAPIC, and HPET devices to userspace
for use in, e.g., fallback instruction emulation (when userspace has a
newer instruction decode/emulation layer than the kernel vmm(4)).

Plumb the ioctl through libvmmapi and register the memory ranges in
bhyve(8).

Reviewed by:	grehan
Differential Revision:	https://reviews.freebsd.org/D24525
</content>
</entry>
<entry>
<title>Initial support for bhyve save and restore.</title>
<updated>2020-05-05T00:02:04Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2020-05-05T00:02:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=483d953a86a2507355f8287c5107dc827a0ff516'/>
<id>urn:sha1:483d953a86a2507355f8287c5107dc827a0ff516</id>
<content type='text'>
Save and restore (also known as suspend and resume) permits a snapshot
to be taken of a guest's state that can later be resumed.  In the
current implementation, bhyve(8) creates a UNIX domain socket that is
used by bhyvectl(8) to send a request to save a snapshot (and
optionally exit after the snapshot has been taken).  A snapshot
currently consists of two files: the first holds a copy of guest RAM,
and the second file holds other guest state such as vCPU register
values and device model state.

To resume a guest, bhyve(8) must be started with a matching pair of
command line arguments to instantiate the same set of device models as
well as a pointer to the saved snapshot.

While the current implementation is useful for several uses cases, it
has a few limitations.  The file format for saving the guest state is
tied to the ABI of internal bhyve structures and is not
self-describing (in that it does not communicate the set of device
models present in the system).  In addition, the state saved for some
device models closely matches the internal data structures which might
prove a challenge for compatibility of snapshot files across a range
of bhyve versions.  The file format also does not currently support
versioning of individual chunks of state.  As a result, the current
file format is not a fixed binary format and future revisions to save
and restore will break binary compatiblity of snapshot files.  The
goal is to move to a more flexible format that adds versioning,
etc. and at that point to commit to providing a reasonable level of
compatibility.  As a result, the current implementation is not enabled
by default.  It can be enabled via the WITH_BHYVE_SNAPSHOT=yes option
for userland builds, and the kernel option BHYVE_SHAPSHOT.

Submitted by:	Mihai Tiganus, Flavius Anton, Darius Mihai
Submitted by:	Elena Mihailescu, Mihai Carabas, Sergiu Weisz
Relnotes:	yes
Sponsored by:	University Politehnica of Bucharest
Sponsored by:	Matthew Grooms (student scholarships)
Sponsored by:	iXsystems
Differential Revision:	https://reviews.freebsd.org/D19495
</content>
</entry>
<entry>
<title>Map negative types passed to vm_capability_type2name to NULL.</title>
<updated>2020-04-21T21:48:35Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2020-04-21T21:48:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=24c2e17d2b5ac2c4450732e0f14f5de84025b981'/>
<id>urn:sha1:24c2e17d2b5ac2c4450732e0f14f5de84025b981</id>
<content type='text'>
Submitted by:	vangyzen
</content>
</entry>
<entry>
<title>Add description string for VM_CAP_BPT_EXIT.</title>
<updated>2020-04-21T17:30:56Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2020-04-21T17:30:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=d000623a21fa57731f405a985ebb846c26d1c39f'/>
<id>urn:sha1:d000623a21fa57731f405a985ebb846c26d1c39f</id>
<content type='text'>
While here, replace the array of mapping structures with an array of
string pointers where the index is the capability value.

Submitted by:	Rob Fairbanks &lt;rob.fx907@gmail.com&gt;
Reviewed by:	rgrimes
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D24289
</content>
</entry>
<entry>
<title>Forgotten to remove the previous if statement in commit r355838.</title>
<updated>2019-12-17T01:37:02Z</updated>
<author>
<name>Marcelo Araujo</name>
<email>araujo@FreeBSD.org</email>
</author>
<published>2019-12-17T01:37:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=af1e30f8bebcb633176fb3f251010a9e4ba57235'/>
<id>urn:sha1:af1e30f8bebcb633176fb3f251010a9e4ba57235</id>
<content type='text'>
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D19400
</content>
</entry>
<entry>
<title>Attempt to load vmm(4) module before creating a guest using vm_create()</title>
<updated>2019-12-17T01:33:26Z</updated>
<author>
<name>Marcelo Araujo</name>
<email>araujo@FreeBSD.org</email>
</author>
<published>2019-12-17T01:33:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=a71dc724e4e5be75f8d56f225a6f3c2062fa2307'/>
<id>urn:sha1:a71dc724e4e5be75f8d56f225a6f3c2062fa2307</id>
<content type='text'>
wrapper in libvmmapi.

Submitted by:	Rob Fairbanks &lt;rob.fx907_gmail.com&gt;
Reviewed by:	jhb
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D19400
</content>
</entry>
<entry>
<title>Update Makefile.depend files</title>
<updated>2019-12-11T17:37:53Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2019-12-11T17:37:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=2c9a9dfc187d171de6b92654d71b977f067ed641'/>
<id>urn:sha1:2c9a9dfc187d171de6b92654d71b977f067ed641</id>
<content type='text'>
Update a bunch of Makefile.depend files as
a result of adding Makefile.depend.options files

Reviewed by:	 bdrewery
MFC after:	1 week
Sponsored by:   Juniper Networks
Differential Revision:  https://reviews.freebsd.org/D22494
</content>
</entry>
<entry>
<title>bhyve: Use MAP_GUARD when mapping guest memory ranges.</title>
<updated>2018-09-06T20:29:40Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2018-09-06T20:29:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=6a9648b5377839c1b03f13503c7064298cc7e36e'/>
<id>urn:sha1:6a9648b5377839c1b03f13503c7064298cc7e36e</id>
<content type='text'>
Instead of relying on PROT_NONE mappings with MAP_ANON, use MAP_GUARD
to reserve address space around guest memory ranges including the
guard ranges of address space around mappings.

Submitted by:	Shawn Webb
Reviewed by:	araujo
Approved by:	re (rgrimes)
MFC after:	1 month
Sponsored by:	HardendBSD and G2, Inc
Differential Revision:	https://reviews.freebsd.org/D16822
</content>
</entry>
<entry>
<title>Fix style(9) space vs tab.</title>
<updated>2018-06-14T01:28:55Z</updated>
<author>
<name>Marcelo Araujo</name>
<email>araujo@FreeBSD.org</email>
</author>
<published>2018-06-14T01:28:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=23fe789d78f6f9ab3be63cb1843ac61203a943c6'/>
<id>urn:sha1:23fe789d78f6f9ab3be63cb1843ac61203a943c6</id>
<content type='text'>
Reviewed by:	jhb
MFC after:	3 weeks.
Sponsored by:	iXsystems Inc.
Differential Revision:	https://reviews.freebsd.org/D15774
</content>
</entry>
</feed>
