Re: [PATCH v2 06/25] x86/virt/tdx: Add SEAMCALL wrappers for TDX TD creation

From: Dave Hansen
Date: Tue Nov 12 2024 - 18:13:26 EST


On 10/30/24 12:00, Rick Edgecombe wrote:
> +u64 tdh_mng_create(u64 tdr, u64 hkid)
> +{
> + struct tdx_module_args args = {
> + .rcx = tdr,
> + .rdx = hkid,
> + };
> + clflush_cache_range(__va(tdr), PAGE_SIZE);
> + return seamcall(TDH_MNG_CREATE, &args);
> +}
> +EXPORT_SYMBOL_GPL(tdh_mng_create);

I'd _prefer_ that this explain why the clflush is there.

The other goofy thing here is why it's getting a physical address passed
in. It's my old 32-bit paranoia kicking in, but everything that has a
valid virtual address _also_ has a valid physical address. The inverse
is not true, though. So I like to keep things as pointers as long as
possible.