FIQ Exception in tz_vmm
Stefan Kalkowski
stefan.kalkowski at ...1...
Thu Apr 23 08:50:04 CEST 2015
Hello Chirag,
On 04/17/2015 07:51 AM, chirag garg wrote:
> 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 ?
Well, you don't get a FIQ exception here. In your VMM implementation
that you referenced in another mail:
https://github.com/iitmadras/genode/blob/hw_sabrelite_tz_support/repos/os/src/server/tz_vmm/imx6/main.cc#L114
I can see that you dump the VM state before starting the VM. So what you
see in the first "Cpu state" message is a state initialized with ones.
Btw. you will never get a FIQ exception as TrustZone VMM in the current
kernel implementation, because they are all handled by the secure side's
kernel.
Regards
Stefan
>
> 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
>
>
> ------------------------------------------------------------------------------
> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
> Develop your own process in accordance with the BPMN 2 standard
> Learn Process modeling best practices with Bonita BPM through live exercises
> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
>
>
>
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
--
Stefan Kalkowski
Genode Labs
http://www.genode-labs.com/ ยท http://genode.org/
More information about the users
mailing list