Re: [RFC v2 26/32] x86/mm: Move force_dma_unencrypted() to common code

From: Dave Hansen
Date: Mon May 17 2021 - 14:33:36 EST


On 5/17/21 11:27 AM, Kuppuswamy, Sathyanarayanan wrote:
> On 5/17/21 11:16 AM, Sean Christopherson wrote:
>> What generic code needs access to SEV vs. TDX?
>> force_dma_unencrypted() is called from generic code, but its
>> implementation is x86 specific.
>
> When the hardening the drivers for TDX usage, we will have
> requirement to check for is_protected_guest() to add code specific to
> protected guests. Since this will be outside arch/x86, we need common
> framework for it.

Just remember, a "common framework" doesn't mean that it can't be backed
by extremely arch-specific mechanisms.

For instance, there's a lot of pkey-specific code in mm/mprotect.c. It
still gets optimized away on x86 with all the goodness of X86_FEATUREs.