Messages in this thread | | | From | Rob Herring <> | Date | Fri, 23 Sep 2016 08:27:05 -0500 | Subject | Re: [PATCH 1/2] armv8: aarch32: Execute 32-bit Linux for LayerScape platforms |
| |
On Fri, Sep 23, 2016 at 8:18 AM, Robin Murphy <robin.murphy@arm.com> wrote: > On 23/09/16 14:13, Stuart Yoder wrote: >> >> >>> -----Original Message----- >>> From: Robin Murphy [mailto:robin.murphy@arm.com] >>> Sent: Friday, September 23, 2016 7:17 AM >>> To: Alison Wang <b18965@freescale.com>; shawnguo@kernel.org; kernel@pengutronix.de; Fabio Estevam >>> Estevam <fabio.estevam@nxp.com>; linux@armlinux.org.uk; linux-arm-kernel@lists.infradead.org; linux- >>> kernel@vger.kernel.org; Scott Wood <scott.wood@nxp.com>; Stuart Yoder <stuart.yoder@nxp.com>; Leo Li >>> <leoyang.li@nxp.com> >>> Cc: Jason Jin <jason.jin@nxp.com> >>> Subject: Re: [PATCH 1/2] armv8: aarch32: Execute 32-bit Linux for LayerScape platforms >>> >>> Hi Alison, >>> >>> On 23/09/16 03:19, Alison Wang wrote: >>>> The ARMv8 architecture supports: >>>> 1. 64-bit execution state, AArch64. >>>> 2. 32-bit execution state, AArch32, that is compatible with previous >>>> versions of the ARM architecture. >>>> >>>> LayerScape platforms are compliant with ARMv8 architecture. This patch >>>> is to support running 32-bit Linux kernel for LayerScape platforms. >>>> >>>> Verified on LayerScape LS1043ARDB, LS1012ARDB, LS1046ARDB boards. >>>> >>>> Signed-off-by: Ebony Zhu <ebony.zhu@nxp.com> >>>> Signed-off-by: Alison Wang <alison.wang@nxp.com> >>>> --- >>>> arch/arm/Kconfig | 9 +++++++++ >>>> arch/arm/mach-imx/Kconfig | 14 ++++++++++++++ >>>> arch/arm/mach-imx/Makefile | 4 +++- >>>> arch/arm/mach-imx/mach-layerscape.c | 23 +++++++++++++++++++++++ >>>> 4 files changed, 49 insertions(+), 1 deletion(-) >>>> create mode 100644 arch/arm/mach-imx/mach-layerscape.c >>>> >>>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >>>> index f0c8068..e8d470e 100644 >>>> --- a/arch/arm/Kconfig >>>> +++ b/arch/arm/Kconfig >>>> @@ -294,6 +294,15 @@ config PGTABLE_LEVELS >>>> default 3 if ARM_LPAE >>>> default 2 >>>> >>>> +config ARCH_AARCH32_ES_SUPPORT >>>> + def_bool n >>>> + help >>>> + The ARMv8 architecture supports 64-bit execution state, AArch64 >>>> + and 32-bit execution state, AArch32, that is compatible with >>>> + previous versions of the ARM architecture. >>>> + >>>> + Enable AArch32 execution state support for ARMv8 architecture. >>> >>> What's this supposed to do, exactly? I've been running 32-bit kernels on >>> my Juno with very little issue (beyond a couple of DT tweaks, and some >>> firmware hacks with a corresponding bit of A64 assembly tacked on the >>> front of the zImage to switch into AArch32 state). >> >> Which arch/arm/mach-* platform are you using for Juno? > > I don't even know! :) I just start with a multi_v7_defconfig plus a few > extra bits (LPAE, KVM, sil24, sky2, etc.) and it works. I guess it's the > combination of mach-vexpress and mach-virt.
I believe the answer is none. Enabling VExpress may enable other drivers, but obviously none of the code in mach-vexpress is needed since it is not used for 64-bit builds.
Rob
| |