[U-Boot] [PATCH 2/2] sunxi: Set the AUXCR L2EN bit for sun4i/sun5i in FEL boot mode

Ian Campbell
2014-07-25T06:55:28Z

On Fri, 2014-07-25 at 03:21 +0300, Siarhei Siamashka wrote:
> On Mon, 21 Jul 2014 21:59:51 +0100
> Ian Campbell <ijc@hellion.org.uk> wrote:
>
> > On Mon, 2014-07-21 at 22:39 +0200, Jeroen Hofstee wrote:
> > > Hello Ian,
> > >
> > > On 21-07-14 22:07, Ian Campbell wrote:
> > > > On Fri, 2014-07-18 at 20:47 +0200, Jeroen Hofstee wrote:
> > > >> Hello Siarhei,
> > > >>
> > > >> On 18-07-14 19:09, Siarhei Siamashka wrote:
> > > >>> This is needed to have feature parity with the normal boot mode,
> > > >>> where the L2EN bit in the CP15 Auxiliary Control Register is set
> > > >>> by the BROM code right from the start.
> > > >>>
> > > >>> If this is not done, the Linux system ends up booted with the L2 cache
> > > >>> disabled.
> > > >>>
> > > >> I don't know a single about the sunxi, but shouldn't linux
> > > >> be patched instead. The commit message seems to indicate
> > > >> it is not an u-boot issue.
> > > > The ACTLR may not be writeable from NS mode so it has to be setup in the
> > > > bootloader before dropping to NS mode.
> > > mmm, I guess there is something wrong with the boot sequence
> > > if the kernel itself can't access raw hw.
> >
> > Do you know what ARM Secure and Non-Secure worlds are?
> >
> > The kernel expects to be launched in NS mode and simply cannot access
> > this register. This is a feature not a bug.
>
> Just curious. Is there a modern consensus about how this all is
> supposed to be done nowadays?

The kernel's Booting.txt strongly encourages you to enter in HYP mode if
it is available, which implies NS mode.

This a basic requirement to use virtualisation (Xen or KVM etc).

I believe that the general consensus is to run in NS mode on newer
platforms by default.

FWIW on v8 arm64 Linux documentation requires NS mode.

> The last time I read anything about this subject was the following
> longish and already old discussion thread (which has probably
> already lost relevance):
> http://lists.linaro.org/pipermail/boot-architecture/2011-August/000060.html
>
> Since the Allwinner BROM does not forcefully drop us to the non-secure
> mode, we have the absolute freedom of choice and may implement any
> policy.

We do, and we should implement PSCI and NS boot for kernels.

Ian.