[PATCH 04/10] Convert CONFIG_PHYSMEM to Kconfig
Heinrich Schuchardt
xypron.glpk at gmx.de
Wed Nov 17 10:15:28 CET 2021
On 11/17/21 03:48, Simon Glass wrote:
> Hi Heinrich,
>
> On Sun, 14 Nov 2021 at 02:46, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>>
>> On 11/14/21 04:21, Simon Glass wrote:
>>> This converts the following to Kconfig:
>>> CONFIG_PHYSMEM
>>>
>>> Signed-off-by: Simon Glass <sjg at chromium.org>
>>> ---
>>>
>>> README | 8 --------
>>> arch/Kconfig | 2 ++
>>> include/configs/edison.h | 3 ---
>>> include/configs/sandbox.h | 2 --
>>> include/configs/x86-common.h | 2 --
>>> lib/Kconfig | 10 ++++++++++
>>> scripts/config_whitelist.txt | 1 -
>>> 7 files changed, 12 insertions(+), 16 deletions(-)
>>>
>>> diff --git a/README b/README
>>> index 9606a8b3acf..70485e7fb9f 100644
>>> --- a/README
>>> +++ b/README
>>> @@ -1716,14 +1716,6 @@ The following options need to be configured:
>>> HERMES, IP860, RPXlite, LWMON,
>>> FLAGADM
>>>
>>> -- Access to physical memory region (> 4GB)
>>> - Some basic support is provided for operations on memory not
>>> - normally accessible to U-Boot - e.g. some architectures
>>> - support access to more than 4GB of memory on 32-bit
>>> - machines using physical address extension or similar.
>>> - Define CONFIG_PHYSMEM to access this basic support, which
>>> - currently only supports clearing the memory.
>>> -
>>> - Error Recovery:
>>> CONFIG_NET_RETRY_COUNT
>>>
>>> diff --git a/arch/Kconfig b/arch/Kconfig
>>> index 3e2cc84ab2c..1e0e6118139 100644
>>> --- a/arch/Kconfig
>>> +++ b/arch/Kconfig
>>> @@ -194,6 +194,7 @@ config SANDBOX
>>> imply PHY_FIXED
>>> imply DM_DSA
>>> imply CMD_EXTENSION
>>> + imply PHYSMEM
>>>
>>> config SH
>>> bool "SuperH architecture"
>>> @@ -245,6 +246,7 @@ config X86
>>> imply USB_ETHER_SMSC95XX
>>> imply USB_HOST_ETHER
>>> imply PCH
>>> + imply PHYSMEM
>>> imply RTC_MC146818
>>> imply ACPIGEN if !QEMU
>>> imply SYSINFO if GENERATE_SMBIOS_TABLE
>>> diff --git a/include/configs/edison.h b/include/configs/edison.h
>>> index 3ec35db4bcf..02f33f3c29f 100644
>>> --- a/include/configs/edison.h
>>> +++ b/include/configs/edison.h
>>> @@ -14,9 +14,6 @@
>>> #define CONFIG_SYS_MAXARGS 128
>>> #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
>>>
>>> -/* Memory */
>>> -#define CONFIG_PHYSMEM
>>> -
>>> #define CONFIG_SYS_STACK_SIZE (32 * 1024)
>>>
>>> #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
>>> diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
>>> index 09f46ca1ac2..48cae7d972a 100644
>>> --- a/include/configs/sandbox.h
>>> +++ b/include/configs/sandbox.h
>>> @@ -18,8 +18,6 @@
>>>
>>> #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
>>>
>>> -#define CONFIG_PHYSMEM
>>> -
>>> /* Size of our emulated memory */
>>> #define SB_CONCAT(x, y) x ## y
>>> #define SB_TO_UL(s) SB_CONCAT(s, UL)
>>> diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h
>>> index 486b5ca7765..33209fad4fc 100644
>>> --- a/include/configs/x86-common.h
>>> +++ b/include/configs/x86-common.h
>>> @@ -14,8 +14,6 @@
>>> * High Level Configuration Options
>>> * (easy to change)
>>> */
>>> -#define CONFIG_PHYSMEM
>>> -
>>> #define CONFIG_SYS_BOOTM_LEN (16 << 20)
>>>
>>> /* SATA AHCI storage */
>>> diff --git a/lib/Kconfig b/lib/Kconfig
>>> index 70bf8e7a464..f3baf45718e 100644
>>> --- a/lib/Kconfig
>>> +++ b/lib/Kconfig
>>> @@ -15,6 +15,16 @@ config SYS_NUM_ADDR_MAP
>>> help
>>> Sets the number of entries in the virtual-physical mapping table.
>>>
>>> +config PHYSMEM
>>> + bool "Access to physical memory region (> 4GB)"
>>
>> %s/4GB/4 GiB/
>
> Please let's not add that junk to U-Boot.
4GB = 4,000,000,000 bytes period.
We use GiB all over U-Boot. So eliminate this GB "junk" here.
Best regards
Heinrich
>
>>
>>> + help
>>> + Some basic support is provided for operations on memory not
>>> + normally accessible to 32-bit U-Boot - e.g. some architectures
>>> + support access to more than 4GB of memory on 32-bit
>>> + machines using physical address extension or similar.
>>
>> You could simply drop all those lines and simply say say:
>>
>> "Clear memory above 4GiB on 32bit systems."
>>
>> But do we need this option at all? Why should this memory be cleared?
>>
>> Let's drop arch/x86/lib/physmem.c instead. It is only used by the Edison
>> board which is out of production since 2017. And that board only had 1
>> GiB of memory (sic!).
>
> This option is used by Chrome OS vboot so I don't want to drop it.
>
> Regards,
> Simon
>
More information about the U-Boot
mailing list