
Dear Bin:
Firstly: I know that acpi about x86 is existing. And it is usefull for x86 platfporm. If it is used to arm platform,some modification may have to do. For example,facs table is useless for arm.
In adition,The acpi table is writed statically and then modified dynamically in my patch. It is a new method.
I want to consult that whether my method is helpful or not.
Secondly: If i want to reuse the x86-acpi. I will overwrite the write_acpi_tables function. But the definition about acpi strcuture is placed in arch/x86/include/asm directory. It can not be used to arm plateform. If the acpi library need to surport for all platform,i think it should move to /include directory.
Thank you Steven Hao
获取 Outlook for iOShttps://aka.ms/o0ukef ________________________________ 发件人: Bin Meng bmeng.cn@gmail.com 发送时间: Thursday, November 21, 2019 11:18:24 PM 收件人: Steven Hao steven_hao5189@outlook.com 抄送: xypron.glpk@gmx.de xypron.glpk@gmx.de; liuhao@phytium.com.cn liuhao@phytium.com.cn; agraf@csgraf.de agraf@csgraf.de; jagan@amarulasolutions.com jagan@amarulasolutions.com; marek.vasut@gmail.com marek.vasut@gmail.com; sr@denx.de sr@denx.de; patrice.chotard@st.com patrice.chotard@st.com; afd@ti.com afd@ti.com; horatiu.vultur@microchip.com horatiu.vultur@microchip.com; narmstrong@baylibre.com narmstrong@baylibre.com; ryder.lee@mediatek.com ryder.lee@mediatek.com; igor.opaniuk@gmail.com igor.opaniuk@gmail.com; patrick.delaunay@st.com patrick.delaunay@st.com; eugen.hristev@microchip.com eugen.hristev@microchip.com; sjg@chromium.org sjg@chromium.org; judge.packham@gmail.com judge.packham@gmail.com; yamada.masahiro@socionext.com yamada.masahiro@socionext.com; swarren@nvidia.com swarren@nvidia.com; michal.simek@xilinx.com michal.simek@xilinx.com; u-boot@lists.denx.de u-boot@lists.denx.de; Andy Shevchenko andriy.shevchenko@linux.intel.com 主题: Re: [PATCH v3] arm: add acpi support for the arm
Hi Steven,
On Wed, Nov 20, 2019 at 4:41 PM Steven Hao steven_hao5189@outlook.com wrote:
This adds acpi code for arm and the acpi tables about Phytium Durian Board. The acpi table only support rsdp, rsdt, xsdt, fadt, dsdt, ssdt, gtdt, madt, mcfg, iort, spcr.
Signed-off-by: Steven Hao steven_hao5189@outlook.com
Changes for v3:
- modify arch/arm/Kconfig
- modify lib/efi_loader/efi_setup.c
Changes for v2:
- execute git pull --rebase
MAINTAINERS | 3 + Makefile | 1 + arch/arm/Kconfig | 69 ++ arch/arm/include/asm/acpi_table.h | 39 ++ arch/arm/include/asm/acpi_table/acpi61.h | 755 +++++++++++++++++++++ arch/arm/include/asm/acpi_table/acpi_lib.h | 89 +++ arch/arm/include/asm/acpi_table/arm_platform.h | 93 +++ .../include/asm/acpi_table/io_remapping_table.h | 179 +++++ arch/arm/include/asm/acpi_table/spcr_table.h | 175 +++++ arch/arm/lib/Makefile | 1 + arch/arm/lib/acpi_table.c | 244 +++++++ board/phytium/durian/Makefile | 18 + board/phytium/durian/acpi_platform.h | 38 ++ board/phytium/durian/acpi_table.c | 53 ++ board/phytium/durian/acpi_table/dsdt.asl | 305 +++++++++ board/phytium/durian/acpi_table/fadt.c | 83 +++ board/phytium/durian/acpi_table/gtdt.c | 81 +++ board/phytium/durian/acpi_table/iort.c | 117 ++++ board/phytium/durian/acpi_table/madt.c | 69 ++ board/phytium/durian/acpi_table/mcfg.c | 68 ++ board/phytium/durian/acpi_table/rsdp.c | 25 + board/phytium/durian/acpi_table/rsdt.c | 28 + board/phytium/durian/acpi_table/spcr.c | 78 +++ board/phytium/durian/acpi_table/ssdt.asl | 190 ++++++ board/phytium/durian/acpi_table/xsdt.c | 31 + cmd/bootefi.c | 6 +- configs/durian_defconfig | 9 + include/configs/durian.h | 8 +- lib/efi_loader/Makefile | 1 + lib/efi_loader/efi_setup.c | 2 +- scripts/Makefile.lib | 8 + 31 files changed, 2860 insertions(+), 6 deletions(-) create mode 100644 arch/arm/include/asm/acpi_table.h create mode 100644 arch/arm/include/asm/acpi_table/acpi61.h create mode 100644 arch/arm/include/asm/acpi_table/acpi_lib.h create mode 100644 arch/arm/include/asm/acpi_table/arm_platform.h create mode 100644 arch/arm/include/asm/acpi_table/io_remapping_table.h create mode 100644 arch/arm/include/asm/acpi_table/spcr_table.h create mode 100644 arch/arm/lib/acpi_table.c create mode 100644 board/phytium/durian/acpi_platform.h create mode 100644 board/phytium/durian/acpi_table.c create mode 100644 board/phytium/durian/acpi_table/dsdt.asl create mode 100644 board/phytium/durian/acpi_table/fadt.c create mode 100644 board/phytium/durian/acpi_table/gtdt.c create mode 100644 board/phytium/durian/acpi_table/iort.c create mode 100644 board/phytium/durian/acpi_table/madt.c create mode 100644 board/phytium/durian/acpi_table/mcfg.c create mode 100644 board/phytium/durian/acpi_table/rsdp.c create mode 100644 board/phytium/durian/acpi_table/rsdt.c create mode 100644 board/phytium/durian/acpi_table/spcr.c create mode 100644 board/phytium/durian/acpi_table/ssdt.asl create mode 100644 board/phytium/durian/acpi_table/xsdt.c
As discussed in the v1 thread, please consider the existing x86 ACPI support. Also, please try to split this single patch into various small, independent patches.
Regards, Bin