Add LoadCapPageFault exception cases

This commit is contained in:
Peter Rugg
2021-04-29 09:55:38 +01:00
parent 1eef5d2979
commit 005ba1bd6f
2 changed files with 3 additions and 1 deletions

View File

@@ -1122,7 +1122,8 @@ module mkCsrFile #(Data hartid)(CsrFile);
excInstAccessFault, excInstPageFault,
excLoadAddrMisaligned, excLoadAccessFault,
excStoreAddrMisaligned, excStoreAccessFault,
excLoadPageFault, excStorePageFault, excStoreCapPageFault: return addr;
excLoadPageFault, excStorePageFault,
excStoreCapPageFault, excLoadCapPageFault: return addr;
default: return 0;
endcase);

View File

@@ -243,6 +243,7 @@ function TlbPermissionCheck hasVMPermission(
fault = True;
end
if (cap) begin
if (!fault) excCode = excLoadCapPageFault;
// check for invalid PTE encodings
if ((!pte_upper_type.cap_readable && pte_upper_type.cap_read_gen) ||
(pte_upper_type.cap_readable && !pte_upper_type.cap_read_mod &&