<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/virtio/console, branch releng/12.2</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>Revert r327828, r327949, r327953, r328016-r328026, r328041:</title>
<updated>2018-01-21T15:42:36+00:00</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2018-01-21T15:42:36+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ac2fffa4b74cd83963f0d462c379c7f50eeabf20'/>
<id>ac2fffa4b74cd83963f0d462c379c7f50eeabf20</id>
<content type='text'>
Uses of mallocarray(9).

The use of mallocarray(9) has rocketed the required swap to build FreeBSD.
This is likely caused by the allocation size attributes which put extra pressure
on the compiler.

Given that most of these checks are superfluous we have to choose better
where to use mallocarray(9). We still have more uses of mallocarray(9) but
hopefully this is enough to bring swap usage to a reasonable level.

Reported by:	wosch
PR:		225197
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Uses of mallocarray(9).

The use of mallocarray(9) has rocketed the required swap to build FreeBSD.
This is likely caused by the allocation size attributes which put extra pressure
on the compiler.

Given that most of these checks are superfluous we have to choose better
where to use mallocarray(9). We still have more uses of mallocarray(9) but
hopefully this is enough to bring swap usage to a reasonable level.

Reported by:	wosch
PR:		225197
</pre>
</div>
</content>
</entry>
<entry>
<title>dev: make some use of mallocarray(9).</title>
<updated>2018-01-13T22:30:30+00:00</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2018-01-13T22:30:30+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=26c1d774b55c4db79bca772941883244986e6f44'/>
<id>26c1d774b55c4db79bca772941883244986e6f44</id>
<content type='text'>
Focus on code where we are doing multiplications within malloc(9). None of
these is likely to overflow, however the change is still useful as some
static checkers can benefit from the allocation attributes we use for
mallocarray.

This initial sweep only covers malloc(9) calls with M_NOWAIT. No good
reason but I started doing the changes before r327796 and at that time it
was convenient to make sure the sorrounding code could handle NULL values.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Focus on code where we are doing multiplications within malloc(9). None of
these is likely to overflow, however the change is still useful as some
static checkers can benefit from the allocation attributes we use for
mallocarray.

This initial sweep only covers malloc(9) calls with M_NOWAIT. No good
reason but I started doing the changes before r327796 and at that time it
was convenient to make sure the sorrounding code could handle NULL values.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix possible panic when creating VirtIO console dev aliases</title>
<updated>2018-01-13T21:39:46+00:00</updated>
<author>
<name>Bryan Venteicher</name>
<email>bryanv@FreeBSD.org</email>
</author>
<published>2018-01-13T21:39:46+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a019e26c0f76f5fd5c401cd87554ef2d5efc36ca'/>
<id>a019e26c0f76f5fd5c401cd87554ef2d5efc36ca</id>
<content type='text'>
Since we have no control over the name, the MAKEDEV_CHECKNAME flag must be
used to return an error on an invalid (to devfs) name instead of panicing.

r305900 that originally added this feature also introduced a few other bugs:
  - Proper locking not performed
  - Theoretically broke the expectation that the control event buffer would
    not span more than one pages, but did not update the CTASSERT that was
    in place to prevent this. However, since the struct virtio_console_control
    and the bulk buffer together were quite small, this could not have happened.

Also workaround an QEMU VirtIO spec violation in that it includes the NUL
terminator in the buffer length when the spec says it is not included.

PR:		223531
MFC after:	1 week
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since we have no control over the name, the MAKEDEV_CHECKNAME flag must be
used to return an error on an invalid (to devfs) name instead of panicing.

r305900 that originally added this feature also introduced a few other bugs:
  - Proper locking not performed
  - Theoretically broke the expectation that the control event buffer would
    not span more than one pages, but did not update the CTASSERT that was
    in place to prevent this. However, since the struct virtio_console_control
    and the bulk buffer together were quite small, this could not have happened.

Also workaround an QEMU VirtIO spec violation in that it includes the NUL
terminator in the buffer length when the spec says it is not included.

