File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -251,6 +251,13 @@ locating tag is unaligned. Tag storage memory must be idempotent memory else
251
251
[[TAG_CHECKS]]
252
252
=== tag checks and privilege modes
253
253
254
+ If memory tagging is enabled for the execution environment, then memory tagging
255
+ checks are performed by extracting `pointer_tag` from the input pointer and
256
+ comparing `pointer_tag` against `mc_tag` associated with memory chunk for the
257
+ respective address. If the effective address range of a load/store spans
258
+ multiple memory chunks, the applicability of memory tag checks is determined
259
+ separately for each memory chunk.
260
+
254
261
==== M-mode
255
262
If memory tagging is enabled in M-mode (see <<MEM_TAG_EN>>), all regular loads
256
263
and regular stores are subject to memory tagging checks.
@@ -319,8 +326,8 @@ following rules apply:
319
326
320
327
3. If both rule 2 and rule 1 are applying, rule 2 takes precedence.
321
328
322
- 4. An instruction crossing a page boundary with differing `MTAG` value,
323
- common denominator of `MTAG=0` applies for such instruction .
329
+ 4. An instruction crossing a page boundary with differing `MTAG` value, the
330
+ instruction behaves as if it was fetched from a page with MTAG=0 .
324
331
325
332
`MTAG` bit in page table entry remains a reserved bit if `XWR == 111` or
326
333
`XWR == 010` and if set, will raise a page fault of original access type.
You can’t perform that action at this time.
0 commit comments