Noux application

Joseph Lee leejose911 at ...9...
Thu Nov 19 13:44:25 CET 2015


Hi Martin,

I really appreciate your kind response.

I just want to let only Genode to access the ESDHC and run tz_vmm
successfully without generating data abort exception . Can i disable the
ESDHC in the Linux kernel so that the Linux (unsecure side) can't request
to access the ESDHC. Please let me know if it is possible and how i can do
that. Or is there something to do this in Genode configuration?

Thanks,



On Thu, Nov 19, 2015 at 11:19 AM, Martin Stein <martin.stein at ...1...
> wrote:

> Hey Joseph,
>
> Am 19.11.2015 um 01:58 schrieb Joseph Lee:
> > 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>());
>
> Thank you for the info :)
>
> > 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!
>
> As you configured your ESDHC secure, unsecure Linux consequently isn't
> allowed anymore to access it. If you want to let both Linux and Genode
> access the ESDHC you can use an SMC-based stub block driver in the
> unsecure world. You might have a look at [1] (unsecure sided driver) and
> [2] (secure sided back-end) as an inspiration. In this example, Genode
> secures the ESDHC in general but, via part_blk and tz_vmm, provides the
> second partition of an ESDHC medium to the Linux stub block driver.
>
> Cheers,
> Martin
>
> [1]
>
> https://github.com/m-stein/genode/commit/225f1fe1296da11b8304ebe55a4c23f6e29f9aa5
>
>  repos/os/src/server/tz_vmm/include/block.h
>  repos/os/src/server/tz_vmm/block.cc
>
> [2]
>
> https://github.com/m-stein/linux/commit/9418cc87ed26b6cd7c4ec66ba4bdc1f998cd5ccd
>
>  drivers/block/genode.c
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20151119/27379a45/attachment.html>


More information about the users mailing list