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