[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