<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/virtio, branch release/13.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>virtio_random(8): MFC: avoid deadlock at shutdown time (regression fix)</title>
<updated>2022-03-19T12:36:26+00:00</updated>
<author>
<name>Eugene Grosbein</name>
<email>eugen@FreeBSD.org</email>
</author>
<published>2022-03-16T04:41:51+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=fa67c45842bb5d34780a536b1bff1ac64f381562'/>
<id>fa67c45842bb5d34780a536b1bff1ac64f381562</id>
<content type='text'>
FreeBSD 13+ running as virtual guest may load virtio_random(8) driver
by means of devd(8) unless the driver is blacklisted or disabled
via device.hints(5). Currently, the driver may prevent
the system from rebooting or shutting down correctly.

This change deactivates virtio_random at very late stage
during system shutdown sequence to avoid deadlock
that results in kernel hang.

PR:		253175
Tested by:	tom
Relnotes:	yes
Approved by:	re (gjb)

(cherry picked from commit adbf7727b3a2aad3c2faa6e543ee7fa7a6c9a3d5)
(cherry picked from commit 4a11315a2c3fc55333772f48aaef32ae1eb11ceb)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FreeBSD 13+ running as virtual guest may load virtio_random(8) driver
by means of devd(8) unless the driver is blacklisted or disabled
via device.hints(5). Currently, the driver may prevent
the system from rebooting or shutting down correctly.

This change deactivates virtio_random at very late stage
during system shutdown sequence to avoid deadlock
that results in kernel hang.

PR:		253175
Tested by:	tom
Relnotes:	yes
Approved by:	re (gjb)

(cherry picked from commit adbf7727b3a2aad3c2faa6e543ee7fa7a6c9a3d5)
(cherry picked from commit 4a11315a2c3fc55333772f48aaef32ae1eb11ceb)
</pre>
</div>
</content>
</entry>
<entry>
<title>if_vtnet(4): Restore the ability to set promisc mode.</title>
<updated>2022-02-23T11:08:24+00:00</updated>
<author>
<name>Aleksandr Fedorov</name>
<email>afedorov@FreeBSD.org</email>
</author>
<published>2022-02-05T15:47:46+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=009a56b2e416cf32b28be405876ab38bd7544d98'/>
<id>009a56b2e416cf32b28be405876ab38bd7544d98</id>
<content type='text'>
PR:	254343, 255054
Reviewed by:	vmaffione (mentor), donner
Approved by:	vmaffione (mentor), donner
MFC after:	2 weeks
Sponsored by:	vstack.com
Differential Revision:	https://reviews.freebsd.org/D30639

(cherry picked from commit fc035df8af32d496885e5da26e519ce6a262c9bf)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PR:	254343, 255054
Reviewed by:	vmaffione (mentor), donner
Approved by:	vmaffione (mentor), donner
MFC after:	2 weeks
Sponsored by:	vstack.com
Differential Revision:	https://reviews.freebsd.org/D30639

(cherry picked from commit fc035df8af32d496885e5da26e519ce6a262c9bf)
</pre>
</div>
</content>
</entry>
<entry>
<title>Convert vm_page_alloc() callers to use vm_page_alloc_noobj().</title>
<updated>2021-11-03T17:39:36+00:00</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2021-10-20T00:23:39+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=66cb1858f44992af73b6e1f9eeceb500bffd2534'/>
<id>66cb1858f44992af73b6e1f9eeceb500bffd2534</id>
<content type='text'>
Remove page zeroing code from consumers and stop specifying
VM_ALLOC_NOOBJ.  In a few places, also convert an allocation loop to
simply use VM_ALLOC_WAITOK.

Similarly, convert vm_page_alloc_domain() callers.

Note that callers are now responsible for assigning the pindex.

Reviewed by:	alc, hselasky, kib
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit a4667e09e6520dc2c4b0b988051f060fed695a91)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove page zeroing code from consumers and stop specifying
VM_ALLOC_NOOBJ.  In a few places, also convert an allocation loop to
simply use VM_ALLOC_WAITOK.

Similarly, convert vm_page_alloc_domain() callers.

Note that callers are now responsible for assigning the pindex.

