[U-Boot] [PATCH 4/8] x86: fsp: Rename shared_data to fsp_config_data
Simon Glass
sjg at chromium.org
Wed Dec 2 22:05:51 CET 2015
Hi Bin,
On 2 December 2015 at 01:59, Bin Meng <bmeng.cn at gmail.com> wrote:
> FSP has several config data like UPD, HDA verb table which can be
> overridden or provided by bootloader. Currently in U-Boot only UPD
> is handled via struct shared_data. To accommodate any platform, we
> rename shared_data to fsp_config_data and move the definition from
> common place fsp_support.h to platform-specific place fsp_configs.h.
>
> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
> ---
>
> arch/x86/include/asm/arch-baytrail/fsp/fsp_configs.h | 17 +++++++++++++++++
> arch/x86/include/asm/arch-queensbay/fsp/fsp_configs.h | 17 +++++++++++++++++
> arch/x86/include/asm/fsp/fsp_support.h | 8 +-------
> arch/x86/lib/fsp/fsp_support.c | 10 +++++-----
> 4 files changed, 40 insertions(+), 12 deletions(-)
> create mode 100644 arch/x86/include/asm/arch-baytrail/fsp/fsp_configs.h
> create mode 100644 arch/x86/include/asm/arch-queensbay/fsp/fsp_configs.h
>
> diff --git a/arch/x86/include/asm/arch-baytrail/fsp/fsp_configs.h b/arch/x86/include/asm/arch-baytrail/fsp/fsp_configs.h
> new file mode 100644
> index 0000000..2397553
> --- /dev/null
> +++ b/arch/x86/include/asm/arch-baytrail/fsp/fsp_configs.h
> @@ -0,0 +1,17 @@
> +/*
> + * Copyright (C) 2015, Bin Meng <bmeng.cn at gmail.com>
> + *
> + * SPDX-License-Identifier: Intel
> + */
> +
> +#ifndef __FSP_CONFIGS_H__
> +#define __FSP_CONFIGS_H__
Does this justify its own header file? I suppose it does...we have too
many fsp header files and I never know which file contains a
particular struct definition.
> +
> +struct fsp_config_data {
> + struct fsp_header *fsp_hdr;
> + u32 stack_top;
> + u32 boot_mode;
> + struct upd_region fsp_upd;
These are common - should we have a common struct as the first member?
I'm just struggling to understand the benefit of duplicating this
common thing into separate files.
> +};
> +
> +#endif /* __FSP_CONFIGS_H__ */
> diff --git a/arch/x86/include/asm/arch-queensbay/fsp/fsp_configs.h b/arch/x86/include/asm/arch-queensbay/fsp/fsp_configs.h
> new file mode 100644
> index 0000000..2397553
> --- /dev/null
> +++ b/arch/x86/include/asm/arch-queensbay/fsp/fsp_configs.h
> @@ -0,0 +1,17 @@
> +/*
> + * Copyright (C) 2015, Bin Meng <bmeng.cn at gmail.com>
> + *
> + * SPDX-License-Identifier: Intel
> + */
> +
> +#ifndef __FSP_CONFIGS_H__
> +#define __FSP_CONFIGS_H__
> +
> +struct fsp_config_data {
> + struct fsp_header *fsp_hdr;
> + u32 stack_top;
> + u32 boot_mode;
> + struct upd_region fsp_upd;
> +};
> +
> +#endif /* __FSP_CONFIGS_H__ */
> diff --git a/arch/x86/include/asm/fsp/fsp_support.h b/arch/x86/include/asm/fsp/fsp_support.h
> index 18e2d21..39b2864 100644
> --- a/arch/x86/include/asm/fsp/fsp_support.h
> +++ b/arch/x86/include/asm/fsp/fsp_support.h
> @@ -17,13 +17,7 @@
> #include "fsp_infoheader.h"
> #include "fsp_bootmode.h"
> #include <asm/arch/fsp/fsp_vpd.h>
> -
> -struct shared_data {
> - struct fsp_header *fsp_hdr;
> - u32 stack_top;
> - u32 boot_mode;
> - struct upd_region fsp_upd;
> -};
> +#include <asm/arch/fsp/fsp_configs.h>
>
> #define FSP_LOWMEM_BASE 0x100000UL
> #define FSP_HIGHMEM_BASE 0x100000000ULL
> diff --git a/arch/x86/lib/fsp/fsp_support.c b/arch/x86/lib/fsp/fsp_support.c
> index 083d855..9da720b 100644
> --- a/arch/x86/lib/fsp/fsp_support.c
> +++ b/arch/x86/lib/fsp/fsp_support.c
> @@ -99,7 +99,7 @@ void fsp_continue(u32 status, void *hob_list)
>
> void fsp_init(u32 stack_top, u32 boot_mode, void *nvs_buf)
> {
> - struct shared_data shared_data;
> + struct fsp_config_data config_data;
> fsp_init_f init;
> struct fsp_init_params params;
> struct fspinit_rtbuf rt_buf;
> @@ -118,7 +118,7 @@ void fsp_init(u32 stack_top, u32 boot_mode, void *nvs_buf)
> panic("Invalid FSP header");
> }
>
> - fsp_upd = &shared_data.fsp_upd;
> + fsp_upd = &config_data.fsp_upd;
> memset(&rt_buf, 0, sizeof(struct fspinit_rtbuf));
>
> /* Reserve a gap in stack top */
> @@ -151,9 +151,9 @@ void fsp_init(u32 stack_top, u32 boot_mode, void *nvs_buf)
> init = (fsp_init_f)(fsp_hdr->img_base + fsp_hdr->fsp_init);
> params_ptr = ¶ms;
>
> - shared_data.fsp_hdr = fsp_hdr;
> - shared_data.stack_top = stack_top;
> - shared_data.boot_mode = boot_mode;
> + config_data.fsp_hdr = fsp_hdr;
> + config_data.stack_top = stack_top;
> + config_data.boot_mode = boot_mode;
>
> post_code(POST_PRE_MRC);
>
> --
> 1.8.2.1
>
Regards,
Simon
More information about the U-Boot
mailing list