[U-Boot] [PATCH 3/4] vexpress64: get rid of CONFIG_SYS_EXTRA_OPTIONS

Steve Rae srae at broadcom.com
Fri Dec 26 19:04:50 CET 2014


Acked-by: Steve Rae <srae at broadcom.com>

On 14-12-23 05:02 PM, Linus Walleij wrote:
> The Versatile Express ARMv8 semihosted FVP platform is still
> using the legacy CONFIG_SYS_EXTRA_OPTIONS method to configure
> some compile-time flags. Get rid of this and create a Kconfig
> entry for the FVP model, and a selectable bool for the
> semihosting library.
>
> The FVP subboard is now modeled as a target choice so we can
> eventually choose between different ARMv8 versatile express
> boards (FVP, base model, Juno...) this way. All dependent
> symbols are updated to reflect this.
>
> The 64bit Versatile Express board symbols are renamed
> VEXPRESS64 so we have some chance to see what is actually
> going on. Tested on the FVP fast model.
>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
>   arch/arm/Kconfig                       | 14 +++++++++++++-
>   board/armltd/vexpress64/Kconfig        | 13 +++++++++++++
>   configs/vexpress_aemv8a_defconfig      |  2 +-
>   configs/vexpress_aemv8a_semi_defconfig |  4 ++--
>   include/configs/vexpress_aemv8a.h      | 16 ++++++++--------
>   5 files changed, 37 insertions(+), 12 deletions(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 2b0d2c933895..9a7e36570de5 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -51,6 +51,13 @@ config SYS_CPU
>           default "sa1100" if CPU_SA1100
>   	default "armv8" if ARM64
>
> +config SEMIHOSTING
> +	bool "support boot from semihosting"
> +	help
> +	  In emulated environments, semihosting is a way for
> +	  the hosted environment to call out to the emulator to
> +	  retrieve files from the host machine.
> +
>   choice
>   	prompt "Target select"
>
> @@ -720,10 +727,15 @@ config TEGRA
>   	select CPU_ARM720T if SPL_BUILD
>   	select CPU_V7 if !SPL_BUILD
>
> -config TARGET_VEXPRESS_AEMV8A
> +config TARGET_VEXPRESS64_AEMV8A
>   	bool "Support vexpress_aemv8a"
>   	select ARM64
>
> +config TARGET_VEXPRESS64_BASE_FVP
> +	bool "Support Versatile Express ARMv8a FVP BASE model"
> +	select ARM64
> +	select SEMIHOSTING
> +
>   config TARGET_LS2085A_EMU
>   	bool "Support ls2085a_emu"
>   	select ARM64
> diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
> index 7ebea6317f70..2343e717f121 100644
> --- a/board/armltd/vexpress64/Kconfig
> +++ b/board/armltd/vexpress64/Kconfig
> @@ -10,3 +10,16 @@ config SYS_CONFIG_NAME
>   	default "vexpress_aemv8a"
>
>   endif
> +
> +if TARGET_VEXPRESS64_BASE_FVP
> +
> +config SYS_BOARD
> +	default "vexpress64"
> +
> +config SYS_VENDOR
> +	default "armltd"
> +
> +config SYS_CONFIG_NAME
> +	default "vexpress_aemv8a"
> +
> +endif
> diff --git a/configs/vexpress_aemv8a_defconfig b/configs/vexpress_aemv8a_defconfig
> index b463a333bc6b..9f4b87655613 100644
> --- a/configs/vexpress_aemv8a_defconfig
> +++ b/configs/vexpress_aemv8a_defconfig
> @@ -1,3 +1,3 @@
>   CONFIG_ARM=y
> -CONFIG_TARGET_VEXPRESS_AEMV8A=y
> +CONFIG_TARGET_VEXPRESS64_AEMV8A=y
>   CONFIG_DEFAULT_DEVICE_TREE="vexpress64"
> diff --git a/configs/vexpress_aemv8a_semi_defconfig b/configs/vexpress_aemv8a_semi_defconfig
> index 0035ccdaecd4..26cf7db47f84 100644
> --- a/configs/vexpress_aemv8a_semi_defconfig
> +++ b/configs/vexpress_aemv8a_semi_defconfig
> @@ -1,4 +1,4 @@
> -CONFIG_SYS_EXTRA_OPTIONS="SEMIHOSTING,BASE_FVP"
> +# Semihosted FVP fast model
>   CONFIG_ARM=y
> -CONFIG_TARGET_VEXPRESS_AEMV8A=y
> +CONFIG_TARGET_VEXPRESS64_BASE_FVP=y
>   CONFIG_DEFAULT_DEVICE_TREE="vexpress64"
> diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
> index 027d78b59171..85894bedf8bd 100644
> --- a/include/configs/vexpress_aemv8a.h
> +++ b/include/configs/vexpress_aemv8a.h
> @@ -11,9 +11,9 @@
>   /* We use generic board for v8 Versatile Express */
>   #define CONFIG_SYS_GENERIC_BOARD
>
> -#ifdef CONFIG_BASE_FVP
> +#ifdef CONFIG_TARGET_VEXPRESS64_BASE_FVP
>   #ifndef CONFIG_SEMIHOSTING
> -#error CONFIG_BASE_FVP requires CONFIG_SEMIHOSTING
> +#error CONFIG_TARGET_VEXPRESS64_BASE_FVP requires CONFIG_SEMIHOSTING
>   #endif
>   #define CONFIG_BOARD_LATE_INIT
>   #define CONFIG_ARMV8_SWITCH_TO_EL1
> @@ -21,8 +21,8 @@
>
>   #define CONFIG_REMAKE_ELF
>
> -#ifndef CONFIG_BASE_FVP
> -/* Base FVP not using GICv3 yet */
> +#ifndef CONFIG_TARGET_VEXPRESS64_BASE_FVP
> +/* Base FVP and Juno not using GICv3 yet */
>   #define CONFIG_GICV3
>   #endif
>
> @@ -40,7 +40,7 @@
>   #define CONFIG_BOOTP_VCI_STRING		"U-boot.armv8.vexpress_aemv8a"
>
>   /* Link Definitions */
> -#ifdef CONFIG_BASE_FVP
> +#ifdef CONFIG_TARGET_VEXPRESS64_BASE_FVP
>   /* ATF loads u-boot here for BASE_FVP model */
>   #define CONFIG_SYS_TEXT_BASE		0x88000000
>   #define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SYS_SDRAM_BASE + 0x03f00000)
> @@ -54,7 +54,7 @@
>
>
>   /* SMP Spin Table Definitions */
> -#ifdef CONFIG_BASE_FVP
> +#ifdef CONFIG_TARGET_VEXPRESS64_BASE_FVP
>   #define CPU_RELEASE_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x03f00000)
>   #else
>   #define CPU_RELEASE_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x7fff0)
> @@ -119,7 +119,7 @@
>   #define GICR_BASE			(0x2f100000)
>   #else
>
> -#ifdef CONFIG_BASE_FVP
> +#ifdef CONFIG_TARGET_VEXPRESS64_BASE_FVP
>   #define GICD_BASE			(0x2f000000)
>   #define GICC_BASE			(0x2c000000)
>   #else
> @@ -191,7 +191,7 @@
>   #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
>
>   /* Initial environment variables */
> -#ifdef CONFIG_BASE_FVP
> +#ifdef CONFIG_TARGET_VEXPRESS64_BASE_FVP
>   #define CONFIG_EXTRA_ENV_SETTINGS	\
>   				"kernel_name=uImage\0"	\
>   				"kernel_addr_r=0x80000000\0"	\
>


More information about the U-Boot mailing list