<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/dcons, branch release/12.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2019-05-15T17:50:17Z</updated>
<entry>
<title>MFC r347422:</title>
<updated>2019-05-15T17:50:17Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2019-05-15T17:50:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=66fdffa429986d1abd3f3c1b07ab6b5e5f94bef9'/>
<id>urn:sha1:66fdffa429986d1abd3f3c1b07ab6b5e5f94bef9</id>
<content type='text'>
Allow dcons(4) to be unloaded when loaded as a module.

When the module is unloaded, the tty devices are destroyed.  That requires
implementing the tsw_free callback to avoid a panic.  This driver requires
no particular cleanup to be done from the callback, but the module itself
must remain in memory until the deferred tsw_free callbacks are invoked.
These changes implement that by incrementing a reference count variable in
the detach routine, and decrementing it in the tsw_free callback.  The
MOD_UNLOAD event handler doesn't return until the count drops to zero.

PR: 237758
</content>
</entry>
<entry>
<title>i386 4/4G split.</title>
<updated>2018-04-13T20:30:49Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2018-04-13T20:30:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d86c1f0dc1b17d94a533b4d3e9228dff9cb3fb31'/>
<id>urn:sha1:d86c1f0dc1b17d94a533b4d3e9228dff9cb3fb31</id>
<content type='text'>
The change makes the user and kernel address spaces on i386
independent, giving each almost the full 4G of usable virtual addresses
except for one PDE at top used for trampoline and per-CPU trampoline
stacks, and system structures that must be always mapped, namely IDT,
GDT, common TSS and LDT, and process-private TSS and LDT if allocated.

By using 1:1 mapping for the kernel text and data, it appeared
possible to eliminate assembler part of the locore.S which bootstraps
initial page table and KPTmap.  The code is rewritten in C and moved
into the pmap_cold(). The comment in vmparam.h explains the KVA
layout.

There is no PCID mechanism available in protected mode, so each
kernel/user switch forth and back completely flushes the TLB, except
for the trampoline PTD region. The TLB invalidations for userspace
becomes trivial, because IPI handlers switch page tables. On the other
hand, context switches no longer need to reload %cr3.

copyout(9) was rewritten to use vm_fault_quick_hold().  An issue for
new copyout(9) is compatibility with wiring user buffers around sysctl
handlers. This explains two kind of locks for copyout ptes and
accounting of the vslock() calls.  The vm_fault_quick_hold() AKA slow
path, is only tried after the 'fast path' failed, which temporary
changes mapping to the userspace and copies the data to/from small
per-cpu buffer in the trampoline.  If a page fault occurs during the
copy, it is short-circuit by exception.s to not even reach C code.

The change was motivated by the need to implement the Meltdown
mitigation, but instead of KPTI the full split is done.  The i386
architecture already shows the sizing problems, in particular, it is
impossible to link clang and lld with debugging.  I expect that the
issues due to the virtual address space limits would only exaggerate
and the split gives more liveness to the platform.

Tested by: pho
Discussed with:	bde
Sponsored by:	The FreeBSD Foundation
MFC after:	1 month
Differential revision:	https://reviews.freebsd.org/D14633
</content>
</entry>
<entry>
<title>spdx: initial adoption of licensing ID tags.</title>
<updated>2017-11-18T14:26:50Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-18T14:26:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=df57947f083046d50552e99b91074927d2458708'/>
<id>urn:sha1:df57947f083046d50552e99b91074927d2458708</id>
<content type='text'>
The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.

Initially, only tag files that use BSD 4-Clause "Original" license.

RelNotes:	yes
Differential Revision:	https://reviews.freebsd.org/D13133
</content>
</entry>
<entry>
<title>CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten</title>
<updated>2015-05-22T17:05:21Z</updated>
<author>
<name>Jung-uk Kim</name>
<email>jkim@FreeBSD.org</email>
</author>
<published>2015-05-22T17:05:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fd90e2ed54a69bb07d14dcd4e805431ccb7d6cb6'/>
<id>urn:sha1:fd90e2ed54a69bb07d14dcd4e805431ccb7d6cb6</id>
<content type='text'>
years for head.  However, it is continuously misused as the mpsafe argument
for callout_init(9).  Deprecate the flag and clean up callout_init() calls
to make them more consistent.

