Re: [RFC 03/16] KVM: selftests: handle encryption bits in page tables

From: Paolo Bonzini
Date: Mon Oct 25 2021 - 03:34:19 EST


On 24/10/21 18:49, Michael Roth wrote:
So test code would need to consider cases where addr_gpa2raw() needs to be
used to set the C-bit (which is basically only when they want to mix usage
of the vm_phy_page[s]_alloc with their own mapping of the guest page tables,
which doesn't seem to be done in any existing tests anyway).

Yes, and it seems like a more rare case in general.

The library code would need these addr_gpa2raw() hooks in places where
it calls virt_*map() internally. Probably just a handful of places
though.

Either that, or you can have virt_*map that consults the encryption bitmap, and virt_*map_enc (or _raw, doesn't matter) that takes the encryption state explicitly as a bool.

Even in this alternative approach though, having addr_gpa2hva() silently
mask away C-bit still seems useful for the reasons above, but again, no
strong feelings one way or the other on that.

Ok, keep it the way you find more useful.

Paolo