Create ACE protection policy #215
Labels
enhancement
New feature or request
Exploration
main
Main functionalities
question
Further information is requested
ACE Integration with Miralis
High level architecture
Initialisation module
Boot process of ACE. Here is the boot process in a very high level overview, where the non relevant details get abstracted.
At some point OpenSBI jumps to to the function
init_security_monitor_asm
which will execute mutiple steps.Confidential - non confidential flow
The codes aren't too complicated to understand and don't have a heavy logic. They implement all the features the security monitor requires.
How to switch from one to the other?
In the non_confidential control flow, we have this trap handler. We have a list of HsEcall we that can alter the state of the security monitor.
In the confidential control flow, we have this trap handler, which catches all VsEcalls.
Concrete integration with Miralis
The security monitor can be integrated with minimal changes. In the current implementation, the initialisation process after OpenSBI is booting. At some points it jumps to the init code and then go back to OpenSBI. Then the entire code depends only on two interrupts handlers .Ideally it looks like we should use the security monitor as a library for Miralis.
Init code
In
src/main.rs
, we can jump to their init code, execute it and then return to Miralis.Confidential and non confidential interrupts
Most likely : Delegate from Miralis to ACE
We don't even need to modify the trap Handler
route_trap_from_hypervisor_or_vm
as the classics trap will be catched by Miralis. We might want to adapt a bit the interface between the two systems. In particular two points requires a more careful consideration.The text was updated successfully, but these errors were encountered: