[U-Boot] [PATCH v2] vexpress: disable cci ace slave ports when booting in non-sec/hyp mode

Jon Medhurst (Tixy) tixy at linaro.org
Mon Sep 26 15:19:23 CEST 2016


On Mon, 2016-09-26 at 13:38 +0100, Sudeep Holla wrote:
> 
> On 26/09/16 13:30, Jon Medhurst (Tixy) wrote:
> > On Fri, 2016-09-23 at 17:38 +0100, Sudeep Holla wrote:
> >> Commit f225d39d3093 ("vexpress: Check TC2 firmware support before defaulting
> >> to nonsec booting") added support to check if the firmware on TC2  is
> >> configured appropriately before booting in nonsec/hyp mode.
> >>
> >> However when booting in non-secure/hyp mode, CCI control must be done in
> >> secure firmware and can't  be done in non-secure/hyp mode. In order to
> >> ensure that, this patch disables the cci slave port inteface so that it
> >> is not accessed at all.
> >>
> >> Cc: Jon Medhurst <tixy at linaro.org>
> >> Acked-by: Marc Zyngier <marc.zyngier at arm.com>
> >> Signed-off-by: Sudeep Holla <sudeep.holla at arm.com>
> >> ---
> >
> > Acked-by: Jon Medhurst <tixy at linaro.org>
> > Tested-by: Jon Medhurst <tixy at linaro.org>
> 
> So, can I assume the missing kernel patches to be reason for boot hang ?
> Just wanted to know if I need to investigate that any further ?

Sorry, yes they were the reason and no further investigation needed. I
remembered getting nonsec mode working some month's ago without such
patches, but I remember now that was by disabling MCPM in the kernel.

This morning I tried these U-Boot patches successfully with:
- Upstream vexpress_defconfig kernel booting with 'sec' mode
- That kernel with Lorenzo's patches in both 'sec' and 'nonsec'
- As above with CONFIG_BL_SWITCHER enabled

When booting in nonsec I also verified the device-tree modifications
made by this patch by seeing the following files existed and contained
the word 'disabled'...

/proc/device-tree/cci at 2c090000/slave-if at 4000/status
/proc/device-tree/cci at 2c090000/slave-if at 5000/status

-- 
Tixy



More information about the U-Boot mailing list