Hi Martin,

On Mon, Nov 16, 2015 at 12:37 PM, Martin Stein <martin.stein@...1...> wrote:
Hi Joseph,

Am 15.11.2015 um 03:05 schrieb Joseph Lee:
> Hi Martin, thank you so much! it works for me.

Nice! Could you please also share with us what the problem was and what
solved it.

the problem was that the SDHC driver timed out which then generates the  "Completion host signal timed out" error message. It is solved by replacing

   if (!wait_for<Irqstat>(irq_goal, _delayer)) {
      PERR("Completion host signal timed out");

in [1] with

   if (!wait_for<Irqstat>(irq_goal, _delayer, 3000)) {
      PERR("Completion host signal timed out %x", read<Irqstat>());


[1] repos/os/src/drivers/sd_card/spec/imx53/esdhcv2.cc: line 116
 

> Now I just need to use the sd_card driver with Genode trustzone feature
> (hw_imx53_qsb_tz). I tried to incorporate sd_card driver with tz_vmm run
> script and make run/tz_vmm. I get the following log messages and it gets
> stuck. it doesn't even run tz_vmm application. I appreciate if you can
> give me some hints to fix this.

As already mentioned earlier in this discussion, hw_imx53_qsb_tz sets
the ESDHC MMIO and IRQs unsecure. This is done in [1], [2] and [3]. You
can find examples on how to do Trustzone settings specifier-dependend in
my working branch [4].

I tried to modify trustzone settings for ESDHC MMIO and IRQs  and make run/tz_vmm. it hangs when the Linux kernel tries to access the sd_card and displays the following error message.

mxsdhci: MXC Secure Digital Host Controller Interface driver
mxsdhci: MXC SDHCI Controller Driver.
[init -> tz_vmm] Cpu state:
[init -> tz_vmm]   Register     Virt     Phys
[init -> tz_vmm] ---------------------------------
[init -> tz_vmm]   r0         = c5bc6e00 [85bc6e00]
[init -> tz_vmm]   r1         = 00000001 [00000000]
[init -> tz_vmm]   r2         = c030aef8 [8030aef8]
[init -> tz_vmm]   r3         = c690e000 [50004000]
[init -> tz_vmm]   r4         = c5bc6e00 [85bc6e00]
[init -> tz_vmm]   r5         = c5bc6e00 [85bc6e00]
[init -> tz_vmm]   r6         = 00000000 [00000000]
[init -> tz_vmm]   r7         = 00000001 [00000000]
[init -> tz_vmm]   r8         = c088cf50 [8088cf50]
[init -> tz_vmm]   r9         = 00000000 [00000000]
[init -> tz_vmm]   r10        = 00000001 [00000000]
[init -> tz_vmm]   r11        = c5b5b0c0 [85b5b0c0]
[init -> tz_vmm]   r12        = 00002000 [00000000]
[init -> tz_vmm]   sp         = 00000000 [00000000]
[init -> tz_vmm]   lr         = 00000000 [00000000]
[init -> tz_vmm]   ip         = c0309288 [80309288]
[init -> tz_vmm]   cpsr       = 20000013
[init -> tz_vmm]   sp_und     = c08e3978 [808e3978]
[init -> tz_vmm]   lr_und     = c08e3978 [808e3978]
[init -> tz_vmm]   spsr_und   = 00000000 [00000000]
[init -> tz_vmm]   sp_svc     = c5023ee8 [85023ee8]
[init -> tz_vmm]   lr_svc     = c030afd0 [8030afd0]
[init -> tz_vmm]   spsr_svc   = 60000013 [00000000]
[init -> tz_vmm]   sp_abt     = c08e396c [808e396c]
[init -> tz_vmm]   lr_abt     = c0038a20 [80038a20]
[init -> tz_vmm]   spsr_abt   = 20000093 [00000000]
[init -> tz_vmm]   sp_irq     = c08e3960 [808e3960]
[init -> tz_vmm]   lr_irq     = c0038a80 [80038a80]
[init -> tz_vmm]   spsr_irq   = 60000093 [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      = 85e34019
[init -> tz_vmm]   ttbr1      = 80004019
[init -> tz_vmm]   ttbrc      = 00000000
[init -> tz_vmm]   dfar       = c690e02c [5000402c]
[init -> tz_vmm]   exception  = data_abort
[init -> tz_vmm] Could not handle data-abort will exit!

Thanks,
 

Cheers,
Martin

[1] repos/base-hw/src/core/include/spec/imx53/trustzone/csu.h:159
[2] repos/base-hw/src/core/include/spec/imx53/trustzone/csu.h:215
[3] repos/base-hw/src/core/spec/imx53/trustzone/platform_support.cc:48
[4] https://github.com/m-stein/genode/tree/1497_usb_armory_demo

------------------------------------------------------------------------------
Presto, an open source distributed SQL query engine for big data, initially
developed by Facebook, enables you to easily query your data on Hadoop in a
more interactive manner. Teradata is also now providing full enterprise
support for Presto. Download a free open source copy now.
http://pubads.g.doubleclick.net/gampad/clk?id=250295911&iu=/4140
_______________________________________________
genode-main mailing list
genode-main@...12...ceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main