On 27/04/2021 16:53, Jan Beulich wrote: > On 26.04.2021 19:54, Andrew Cooper wrote: >> On CET-capable hardware, VMRUN/EXIT unconditionally swaps S_SET, SSP and > Nit: S_CET?
Ah yes. > >> ISST (subject to cleanbits) without further settings. >> >> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> > Acked-by: Jan Beulich <jbeul...@suse.com> Thanks. > with one question: > >> @@ -497,7 +501,9 @@ struct vmcb_struct { >> u64 rip; >> u64 res14[11]; >> u64 rsp; >> - u64 res15[3]; >> + u64 _msr_s_cet; /* offset 0x400 + 0x1E0 - cleanbit 12 */ >> + u64 _ssp; /* offset 0x400 + 0x1E8 | */ >> + u64 _msr_isst; /* offset 0x400 + 0x1F0 v */ >> u64 rax; >> u64 star; >> u64 lstar; > Any reason for the leading underscores, when none of the neighboring > fields have such? Yes - they're covered by a cleanbit, and for better or worse, this is our style. > Did you perhaps mean to add VMCB_ACCESSORS() > instances for them? TBH, I opencoded the cleanbit handling because I thoroughly hate that entire infrastructure. I ought to add lines, but I'm still very tempted to rip it all up and implement something which is less obfuscating. ~Andrew