| #
0fc6c3f7
|
| 21-Feb-2026 |
Enji Cooper <ngie@FreeBSD.org> |
chore: replace {0, 0} with {DEV,KOBJ}METHOD_END
Both of the aforementioned macros have been present in FreeBSD for well over a decade: 2009 for `KOBJMETHOD_END`; 2011 for `DEVMETHOD_END`.
Adapt all
chore: replace {0, 0} with {DEV,KOBJ}METHOD_END
Both of the aforementioned macros have been present in FreeBSD for well over a decade: 2009 for `KOBJMETHOD_END`; 2011 for `DEVMETHOD_END`.
Adapt all hardcoded references of `{0, 0}` with `DEVMETHOD_END` and `KOBJMETHOD_END` as appropriate. This helps ensure that future adaptations to drivers following patterns documented in driver(9) can be made more easily/without issue.
MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55414
show more ...
|
| #
25ec7ca8
|
| 13-Aug-2025 |
Andrew Turner <andrew@FreeBSD.org> |
uart: Remove the unused cd_port_subtype
This is now unused. It was used for the SPCR interface type, but that has now been split out into a new struct.
Reviewed by: imp, jhibbits Sponsored by: Arm
uart: Remove the unused cd_port_subtype
This is now unused. It was used for the SPCR interface type, but that has now been split out into a new struct.
Reviewed by: imp, jhibbits Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51879
show more ...
|
| #
e822f1d6
|
| 13-Aug-2025 |
Andrew Turner <andrew@FreeBSD.org> |
uart: Add UART_ACPI_SPCR_CLASS
We don't care about most of acpi_uart_compat_data in the spcr code. Split out the mapping from the SPCR interface type to uart class into a new struct. This allows new
uart: Add UART_ACPI_SPCR_CLASS
We don't care about most of acpi_uart_compat_data in the spcr code. Split out the mapping from the SPCR interface type to uart class into a new struct. This allows new SPCR interface types to be added that don't have an entry in the DSDT, e.g. some PCI uarts may not.
Reviewed by: imp, jhibbits Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51878
show more ...
|
| #
5db3699b
|
| 15-Jan-2025 |
Warner Losh <imp@FreeBSD.org> |
Kill ignore regshft flag
This flag was introduced to ignore bad firmware values. These were present in older versions of EDK-II that many devices (both Ampere and Amazon) used. QEMU also used this v
Kill ignore regshft flag
This flag was introduced to ignore bad firmware values. These were present in older versions of EDK-II that many devices (both Ampere and Amazon) used. QEMU also used this value, but fixed it. But since it's tied to the firmware bug not the device name ID it doesn't make sense to have it flagged there.
Sponsored by: Netflix Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D47947
show more ...
|
| #
dea3eef9
|
| 15-Jan-2025 |
Warner Losh <imp@FreeBSD.org> |
uart: Ingore pl011 historic mistakes
Some veresions of EDK-II and QEMU reported the wrong values for the register shift and the region I/O size. Detect those and set it to the correct values. In gen
uart: Ingore pl011 historic mistakes
Some veresions of EDK-II and QEMU reported the wrong values for the register shift and the region I/O size. Detect those and set it to the correct values. In general, anything other than a shift of 2 and a regio width of 4 (bytes, or 32 bits) is a mistake. However, allow for overrides in the future by only overriding the buggy values. Otherwise, we will fail to boot.
PR: 282936 Sponsored by: Netflix Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D47946
show more ...
|
| #
28ce46d8
|
| 15-Oct-2024 |
Warner Losh <imp@FreeBSD.org> |
uart/pl011: Add support for computing rclk
When instructed to do so, compute the rclk (baud rate generator clock) based on the currently programmed divisor and the communicated baud rate. We only d
uart/pl011: Add support for computing rclk
When instructed to do so, compute the rclk (baud rate generator clock) based on the currently programmed divisor and the communicated baud rate. We only do this once and only for consoles that tell us the configured rate and flag we can likely safely compute rclk.
Sponsored by: Netflix Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D47077
show more ...
|
| #
46a968ec
|
| 19-Feb-2024 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
dev/uart: name uart_class_set DATA_SET macro UART_CLASS()
Use the macro "UART_CLASS()" for the newly created data set 'uart_class_set' as we do for other data sets. This further hides the data set n
dev/uart: name uart_class_set DATA_SET macro UART_CLASS()
Use the macro "UART_CLASS()" for the newly created data set 'uart_class_set' as we do for other data sets. This further hides the data set name. Also add UART_CLASS for quicc, which was previously not done.
MFC after: 1 week Improves: 949670f8f466 dev/uart: Use a linker set to find uart classes Obtained from: jhb, https://github.com/freebsd/freebsd/commit/269e99ac86902127bfaee1500d8747a3c7be5912 Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D43981
show more ...
|
| #
53391af1
|
| 08-Jan-2024 |
Andrew Turner <andrew@FreeBSD.org> |
dev/uart: Support the pl011 uart in hw.uart.console
Add the pl011 uart to the list of supported uarts for use by hw.uart.console. This is commonly found in Arm based devices, and a variant is standa
dev/uart: Support the pl011 uart in hw.uart.console
Add the pl011 uart to the list of supported uarts for use by hw.uart.console. This is commonly found in Arm based devices, and a variant is standardised in the Arm SBSA.
Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43363
show more ...
|
| #
20289092
|
| 08-Jan-2024 |
Andrew Turner <andrew@FreeBSD.org> |
sys: Simplify enabling EARLY_PRINTF uarts
Support selecting the early uart with "options EARLY_PRINTF=foo" in the kernel configuration file. This allows us to not have to change source files when en
sys: Simplify enabling EARLY_PRINTF uarts
Support selecting the early uart with "options EARLY_PRINTF=foo" in the kernel configuration file. This allows us to not have to change source files when enabling EARLY_PRINTF, simplifying enabling it.
New uart drivers can be enabled by defining a new early_printf_foo value to be unique, then using "#if CHECK_EARLY_PRINTF(foo)" to decide when to enable the uart.
While here add pl011 early printf support.
Reviewed by: imp (earlier version) Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43360
show more ...
|
| #
fdafd315
|
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
| #
685dc743
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
| #
4d846d26
|
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
| #
f9ccec82
|
| 19-Dec-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Add support for the new Arm Generic UART _HID
Historically the ACPI _HID for both the Arm PL011 and Generic UARTs was ARMH0011. In the Arm Base Boot Requirements 2.0 the Generic UART _HID is changed
Add support for the new Arm Generic UART _HID
Historically the ACPI _HID for both the Arm PL011 and Generic UARTs was ARMH0011. In the Arm Base Boot Requirements 2.0 the Generic UART _HID is changed to ARMHB000. Use this new value in the PL011 driver where we support both UART types.
This has been observed in some recent EDK2 builds.
Sponsored by: Arm Ltd
show more ...
|
| #
bf103254
|
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
uart: clean up empty lines in .c and .h files
|
| #
7648bc9f
|
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
| #
f89f4898
|
| 15-Apr-2019 |
Ed Maste <emaste@FreeBSD.org> |
Add quirk for ignoring SPCR AccessWidth values on the PL011 UART
The SPCR table on the Lenovo HR330A Ampere eMAG server indicates 8-bit access, but 32-bit access is required for the PL011 to work.
Add quirk for ignoring SPCR AccessWidth values on the PL011 UART
The SPCR table on the Lenovo HR330A Ampere eMAG server indicates 8-bit access, but 32-bit access is required for the PL011 to work.
PL011 on SBSA platforms always supports 32-bit access (and that was hardcoded here before my EC2 fix), let's use 32-bit access for PL011 and 32BIT interface types.
Tested by emaste on Ampere eMAG and Cavium/Marvell ThunderX2.
Submitted by: Greg V <greg@unrelenting.technology> Reviewed by: andrew, imp (earlier) Differential Revision: https://reviews.freebsd.org/D19507
show more ...
|
| #
7847e041
|
| 24-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r338026 through r338297, and resolve conflicts.
|
| #
25ec7ca8
|
| 13-Aug-2025 |
Andrew Turner <andrew@FreeBSD.org> |
uart: Remove the unused cd_port_subtype
This is now unused. It was used for the SPCR interface type, but that has now been split out into a new struct.
Reviewed by: imp, jhibbits Sponsored by: Arm
uart: Remove the unused cd_port_subtype
This is now unused. It was used for the SPCR interface type, but that has now been split out into a new struct.
Reviewed by: imp, jhibbits Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51879
show more ...
|
| #
e822f1d6
|
| 13-Aug-2025 |
Andrew Turner <andrew@FreeBSD.org> |
uart: Add UART_ACPI_SPCR_CLASS
We don't care about most of acpi_uart_compat_data in the spcr code. Split out the mapping from the SPCR interface type to uart class into a new struct. This allows new
uart: Add UART_ACPI_SPCR_CLASS
We don't care about most of acpi_uart_compat_data in the spcr code. Split out the mapping from the SPCR interface type to uart class into a new struct. This allows new SPCR interface types to be added that don't have an entry in the DSDT, e.g. some PCI uarts may not.
Reviewed by: imp, jhibbits Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D51878
show more ...
|
| #
5db3699b
|
| 15-Jan-2025 |
Warner Losh <imp@FreeBSD.org> |
Kill ignore regshft flag
This flag was introduced to ignore bad firmware values. These were present in older versions of EDK-II that many devices (both Ampere and Amazon) used. QEMU also used this v
Kill ignore regshft flag
This flag was introduced to ignore bad firmware values. These were present in older versions of EDK-II that many devices (both Ampere and Amazon) used. QEMU also used this value, but fixed it. But since it's tied to the firmware bug not the device name ID it doesn't make sense to have it flagged there.
Sponsored by: Netflix Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D47947
show more ...
|
| #
dea3eef9
|
| 15-Jan-2025 |
Warner Losh <imp@FreeBSD.org> |
uart: Ingore pl011 historic mistakes
Some veresions of EDK-II and QEMU reported the wrong values for the register shift and the region I/O size. Detect those and set it to the correct values. In gen
uart: Ingore pl011 historic mistakes
Some veresions of EDK-II and QEMU reported the wrong values for the register shift and the region I/O size. Detect those and set it to the correct values. In general, anything other than a shift of 2 and a regio width of 4 (bytes, or 32 bits) is a mistake. However, allow for overrides in the future by only overriding the buggy values. Otherwise, we will fail to boot.
PR: 282936 Sponsored by: Netflix Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D47946
show more ...
|
| #
28ce46d8
|
| 15-Oct-2024 |
Warner Losh <imp@FreeBSD.org> |
uart/pl011: Add support for computing rclk
When instructed to do so, compute the rclk (baud rate generator clock) based on the currently programmed divisor and the communicated baud rate. We only d
uart/pl011: Add support for computing rclk
When instructed to do so, compute the rclk (baud rate generator clock) based on the currently programmed divisor and the communicated baud rate. We only do this once and only for consoles that tell us the configured rate and flag we can likely safely compute rclk.
Sponsored by: Netflix Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D47077
show more ...
|
| #
46a968ec
|
| 19-Feb-2024 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
dev/uart: name uart_class_set DATA_SET macro UART_CLASS()
Use the macro "UART_CLASS()" for the newly created data set 'uart_class_set' as we do for other data sets. This further hides the data set n
dev/uart: name uart_class_set DATA_SET macro UART_CLASS()
Use the macro "UART_CLASS()" for the newly created data set 'uart_class_set' as we do for other data sets. This further hides the data set name. Also add UART_CLASS for quicc, which was previously not done.
MFC after: 1 week Improves: 949670f8f466 dev/uart: Use a linker set to find uart classes Obtained from: jhb, https://github.com/freebsd/freebsd/commit/269e99ac86902127bfaee1500d8747a3c7be5912 Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D43981
show more ...
|
| #
53391af1
|
| 08-Jan-2024 |
Andrew Turner <andrew@FreeBSD.org> |
dev/uart: Support the pl011 uart in hw.uart.console
Add the pl011 uart to the list of supported uarts for use by hw.uart.console. This is commonly found in Arm based devices, and a variant is standa
dev/uart: Support the pl011 uart in hw.uart.console
Add the pl011 uart to the list of supported uarts for use by hw.uart.console. This is commonly found in Arm based devices, and a variant is standardised in the Arm SBSA.
Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43363
show more ...
|
| #
20289092
|
| 08-Jan-2024 |
Andrew Turner <andrew@FreeBSD.org> |
sys: Simplify enabling EARLY_PRINTF uarts
Support selecting the early uart with "options EARLY_PRINTF=foo" in the kernel configuration file. This allows us to not have to change source files when en
sys: Simplify enabling EARLY_PRINTF uarts
Support selecting the early uart with "options EARLY_PRINTF=foo" in the kernel configuration file. This allows us to not have to change source files when enabling EARLY_PRINTF, simplifying enabling it.
New uart drivers can be enabled by defining a new early_printf_foo value to be unique, then using "#if CHECK_EARLY_PRINTF(foo)" to decide when to enable the uart.
While here add pl011 early printf support.
Reviewed by: imp (earlier version) Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43360
show more ...
|