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

Kernel page table makes page fault although other core already mapped.

Hi, expert. I'm making CacheFlush function by Virtual Address.

I'm using TTBR0 for user area, and TTBR1 for Kernel Area, and I'm using Dual core, Cortex-A9

I'm using Cache Flush Policy as Write Through about Kernel PageTable (Below KPT) itself, and Write Back-Write Allocate about Virtual Address.

When Core0 maps new virtual address (Below VA) in KPT

and Core1 access that VA which is already mapped by Core0,

Sometimes, Core1 makes Data Abort - Page Fault (accssing which refered above).

I try to find out the reason.. but I can't get any idea about this problem...

I'm begging your merciful and wise answer...

Parents
  • Hello,

    I think you are misunderstanding.

    Each core has TTBR0 and TTBR1, and an address translation is performed by each MMU. Therefore you should make the same mapping for the core1 as the core0 mapping.

    By the way, the write through policy is identical to the uncached at Cortex-A9.

    Best regards,

    Yasuhiko Koumoto.

Reply
  • Hello,

    I think you are misunderstanding.

    Each core has TTBR0 and TTBR1, and an address translation is performed by each MMU. Therefore you should make the same mapping for the core1 as the core0 mapping.

    By the way, the write through policy is identical to the uncached at Cortex-A9.

    Best regards,

    Yasuhiko Koumoto.

Children