summaryrefslogtreecommitdiffstats
path: root/sys/dev/uart/uart_if.m
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2014-03-01 04:16:54 +0000
committerimp <imp@FreeBSD.org>2014-03-01 04:16:54 +0000
commit33b9ca9ab1e84f2fbd3154eb278624e7f535e144 (patch)
treef4dec5665294aedbe5d1458dcc6ef4f5938bc1af /sys/dev/uart/uart_if.m
parent1135c91d00efe0ccd2baec70e62034511c5310f8 (diff)
downloadFreeBSD-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.m16
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;
+};
OpenPOWER on IntegriCloud