Re: [RFC v1 23/26] x86/tdx: Make pages shared in ioremap()

From: Dave Hansen
Date: Tue Apr 06 2021 - 12:15:01 EST


On 4/6/21 9:00 AM, Kirill A. Shutemov wrote:
>>> --- a/arch/x86/mm/ioremap.c
>>> +++ b/arch/x86/mm/ioremap.c
>>> @@ -87,12 +87,12 @@ static unsigned int __ioremap_check_ram(struct resource *res)
>>> }
>>>
>>> /*
>>> - * In a SEV guest, NONE and RESERVED should not be mapped encrypted because
>>> - * there the whole memory is already encrypted.
>>> + * In a SEV or TDX guest, NONE and RESERVED should not be mapped encrypted (or
>>> + * private in TDX case) because there the whole memory is already encrypted.
>>> */
>> But doesn't this mean that we can't ioremap() normal memory?
> It's not allowed anyway: see (io_desc.flags & IORES_MAP_SYSTEM_RAM) in the
> __ioremap_caller().
>
>> I was somehow expecting that we would need to do this for some
>> host<->guest communication pages.
> It goes though DMA API, not ioremap().

Ahh, got it. Thanks for the clarification.

It would help to make mention of that stuff in the changelog to make it
more obvious going forward.