From d42894f58bcc26a6e2847862b50c27a51ce67461 Mon Sep 17 00:00:00 2001 From: Alex Richardson Date: Wed, 30 Oct 2024 12:19:02 -0700 Subject: [PATCH] Correct Zcherilevels EL clearing table When the authorizing EL is zero, we also clear EL on the loaded cap (if it is tagged). Fixes: https://github.com/riscv/riscv-cheri/issues/432 --- src/level-ext.adoc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/level-ext.adoc b/src/level-ext.adoc index 16351805..e8711721 100644 --- a/src/level-ext.adoc +++ b/src/level-ext.adoc @@ -127,8 +127,9 @@ NOTE: if W=0 or C=0 then SL is irrelevant |============================================================================== 4+|Auth cap field | Data cap field | h|*R* h|*C* h|*EL* h|*CL* h| Tag h|Action -.4+.^|1 .4+.^| 1 | 1 | X | X |Load data capability unmodified - .3+.^| 0 | 1 | X |Load data capability unmodified +.5+.^|1 .5+.^| 1 | 1 | X | X |Load data capability unmodified + .4+.^| 0 | 1 | 1 |Load data capability with EL=0 + | 1 | 0 |Load data capability unmodified .2+.^| 0 | 1 |Load data capability with CL=0,EL=0 | 0 |Load data capability unmodified |==============================================================================