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

why Interrupt 1023 (Spurious interrupt) happens when i set pagetable attribute on exynos5250?

Hi, experts.

I'm developing pagetable on exynos5250 and exynos5433.

But i have very strange problem....

when i mapping secure-memory-area as section with attributes that is

               S = 1, TEX= 001, C =1, B = 1      =>  Outer and Inner Write-Back, Write-Allocate, Normal memory type.

               or

               S = 1, TEX= 000, C =1, B = 1       =>  Outer and Inner Write-Back, no Write-Allocate, Normal memory type,

it occurs Spurious interrupt (1023).. and i'cant process anymore.

But when i set that area with attributes that is

               S = 1, TEX= 000, C =1, B = 0        ==>    Outer and Inner Write-Through, no Write-Allocate, Normal memory type.

it works well..


However, when i try to map secure-memory-area with attributes which happen Interrupt on exynos5250, it work very well at exynos5433.

I don't know why this happens, and secure-memory-area isn't shared with Non-Secure.

also i map secure-memory-area as Section.

the memory address where interrupt happens when i try to set Outer and Inner Write-Back, write-Allocate, Normal memory type are

0xBF000000 ~ 0xC0000000. ( will be used in secure mode - DRAM ) and

0x02000000 ~ 0x02100000 (IRAM).

Could share your experience and knowledge for this beginner please?

Thanks.

Parents
  • On the Cortex-A15, write-through regions are treated as non-cacheable.  Therefore your change is effectively changing the address from cacheable (not working) to non-cacheable (working).

    Which region(s) are you changing the attributes for?  Just secure memories (flash, ram...)?

    Sanity check, the virtual address that maps to the GIC, it is marked as Device?  What do the GICC_HPPIR report?  Does it change if your turn the MMU off?

Reply
  • On the Cortex-A15, write-through regions are treated as non-cacheable.  Therefore your change is effectively changing the address from cacheable (not working) to non-cacheable (working).

    Which region(s) are you changing the attributes for?  Just secure memories (flash, ram...)?

    Sanity check, the virtual address that maps to the GIC, it is marked as Device?  What do the GICC_HPPIR report?  Does it change if your turn the MMU off?

Children