diff options
author | imp <imp@FreeBSD.org> | 2014-03-01 04:16:54 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2014-03-01 04:16:54 +0000 |
commit | 33b9ca9ab1e84f2fbd3154eb278624e7f535e144 (patch) | |
tree | f4dec5665294aedbe5d1458dcc6ef4f5938bc1af /sys/dev/uart/uart_if.m | |
parent | 1135c91d00efe0ccd2baec70e62034511c5310f8 (diff) | |
download | FreeBSD-src-33b9ca9ab1e84f2fbd3154eb278624e7f535e144.zip FreeBSD-src-33b9ca9ab1e84f2fbd3154eb278624e7f535e144.tar.gz |
MFC: r260889, r260890, r260911:
r260911 | imp | 2014-01-20 10:45:36 -0700 (Mon, 20 Jan 2014) | 5 lines
Don't lock in the generic grab just to lock again in the specific grabs.
r260890 | imp | 2014-01-19 12:39:13 -0700 (Sun, 19 Jan 2014) | 11 lines
Introduce grab and ungrab upcalls. When the kernel desires to grab the
console, it calls the grab functions. These functions should turn off
the RX interrupts, and any others that interfere. This makes mountroot
prompt work again. If there's more generalized need other than
prompting, many of these routines should be expanded to do those new
things.
Reviewed by: bde (with reservations)
Diffstat (limited to 'sys/dev/uart/uart_if.m')
-rw-r--r-- | sys/dev/uart/uart_if.m | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sys/dev/uart/uart_if.m b/sys/dev/uart/uart_if.m index bfac071..aab7771 100644 --- a/sys/dev/uart/uart_if.m +++ b/sys/dev/uart/uart_if.m @@ -141,3 +141,19 @@ METHOD int setsig { METHOD int transmit { struct uart_softc *this; }; + +# grab() - Up call from the console to the upper layers of the driver when +# the kernel asks to grab the console. This is valid only for console +# drivers. This method is responsible for transitioning the hardware +# from an interrupt driven state to a polled state that works with the +# low-level console interface defined for this device. The kernel +# currently only calls this when it wants to grab input from the +# console. Output can still happen asyncrhonously to these calls. +METHOD void grab { + struct uart_softc *this; +}; + +# ungrab() - Undoes the effects of grab(). +METHOD void ungrab { + struct uart_softc *this; +}; |