Re: [PATCH Part2 v6 06/49] x86/sev: Add helper functions for RMPUPDATE and PSMASH instruction
From: Borislav Petkov
Date: Wed Aug 03 2022 - 16:27:09 EST
On Mon, Aug 01, 2022 at 10:31:26PM +0000, Kalra, Ashish wrote:
> The struct rmpentry is the raw layout of the RMP table entry
> while struct rmpupdate is the structure expected by the rmpupdate
> instruction for programming the RMP table entries.
>
> Arguably, we can program a struct rmpupdate internally from a struct
> rmpentry.
>
> But we will still need struct rmpupdate for issuing the rmpupdate
> instruction, so it is probably cleaner to keep it this way, as it only
> has two main callers - rmp_make_private() and rmp_make_shared().
Ok, but then call it struct rmp_state. The APM says in the RMPUPDATE
blurb:
"The RCX register provides the effective address of a 16-byte data
structure which contains the new RMP state."
so the function signature should be:
static int rmpupdate(u64 pfn, struct rmp_state *new)
and this is basically the description of that. It can't get any more
user-friendly than this.
Thx.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette