Open rock-ifly opened 1 week ago
Yes, a leaf PTE defines the memory attributes for just (all) the PAs within that page.
The highlighted Svpbmt text is saying that all addresses within such a page (PMA=IO, PBMT=NC), are fenced by both IO fences and main memory fences (and similar for .aq/.rl fencing purposes). Whereas PMA=IO, by itself, would say that all addresses are only fenced by IO fences. And if PMA=main_mem and PBMT=NC together, then all addresses are only fenced by main memory fences.
The Svpbmt says that memAttr is both IO and NC for the purpose of FENCE, .aq and .rl
How to understand the "both"?
the MMU only gives a definity memAttr for a specific PA, doesn't it ? If PA0 is defined as IO in PMA, and is override by PBMT=NC in a pte, then MMU output memAttr = NC according to Svpbmt spec. Then