
On 26/09/16 14:19, Jon Medhurst (Tixy) wrote:
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@linaro.org Acked-by: Marc Zyngier marc.zyngier@arm.com Signed-off-by: Sudeep Holla sudeep.holla@arm.com
Acked-by: Jon Medhurst tixy@linaro.org Tested-by: Jon Medhurst tixy@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@2c090000/slave-if@4000/status /proc/device-tree/cci@2c090000/slave-if@5000/status
That was very detailed :), thanks for testing and confirming. I too did similar examination and didn't find anything odd so far.