Re: [PATCH Part2 v6 07/49] x86/sev: Invalid pages from direct map when adding it to RMP table

Kalra, Ashish
2023-01-05T21:46:28Z

Hello Boris,

On 12/29/2022 11:09 AM, Borislav Petkov wrote:
> On Tue, Dec 27, 2022 at 03:49:39PM -0600, Kalra, Ashish wrote:
>> Milan onward,
>
> And before ML there's no SNP, right?
>

Yes, that's correct.

>> there is H/W support for coherency between mappings of the
>> same physical page with different encryption keys, so AFAIK, there should be
>> no need to flush during page state transitions, where we invoke these direct
>> map interface functions for re-mapping/invalidating pages.
>
> Yah, that rings a bell.
>
> In any case, the fact that flushing is not needed should be stated
> somewhere in text so that it is clear why.
>
>> I don't know if there is any other reason to flush after modifying
>> the direct map ?
>
> There's
>
> /*
> * No need to flush, when we did not set any of the caching
> * attributes:
> */
> cache = !!pgprot2cachemode(mask_set);
>
>
> Does the above HW cover this case too?

Actually, as both set_memory_p() and set_memory_np() are only
setting/clearing the _PAGE_PRESENT flag and not changing any of the page
caching attributes so this flush won't be required anyway.

Thanks,
Ashish

>
> Thx.
>