Hi, Thomas, I didn't see your patch. Maybe it isn't CC'ing me. Could you send me and york the link?
Minkyu Kang, Could you add review-by and assign this patch http://patchwork.ozlabs.org/patch/667948/ to York? So he can merge this patch and Thomas's patch together. Thanks. Best Regards, Alison Wang > > On Tue, Nov 15, 2016 at 1:03 PM, Alison Wang <alison.w...@nxp.com> > > wrote: > > > Hi, Thomas, Alex and York, > > > > > > Before there are some discussions about this patch, could we make a > > solution now? Or else, the patches about [PATCH v8 0/3] armv8: > Support > > loading 32-bit OS in AArch32 execution state can't be merged, as the > > compiling will fail without this patch. > > > > > > Thomas, is ARMV8_MULTIENTRY enabled on Exynos7420 now? If not, is > > there a good way to enable ARMV8_MULTIENTRY on Exynos7420 now? > > > > It is not yet enabled. I will post the ARMV8_MULTIENTRY enable patch > > for Exynos7420 later today. Alternatively, you could include the > patch > > listed in the previous email in your series. > > > [Alison Wang] Thanks for your reply. I think it's better to send the > patch by you (the maintainer). Please send it later today. :) > > > > > > > Thanks. > > > > > > Best Regards, > > > Alison Wang > > > > > >> -----Original Message----- > > >> From: Thomas Abraham [mailto:ta.oma...@gmail.com] > > >> Sent: Tuesday, September 20, 2016 4:45 PM > > >> To: Alexander Graf <ag...@suse.de> > > >> Cc: Alison Wang <b18...@freescale.com>; thomas...@samsung.com; > > Minkyu > > >> Kang <mk7.k...@samsung.com>; york sun <york....@nxp.com>; U-Boot > > >> Mailing List <u-boot@lists.denx.de>; Jason Jin <jason....@nxp.com> > > >> Subject: Re: [U-Boot] [PATCH] arm: exynos: Use the generic > > >> lowlevel_init instead of the specific one > > >> > > >> On Tue, Sep 20, 2016 at 12:03 PM, Alexander Graf <ag...@suse.de> > > wrote: > > >> > > > >> > > > >> > On 20.09.16 08:25, Thomas Abraham wrote: > > >> >> On Tue, Sep 20, 2016 at 11:35 AM, Alexander Graf <ag...@suse.de> > > >> wrote: > > >> >>> > > >> >>> > > >> >>> Am 20.09.2016 um 07:51 schrieb Thomas Abraham > > <ta.oma...@gmail.com>: > > >> >>> > > >> >>> Hi Alison, > > >> >>> > > >> >>> > > >> >>> On Mon, Sep 19, 2016 at 7:38 PM, Alexander Graf <ag...@suse.de> > > >> wrote: > > >> >>> > > >> >>> > > >> >>> > > >> >>> On 09.09.16 10:48, Alison Wang wrote: > > >> >>> > > >> >>> This patch is to use the the generic lowlevel_init instead of > > the > > >> >>> > > >> >>> specific one. > > >> >>> > > >> >>> > > >> >>> Signed-off-by: Alison Wang <alison.w...@nxp.com> > > >> >>> > > >> >>> > > >> >>> If I had to guess, I'd think they only had their own version > > >> because the > > >> >>> > > >> >>> old one required a GIC. > > >> >>> > > >> >>> > > >> >>> I apologize for the delay. > > >> >>> > > >> >>> The reason for using a custom version was to avoid enabling > > >> >>> ARMV8_MULTIENTRY config option since the Exynos7 code was > ready > > for > > >> >>> it. > > >> >>> > > >> >>> > > >> >>> Either way, since Samsung doesn't reply, I'm fine potentially > > >> breaking > > >> >>> > > >> >>> their boards if that means that we can make progress for > > actively > > >> >>> > > >> >>> maintained ones: > > >> >>> > > >> >>> > > >> >>> Reviewed-by: Alexander Graf <ag...@suse.de> > > >> >>> > > >> >>> > > >> >>> This patch without the ARMV8_MULTIENTRY and > ARMV8_SWITCH_TO_EL1 > > >> config > > >> >>> options does not switch the boot CPU from EL3 to EL1. So it > > would > > >> be > > >> >>> preferable to not merge this patch until ARMV8_MULTIENTRY is > > >> enabled > > >> >>> for Exynos7. > > >> >>> > > >> >>> > > >> >>> Why do you want to switch it to EL1 in the first place? Linux > > >> >>> is > > >> very happy > > >> >>> to live in EL2 - which is what we call it in by default. > > >> >> > > >> >> Okay, there is no particular requirement to be in EL1 for > Exynos7. > > >> EL2 > > >> >> would also be fine. But Exynos7 support in u-boot is not yet > > ready > > >> for > > >> >> enabling ARMV8_MULTIENTRY config option. Is there anything be > > >> blocked > > >> >> due to Exynos7 using a custom lowlevel_init function? > > >> > > > >> > Yes, we're changing the semantics of armv8_switch_to_el2 and > > >> > armv8_switch_to_el1: > > >> > > > >> > > > >> > http://lists.denx.de/pipermail/u-boot/2016-September/266217.html > > >> > > > >> > which is a prerequisite for AArch32 kernel boot on AArch64 > systems. > > >> > > >> Okay. > > >> > > >> > > > >> > How quickly do you think you could make Exynos7 work with > > MULTIENTRY? > > >> > > > >> > > >> Exynos7420 uses CPU 0 of Cluster 1 as boot CPU (master CPU). The > > macro > > >> 'branch_if_master' requires all affinity values to be zero for a > > >> CPU to be identified as a master CPU. And so the boot CPU is > > >> incorrectly detected as a slave CPU. I have tested with the > > >> following temporary workaround to enable ARMV8_MULTIENTRY on > > >> Exynos7420. If it looks > > fine, > > >> this can be merged along with Alison's patch. > > >> > > >> Thomas. > > >> > > >> diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach- > > >> exynos/Kconfig index ce2a16f..45c5eeb 100644 > > >> --- a/arch/arm/mach-exynos/Kconfig > > >> +++ b/arch/arm/mach-exynos/Kconfig > > >> @@ -126,6 +126,8 @@ choice > > >> config TARGET_ESPRESSO7420 > > >> bool "ESPRESSO7420 board" > > >> select ARM64 > > >> + select ARMV8_MULTIENTRY > > >> + select ARMV8_SWITCH_TO_EL1 > > >> select SUPPORT_SPL > > >> select OF_CONTROL > > >> select SPL_DISABLE_OF_CONTROL diff --git > > >> a/arch/arm/mach-exynos/soc.c b/arch/arm/mach-exynos/soc.c index > > >> f9c7468..6c3ebb0 100644 > > >> --- a/arch/arm/mach-exynos/soc.c > > >> +++ b/arch/arm/mach-exynos/soc.c > > >> @@ -9,6 +9,16 @@ > > >> #include <asm/io.h> > > >> #include <asm/system.h> > > >> > > >> +#ifdef CONFIG_TARGET_ESPRESSO7420 > > >> +/* > > >> + * Exynos7420 uses CPU0 of Cluster-1 as boot CPU. Due to this > > >> branch_if_master > > >> + * fails to identify as the master CPU. As temporary workaround, > > setup > > >> the > > >> + * slave CPU boot address as "_main". > > >> + */ > > >> +extern void _main(void); > > >> +void *secondary_boot_addr = (void *)_main; #endif /* > > >> +CONFIG_TARGET_ESPRESSO7420 */ > > >> + > > >> void reset_cpu(ulong addr) > > >> { > > >> #ifdef CONFIG_CPU_V7 > > >> diff --git a/include/configs/exynos7420-common.h > > >> b/include/configs/exynos7420-common.h > > >> index 9e03962..6f58aef 100644 > > >> --- a/include/configs/exynos7420-common.h > > >> +++ b/include/configs/exynos7420-common.h > > >> @@ -48,6 +48,7 @@ > > >> #define CONFIG_IRAM_BASE 0x02100000 > > >> #define CONFIG_IRAM_SIZE 0x58000 > > >> #define CONFIG_IRAM_END (CONFIG_IRAM_BASE > + > > >> CONFIG_IRAM_SIZE) > > >> +#define CPU_RELEASE_ADDR secondary_boot_addr > > >> > > >> /* Number of CPUs available */ > > >> #define CONFIG_CORE_COUNT 0x8 > > >> > > >> > > > >> > Alex _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot