Re: [PATCH v2 10/25] x86/virt/tdx: Add SEAMCALL wrappers for TDX flush operations
From: Dave Hansen
Date: Tue Nov 12 2024 - 20:11:40 EST
On 10/30/24 12:00, Rick Edgecombe wrote:
> +u64 tdh_vp_flush(u64 tdvpr)
> +{
> + struct tdx_module_args args = {
> + .rcx = tdvpr,
> + };
> +
> + return seamcall(TDH_VP_FLUSH, &args);
> +}
> +EXPORT_SYMBOL_GPL(tdh_vp_flush);
This also just isn't looking right. The 'tdvpr' is a _thing_. It has a
type and it came back from some _other_ bit of the same type.
So, in the worst case, this could be:
struct tdvpr {
u64 tdvpr_paddr;
};
u64 tdh_vp_flush(struct tdvpr *tdpr)
{
...
But just passing around physical addresses and then having this things
stick it right in to seamcall() doesn't seem like the best we can do.