On Thu, Sep 02, 2021, Andy Lutomirski wrote:
On 9/2/21 2:27 AM, Joerg Roedel wrote:
quoted
On Wed, Sep 01, 2021 at 09:07:59AM -0700, Andy Lutomirski wrote:
quoted
In principle, you could actually initialize a TDX guest with all of its
memory shared and all of it mapped in the host IOMMU.
Not sure how this works in TDX, but in SEV code fetches are always
treated as encrypted. So this approach would not work with SEV, not to
speak about attestation, which will not work with this approach either
:)
Oof.
TDX is kinda similar. _All_ accesses are private if paging is disabled because
the shared bit is either bit 48 or bit 51 in the GPA, i.e. can't be reached if
paging is disabled. The vCPU is hardcoded to start in unpaged protected mode,
so at least some amount of guest memory needs to be private.
I also could've sworn code fetches from shared memory would #VE, but I can't find
anything in the specs that confirm that. I may be conflating TDX with SGX's #GP
on a code fetch outside of ELRANGE...