From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve Rae Date: Fri, 26 Dec 2014 10:04:50 -0800 Subject: [U-Boot] [PATCH 3/4] vexpress64: get rid of CONFIG_SYS_EXTRA_OPTIONS In-Reply-To: <1419382979-8673-1-git-send-email-linus.walleij@linaro.org> References: <1419382979-8673-1-git-send-email-linus.walleij@linaro.org> Message-ID: <549DA342.2010502@broadcom.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Acked-by: Steve Rae 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 > --- > 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" \ >