
Hi,
2016년 11월 16일 (수) 19:44, Alison Wang alison.wang@nxp.com님이 작성:
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.
It's OK. York means yorksun?
Reviewed-by: Minkyu Kang mk7.kang@samsung.com
Thanks, Minkyu Kang.
Thanks.
Best Regards, Alison Wang
On Tue, Nov 15, 2016 at 1:03 PM, Alison Wang alison.wang@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.omasab@gmail.com] Sent: Tuesday, September 20, 2016 4:45 PM To: Alexander Graf agraf@suse.de Cc: Alison Wang b18965@freescale.com; thomas.ab@samsung.com;
Minkyu
Kang mk7.kang@samsung.com; york sun york.sun@nxp.com; U-Boot Mailing List u-boot@lists.denx.de; Jason Jin jason.jin@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 agraf@suse.de
wrote:
On 20.09.16 08:25, Thomas Abraham wrote: > On Tue, Sep 20, 2016 at 11:35 AM, Alexander Graf agraf@suse.de
wrote:
>> >> >> Am 20.09.2016 um 07:51 schrieb Thomas Abraham
>> >> Hi Alison, >> >> >> On Mon, Sep 19, 2016 at 7:38 PM, Alexander Graf agraf@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.wang@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 agraf@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