[PATCH v5 00/29] dm: Add programmatic generation of ACPI tables (part A)
Bin Meng
bmeng.cn at gmail.com
Wed Apr 15 16:33:36 CEST 2020
Hi Simon,
On Wed, Apr 15, 2020 at 10:25 PM Simon Glass <sjg at chromium.org> wrote:
>
> Hi Bin,
>
> On Wed, 8 Apr 2020 at 16:57, Simon Glass <sjg at chromium.org> wrote:
> >
> > This is split from the original series in an attempt to get things applied
> > in chunks.
> >
> > The first 20 or so patches here have been reviewed and the changes here
> > incorporate those comments.
> >
> > Changes in v5:
> > - Tweak unused naming and comments
> > - Capitalise ACPI_OPS_PTR since it includes a comma
> > - Capitalise ACPI_OPS_PTR since it includes a comma
> > - Update commit message to mention dropping the #ifdef CONFIG_X86
> > - Mess with the table ordering a little more
> > - Add #ifndef CONFIG_SANDBOX to maintain bisectability without merging patches
> > - Drop bisectability changes
> >
> > Changes in v4:
> > - Fix indentation of unused
> > - Calculate the padding
> > - Put 'interrupts-extended' property on one line
> > - Rename acpi-probed to linux,probed
> > - Note that linux,probed is an out-of-tree feature
> > - Move ACPI makefile line outside the ifdef CONFIG_SPL_BUILD
> > - Add a comment about the MADT table version
> > - Add SPCR
> > - Update comment to include tables defined or reserved by ACPI
> > - Drop ASL_REVISION
> > - Separate out the log newline
> > - Update comment in acpi_inc_align() to show the alignment
> > - Put back cast on table_compute_checksum()
> > - Rename list_fact() to list_fadt()
> > - Add a comment to dump_hdr()
> >
> > Changes in v3:
> > Drop acpi,name in example
> > - Fix indenting error mentioned by Andy Shevchenko
> > - Fix stray #endif
> > - Drop 'Intel' from 'Intel ACPI'
> > - Reword commit message to drop the bit about ACPI being complicated
> > - Compute ACPI_NAME_MAX from ACPI_NAME_LEN
> > - Rename acpi_return_name() to acpi_copy_name()
> > - Use strncpy() instead of strcpy() in acpi_copy_name()
> > - Split out hid-over-i2c into its own patch
> > - Drop mention of PRIC
> > - Rename acpi,desc to acpi,ddn
> > - Correct description of acpi,probed
> > - Drop hid-descr-addr
> > - Just add the device.txt binding file in this patch
> > - Change the example to ELAN
> > - Add a pointer to information about acpi,compatible
> > - Add new patch to move acpi_s3.h to include/acpi/
> > - Update commit message to say that we move most of its contents
> > - Move acpi_table.h to include/acpi
> > - Add forward declarations for the functions
> > - Fix file comment for acpi_table.c
> > - Fix a few typos
> > - Make use of BIT()
> > - Fix DMA_ typo
> > - Add missing error check in acpi_create_dmar()
> > - Drop duplicate assert
> > - Add new patch to add hexdump.h to the unit test header
> > - Rename acpi_align_large() to acpi_align64()
> > - Fix 'RSDP' typo
> > - Fix 'XDST' typo
> > - Move acpi_align_large() out of dm_test_acpi_setup_base_tables()
> > - Beef up the comment explaining how the unaligned address is used
> >
> > Changes in v2:
> > - Don't bracket the definitions with DM_SPI
> > - Add trailing commas to enum
> > - Drop the other comment change since it is already applied
> > - Drop the Chrome OS pieces
> > - Rename the 'coreboot' console to 'U-Boot'
> > - Move LOGC_ACPI definition to this patch
> > - Fix definition of HID
> > - Infer hid-over-i2c CID value
> > - Add the hid-over-i2c binding document
> > - Add in the acpi_table.h header file to this patch
> > - Move the sandbox acpi_table.h header file to an earlier patch
> > - Use #defines for MADT and MCFG version numbers
> > - Drop two unnecessary __packed
> > - Move __packed to after struct
> > - Drop definition of ACPI_TABLE_CREATOR
> > - Make _acpi_write_dev_tables() static and switch argument order
> > - Generalise the ACPI function recursion with acpi_recurse_method()
> >
> > Simon Glass (29):
> > cpu: Support querying the address width
> > spi: Add SPI mode enums
> > tpm: cr50: Release locality on exit
> > tpm: cr50: Add a comment for cr50_priv
> > tpm: cr50: Use the correct GPIO binding
> > tpm: Don't cleanup unless an error happens
> > dm: pci: Allow disabling auto-config for a device
> > x86: Correct wording of coreboot source code
> > x86: apl: Move p2sb ofdata reading to the correct method
> > pci: Adjust dm_pci_read_bar32() to return errors correctly
> > x86: apl: Add Global NVS table header
> > dm: core: Add basic ACPI support
> > dts: Add a binding for hid-over-i2c
> > acpi: Add a binding for ACPI settings in the device tree
> > acpi: Add a simple sandbox test
> > x86: Move acpi_s3.h to include/acpi/
> > x86: Move acpi_table header to main include/ directory
> > acpi: Add an __ACPI__ preprocessor symbol
> > acpi: Add a central location for table version numbers
> > acpi: Add support for DMAR
> > test: Add hexdump.h to the unit test header
> > acpi: Add a method to write tables for a device
> > acpi: Convert part of acpi_table to use acpi_ctx
> > x86: Allow devices to write ACPI tables
> > acpi: Drop code for missing XSDT from acpi_write_rsdp()
> > acpi: Move acpi_add_table() to generic code
> > acpi: Put table-setup code in its own function
> > acpi: Move the xsdt pointer to acpi_ctx
> > acpi: Add an acpi command
> >
> > arch/sandbox/dts/test.dts | 8 +
> > arch/sandbox/include/asm/acpi_table.h | 9 +
> > arch/sandbox/include/asm/global_data.h | 1 +
> > arch/x86/cpu/apollolake/cpu_spl.c | 2 +-
> > arch/x86/cpu/apollolake/fsp_s.c | 2 +-
> > arch/x86/cpu/apollolake/pmc.c | 2 +-
> > arch/x86/cpu/baytrail/acpi.c | 6 +-
> > arch/x86/cpu/coreboot/timestamp.c | 4 +-
> > arch/x86/cpu/cpu.c | 4 +-
> > arch/x86/cpu/intel_common/p2sb.c | 33 +-
> > arch/x86/cpu/quark/acpi.c | 2 +-
> > arch/x86/cpu/tangier/acpi.c | 4 +-
> > arch/x86/cpu/wakeup.S | 2 +-
> > arch/x86/dts/chromebook_coral.dts | 2 +-
> > arch/x86/include/asm/acpi_table.h | 381 +-----------
> > .../include/asm/arch-apollolake/global_nvs.h | 36 ++
> > .../x86/include/asm/arch-coreboot/timestamp.h | 4 +-
> > arch/x86/include/asm/global_data.h | 1 +
> > arch/x86/include/asm/intel_pinctrl_defs.h | 2 -
> > arch/x86/lib/acpi.c | 2 +-
> > arch/x86/lib/acpi_s3.c | 4 +-
> > arch/x86/lib/acpi_table.c | 241 ++------
> > arch/x86/lib/coreboot_table.c | 2 +-
> > arch/x86/lib/fsp/fsp_common.c | 2 +-
> > arch/x86/lib/fsp1/fsp_common.c | 2 +-
> > arch/x86/lib/fsp2/fsp_dram.c | 2 +-
> > arch/x86/lib/tables.c | 2 +-
> > arch/x86/lib/zimage.c | 2 +-
> > cmd/Kconfig | 14 +
> > cmd/Makefile | 1 +
> > cmd/acpi.c | 186 ++++++
> > configs/tools-only_defconfig | 1 +
> > doc/device-tree-bindings/device.txt | 36 ++
> > .../gpio/intel,apl-gpio.txt | 2 +-
> > .../input/hid-over-i2c.txt | 44 ++
> > .../interrupt-controller/intel,acpi-gpe.txt | 2 +-
> > doc/device-tree-bindings/pci/x86-pci.txt | 23 +
> > drivers/core/Kconfig | 9 +
> > drivers/core/Makefile | 1 +
> > drivers/core/acpi.c | 95 +++
> > drivers/cpu/cpu_sandbox.c | 1 +
> > drivers/pci/pci-uclass.c | 11 +-
> > drivers/pci/pci_rom.c | 4 +-
> > drivers/power/acpi_pmc/acpi-pmc-uclass.c | 2 +-
> > drivers/sysreset/sysreset_x86.c | 2 +-
> > drivers/tpm/cr50_i2c.c | 24 +-
> > drivers/tpm/tpm-uclass.c | 13 +-
> > include/{ => acpi}/acpi_s3.h | 0
> > include/acpi/acpi_table.h | 577 ++++++++++++++++++
> > include/cpu.h | 2 +
> > include/dm/acpi.h | 114 ++++
> > include/dm/device.h | 5 +
> > include/dm/uclass-id.h | 1 +
> > include/log.h | 2 +
> > include/spi.h | 33 +
> > include/test/ut.h | 1 +
> > lib/Makefile | 1 +
> > lib/acpi/Makefile | 4 +
> > lib/acpi/acpi_table.c | 259 ++++++++
> > lib/efi_loader/efi_acpi.c | 2 +-
> > scripts/Makefile.lib | 4 +-
> > test/dm/Makefile | 1 +
> > test/dm/acpi.c | 317 ++++++++++
> > test/dm/cpu.c | 1 +
> > 64 files changed, 1921 insertions(+), 638 deletions(-)
> > create mode 100644 arch/sandbox/include/asm/acpi_table.h
> > create mode 100644 arch/x86/include/asm/arch-apollolake/global_nvs.h
> > create mode 100644 cmd/acpi.c
> > create mode 100644 doc/device-tree-bindings/device.txt
> > create mode 100644 doc/device-tree-bindings/input/hid-over-i2c.txt
> > create mode 100644 drivers/core/acpi.c
> > rename include/{ => acpi}/acpi_s3.h (100%)
> > create mode 100644 include/acpi/acpi_table.h
> > create mode 100644 include/dm/acpi.h
> > create mode 100644 lib/acpi/Makefile
> > create mode 100644 lib/acpi/acpi_table.c
> > create mode 100644 test/dm/acpi.c
>
> Any thoughts on this series and the chain-loading one please?
>
> I would like to move on to part B.
Yes, I am looking at this series. Please see my reply in another thread.
Regards,
Bin
More information about the U-Boot
mailing list