On Thu, Mar 13, 2025 at 4:17 AM Xiaoyao Li <xiaoyao.li@xxxxxxxxx> wrote: > > On 3/12/2025 7:36 PM, Paolo Bonzini wrote: > > On Mon, Mar 10, 2025 at 8:24 AM Xiaoyao Li <xiaoyao.li@xxxxxxxxx> wrote: > >> > >> On 3/8/2025 5:20 AM, Paolo Bonzini wrote: > >>> From: Isaku Yamahata <isaku.yamahata@xxxxxxxxx> > >>> > >>> On exiting from the guest TD, xsave state is clobbered; restore it. > >> > >> I prefer the implementation as this patch, which is straightforward. > >> (I would be much better if the changelog can describe more) > > > > Ok: > > > > Do not use kvm_load_host_xsave_state(), as it relies on vcpu->arch > > to find out whether other KVM_RUN code has loaded guest state into > > XCR0/PKRU/XSS or not. In the case of TDX, the exit values are known > > independent of the guest CR0 and CR4, and in fact the latter are not > > available. > > In fact, I expected some description of how xsave state is clobbered and > what value of them after TD exit. > > After return from TDH.VP.ENTER, XCR0 is set to TD's user-mode feature > bits of XFAM and MSR_IA32_XSS is set to TD's supervisor-mode feature > bits of XFAM. PKRU keeps unchanged if the TD is not exposed with PKU > in XFAM or PKRU is set to 0 when XFAM.PKE(bit 9) is 1. Ah, I didn't include that because it's just information from the TDX module documentation. Paolo