This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

TrustZone with PL310

Note: This was originally posted on 17th August 2013 at http://forums.arm.com

I plan to use a simple 'TrustZone Monitor'  with PL310(L2CC).
In non-secure, I will play a Linux-Kernel.

One problem.
1. PL310's background-operation(inv.way etc..)  is executing in non-secure.
2. By secure-interrupt, dispatch to secure.
3. In secure, try to execute a write-operation to PL310' register.
May be happen 'DATA-ABORT'.

Do I must control exclusive PL310  secure and non-secure ?

Please help me.
Parents
  • Note: This was originally posted on 19th August 2013 at http://forums.arm.com

    I found the answer by myself.

    1. PL310's background-operation(inv.way etc..) is executing in non-secure.
    2. By secure-interrupt, dispatch to secure.
    3. In secure, wait for complete background-operation.(It is read operation.)
    4. try to execute a write-operation to PL310' register.
       no 'DATA-ABORT' is occured.

    But,,,
    New question.

    In 'MultiCore System'.
    My secure-monitor is running on CORE0 only.

    1. (CORE1) PL310's background-operation(inv.way etc..) is executing in non-secure.
    2. (CORE0) secure-interrupt, dispatch to secure.
    3. (CORE0) In secure, try to execute a write-operation to PL310' register.
    May be happen 'DATA-ABORT'.

    Do I must control exclusive-access for PL310, secure and non-secure ?
    (ex. spinlock)

    Please help me.
Reply
  • Note: This was originally posted on 19th August 2013 at http://forums.arm.com

    I found the answer by myself.

    1. PL310's background-operation(inv.way etc..) is executing in non-secure.
    2. By secure-interrupt, dispatch to secure.
    3. In secure, wait for complete background-operation.(It is read operation.)
    4. try to execute a write-operation to PL310' register.
       no 'DATA-ABORT' is occured.

    But,,,
    New question.

    In 'MultiCore System'.
    My secure-monitor is running on CORE0 only.

    1. (CORE1) PL310's background-operation(inv.way etc..) is executing in non-secure.
    2. (CORE0) secure-interrupt, dispatch to secure.
    3. (CORE0) In secure, try to execute a write-operation to PL310' register.
    May be happen 'DATA-ABORT'.

    Do I must control exclusive-access for PL310, secure and non-secure ?
    (ex. spinlock)

    Please help me.
Children
No data