[PATCH 04/10] Convert CONFIG_PHYSMEM to Kconfig

Simon Glass sjg at chromium.org
Wed Nov 17 03:48:42 CET 2021


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.

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