(no commit message)
authorlkcl <lkcl@web>
Mon, 6 Jun 2022 23:41:42 +0000 (00:41 +0100)
committerIkiWiki <ikiwiki.info>
Mon, 6 Jun 2022 23:41:42 +0000 (00:41 +0100)
openpower/sv/remap.mdwn

index 47b7157659ab465533a2f4787137bea850dc5a6b..dec09925a2a6690ab999cd33c619554753150240 100644 (file)
@@ -261,6 +261,24 @@ Example 2: if mask=0b10001 then again SVSHAPE0 and SVSHAPE1
 are set up, but the REMAP SPR is set so that mi0 uses SVSHAPE0
 and mo1 uses SVSHAPE1.
 
+When `mm=1`:
+
+* bits 0-2 of mask indicate an index selecting mi0-mo1
+* bits 3-4 of mask indicate which SVSHAPE 0-3 shall be updated
+* only the selected SVSHAPE is overwritten
+* only the relevant bits in the REMAP SPR are updated
+
+Example 1: if mask=0b10011 then mo0 is selected and SVSHAPE2
+to be updated. REMAP.SVme[3] will be set high and REMAP.mo0
+set to 2 (SVSHAPE2).
+
+Example 2: if mask=0b11100 then mo1 is selected and SVSHAPE3
+to be updated. REMAP.SVme[4] will be set high and REMAP.mo1
+set to 3 (SVSHAPE3).
+
+In essence, `mm=0` is intended for use to set as much of the
+REMAP State SPRs as practical with a single instruction,
+whilst `mm=1` is intended to be a little more refined.
 
 # REMAP Matrix pseudocode