Here's version 3 of patch series. V1: The FFI (FDT FIRMWARE INTERFACE) scheme has reached a consensus with the Maintainers. Please refer to: https://patches.linaro.org/project/linux-acpi/patch/20230426034001.16-1-cuiyunhui@xxxxxxxxxxxxx/ Changes v1->v2: Adjusted the code structure, put the ACPI part under the RISC-V architecture, and put the general part of obtaining SMBIOS entry through FFI under driver/firmware/. Please refer to: https://lore.kernel.org/lkml/20230703-71f67eb66a037f5c0fb825c6@orel/T/ Changes v2->v3: According to the suggestions of maintainers, the code has been modified as follows: 1. Modified the commit log. 2. Added description of "ffitbl" subnod in dt-bindings. 3. Add stub function to the function 4. arch/riscv/ and driver/firmware/ use CONFIG_FDT_FW_INTERFACE to control 5. Modified the ffi_smbios_root_pointer() function logic and printing etc. Yunhui Cui (4): riscv: obtain ACPI RSDP from devicetree firmware: introduce FFI for SMBIOS entry riscv: obtain SMBIOS entry from FFI dt-bindings: firmware: Document ffitbl binding .../devicetree/bindings/firmware/ffitbl.txt | 27 ++++++ MAINTAINERS | 13 +++ arch/riscv/include/asm/acpi.h | 9 ++ arch/riscv/include/asm/ffi.h | 14 +++ arch/riscv/kernel/Makefile | 1 + arch/riscv/kernel/ffi.c | 40 ++++++++ arch/riscv/kernel/setup.c | 2 + drivers/firmware/Kconfig | 11 +++ drivers/firmware/Makefile | 1 + drivers/firmware/dmi_scan.c | 97 +++++++++++-------- drivers/firmware/ffi.c | 42 ++++++++ include/linux/ffi.h | 29 ++++++ 12 files changed, 246 insertions(+), 40 deletions(-) create mode 100644 Documentation/devicetree/bindings/firmware/ffitbl.txt create mode 100644 arch/riscv/include/asm/ffi.h create mode 100644 arch/riscv/kernel/ffi.c create mode 100644 drivers/firmware/ffi.c create mode 100644 include/linux/ffi.h -- 2.20.1