freebsd-skq/sys
Bruce Evans e866ca565f Flesh out the state and flags args to sccnopen(). Set state flags to
indicate (potentially partial) success of the open.  Use these to
decide what to close in sccnclose().  Only grab/ungrab use open/close
so far.

Add a per-sc variable to count successful keyboard opens and use
this instead of the grab count to decide if the keyboad state has
been switched.

Start fixing the locking by using atomic ops for the most important
counter -- the grab level one.  Other racy counting will eventually
be fixed by normal mutex or kdb locking in most cases.

Use a 2-entry per-sc stack of states for grabbing.  2 is just enough
to debug grabbing, e.g., for gets().  gets() grabs once and might not
be able to do a full (or any) state switch.  ddb grabs again and has
a better chance of doing a full state switch and needs a place to
stack the previous state.  For more than 3 levels, grabbing just
changes the count.  Console drivers should try to switch on every i/o
in case lower levels of nesting failed to switch but the current level
succeeds, but then the switch (back) must be completed on every i/o
and this flaps the state unless the switch is null.  The main point
of grabbing is to make it null quite often.  Syscons grabbing also
does a carefully chosen screen focus that is not done on every i/o.

Add a large comment about grabbing.

Restore some small lost comments.
2016-08-24 18:59:24 +00:00
..
amd64 Make execution of 32-bit CloudABI executables work on amd64. 2016-08-24 10:51:33 +00:00
arm Allwinner: Add thermal sensor driver for A10/A20 2016-08-23 22:26:50 +00:00
arm64 Allow superpages on arm64 to be enabled. It is disabled for now to allow 2016-08-24 13:00:50 +00:00
boot Bug 212038 - svn commit: r304321 broken bhyve zvol VM bhyveload hang 100% WCPU 2016-08-24 16:40:29 +00:00
bsm
cam Improve the pattern matching so that internal *'s work, as well as 2016-08-19 04:30:29 +00:00
cddl Bug 212114 - loader: zio_checksum_verify() must test spa for NULL pointer 2016-08-24 16:30:15 +00:00
compat Add missing header dependency. 2016-08-24 09:57:19 +00:00
conf Make execution of 32-bit CloudABI executables work on amd64. 2016-08-24 10:51:33 +00:00
contrib Make execution of 32-bit CloudABI executables work on amd64. 2016-08-24 10:51:33 +00:00
crypto Connect the SHA-512t256 and Skein hashing algorithms to ZFS 2016-05-31 04:12:14 +00:00
ddb In ddb ps, left justify the non-numeric fields 'state' and 'wmesg' and 2016-08-14 15:26:40 +00:00
dev Flesh out the state and flags args to sccnopen(). Set state flags to 2016-08-24 18:59:24 +00:00
fs Implement VOP_FDATASYNC() for msdosfs. 2016-08-15 19:17:00 +00:00
gdb
geom Do not invoke resize event if initial disk size is zero. Some disks 2016-08-01 20:54:54 +00:00
gnu Revert changes for local testing, inadvertantly commited in r300811. 2016-05-26 23:59:42 +00:00
i386 Convert pointers obtained from the threadattr_t structure with TO_PTR(). 2016-08-24 10:13:18 +00:00
isa
kern Audit the accepted (or rejected) username argument to setlogin(2). 2016-08-20 20:28:08 +00:00
kgssapi
libkern
mips [mips] add support for the "creative" GNU extensions and IRIX hilarity around MIPS LO16/HI16 relocations. 2016-08-21 00:48:41 +00:00
modules Add a Makefile for building the cloudabi32 kernel module. 2016-08-24 11:35:49 +00:00
net net/rndis: Fix RNDIS_STATUS_PENDING definition. 2016-08-24 03:16:25 +00:00
net80211 [net80211] correctly lock the ifp before accessing the lladdr. 2016-08-18 01:25:12 +00:00
netgraph Avoid panic from ng_uncallout when unpluggin ethernet cable with active 2016-08-08 19:31:01 +00:00
netinet When aborting an association, send the ABORT before notifying the upper 2016-08-24 06:22:53 +00:00
netinet6 Fix L2 caching for UDP over IPv6 2016-08-24 00:52:30 +00:00
netipsec Get closer to a VIMAGE network stack teardown from top to bottom rather 2016-06-21 13:48:49 +00:00
netnatm
netpfil Try to fix gcc compilation errors (which are right). 2016-08-18 10:26:15 +00:00
netsmb
nfs Hide the boottime and bootimebin globals, provide the getboottime(9) 2016-07-27 11:08:59 +00:00
nfsclient
nfsserver
nlm When sleeping waiting for either local or remote advisory lock, 2016-06-26 20:08:42 +00:00
ofed Add support for setting blocking and non-blocking mode on /dev/rdma_cm 2016-08-18 08:49:02 +00:00
opencrypto opencrypto AES-ICM: Fix heap corruption typo 2016-08-01 22:57:03 +00:00
pc98 Remove the ie(4) driver for Intel 82586 ISA Ethernet adapters. 2016-08-20 00:49:29 +00:00
powerpc Close a race when making the CPU idle under pHyp. If an interrupt occurs 2016-08-24 16:49:14 +00:00
riscv o Remove operation in machine mode. 2016-08-10 12:41:36 +00:00
rpc Hide the boottime and bootimebin globals, provide the getboottime(9) 2016-07-27 11:08:59 +00:00
security Audit the accepted (or rejected) username argument to setlogin(2). 2016-08-20 20:28:08 +00:00
sparc64 Remove the wds(4) driver for the WD700 ISA SCSI HBA. 2016-08-19 21:51:42 +00:00
sys Bump __FreeBSD_version for LC_*_MASK fix for newlocale(3) and querylocale(3) 2016-08-24 15:36:48 +00:00
teken
tests
tools Consider CROSS_BINUTILS_PREFIX environment variable so we use correct 2016-08-10 13:49:17 +00:00
ufs Bug 211013 reports that a write error to a UFS filesystem running 2016-08-16 21:02:30 +00:00
vm Eliminate unneeded vm_page_xbusy() and vm_page_xunbusy() operations when 2016-08-14 22:00:45 +00:00
x86 Fix build for !SMP kernels after the Xen MSIX workaround. 2016-08-22 21:23:17 +00:00
xdr
xen xen: Correct typo in #undef for symbol NBPL 2016-06-06 14:55:46 +00:00
Makefile