[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/3] xen/vioapic: add support for the extended destination ID field


  • To: David Woodhouse <dwmw2@xxxxxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Wed, 26 Jan 2022 15:23:42 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7EQUvQO52vUIc+P+KFB/8Q4U8OUxQ8stHr3t3oQUBB8=; b=ZIlRZDseG0OyzMd+NyaGt6WdnJ1Jsw51NfxsvNhFeW5W+S4SHuvsztf+G9TJXNCHgkSWZExofxgIBSo56k7tfZgqIvpbd3keIj7AKRxfzfWvLCNBZQk/PRaRQqrdrx1qu4T7atODz6uHFkNMEr/rogYdQOFYH+n5o2rJ83YuULleXKMtzl0HXGKgKQZ5nTf+yjuN0pjTSamlwk4a8xx68A/IYkl9HdnJ1mqaskDxhOTVswLAN2GIFwb5e6UFVLd06RkZeXqMQ1LhrmhbrkmdcvjCX+FgIx1diW+7tyr+MPI6B/EeEaRxrZPg4wDm3Dfd00Xn3m6fzZqOG0MLagPc1w==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aCciht/pRBsKppdtHh9Zs3XlT/ND+80JsqOmZiEcaJHB4bXEnMKbthkmsu7PLrjdmXrwmxg7MKR3iNXhQ7eUh7LWnDPIAb+YJF+gBux1iI8tHoZolQ3ZQJTDFP8pZaxYbstVe+UeKPz0FUbLjZ90zQqJEU2Jl8Kk8z/YN8DtHGFyttcpYEfG6NNIbumteClMKLl5CXXqxV3o3iKMRc5JoavY7Ra6CcR/RQWvoJylSxt0AR9QMGpN3SUXvfeJQ2pdpEzh/VW6zbmfcwYZlaVtROeGoITDMcKAiyPHD+/1brrahul9TWqHIwX13wWhGLCOB7jSoTFcMUirv498k0bXRw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx, Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Delivery-date: Wed, 26 Jan 2022 14:23:58 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 26.01.2022 14:52, David Woodhouse wrote:
> On Tue, 2022-01-25 at 16:13 +0100, Roger Pau Monné wrote:
>> On Mon, Jan 24, 2022 at 02:20:47PM +0100, Jan Beulich wrote:
>>> On 20.01.2022 16:23, Roger Pau Monne wrote:
>>>> Such field uses bits 55:48, but for the purposes the register will be
>>>> used use bits 55:49 instead. Bit 48 is used to signal an RTE entry is
>>>> in remappable format which is not supported by the vIO-APIC.
>>>
>>> Neither here nor in the cover letter you point at a formal specification
>>> of this mode of operation.
>>
>> I'm not aware of any formal specification of this mode, apart from the
>> work done to introduce support in Linux and QEMU:
>>
>> https://lore.kernel.org/all/20201009104616.1314746-1-dwmw2@xxxxxxxxxxxxx/
>>
>> https://git.qemu.org/?p=qemu.git;a=commitdiff;h=c1bb5418e
>>
>>
>> Adding David in case there's some kind of specification somewhere I'm
>> not aware of.
> 
> Indeed there is no formal specification that I am aware of, although
> it's vaguely possible that Microsoft wrote something up when they added
> it to Hyper-V.
> 
> https://lore.kernel.org/all/20201103011136.59108-1-decui@xxxxxxxxxxxxx/
> 
> I had an internal doc which.... looks like I can clean it up a tiny bit
> and then share at http://david.woodhou.se/15-bit-msi.pdf if that helps?

Thanks, this at least puts us on common grounds.

>>> What I'm aware of are vague indications of
>>> this mode's existence in some of Intel's chipset data sheets. Yet that
>>> leaves open, for example, whether indeed bit 48 cannot be used here.
>>
>> Bit 48 cannot be used because it's already used to signal an RTE is in
>> remappable format. We still want to differentiate an RTE entry in
>> remappable format, as it should be possible to expose both the
>> extended ID support and an emulated IOMMU.
> 
> Right. I chose not to use the low bit of the existing Extended
> Destination ID because that's the one Intel used to indicate Remappable
> Format. This means we can still expose an IOMMU to guests and easily
> distinguish between Compatibility Format and Remappable Format MSIs
> just as real hardware does.

Well, with the defacto standard of using only 7 of the bits we will
have to follow suit of course.

Jan




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.