Hi all,
I am working on imx6 SABER Lite board. I tried to enable TZASC(TrustZone Address Space Controller) through fuse programming and i guess it works fine. when i make RAM region secure in which Normal OS(another Genode image) is running it gives me pf_abort exception which seems to be fine (guess).
But I am always getting the FIQ exception as virtual machine start in secure world. What could be the reason behind this ?
Message Log: Starting kernel ...
kernel initialized Genode 15.02 int main(): --- create local services --- int main(): --- start init --- int main(): transferred 507 MB to init int main(): --- init created, waiting for exit condition --- [init] parent provides [init] service "ROM" [init] service "RAM" [init] service "IRQ" [init] service "IO_MEM" [init] service "CAP" [init] service "PD" [init] service "RM" [init] service "CPU" [init] service "LOG" [init] service "SIGNAL" [init] service "VM" [init] child "tz_vmm" [init] RAM quota: 3932160 [init] ELF binary: tz_vmm [init] priority: 0 [init -> tz_vmm] Start virtual machine ... [init -> tz_vmm] Cpu state: [init -> tz_vmm] Register Virt Phys [init -> tz_vmm] --------------------------------- [init -> tz_vmm] r0 = ffffffff [00000000] [init -> tz_vmm] r1 = ffffffff [00000000] [init -> tz_vmm] r2 = ffffffff [00000000] [init -> tz_vmm] r3 = ffffffff [00000000] [init -> tz_vmm] r4 = ffffffff [00000000] [init -> tz_vmm] r5 = ffffffff [00000000] [init -> tz_vmm] r6 = ffffffff [00000000] [init -> tz_vmm] r7 = ffffffff [00000000] [init -> tz_vmm] r8 = ffffffff [00000000] [init -> tz_vmm] r9 = ffffffff [00000000] [init -> tz_vmm] r10 = ffffffff [00000000] [init -> tz_vmm] r11 = ffffffff [00000000] [init -> tz_vmm] r12 = ffffffff [00000000] [init -> tz_vmm] sp = ffffffff [00000000] [init -> tz_vmm] lr = ffffffff [00000000] [init -> tz_vmm] ip = ffffffff [00000000] [init -> tz_vmm] cpsr = ffffffff [init -> tz_vmm] sp_und = ffffffff [00000000] [init -> tz_vmm] lr_und = ffffffff [00000000] [init -> tz_vmm] spsr_und = ffffffff [00000000] [init -> tz_vmm] sp_svc = ffffffff [00000000] [init -> tz_vmm] lr_svc = ffffffff [00000000] [init -> tz_vmm] spsr_svc = ffffffff [00000000] [init -> tz_vmm] sp_abt = ffffffff [00000000] [init -> tz_vmm] lr_abt = ffffffff [00000000] [init -> tz_vmm] spsr_abt = ffffffff [00000000] [init -> tz_vmm] sp_irq = ffffffff [00000000] [init -> tz_vmm] lr_irq = ffffffff [00000000] [init -> tz_vmm] spsr_irq = ffffffff [00000000] [init -> tz_vmm] sp_fiq = ffffffff [00000000] [init -> tz_vmm] lr_fiq = ffffffff [00000000] [init -> tz_vmm] spsr_fiq = ffffffff [00000000] [init -> tz_vmm] ttbr0 = ffffffff [init -> tz_vmm] ttbr1 = ffffffff [init -> tz_vmm] ttbrc = ffffffff [init -> tz_vmm] dfar = ffffffff [00000000] [init -> tz_vmm] exception = fiq [init -> tz_vmm] Curious exception occured [init -> tz_vmm] Cpu state: [init -> tz_vmm] Register Virt Phys [init -> tz_vmm] --------------------------------- [init -> tz_vmm] r0 = 00000000 [00000000] [init -> tz_vmm] r1 = 00000eb9 [00000000] [init -> tz_vmm] r2 = 30000100 [00000000] [init -> tz_vmm] r3 = 00000000 [00000000] [init -> tz_vmm] r4 = 00000000 [00000000] [init -> tz_vmm] r5 = 00000000 [00000000] [init -> tz_vmm] r6 = 00000000 [00000000] [init -> tz_vmm] r7 = 00000000 [00000000] [init -> tz_vmm] r8 = 00000000 [00000000] [init -> tz_vmm] r9 = 00000000 [00000000] [init -> tz_vmm] r10 = 00000000 [00000000] [init -> tz_vmm] r11 = 00000000 [00000000] [init -> tz_vmm] r12 = 00000000 [00000000] [init -> tz_vmm] sp = 00000000 [00000000] [init -> tz_vmm] lr = 00000000 [00000000] [init -> tz_vmm] ip = 30001000 [00000000] [init -> tz_vmm] cpsr = 00000093 [init -> tz_vmm] sp_und = 00000000 [00000000] [init -> tz_vmm] lr_und = 00000000 [00000000] [init -> tz_vmm] spsr_und = 00000000 [00000000] [init -> tz_vmm] sp_svc = 00000000 [00000000] [init -> tz_vmm] lr_svc = 00000000 [00000000] [init -> tz_vmm] spsr_svc = 00000000 [00000000] [init -> tz_vmm] sp_abt = 00000000 [00000000] [init -> tz_vmm] lr_abt = 00000000 [00000000] [init -> tz_vmm] spsr_abt = 00000000 [00000000] [init -> tz_vmm] sp_irq = 00000000 [00000000] [init -> tz_vmm] lr_irq = 00000000 [00000000] [init -> tz_vmm] spsr_irq = 00000000 [00000000] [init -> tz_vmm] sp_fiq = 00000000 [00000000] [init -> tz_vmm] lr_fiq = 00000000 [00000000] [init -> tz_vmm] spsr_fiq = 00000000 [00000000] [init -> tz_vmm] ttbr0 = 112a1041 [init -> tz_vmm] ttbr1 = 93a2c04b [init -> tz_vmm] ttbrc = 00000000 [init -> tz_vmm] dfar = 114558eb [00000000] [init -> tz_vmm] exception = pf_abort
Regards
Chirag Garg IIT Madras , Rise Lab