Zcmt Extension
Synopsis
Zcmt adds the table jump instructions and also adds the jvt CSR. The jvt CSR requires a state enable if Smstateen is implemented. See [csrs-jvt] for details.
This extension reuses some encodings from c.fsdsp. Therefore it is incompatible with [Zcd], which is included when C and D extensions are both present.
| Zcmt is primarily targeted at embedded class CPUs due to implementation complexity. Additionally, it is not compatible with RVA profiles. |
The Zcmt extension depends on the [Zca] and Zicsr extensions.
| RV32 | RV64 | Mnemonic | Instruction |
|---|---|---|---|
yes |
yes |
cm.jt index |
|
yes |
yes |
cm.jalt index |
Parameters
This extension has the following implementation options (AKA parameters):
- JVT_BASE_TYPE
-
Type
string
Valid Values
[mask, custom]
Description
Type of the jvt.BASE CSR field. One of:
-
mask: jvt.BASE contains one or more implemented bits, which are indicated by JVT_BASE_MASK.
-
custom: Custom behavior. Will cause hart to enter 'unpredictable' state on a write to jvt.BASE.
-
- JVT_READ_ONLY
-
Type
boolean
Valid Values
boolean
Description
If Zcmt is implemented, JVT is implemented, but can contain a read-only value