[U-Boot] [PATCH v3 01/11] armv8: Add global variable resv_ram

york sun york.sun at nxp.com
Fri Mar 3 16:38:52 UTC 2017


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.

>
>> +
>>  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


More information about the U-Boot mailing list