PR:		223531
MFC after:	1 week
</pre>
</div>
</content>
</entry>
<entry>
<title>virtio_console: correctly determine presense of payload and its length</title>
<updated>2016-11-24T21:12:32+00:00</updated>
<author>
<name>Andriy Gapon</name>
<email>avg@FreeBSD.org</email>
</author>
<published>2016-11-24T21:12:32+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8be1b98cae8226d4d75e5e67537be97f0702812d'/>
<id>8be1b98cae8226d4d75e5e67537be97f0702812d</id>
<content type='text'>
MFC after:	2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MFC after:	2 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>Reserve space for control message payload (currently a port name).</title>
<updated>2016-11-12T01:41:43+00:00</updated>
<author>
<name>Jakub Wojciech Klama</name>
<email>jceel@FreeBSD.org</email>
</author>
<published>2016-11-12T01:41:43+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f7b1d7f419066531171443ed3f6d8dcdf893e5fb'/>
<id>f7b1d7f419066531171443ed3f6d8dcdf893e5fb</id>
<content type='text'>
Approved by:	trasz (mentor)
Sponsored by:	iXsystems, Inc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Approved by:	trasz (mentor)
Sponsored by:	iXsystems, Inc.
</pre>
</div>
</content>
</entry>
<entry>
<title>Create aliases for named virtio-console ports.</title>
<updated>2016-09-17T16:03:33+00:00</updated>
<author>
<name>Jakub Wojciech Klama</name>
<email>jceel@FreeBSD.org</email>
</author>
<published>2016-09-17T16:03:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=cb9813432ac6e8d91d369b66a78c8d68086ac29c'/>
<id>cb9813432ac6e8d91d369b66a78c8d68086ac29c</id>
<content type='text'>
Make virtio_console(4) create `/dev/vtcon/&lt;port_name&gt;` alias pointing
to /dev/ttyVx.y upon receiving PORT_NAME (id = 7) event over the control
queue.

Approved by:	trasz
MFC after:	1 month
Sponsored by:	iXsystems, Inc.
Differential Revision:	https://reviews.freebsd.org/D7182
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make virtio_console(4) create `/dev/vtcon/&lt;port_name&gt;` alias pointing
to /dev/ttyVx.y upon receiving PORT_NAME (id = 7) event over the control
queue.

Approved by:	trasz
MFC after:	1 month
Sponsored by:	iXsystems, Inc.
Differential Revision:	https://reviews.freebsd.org/D7182
</pre>
</div>
</content>
</entry>
<entry>
<title>sys/dev: minor spelling fixes.</title>
<updated>2016-05-03T03:41:25+00:00</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2016-05-03T03:41:25+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=453130d9bfc1c6d68b366dfcb041689d69f81295'/>
<id>453130d9bfc1c6d68b366dfcb041689d69f81295</id>
<content type='text'>
Most affect comments, very few have user-visible effects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most affect comments, very few have user-visible effects.
</pre>
</div>
</content>
</entry>
<entry>
<title>Several minor changes to hopefully complete the VirtIO console driver</title>
<updated>2014-11-07T03:36:28+00:00</updated>
<author>
<name>Bryan Venteicher</name>
<email>bryanv@FreeBSD.org</email>
</author>
<published>2014-11-07T03:36:28+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b84b3efddeb86201ce7e5779236cf6d88d84b7da'/>
<id>b84b3efddeb86201ce7e5779236cf6d88d84b7da</id>
<content type='text'>
  - Support the KDB alt break sequence to enter the debugger,
    panic, reboot, etc. [1]
  - Provide emergency write feature description. Note that QEMU
    does not implement this feature.
  - Make the VTCON_FLAG_* defines sequential once again.
  - When the multiple port feature is not negotiated, query the
    rows and columns of the one console during the device attach
    when the size feature is negotiated.
  - Report failure to the device if hot plugging a port fails.
  - Acknowledge the console port event with an open event. This
    is required by the spec, but QEMU doesn't seem to care.

Submitted by:	Juniper [1]
MFC after:	1 month
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  - Support the KDB alt break sequence to enter the debugger,
    panic, reboot, etc. [1]
  - Provide emergency write feature description. Note that QEMU
    does not implement this feature.
  - Make the VTCON_FLAG_* defines sequential once again.
  - When the multiple port feature is not negotiated, query the
    rows and columns of the one console during the device attach
    when the size feature is negotiated.
  - Report failure to the device if hot plugging a port fails.
  - Acknowledge the console port event with an open event. This
    is required by the spec, but QEMU doesn't seem to care.

Submitted by:	Juniper [1]
MFC after:	1 month
</pre>
</div>
</content>
</entry>
<entry>
<title>Create the tty device after the port is completely initialized</title>
<updated>2014-11-03T22:17:25+00:00</updated>
<author>
<name>Bryan Venteicher</name>
<email>bryanv@FreeBSD.org</email>
</author>
<published>2014-11-03T22:17:25+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=46822c484c27e70e90a343a9014404ad188e2151'/>
<id>46822c484c27e70e90a343a9014404ad188e2151</id>
<content type='text'>
This fixes a race with a tty open before the host is the ready.

MFC after:	1 month
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a race with a tty open before the host is the ready.

MFC after:	1 month
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for the multiport feature and fix hot plug races</title>
<updated>2014-11-03T16:57:01+00:00</updated>
<author>
<name>Bryan Venteicher</name>
<email>bryanv@FreeBSD.org</email>
</author>
<published>2014-11-03T16:57:01+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=04434c94ddcc37ce5386013045b7639e7c47646e'/>
<id>04434c94ddcc37ce5386013045b7639e7c47646e</id>
<content type='text'>
MFC after:	1 month
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MFC after:	1 month
</pre>
</div>
</content>
</entry>
</feed>
