[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