
On Wed, Jan 25, 2017 at 06:40:38PM +0800, Chen-Yu Tsai wrote:
[hacking around the broken A80 TrustZone implementation]
This is doable, and it is actually what Allwinner's kernel does, but is really hackish. The released 3.4 kernel also has the same workarounds for A83T. So it's also possible the A83T has the same issues.
FWIW, the kernel that ships with my A80 based media player produces this: [ 0.000000] Linux version 3.4.39+ (lzq@sunchip-CS24-TY) (gcc version 4.6.3 20120201 (prerelease) (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) ) #1 SMP PREEMPT Sat Nov 14 03:33:12 UTC 2015 ... [ 0.262230] CPU4: failed to boot: -22 [ 0.302298] CPU5: failed to boot: -22 [ 0.342350] CPU6: failed to boot: -22 [ 0.382421] CPU7: failed to boot: -22
So I guess you are not alone in having trouble getting PSCI to work on the A80. However, when trying out your patches, I also once or twice got a failure booting CPU2 although CPU3 and CPU4 came up fine.
So, if there's still interest in getting a working PSCI environment for the A80/A83T, I'll look into doing a workaround patch for GIC-400. Otherwise I'm going to go back and revive my MCPM patches for in-kernel SMP support.
I vote for whatever works. I'll also happily test it. Is there a git tree I should keep an eye on?