TrustZone example on i.MX6
Adam Lackorzynski
adam at os.inf.tu-dresden.de
Mon Jan 5 00:22:14 CET 2015
On Tue Dec 23, 2014 at 15:39:09 +0200, Markku Ahvenjärvi wrote:
> I'm trying to run Fiasco.OC in secure world and Linux in non-secure world on
> i.MX6Q. For this I'm using the TrustZone example (pkg/examples/sys/vm-tz).
> To secure world I have given 128MB RAM starting from 0x10000000 and I
> modified the example to give NS world 256MB starting from 0x20000000. I've
> replaced atags with dtb of my board and it is copied to NS side like kernel
> and initrd.
>
> At first I encountered runtime exception, which I fixed by implementing
> following to arm_em_tz builds
> Thread::arch_ext_vcpu_enabled() { return true; }
>
> Now I'm having problems at early stages of NS boot, where Linux kernel is
> checking for the dtb magic. The code loads the dtb magic from the address
> I'm giving in r2 register (0x21000000), but the magic value usually have one
> byte or all of them incorrect.
>
> I've used JDB to dump the area of dtb after hitting that error and it shows
> the dtb magic properly. So for some reason the NS-world gets mangled value.
> Any idea what might be causing this?
Sounds like a caching issue.
Adam
--
Adam adam at os.inf.tu-dresden.de
Lackorzynski http://os.inf.tu-dresden.de/~adam/
More information about the l4-hackers
mailing list