HomeFreeBSD

MFC r304173,r304181,r304186:

Description

MFC r304173,r304181,r304186:

Fix restoring the kbd_mode part of the keyboard state in grab/ungrab.
Simply change the mode to K_XLATE using a local variable and use the
grab level as a flag to tell screen switches not to change it again,
so that we don't need to switch scp->kbd_mode. We did the latter,
but didn't have the complications to update the keyboard mode switch
for every screen switch. sc->kbd_mode remains at its user setting
for all scp's and ungrabbing restores to it.

Restructure the grabbing functions into mere wrappers of new open and
close functions. Scattered calls to sc_cnputc() and sc_cngetc() were
broken by turning the semi-reentrant inline context-switching code in
these functions into the grabbing functions. cncheckc() calls for
panic dumps are the main broken case. The grabbing functions have
special behaviour (mainly screen switching in sc_cngrab()) which makes
them unsuitable as replacements for the inline code.

Clean up the new sc cn open and close functions (old sc cn grab and ungrab
functions). Mainly, spell sc as itself instead of as scp->sc.

Details

Provenance
eadlerAuthored on
Parents
rS330891: ubldr: Bump heap size from 512K to 1M
Branches
Unknown
Tags
Unknown