On 6/5/23 18:36, Hanjun Guo wrote:
On 2023/6/2 5:31, Dave Jiang wrote:
v3:
- Move common code to lib/fw_table.c
v2:
- Split out with CONFIG_ACPI_TABLES_LIB to be independent
- Fixed 0-day issues
- Change CDAT releveant names to prefix with cdat/CDAT instead of
acpi/ACPI. (Jonathan)
- Make table_header a union with cdat table header instead of
'acpi_table_header'. (Jonathan)
- Removed ACPI_SIG_CDAT, already defined.
Hi Rafael,
Please consider ack these patches. Dan can take these through the CXL
tree. After
attempting to rename the cxl_ prefixes of functions and non ACPICA
data structures
to something more common, it seems that significant amount of ACPI
code would be
touched for the rename. For this series I left it alone in order to
have the minimal
changes to ACPI code.
I've broken out the "cxl: Add support for QTG ID retrieval for CXL
subsystem" [1]
series in order to make it more manageable. Here's the first part of
the ACPI
changes. These changes are added to allow reuse of ACPI tables code
to parse
the CDAT tables. While CDAT is not part of ACPI, the table structures
are similar
to ACPI layouts that the code can be reused with some small
modifications.
However, in order to be properly utilized by CXL users, the tables
code needs
to be refactored out to be independent of ACPI. For example, a PPC BE
host may
have CXL and does not have ACPI support. But it will have CDAT to
read from
devices and switches. I have created CONFIG_ACPI_TABLES_LIB in order
to allow
the common code to be independent. 0-day seems to be happy now for
all the
different configs and archs.
1/4: Split out the common code from drivers/acpi/tables.c to
lib/fw_table.c
2/4: Add CDAT support
3,4/4: These two are minor patches that has ACPICA impact. Has been
merged into
the ACPICA git repo [3].
The whole series is at [2] for convenience.
[1]:
https://lore.kernel.org/linux-cxl/168193556660.1178687.15477509915255912089.stgit@djiang5-mobl3/T/#t
[2]:
https://git.kernel.org/pub/scm/linux/kernel/git/djiang/linux.git/log/?h=cxl-qtg
[3]: https://github.com/acpica/acpica/pull/874
---
Dave Jiang (4):
acpi: Move common tables helper functions to common lib
lib/firmware_table: tables: Add CDAT table parsing support
acpi: fix misnamed define for CDAT DSMAS
acpi: Add defines for CDAT SSLBIS
drivers/acpi/Kconfig | 1 +
drivers/acpi/tables.c | 178 +----------------------------
include/acpi/actbl1.h | 5 +-
include/linux/acpi.h | 22 +---
include/linux/fw_table.h | 52 +++++++++
lib/Kconfig | 3 +
lib/Makefile | 2 +
lib/fw_table.c | 236 +++++++++++++++++++++++++++++++++++++++
Who will maintain this file? since it's the core function of parsing
ACPI tables, I would like the update of this file in the future will
Cc ACPI mailing list.
I can add a MAINTAINERS entry. Since the original code is from ACPI, it
can be maintained by ACPI subsystem.
Thanks
Hanjun