[PATCH v3 1/2] x86: coreboot: Update cbmem table

Bin Meng bmeng.cn at gmail.com
Mon Sep 4 05:07:19 CEST 2023


Hi Simon,

On Thu, Aug 17, 2023 at 9:58 AM Simon Glass <sjg at chromium.org> wrote:
>
> This changed a few years ago to include an overflow flag. Bring in the
> new structure.

s/This/Coreboot

"Bring in the new structure" does not sound correct to me. The
structure is not changed. It's adding a comment block and some bit
fields.

The commit summary is not accurately reflecting what is changed in
this patch. How about:

x86: coreboot: Document cbmem console struct

>
> This comes from coreboot commit:
>
>    6f5ead14b4 ("mb/google/nissa/var/joxer: Update eMMC DLL settings")
>
> Note: There are several implementations of this in coreboot. I have chosen
> to follow the one in src/lib/cbmem_console.c
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> Changes in v3:
> - Drop __packed as it does nothing useful
>
>  arch/x86/include/asm/coreboot_tables.h | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/include/asm/coreboot_tables.h b/arch/x86/include/asm/coreboot_tables.h
> index 4de137fbab9d..0dfb64babb96 100644
> --- a/arch/x86/include/asm/coreboot_tables.h
> +++ b/arch/x86/include/asm/coreboot_tables.h
> @@ -299,11 +299,24 @@ struct cb_vdat {
>  #define CB_TAG_TIMESTAMPS              0x0016
>  #define CB_TAG_CBMEM_CONSOLE           0x0017
>
> +#define CBMC_CURSOR_MASK       ((1 << 28) - 1)
> +#define CBMC_OVERFLOW          BIT(31)
> +
> +/*
> + * struct cbmem_console - In-memory console buffer for coreboot
> + *
> + * Structure describing console buffer. It is overlaid on a flat memory area,
> + * with body covering the extent of the memory. Once the buffer is full,
> + * output will wrap back around to the start of the buffer. The high bit of the
> + * cursor field gets set to indicate that this happened. If the underlying
> + * storage allows this, the buffer will persist across multiple boots and append
> + * to the previous log.
> + */
>  struct cbmem_console {
>         u32 size;
>         u32 cursor;
> -       char body[0];
> -} __packed;
> +       u8  body[0];
> +};
>
>  #define CB_TAG_MRC_CACHE               0x0018
>
> --

Regards,
Bin


More information about the U-Boot mailing list