[PATCH 04/10] Convert CONFIG_PHYSMEM to Kconfig

Heinrich Schuchardt xypron.glpk at gmx.de
Sun Nov 14 10:46:21 CET 2021


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/

> +	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!).

Best regards

Heinrich

> +	  Enable this to access this basic support, which only supports clearing
> +	  the memory.
> +
>   config BCH
>   	bool "Enable Software based BCH ECC"
>   	help
> diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
> index 82a69a6c5f7..72391d4c456 100644
> --- a/scripts/config_whitelist.txt
> +++ b/scripts/config_whitelist.txt
> @@ -916,7 +916,6 @@ CONFIG_PCI_SYS_BUS
>   CONFIG_PCI_SYS_PHYS
>   CONFIG_PCI_SYS_SIZE
>   CONFIG_PEN_ADDR_BIG_ENDIAN
> -CONFIG_PHYSMEM
>   CONFIG_PHY_BASE_ADR
>   CONFIG_PHY_ET1011C_TX_CLK_FIX
>   CONFIG_PHY_ID
>



More information about the U-Boot mailing list