Add arch-specific provider; remove PunchthroughProvider#806
Add arch-specific provider; remove PunchthroughProvider#806jaybosamiya-ms wants to merge 4 commits into
Conversation
2542f06 to
8f4da91
Compare
wdcui
left a comment
There was a problem hiding this comment.
I left some comments below. Will have some offline discussion with you.
| litebox::platform::ArchSpecificRegister::GsBase => { | ||
| // GS base is used internally by this platform to hold the host | ||
| // TLS base across the guest/host fs-gs swap, so it is not | ||
| // directly programmable by the guest. |
There was a problem hiding this comment.
Why would you expect the guest to call this platform trait?
There was a problem hiding this comment.
Thanks! The guest program may invoke SYS_arch_prctl syscall, which the shim needs to handle, and that eventually invokes the platform trait. I'm adding some more comments towards this at the trait itself.
8f4da91 to
548de6f
Compare
df107cb to
76bbc4d
Compare
|
This PR has been in limbo for a little while. I've now added some more clarity to the docs, and switched a couple of things to |
|
🤖 SemverChecks 🤖 Click for details |
This PR removes the last vestiges of the
PunchthroughProvider, moving out architecture-specific register management into its own trait. For now, I've only added support for x86-64's fsbase/gsbase, with platforms deciding which ones they'd like to support and which ones they do not want to support. Currently, the kernel platforms explicitly do anunimplemented!for the gsbase (see #806 (comment)).