opnsense-src/sys/dev/uart
Marcel Moolenaar 1c5e367bcc When we match UARTs found during bus-enumeration with UARTs used for
system devices (i.e. console, debug port or keyboard), don't stop
after the first match. Find them all and keep track of the last.
The reason for this change is that the low-level console is always
added to the list of system devices first, with other devices added
later. Since new devices are added to the list at the head, we have
the console always at the end. When a debug port is using the same
UART as the console, we would previously mark the "newbus" UART as
a debug port instead of as a console. This would later result in a
panic because no "newbus" device was associated with the console.
By matching all possible system devices we would mark the "newbus"
UART as a console and not as a debug port.
While it is arguably better to be able to mark a "newbus" UART as
both console and debug port, this fix is lightweight and allows
a single UART to be used as the console as well as a debug port
with only the aesthetic bug of not telling the user about it also
being a debug port.

Now that we match all possible system devices, update the rclk of
the system devices with the rclk that was obtained through the
bus attachment. It is generally true that clock information is
more reliable when obtained from the parent bus than by means of
some hardcoded or assumed value used early in the boot. This by
virtue of having more context information.

MFC after: 1 month
2007-03-28 18:26:12 +00:00
..
uart.h Remove definitions of uart_[gs]etdreg. They are not used anymore and 2006-05-23 22:33:44 +00:00
uart_bus.h Implement the ipend() method of the serdev I/F. 2006-04-28 18:29:23 +00:00
uart_bus_acpi.c Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
uart_bus_ebus.c Remove unused variable 'error'. Forgotten in previous commit. 2006-04-02 21:58:09 +00:00
uart_bus_isa.c Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
uart_bus_pccard.c o Style(9) nits 2005-10-28 06:27:53 +00:00
uart_bus_pci.c o Add 5 Timedia single port serial cards. 2006-04-27 17:08:30 +00:00
uart_bus_puc.c Rewrite of puc(4). Significant changes are: 2006-04-28 21:21:53 +00:00
uart_bus_scc.c Add scc(4), a driver for serial communications controllers. These 2006-03-30 18:33:22 +00:00
uart_core.c When we match UARTs found during bus-enumeration with UARTs used for 2007-03-28 18:26:12 +00:00
uart_cpu.h - Add a uart_rxready() and corresponding device-specific implementations 2007-01-18 22:01:19 +00:00
uart_cpu_amd64.c Make uart_getenv() not be ns8250 dependent. This will allow, in the future, 2005-12-12 21:00:58 +00:00
uart_cpu_i386.c Make uart_getenv() not be ns8250 dependent. This will allow, in the future, 2005-12-12 21:00:58 +00:00
uart_cpu_ia64.c Make uart_getenv() not be ns8250 dependent. This will allow, in the future, 2005-12-12 21:00:58 +00:00
uart_cpu_pc98.c Make uart_getenv() not be ns8250 dependent. This will allow, in the future, 2005-12-12 21:00:58 +00:00
uart_cpu_powerpc.c Implement uart_cpu_eqres() and uart_cpu_getdev(). This allows 2006-07-26 17:17:23 +00:00
uart_cpu_sparc64.c - Add support for using LOM (Lights Out Management) and RSC (Remote System 2006-02-04 23:27:16 +00:00
uart_dbg.c Eliminate gdb_checkc member from GDB_DBGPORT(), it is never used. 2006-05-26 11:54:32 +00:00
uart_dev_ns8250.c - Add a uart_rxready() and corresponding device-specific implementations 2007-01-18 22:01:19 +00:00
uart_dev_sab82532.c - Add a uart_rxready() and corresponding device-specific implementations 2007-01-18 22:01:19 +00:00
uart_dev_z8530.c - Add a uart_rxready() and corresponding device-specific implementations 2007-01-18 22:01:19 +00:00
uart_if.m Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
uart_kbd_sun.c - Add a uart_rxready() and corresponding device-specific implementations 2007-01-18 22:01:19 +00:00
uart_kbd_sun.h - In sunkbd_probe_keyboard() don't bother to determine the keyboard layout 2006-11-02 00:01:15 +00:00
uart_kbd_sun_tables.h Add a uart attachment/syscons keyboard driver for sun keyboards. In theory 2003-11-11 07:33:24 +00:00
uart_subr.c Make uart_getenv() not be ns8250 dependent. This will allow, in the future, 2005-12-12 21:00:58 +00:00
uart_tty.c Properly propagate overrun conditions to the TTY layer. 2006-07-27 00:07:10 +00:00