[PATCH 33/67] x86: Align the SMBIOS table to a 4K boundary

Heinrich Schuchardt xypron.glpk at gmx.de
Fri Jan 3 16:10:02 CET 2025


On 01.01.25 23:09, Simon Glass wrote:
> This isn't strictly needed, but with UPL we use the reserved-memory
> nodes to indicate where the SMBIOS table is. Tianocore requires 4KB

Nits:

%s/4KB/4 KiB/

Cf. https://physics.nist.gov/cuu/Units/binary.html

> alignment on these regions, so it is easier to adjust the alignment
> to match.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
>   arch/x86/lib/tables.c | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c
> index 5fc7dc75377..3978945a5ad 100644
> --- a/arch/x86/lib/tables.c
> +++ b/arch/x86/lib/tables.c
> @@ -16,6 +16,7 @@
>   #include <asm/tables.h>
>   #include <asm/coreboot_tables.h>
>   #include <linux/log2.h>
> +#include <linux/sizes.h>
>
>   DECLARE_GLOBAL_DATA_PTR;
>
> @@ -62,7 +63,11 @@ static struct table_info table_list[] = {
>   	{ "acpi", write_acpi_tables, BLOBLISTT_ACPI_TABLES, 0x10000, 0x1000},
>   #endif
>   #ifdef CONFIG_GENERATE_SMBIOS_TABLE
> -	{ "smbios", write_smbios_table, BLOBLISTT_SMBIOS_TABLES, 0x1000, 0x100},
> +	/*
> +	 * align this to a 4KB boundary, since UPL adds a reserved-memory node
> +	 * for it
> +	 */
> +	{ "smbios", write_smbios_table, BLOBLISTT_SMBIOS_TABLES, SZ_4K, 0x1000},

Please, avoid using once SZ_4K and once 0x1000 when expressing the same
number.

If you want to go with SZ_4K, please, also change the ACPI table entry
to use SZ_16K and SZ_4K to be consistent.

Best regards

Heinrich

>   #endif
>   };
>



More information about the U-Boot mailing list