Differential Revision:	https://reviews.freebsd.org/D2613
Reviewed by:	jhb
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Garbage collect dragonfly and legacy FreeBSD system support from dcons(4).</title>
<updated>2015-01-21T19:53:52Z</updated>
<author>
<name>Will Andrews</name>
<email>will@FreeBSD.org</email>
</author>
<published>2015-01-21T19:53:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=49f159beefdb052e182816178db93c83abbfb649'/>
<id>urn:sha1:49f159beefdb052e182816178db93c83abbfb649</id>
<content type='text'>
Submitted by:	gibbs
MFC after:	1 week
Sponsored by:	Spectra Logic
MFSpectraBSD:	1110990 on 2015/01/06
</content>
</entry>
<entry>
<title>MFcalloutng:</title>
<updated>2013-02-19T18:22:25Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2013-02-19T18:22:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fd7e68271969f2a6a2b4a10cbc451c090ac276a3'/>
<id>urn:sha1:fd7e68271969f2a6a2b4a10cbc451c090ac276a3</id>
<content type='text'>
Make dcons input polling adaptive, reducing poll rate to 1Hz after several
minutes of inactivty to reduce global interrupt rate.  Most of users never
used FireWire debugging, so it is not very useful to consume power by it.
</content>
</entry>
<entry>
<title>kern cons: introduce infrastructure for console grabbing by kernel</title>
<updated>2011-12-17T15:08:43Z</updated>
<author>
<name>Andriy Gapon</name>
<email>avg@FreeBSD.org</email>
</author>
<published>2011-12-17T15:08:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9976156f12f1be7cb85c90e9ef54be06690bc955'/>
<id>urn:sha1:9976156f12f1be7cb85c90e9ef54be06690bc955</id>
<content type='text'>
At the moment grab and ungrab methods of all console drivers are no-ops.

Current intended meaning of the calls is that the kernel takes control of
console input.  In the future the semantics may be extended to mean that
the calling thread takes full ownership of the console (e.g. console
output from other threads could be suspended).

Inspired by:	bde
MFC after:	2 months
</content>
</entry>
<entry>
<title>Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.</title>
<updated>2011-11-07T15:43:11Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2011-11-07T15:43:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6472ac3d8a86336899b6cfb789a4cd9897e3fab5'/>
<id>urn:sha1:6472ac3d8a86336899b6cfb789a4cd9897e3fab5</id>
<content type='text'>
The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.
</content>
</entry>
<entry>
<title>Follow up to r225203 refining break-to-debugger run-time configuration</title>
<updated>2011-08-27T14:24:27Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2011-08-27T14:24:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e5a0927394502ac7d7d0383c523490eb35f773dc'/>
<id>urn:sha1:e5a0927394502ac7d7d0383c523490eb35f773dc</id>
<content type='text'>
improvements:

(1) Implement new model in previously missed at91 UART driver
(2) Move BREAK_TO_DEBUGGER and ALT_BREAK_TO_DEBUGGER from opt_comconsole.h
    to opt_kdb.h (spotted by np)
(3) Garbage collect now-unused opt_comconsole.h

MFC after:	3 weeks
Approved by:	re (bz)
</content>
</entry>
<entry>
<title>Attempt to make break-to-debugger and alternative break-to-debugger more</title>
<updated>2011-08-26T21:46:36Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2011-08-26T21:46:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4cf75455890c103c9a66cb791e88998aafd4f8ce'/>
<id>urn:sha1:4cf75455890c103c9a66cb791e88998aafd4f8ce</id>
<content type='text'>
accessible:

(1) Always compile in support for breaking into the debugger if options
    KDB is present in the kernel.

(2) Disable both by default, but allow them to be enabled via tunables
    and sysctls debug.kdb.break_to_debugger and
    debug.kdb.alt_break_to_debugger.

(3) options BREAK_TO_DEBUGGER and options ALT_BREAK_TO_DEBUGGER continue
    to behave as before -- only now instead of compiling in
    break-to-debugger support, they change the default values of the
    above sysctls to enable those features by default.  Current kernel
    configurations should, therefore, continue to behave as expected.

(4) Migrate alternative break-to-debugger state machine logic out of
    individual device drivers into centralised KDB code.  This has a
    number of upsides, but also one downside: it's now tricky to release
    sio spin locks when entering the debugger, so we don't.  However,
    similar logic does not exist in other device drivers, including uart.

(5) dcons requires some special handling; unlike other console types, it
    allows overriding KDB's own debugger selection, so we need a new
    interface to KDB to allow that to work.

GENERIC kernels in -CURRENT will now support break-to-debugger as long as
appropriate boot/run-time options are set, which should improve the
debuggability of BETA kernels significantly.

MFC after:	3 weeks
Reviewed by:	kib, nwhitehorn
Approved by:	re (bz)
</content>
</entry>
</feed>
