Skip to content

Commit

Permalink
Merge pull request #3403 from chipsalliance/mergify/bp/master/pr-3401
Browse files Browse the repository at this point in the history
CSR: optionally set delegable hypervisor exceptions (backport #3401)
  • Loading branch information
jerryz123 authored Jul 1, 2023
2 parents 1afa32a + 0320cfb commit 23217c6
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions src/main/scala/rocket/CSR.scala
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ class CSRFile(

(sup.asUInt | supported_high_interrupts, del.asUInt)
}
val delegable_exceptions = Seq(
val delegable_base_exceptions = Seq(
Causes.misaligned_fetch,
Causes.fetch_page_fault,
Causes.breakpoint,
Expand All @@ -434,11 +434,18 @@ class CSRFile(
Causes.misaligned_store,
Causes.illegal_instruction,
Causes.user_ecall,
)
val delegable_hypervisor_exceptions = Seq(
Causes.virtual_supervisor_ecall,
Causes.fetch_guest_page_fault,
Causes.load_guest_page_fault,
Causes.virtual_instruction,
Causes.store_guest_page_fault).map(1 << _).sum.U
Causes.store_guest_page_fault,
)
val delegable_exceptions = (
delegable_base_exceptions
++ (if (usingHypervisor) delegable_hypervisor_exceptions else Seq())
).map(1 << _).sum.U

val hs_delegable_exceptions = Seq(
Causes.misaligned_fetch,
Expand Down

0 comments on commit 23217c6

Please sign in to comment.