-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
specification: Define the interface unbinding flows #113
Conversation
ef13c22
to
6f3d217
Compare
As the platform resources owner, only the host supervisor domain manager may | ||
decide to unbind an interface from a TVM. At any moment, it can choose to do so | ||
through the `sbi_covh_unbind_interface()` `COVH` ABI. The targeted TSM services | ||
the request by moving the TDI from the TDISP `CONFIG_LOCKED` or `RUN` state back |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it handles ERROR
state as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
participant TVM | ||
participant IOMMU | ||
|
||
note over TDI: CONFIG_LOCKED or RUN |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or ERROR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed, thanks.
VMM ->> TSM: [COVH] sbi_covh_unbind_interface() | ||
TSM ->> TSM: Generate TDISP STOP_INTERFACE_REQUEST | ||
TSM ->> VMM: [COVH] spdm_req(STOP_INTERFACE_REQUEST) | ||
VMM ->> DSM: [DOE] SPDM_STOP_INTERFACE_REQUEST |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel the name SPDM_STOP_INTERFACE_REQUEST
is confusing.
It is really a TDIPS protocol in SPDM session. But it is not SPDM protocol.
Maybe just call it spdm_req(STOP_INTERFACE_REQUEST)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense, this is fixed now.
TDI ->> TDI: Abort or complete all pending DMA requests | ||
TDI ->> TDI: Scrub all TDI secrets and confidential data | ||
note over TDI: CONFIG_UNLOCKED | ||
DSM ->> VMM: [DOE] SPDM_STOP_INTERFACE_RESPONSE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ditto
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed as well.
Fixes riscv-non-isa#57 Signed-off-by: Samuel Ortiz <sameo@rivosinc.com>
mapping the TSM initially created for the interface at | ||
xref:binding-flow[TDI binding time]. | ||
8. The TSM removes all C-IOMMU, TVM G-stage mappings and the MMIO gpa -> hpa | ||
mapping for the interface. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry for the late comment - does step 8 include removing all cached C-IOMMU ATC mappings for the interface being unbound?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good call. We're being explicit about it in #121
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm with a minor comment/clarification
Fixes #57