riscv / riscv-smmtt

This specification will define the RISC-V privilege ISA extensions required to support Supervisor Domain isolation for multi-tenant security use cases e.g. confidential-computing, trusted platform services, fault isolation and so on.
https://jira.riscv.org/browse/RVG-65
Creative Commons Attribution 4.0 International
28 stars 14 forks source link

Question about siselect when SDICN is zero #59

Open gagachang opened 1 month ago

gagachang commented 1 month ago

Current Smsdia (section 6.1) states:

When SDICN is not the number of an implemented interrupt controller, or is zero then the following
rules apply to all privilege modes:

• All siselect values that access IMSIC registers are reserved.

What does "reserved" mean ? Shouldn't it raise an illegal instruction exception in this case ?

Recommended changes if it should raise an illegal instruction exception:

When SDICN is not the number of an implemented interrupt controller, or is zero then the following
rules apply to all privilege modes:

• When siselect is a number in the range 0x70–0xFF (to access IMSIC registers), attempts to access
sireg raises an illegal instruction exception.

Therefore, RDSM can emulate an IMSIC when SDICN is set to 0.

gagachang commented 1 month ago

Hello @ved-rivos , would you like to give some perspectives ?