From: lkcl Date: Sun, 10 Jul 2022 13:57:48 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~1222 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1a190fc356699e595e48f362bc45e28d6c193b59;p=libreriscv.git --- diff --git a/openpower/sv/remap.mdwn b/openpower/sv/remap.mdwn index 7cadb81b1..0db2918f0 100644 --- a/openpower/sv/remap.mdwn +++ b/openpower/sv/remap.mdwn @@ -376,6 +376,18 @@ 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. +**Usage guidelines** + +* **Disable 2D mapping**: to only perform Indexing without + reordering use `SVd=1,sk=0,yx=0` (or set SVd to a value larger + or equal to VL) +* **Modulo 1D mapping**: to perform Indexing cycling through the + first N Indices use `SVd=N,sk=0,yx=0` where `VL>N`. There is + no requirement to set VL equal to a multiple of N. + +Beyond these mappings it becomes necessary to write directly to +the SVSTATE SPRs manually. + # REMAP Matrix pseudocode The algorithm below shows how REMAP works more clearly, and may be