Duplicate globally-mapped Micro TLB entries

Note: This was originally posted on 3rd November 2010 at http://forums.arm.com

I am mapping a page using the same virtual address with the same properties in two separate page tables, which are accessed using two separate ASIDs.

Even though the page is mapped as a global page, I am seeing two valid entries in both the instruction and data Micro TLB. If I read the specification documents correctly, this is not supposed to happen using global mappings.

I would very much like to know if I have a software bug or this is indeed the intended hardware behavior. The information below is gathered using the CP15 TLB Debug registers and the TLB Match and Load operations were disabled before collecting this information.

Data Micro TLB:

idx  VA        G  ASID  PA        ATTR
---  --------  -  ----  --------  --------
2:  ffff120c  x    12  161ee3b6  000001ee
3:  ffff120b  x    11  161ee3b6  000001ee
4:  ffff120b  x    11  161ee3b7  000001ee


Instr. Micro TLB:

idx  VA        G  ASID  PA        ATTR
---  --------  -  ----  --------  --------
0:  ffff120c  x    12  161ee3b6  000001ee
1:  ffff120b  x    11  161ee3b7  000001ee
3:  ffff120c  x    12  161ee3b6  000001ee


Instr. Micro TLB:

idx  VA        G  ASID  PA        ATTR
---  --------  -  ----  --------  --------
17:  ffff120b  x    11  161ee3b7  0a0001ee


Thanks!

-Christoffer
More questions in this forum