-
Notifications
You must be signed in to change notification settings - Fork 36
Question of Salus development plan about deployment model 1/2 #336
Description
Hi,
In README, we noticed that the initial prototype of salus runs in HS mode. And the Host runs in VS mode.
+---U-mode--+ +-----VS-mode-----+ +-VS-mode-+
| | | | | |
| | | +---VU-mode---+ | | |
| Salus | | | VMM(crosvm) | | | Guest |
| Delegated | | +-------------+ | | |
| Tasks | | | | |
| | | Host(linux) | | |
+-----------+ +-----------------+ +---------+
| | |
TBD syscall SBI (COVH-API) SBI(COVG-API)
| | |
+-------------HS-mode-----------------------+
| Salus |
+-------------------------------------------+
|
SBI
|
+----------M-mode---------------------------+
| Firmware(OpenSBI) |
+-------------------------------------------+
Have you considered the isolated secure/insecure plan, running Host in HS mode, togther with salus? As the following prototype:
+-------VS-mode------+
| |
| Guest |
| |
+--------------------+
| ↑
4.SBI(COVG) 3.SBI(COVH)
↓ |
+---------HS-mode---+ +--HS-mode-----------+
| Host(linux) | | Salus |
+-------------------+ +--------------------+
| ↑ | ↑
1.SBI(COVH) 6.SBI(COVG) 5.SBI(COVG) 2.SBI(COVH)
↓ | ↓ |
+---------------------M-mode--------------------+
| Firmware(OpenSBI) |
+-----------------------------------------------+
The process describes as follows,also described from COVE spec in the following pic :
1.Host ecalls to OpenSBI.(TEECALL)
2.OpenSBI identifies COVH ecall messages, then transfers the message to Salus.
3.Salus identifies TEERET message from OpenSBI, and might run Guest in VS mode.
4.Guest might trap into Salus, with COVG message.
5.Salus finishes COVH processing, returns message to Host, and transfers the control flow to Opensbi.
6.OpenSBI transfers the control flow to Opensbi, with messages. (TEERET)
The pics from here: TCB Isolation for VM workloads using Supervisor Domains, TSM operation: Interruptible and non-reentrant TSM model according to the deployment model 1.
The later prototype got some advantages:
- Insecure / Secure domain isolation. Host could run just in insecure domain as if no other domains provided. Confidential VMs could run in secure domain, with safety guarantee from MTT/IOMTT etc.
- No virtualization performance lost for Host. Host still runs above OpenSBI in S(HS) mode. And no need to run host in VS mode with virtualization performance lost.
3.Non-confidential VMs still run VS mode, hosted by Host(Linux). There is no need to run Non-confidential VMs in nested virtualization mode with performance lost.
Do you think the later plan is needed for salus?
We'd like to know if you're already developing the later plan.
If so, we may hope to join the development.
If not, we may put some effort into the later one. Very glad if you could offer some help.