@@ -319,6 +319,35 @@ \subsection{Cache Operations}
319319 \end {steps }
320320\end {commentary }
321321
322+ \subsection {Address Matches }
323+
324+ For address matches without a mask, \RcsrTdataTwo must be able to hold all valid
325+ addresses in all supported translation modes. That means that after writing any
326+ of these valid addresses, the exact same value XLEN-wide value is read back,
327+ including any high bits. An implementation may be able to optimize the storage
328+ required, depending on the widest addresses it supports.
329+
330+ \begin {commentary }
331+ If physical addresses are less than XLEN bits wide, they are zero-extended.
332+ If virtual addresses are less than XLEN bits wide, they are sign-extended.
333+ \RcsrTdataTwo must be implemented with enough bits of storage to represent
334+ the full range of supported physical and virtual address values when read by
335+ software and used by hardware.
336+ \end {commentary }
337+
338+ \subsubsection {Invalid Addresses }
339+
340+ If \RcsrTdataTwo can hold any invalid addresses, then writes of an
341+ invalid address that can not be represented as-is should be converted to
342+ a different invalid address that can be represented.
343+
344+ For invalid instruction fetch addresses and load and store effective addresses,
345+ the compare value may be changed to a different invalid address.
346+
347+ In addition, an implementation may choose to inhibit all trigger matching
348+ against invalid addresses, especially if there is no support for storage of any
349+ invalid address values in tdata2.
350+
322351\section {Multiple State Change Instructions } \label {sec:multistate }
323352
324353An instruction that performs multiple architectural state changes (e.g.,
0 commit comments