Skip to content

Commit

Permalink
vm requires pte scheme (#447)
Browse files Browse the repository at this point in the history
there's no provision in the spec for VM in capability mode without the
PTE extension, so the path of least resistance is to require it.

fixes #448
  • Loading branch information
tariqkurd-repo authored Nov 13, 2024
1 parent f61d3b0 commit 1ce6fe0
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/cheri-pte-ext.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ capabilities in memory at the page granularity. For this reason, the
{cheri_pte_ext_name} extension adds new bits to RISC-V's Page Table Entry (PTE)
format.

{cheri_pte_ext_name} requires at least one virtual memory translation scheme (_Sv39_, _Sv48_ or _Sv57_) to be implemented.
Implementing any virtual memory translation scheme (_Sv39_, _Sv48_ or _Sv57_) and {cheri_base_ext_name} requires {cheri_pte_ext_name} to be implemented.

NOTE: There is no explicit mechanism for enabling or disabling {cheri_pte_ext_name}. A VM-enabled legacy (non-CHERI) OS running in {cheri_int_mode_name} will not load or store capabilities, and so the default state of CW=0 causing loaded capabilities to have their tags cleared, and stored capabilities with their tags set to cause a page fault, won't occur. A CHERI-aware OS running a VM-enabled OS is required to support {cheri_pte_ext_name}, and the minimum level of support is to set CW to 1 in all PTEs and leave <<sstatusreg_pte,sstatus>>.CRG and CRG in all PTEs set to 0, which will allow capabilities with their tags set to be loaded and stored successfully.

=== Limiting Capability Propagation

Expand Down

0 comments on commit 1ce6fe0

Please sign in to comment.