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 > [email protected] > https://lists.sourceforge.net/lists/listinfo/genode-main > -- Stefan Kalkowski Genode Labs http://www.genode-labs.com/ ยท http://genode.org/ ------------------------------------------------------------------------------ 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 [email protected] https://lists.sourceforge.net/lists/listinfo/genode-main
