Re: [PATCH v3 21/30] common: Enable BLOBLIST_TABLES on arm

From: Simon Glass
Date: Wed Sep 11 2024 - 20:59:06 EST


On Wed, 11 Sept 2024 at 00:29, Patrick Rudolph
<patrick.rudolph@xxxxxxxxxxxxx> wrote:
>
> Allow to use BLOBLIST_TABLES on arm to store ACPI or other tables.
>
> Signed-off-by: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx>
> Cc: Tom Rini <trini@xxxxxxxxxxxx>
> ---
> common/Kconfig | 1 +
> lib/Kconfig | 15 +++++++++------
> 2 files changed, 10 insertions(+), 6 deletions(-)

Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx>


>
> diff --git a/common/Kconfig b/common/Kconfig
> index 83c81edac2..a864e24508 100644
> --- a/common/Kconfig
> +++ b/common/Kconfig
> @@ -1075,6 +1075,7 @@ config BLOBLIST_SIZE_RELOC
> hex "Size of bloblist after relocation"
> default BLOBLIST_SIZE if BLOBLIST_FIXED || BLOBLIST_ALLOC
> default 0x0 if BLOBLIST_PASSAGE
> + default 0x20000 if (ARM && EFI_LOADER && GENERATE_ACPI_TABLE)
> help
> Sets the size of the bloblist in bytes after relocation. Since U-Boot
> has a lot more memory available then, it is possible to use a larger
> diff --git a/lib/Kconfig b/lib/Kconfig
> index 2059219a12..ea444354eb 100644
> --- a/lib/Kconfig
> +++ b/lib/Kconfig
> @@ -983,12 +983,15 @@ menu "System tables"
>
> config BLOBLIST_TABLES
> bool "Put tables in a bloblist"
> - depends on X86 && BLOBLIST
> - help
> - Normally tables are placed at address 0xf0000 and can be up to 64KB
> - long. With this option, tables are instead placed in the bloblist
> - with a pointer from 0xf0000. The size can then be larger and the
> - tables can be placed high in memory.
> + depends on BLOBLIST
> + default y if (ARM && EFI_LOADER && GENERATE_ACPI_TABLE)
> + default n
> + help
> + On x86 normally tables are placed at address 0xf0000 and can be up
> + to 64KB long. With this option, tables are instead placed in the
> + bloblist with a pointer from 0xf0000. The size can then be larger

Since you are changing this, you might as well drop the 0x here as it
is implied in U-Boot.

> + and the tables can be placed high in memory.
> + On other architectures the tables are always placed in high memory.
>
> config GENERATE_SMBIOS_TABLE
> bool "Generate an SMBIOS (System Management BIOS) table"
> --
> 2.46.0
>

Regards,
Simon