[U-Boot] [PATCH v3 01/11] armv8: Add global variable resv_ram
Simon Glass
sjg at chromium.org
Sun Mar 12 20:21:32 UTC 2017
Hi York,
On 3 March 2017 at 09:38, york sun <york.sun at nxp.com> wrote:
>
> On 03/02/2017 08:53 PM, Simon Glass wrote:
> > Hi York,
> >
> > On 1 March 2017 at 12:32, York Sun <york.sun at nxp.com> wrote:
> >> Use gd->arch.resv_ram to track reserved memory allocation.
> >>
> >> Signed-off-by: York Sun <york.sun at nxp.com>
> >> ---
> >>
> >> Changes in v3: None
> >> Changes in v2: None
> >>
> >> arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 6 ++++++
> >> arch/arm/include/asm/global_data.h | 3 +++
> >> cmd/bdinfo.c | 4 ++++
> >> 3 files changed, 13 insertions(+)
> >>
> >> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> >> index adccdf1..a40556f 100644
> >> --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> >> +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
> >> @@ -273,6 +273,12 @@ config SYS_FSL_SDHC_CLK_DIV
> >> clock, in another word SDHC_clk = Platform_clk / this_divider.
> >> endmenu
> >>
> >> +config RESV_RAM_TOP
> >> + bool
> >> + help
> >> + Reserve memory from the top, tracked by gd->arch.resv_ram. It's up
> >> + to implementation to allow access to this reserved memory or not.
> >
> > This is not sufficiently descriptive IMO. What is it used for? What do
> > you mean by 'from the top'? What is the top?
>
> Simon,
>
> How about renaming it to RESV_RAM?
>
> config RESV_RAM
> bool
> help
> Reserve memory from the RAM, tracked by gd->arch.resv_ram.
> This reserved RAM can be used by special driver that resides
> in memory after U-Boot exits. It's up to the implementation
> to allocate and allow access to this reserved memory. For
> example, the reserved RAM can be at the high end of physical
> memory. The reserved RAM may be excluded from the memory
> bank(s) passed to OS, or marked as reserved.
OK, or perhaps RESERVED_RAM.
In the description you say 'can be' and 'may me'. What determines
whether it is or not?
>
> >
> >> +
> >> config SYS_FSL_ERRATUM_A008336
> >> bool
> >>
> >> diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h
> >> index aee87cd..b1fc410 100644
> >> --- a/arch/arm/include/asm/global_data.h
> >> +++ b/arch/arm/include/asm/global_data.h
> >> @@ -59,6 +59,9 @@ struct arch_global_data {
> >> phys_addr_t secure_ram;
> >> unsigned long tlb_allocated;
> >> #endif
> >> +#ifdef CONFIG_RESV_RAM_TOP
> >> + phys_addr_t resv_ram;
> >
> > Please add a comment here explaining what it is for, or referencing something.
>
> I will add a comment as
> /*
> * Reserved RAM for memory resident eg. Management Complex (MC) driver
> * which continues to run after U-Boot exits.
> */
>
> >
> >> +#endif
> >>
> >> #ifdef CONFIG_ARCH_OMAP2
> >> u32 omap_boot_device;
> >> diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
> >> index ae3027a..0c5fa56 100644
> >> --- a/cmd/bdinfo.c
> >> +++ b/cmd/bdinfo.c
> >> @@ -392,6 +392,10 @@ static int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc,
> >> gd->arch.secure_ram & MEM_RESERVE_SECURE_ADDR_MASK);
> >> }
> >> #endif
> >> +#ifdef CONFIG_RESV_RAM_TOP
> >> + if (gd->arch.resv_ram)
> >> + print_num("Reserved ram", gd->arch.resv_ram);
> >> +#endif
> >> #if defined(CONFIG_CMD_NET) && !defined(CONFIG_DM_ETH)
> >> print_eths();
> >> #endif
> >> --
>
> This patch set includes the effort to rewrite the reservation code we
> discussed a year ago
>
> https://lists.denx.de/pipermail/u-boot/2015-December/236974.html
> https://lists.denx.de/pipermail/u-boot/2015-December/236979.html
> https://lists.denx.de/pipermail/u-boot/2015-December/236996.html
>
> York
Regards,
Simon
More information about the U-Boot
mailing list