On Fri, Oct 4, 2019 at 11:06 AM Bin Meng <bmeng...@gmail.com> wrote: > > On Wed, Oct 2, 2019 at 10:07 PM Bin Meng <bmeng...@gmail.com> wrote: > > > > Hi Simon, > > > > On Wed, Sep 25, 2019 at 10:13 PM Simon Glass <s...@chromium.org> wrote: > > > > > > The useable RAM is calculated when the RAM is inited. Save this value so > > > that it can be easily used in U-Boot proper. > > > > > > Also save a pointer to the hob list so that it is accessible (before > > > relocation only) in U-Boot proper. This avoids having to scan it in SPL, > > > for everything U-Boot proper might need later. > > > > > > Signed-off-by: Simon Glass <s...@chromium.org> > > > --- > > > > > > Changes in v2: None > > > > > > arch/x86/cpu/intel_common/cpu_from_spl.c | 6 ++++++ > > > arch/x86/include/asm/handoff.h | 8 ++++++++ > > > arch/x86/lib/fsp/fsp_dram.c | 10 ++++++++++ > > > 3 files changed, 24 insertions(+) > > > > > > diff --git a/arch/x86/cpu/intel_common/cpu_from_spl.c > > > b/arch/x86/cpu/intel_common/cpu_from_spl.c > > > index a6233c75ce2..b7bb524162f 100644 > > > --- a/arch/x86/cpu/intel_common/cpu_from_spl.c > > > +++ b/arch/x86/cpu/intel_common/cpu_from_spl.c > > > @@ -6,6 +6,7 @@ > > > #include <common.h> > > > #include <dm.h> > > > #include <errno.h> > > > +#include <handoff.h> > > > #include <asm/cpu_common.h> > > > #include <asm/intel_regs.h> > > > #include <asm/lapic.h> > > > @@ -21,6 +22,11 @@ int arch_cpu_init(void) > > > { > > > int ret; > > > > > > +#if CONFIG_IS_ENABLED(HANDOFF) && IS_ENABLED(CONFIG_USE_HOB) > > > + struct spl_handoff *ho = gd->spl_handoff; > > > + > > > + gd->arch.hob_list = ho->arch.hob_list; > > > > We should guard the access to gd->arch.hob_list with #ifdef CONFIG_USE_HOB. > > > > > +#endif > > > ret = x86_cpu_reinit_f(); > > > > > > return ret; > > > diff --git a/arch/x86/include/asm/handoff.h > > > b/arch/x86/include/asm/handoff.h > > > index 4d18d59efed..aec49b9b815 100644 > > > --- a/arch/x86/include/asm/handoff.h > > > +++ b/arch/x86/include/asm/handoff.h > > > @@ -9,7 +9,15 @@ > > > #ifndef __x86_asm_handoff_h > > > #define __x86_asm_handoff_h > > > > > > +/** > > > + * struct arch_spl_handoff - architecture-specific handoff info > > > + * > > > + * @usable_ram_top: Value returned by board_get_usable_ram_top() in SPL > > > + * @hob_list: Start of FSP hand-off blocks (HOBs) > > > + */ > > > struct arch_spl_handoff { > > > + ulong usable_ram_top; > > > + void *hob_list; > > > > ditto > > > > > }; > > > > > > #endif > > > diff --git a/arch/x86/lib/fsp/fsp_dram.c b/arch/x86/lib/fsp/fsp_dram.c > > > index 8fe1e0bf73d..38cc25839ec 100644 > > > --- a/arch/x86/lib/fsp/fsp_dram.c > > > +++ b/arch/x86/lib/fsp/fsp_dram.c > > > @@ -88,3 +88,13 @@ unsigned int install_e820_map(unsigned int max_entries, > > > > > > return num_entries; > > > } > > > + > > > +#if CONFIG_IS_ENABLED(HANDOFF) > > > +int handoff_arch_save(struct spl_handoff *ho) > > > +{ > > > + ho->arch.usable_ram_top = > > > fsp_get_usable_lowmem_top(gd->arch.hob_list); > > > + ho->arch.hob_list = gd->arch.hob_list; > > > > ditto > > > > > + > > > + return 0; > > > +} > > > +#endif > > > -- > > > > I will fix the above issues when applying. >
Fixed the issues, and > Reviewed-by: Bin Meng <bmeng...@gmail.com> applied to u-boot-x86/next, thanks! _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot