|
| 1 | +# yaml-language-server: $schema=../../schemas/ext_schema.json |
| 2 | + |
| 3 | +$schema: "ext_schema.json#" |
| 4 | +kind: extension |
| 5 | +name: Ssstrict |
| 6 | +long_name: Unimplemented reserved encodings trap and no no-conforming extensions |
| 7 | +description: | |
| 8 | + No non-conforming extensions are present. Attempts to |
| 9 | + execute unimplemented opcodes or access unimplemented CSRs in the |
| 10 | + standard or reserved encoding spaces raises an illegal instruction |
| 11 | + exception that results in a contained trap to the supervisor-mode |
| 12 | + trap handler. |
| 13 | +
|
| 14 | + [NOTE] Ssstrict does not prescribe behavior for the custom encoding |
| 15 | + spaces or CSRs. |
| 16 | +
|
| 17 | + [NOTE] Ssstrict definition applies to the execution environment |
| 18 | + claiming to be RVA23/RVB23-compatible. |
| 19 | + If the hypervisor extension is present, that execution environment will take a contained trap to |
| 20 | + supervisor-mode (however that trap is implemented, including, but not |
| 21 | + limited to, emulation/delegation in the outer execution |
| 22 | + environment). Ssstrict (and all the other RVA23/RVB23 mandates and options) |
| 23 | + do not apply to any guest VMs run by a hypervisor. An RVA23/RVB23 hypervisor |
| 24 | + can provide guest VMs that are also RVA23/RVB23-compatible but with an |
| 25 | + expanded set of emulated standard instructions. An RVA23/RVB23 hypervisor |
| 26 | + can also choose to implement guest VMs that are not RVA23/RVB23 compatible |
| 27 | + (e.g., lacking H, or only RVA20). |
| 28 | +
|
| 29 | + [NOTE] Ssstrict is a new RVA23/RVB23 profile-defined extension that restricts the |
| 30 | + behavior of reserved encoding spaces. The extension will be added to |
| 31 | + the supervisor chapter of the privileged architecture. |
| 32 | +versions: |
| 33 | + - version: "1.0.0" |
| 34 | + state: ratified |
| 35 | + ratification_date: null |
0 commit comments