[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <91208627-74a6-4d19-9eef-cc8da7b0a4dc@intel.com>
Date: Thu, 13 Mar 2025 11:17:26 +0800
From: Xiaoyao Li <xiaoyao.li@...el.com>
To: Paolo Bonzini <pbonzini@...hat.com>
Cc: linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
adrian.hunter@...el.com, seanjc@...gle.com, rick.p.edgecombe@...el.com,
Isaku Yamahata <isaku.yamahata@...el.com>
Subject: Re: [PATCH v3 05/10] KVM: TDX: restore host xsave state when exit
from the guest TD
On 3/12/2025 7:36 PM, Paolo Bonzini wrote:
> On Mon, Mar 10, 2025 at 8:24 AM Xiaoyao Li <xiaoyao.li@...el.com> wrote:
>>
>> On 3/8/2025 5:20 AM, Paolo Bonzini wrote:
>>> From: Isaku Yamahata <isaku.yamahata@...el.com>
>>>
>>> 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.
If the changelog has the description of TDX module, it indeed can help
people understand the code.
> Thanks!
>
> Paolo
>
Powered by blists - more mailing lists