Reviewed by:	alc, hselasky, kib
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit a4667e09e6520dc2c4b0b988051f060fed695a91)
</pre>
</div>
</content>
</entry>
<entry>
<title>Only use byte register access in legacy virtio pci</title>
<updated>2021-09-27T08:36:38+00:00</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2021-08-05T14:36:07+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=273fef1f9b0f60ef37f85a6067299a07bca2ec82'/>
<id>273fef1f9b0f60ef37f85a6067299a07bca2ec82</id>
<content type='text'>
Some simulators don't implement arbitrary sized memory access to the
virtio PCI registers. Follow Linux and use single byte accesses to read
and write to these registers.

Reviewed by:	bryanv, emaste (previous version)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D31424

(cherry picked from commit 89c085b8993d7d1e7b137f99fa6df94c37c3a68a)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some simulators don't implement arbitrary sized memory access to the
virtio PCI registers. Follow Linux and use single byte accesses to read
and write to these registers.

Reviewed by:	bryanv, emaste (previous version)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D31424

(cherry picked from commit 89c085b8993d7d1e7b137f99fa6df94c37c3a68a)
</pre>
</div>
</content>
</entry>
<entry>
<title>virtio-modern: fix PCI common read/write functions on big endian targets</title>
<updated>2021-08-30T16:14:20+00:00</updated>
<author>
<name>Alfredo Dal'Ava Junior</name>
<email>alfredo@FreeBSD.org</email>
</author>
<published>2021-05-07T05:40:35+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7e583075a411cecbad1ca88b13b82c8a357d5b4e'/>
<id>7e583075a411cecbad1ca88b13b82c8a357d5b4e</id>
<content type='text'>
Virtio modern has the common data organized in little endian, but
on powerpc64 BE it was reading and writing in the wrong endian.

Submitted by:	Leonardo Bianconi &lt;leonardo.bianconi@eldorado.org.br&gt;
Reviewed by:	bryanv, alfredo
Sponsored by:	Eldorado Research Institute (eldorado.org.br)
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D28947

(cherry picked from commit fb53b42e36a9745d0a33821175a962c7a15eeeaa)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Virtio modern has the common data organized in little endian, but
on powerpc64 BE it was reading and writing in the wrong endian.

Submitted by:	Leonardo Bianconi &lt;leonardo.bianconi@eldorado.org.br&gt;
Reviewed by:	bryanv, alfredo
Sponsored by:	Eldorado Research Institute (eldorado.org.br)
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D28947

(cherry picked from commit fb53b42e36a9745d0a33821175a962c7a15eeeaa)
</pre>
</div>
</content>
</entry>
<entry>
<title>bhyve: virtio shares definitions between sys/dev/virtio</title>
<updated>2021-08-12T06:44:52+00:00</updated>
<author>
<name>Ka Ho Ng</name>
<email>khng@FreeBSD.org</email>
</author>
<published>2021-08-12T06:44:52+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ddf1b5ac761edc6f7c9e3e0788ef4a36b50c5e6a'/>
<id>ddf1b5ac761edc6f7c9e3e0788ef4a36b50c5e6a</id>
<content type='text'>
Definitions inside usr.sbin/bhyve/virtio.h are thrown away.
Definitions in sys/dev/virtio are used instead.

This reduces code duplication.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	grehan
Approved by:	philip (mentor)
Differential Revision:	https://reviews.freebsd.org/D29084

(cherry picked from commit 54ac6f721efccdba5a09aa9f38be0a1c4ef6cf14)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Definitions inside usr.sbin/bhyve/virtio.h are thrown away.
Definitions in sys/dev/virtio are used instead.

This reduces code duplication.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	grehan
Approved by:	philip (mentor)
Differential Revision:	https://reviews.freebsd.org/D29084

(cherry picked from commit 54ac6f721efccdba5a09aa9f38be0a1c4ef6cf14)
</pre>
</div>
</content>
</entry>
<entry>
<title>virtio: enable VTNET_LEGACY_TX when ALTQ is enabled.</title>
<updated>2021-08-05T20:04:04+00:00</updated>
<author>
<name>Luiz Otavio O Souza</name>
<email>loos@FreeBSD.org</email>
</author>
<published>2017-10-26T02:30:54+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=18ea5bc166c1e908e24b8d2e13f5d1b36acc6742'/>
<id>18ea5bc166c1e908e24b8d2e13f5d1b36acc6742</id>
<content type='text'>
ALTQ only works on network drivers which use if_start (rather than
if_transmit). vtnet uses if_start if built with VTNET_LEGACY_TX. Default
to that the kernel is built with ALTQ enabled, to reduce user surprise.

MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 5afe81a7b23afd27289ca40e04a6a764134d6273)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ALTQ only works on network drivers which use if_start (rather than
if_transmit). vtnet uses if_start if built with VTNET_LEGACY_TX. Default
to that the kernel is built with ALTQ enabled, to reduce user surprise.

MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 5afe81a7b23afd27289ca40e04a6a764134d6273)
</pre>
</div>
</content>
</entry>
<entry>
<title>if_vtnet: Fix pointer-sign and used parameter warnings</title>
<updated>2021-07-05T09:46:11+00:00</updated>
<author>
<name>Alex Richardson</name>
<email>arichardson@FreeBSD.org</email>
</author>
<published>2021-02-22T17:26:21+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0a55a5bf61707c87b3976eaf203ef4f988c4c396'/>
<id>0a55a5bf61707c87b3976eaf203ef4f988c4c396</id>
<content type='text'>
Reviewed By:	grehan
Differential Revision: https://reviews.freebsd.org/D28726

(cherry picked from commit c1b554c868195ed10ac1eb25fa9ca4a5baae4638)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed By:	grehan
Differential Revision: https://reviews.freebsd.org/D28726

(cherry picked from commit c1b554c868195ed10ac1eb25fa9ca4a5baae4638)
</pre>
</div>
</content>
</entry>
<entry>
<title>virtio_blk: Fix issuing T_GET_ID before DRIVER_OK status</title>
<updated>2021-06-28T15:16:39+00:00</updated>
<author>
<name>Ka Ho Ng</name>
<email>khng@FreeBSD.org</email>
</author>
<published>2021-05-05T15:16:29+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=6fd5a4a6f3ac3cb7bb3e6d55359a5ba087b76cd9'/>
<id>6fd5a4a6f3ac3cb7bb3e6d55359a5ba087b76cd9</id>
<content type='text'>
DRIVER_OK status is set after device_attach() succeeds. For now postpone
disk_create to attach_completed() method.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	grehan
Approved by:	lwhsu (mentor)
Differential Revision:	https://reviews.freebsd.org/D30049

(cherry picked from commit 4e1e1d667fc84460c131dfe617b39072e87473ab)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
DRIVER_OK status is set after device_attach() succeeds. For now postpone
disk_create to attach_completed() method.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	grehan
Approved by:	lwhsu (mentor)
Differential Revision:	https://reviews.freebsd.org/D30049

(cherry picked from commit 4e1e1d667fc84460c131dfe617b39072e87473ab)
</pre>
</div>
</content>
</entry>
<entry>
<title>virtio_pci_legacy: Allow memory space for configuration</title>
<updated>2021-04-03T06:09:50+00:00</updated>
<author>
<name>Ka Ho Ng</name>
<email>khng@FreeBSD.org</email>
</author>
<published>2021-03-20T07:40:55+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2e107638eac2a721bc024314ae79d4688edfc130'/>
<id>2e107638eac2a721bc024314ae79d4688edfc130</id>
<content type='text'>
For guests running under some kind of VMMs, configuration structure is
available in memory space but not I/O space.

Reported by:	Yuan Rui &lt;number201724@me.com&gt;
Reviewed by:	rpokala, bryanv, jhb
Approved by:	philip (mentor)
Differential Revision:	https://reviews.freebsd.org/D28818

(cherry picked from commit cf5d1112408ddef3fdff8212599727c49ba90fa4)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For guests running under some kind of VMMs, configuration structure is
available in memory space but not I/O space.

Reported by:	Yuan Rui &lt;number201724@me.com&gt;
Reviewed by:	rpokala, bryanv, jhb
Approved by:	philip (mentor)
Differential Revision:	https://reviews.freebsd.org/D28818

(cherry picked from commit cf5d1112408ddef3fdff8212599727c49ba90fa4)
</pre>
</div>
</content>
</entry>
</feed>
