[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/8] serial: Add MMIO & SPCR support
From: |
Benjamin Herrenschmidt |
Subject: |
[PATCH v2 0/8] serial: Add MMIO & SPCR support |
Date: |
Fri, 23 Dec 2022 12:47:51 +1100 |
This series adds support for MMIO serial ports and auto-configuration
via ACPI SPCR.
This is necessary for the serial port to work on AWS EC2 "metal" x86
systems.
An MMIO serial port can be specified explicitely using the
"mmio," prefix for the --port argument to the 'serial' command,
the register access size can also be specified via a suffix,
and when 'serial' is used without arguments, it will try to use
an ACPI SPCR entry (if any) to add the default port and configure
it appropriately (speed, parity etc...)
This was tested using SPCR on an actual c5.metal instance, and using
explicit instanciation via serial -p mmioXXXXXXXX on a modified qemu
hacked to create MMIO PCI serial ports and to create a SPCR ACPI table.
The insipiration was an original implementation by
Matthias Lange ! matthias.lange at kernkonzept.com
However, the code was rewritten pretty much from scratch.
v2: This version (hopefully) addresses all the review commments and
has been rebased on the latest master branch.
v3: - Remove change to grub_cmd_serial() in patch 3, it serves no
purpose at this stage in the series.
- Rework string parsing so that patch 7 only affects new code
and goes back to using sizeof (...) - 1.
- Fix MMIO port matching to search again without the acccess
size prefix before creating a new port
- Move tentative changes to existing code to a separate series
- [PATCH v2 1/8] acpi: Export a generic grub_acpi_find_table, (continued)
- [PATCH v2 1/8] acpi: Export a generic grub_acpi_find_table, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v2 2/8] acpi: Add SPCR and generic address definitions, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v2 3/8] ns8250: Add base support for MMIO UARTs, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v2 5/8] ns8250: Add configuration parameter when adding ports, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v2 4/8] ns8250: Move base clock definition to a header, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v2 8/8] serial: Add ability to specify MMIO ports via 'serial', Benjamin Herrenschmidt, 2022/12/22
- [PATCH v2 6/8] ns8250: Use ACPI SPCR table when available to configure serial, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v2 7/8] ns8250: Support more MMIO access sizes, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v2 0/8] serial: Add MMIO & SPCR support,
Benjamin Herrenschmidt <=
- [PATCH v3 2/8] acpi: Add SPCR and generic address definitions, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v3 1/8] acpi: Export a generic grub_acpi_find_table, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v3 3/8] ns8250: Add base support for MMIO UARTs, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v3 4/8] ns8250: Move base clock definition to a header, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v3 5/8] ns8250: Add configuration parameter when adding ports, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v3 6/8] ns8250: Use ACPI SPCR table when available to configure serial, Benjamin Herrenschmidt, 2022/12/22
- [PATCH v3 8/8] serial: Add ability to specify MMIO ports via 'serial', Benjamin Herrenschmidt, 2022/12/22
- [PATCH v3 7/8] ns8250: Support more MMIO access sizes, Benjamin Herrenschmidt, 2022/12/22