[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZuF6xa9RAR5dEf3f@tlindgre-MOBL1>
Date: Wed, 11 Sep 2024 14:11:01 +0300
From: Tony Lindgren <tony.lindgren@...ux.intel.com>
To: Paolo Bonzini <pbonzini@...hat.com>
Cc: Xu Yilun <yilun.xu@...ux.intel.com>,
Rick Edgecombe <rick.p.edgecombe@...el.com>, seanjc@...gle.com,
kvm@...r.kernel.org, kai.huang@...el.com, isaku.yamahata@...il.com,
xiaoyao.li@...el.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 21/25] KVM: x86: Introduce KVM_TDX_GET_CPUID
On Tue, Sep 10, 2024 at 07:29:13PM +0200, Paolo Bonzini wrote:
> On 9/3/24 09:19, Tony Lindgren wrote:
> > > > + gpa_t gpa_bits = gfn_to_gpa(kvm_gfn_direct_bits(vcpu->kvm));
> > > > + unsigned int g_maxpa = __ffs(gpa_bits) + 1;
> > > > +
> > > > + output_e->eax &= ~0x00ff0000;
> > > > + output_e->eax |= g_maxpa << 16;
> > > Is it possible this workaround escapes the KVM supported bits check?
> >
> > Yes it might need a mask for (g_maxpa << 16) & 0x00ff0000 to avoid setting
> > the wrong bits, will check.
>
> The mask is okay, __ffs(gpa_bits) + 1 will be between 1 and 64.
OK
> The question is whether the TDX module will accept nonzero bits 16..23 of
> CPUID[0x80000008].EAX.
Just for reference, that's the 0x80000008 quirk as you noticed in 22/25.
Regards,
Tony
Powered by blists - more mailing lists