[AMD Official Use Only - General] Hello Boris, >> +struct rmpupdate { Why is there a struct rmpupdate *and* a struct rmpentry?! 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(). Also due to non-architectural aspect of struct rmpentry, the above functions may need to be modified If there are changes in struct rmpentry, while struct rmpupdate remains consistent and persistent. >One should be enough. >> + u64 gpa; >> + u8 assigned; >> + u8 pagesize; >> + u8 immutable; >> + u8 rsvd; >> + u32 asid; >> +} __packed; >> + Thanks, Ashish