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

[PATCH v2 0/5] x86: extended destination ID support


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Date: Wed, 16 Feb 2022 11:30:21 +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=xTyBPc0ixC3wltOLWbiErHLOypalZnlfv/Qcb4R8izM=; b=aggHtJatkzm+jwLMH2Yxvh3fBYxm4z6E/ldtZbob8ZV4w4f5uDIiihxH6lksyPaPDSzzx4Iqc8Zpf9oXQRtKxNAj6+IVsvIYW6ByZeGOJAvK2e6HPcg1O+EPwQoYR36/Yyf22VP+BXnyvnBN+20aY7syaXKbaZ6uAuNiU8PbCCgBeAGH1lcE2MpTnXYEfbvYWmg+DLoU1KozaROFp+trF7HRk6xE7qFKqA0wMzubsH8BVd3rGdIvuPz0VrNz888bdZykAwpiTC/4CBswe9EIfhENrRdCLONtK9EcCcU7lO94DiAvBRhPSNOLLlmwMuWqifol4WaSBwdJgx6MenF/pg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dyouVvfQVjL2PVbYCCm9yeySVpxNoIrDX+qEKuLcLkGAXFd+UL66EiinQhI3vf9d1dcZFL8YL/XaB/TTsF1+I20EDT2qJO3x1esrqnZ9mmz5KrGGwHGrK4PLYGqW/XFRSmJzKjQCl+03ftX2HHEygmAyhD657NxgH9FBZSt0TvqkomW5whvl6Z5YShBzvC5H2ZDDRpZryi5MzBLVrLgEB7zU8fK4KPb54ncuHOe6AageddsGHgIESON/WeNeNCKvWWpmkrEdQlC/H8FzCyfCCifXMItP8wO0Lg/etd7jFJOJtM9OIBVXjjglt7ou+mCVUUe8DqjbNFIhVL09JxE2VA==
  • Authentication-results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: <dwmw2@xxxxxxxxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Paul Durrant <paul@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, "Volodymyr Babchuk" <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Wed, 16 Feb 2022 10:31:16 +0000
  • Ironport-data: A9a23:rEGkmKrPdtzbjCGSEV3IqI3+cGxeBmJ2YxIvgKrLsJaIsI4StFCzt garIBnXOPvfYmqkLdFyPYy3oE8H75HdytNrTlZppXs1Fy0WoJuZCYyVIHmrMnLJJKUvbq7GA +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw24HnW1rlV e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9 DlCnZyiFSMPO6nypLgUCAFHPgRzY5xIwKCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4QQKiHO pJEAdZpRB/pPS9QeQ5IM58vjraJv33hejdfiU3A8MLb5ECMlVcsgdABKuH9eNOQQt5Otl2Fv W+A9GP8ajkBL8CWwzeB9nOqh8fMkDn9VYZUE6e3ntZyiUCX7nweDlsRT1TTice+jkmyStdOM Xs+8yAlrbUx3EGzR9y7VBq9yFaOswQAQdNWH6s/4RuU16vPyw+DAy4PSTspQNA5sdBsbT0s2 EWAk97gCXpoqrL9YWKQ8PKYoC2/PQARLHQefmkUQA0d+d7hrYovyBXVQb5LEqS4k9n0EjHY2 C2RoW41gLB7pcwW06S2+3jXjjTqoYLGJiYq4i3HU2Tj6Rl2DLNJfKTxtwKdt6wZat/EEB/R5 xDohvRy8sgOH82psimJftlRFeqx+NugPWPtj2ZwSsxJGyuWx1aveoVZ4TdbLUhvM9oZdTKBX HI/qT+997cIYiL0MPYfj5aZTp1zkPO+TYiNuuX8M4IWCqWdYjNr682HiaS4+2n22HYhnqgkU XtwWZb9VC1KYUiLIdffegv87VPJ7n1mrY8wbcqip/hC7VZ4TCTIIVviGAHTBt3VFIve/G3oH y93bqNmMSl3XuzkeTXw+oUON10MJnVTLcmo95AGK7fZc1s3QTtJ5xrtLVUJIdENc0N9zLmgw 51AchUAlAqXaYPvdW1mlUyPmJuwBM0i/BrXzAQnPEqy2mhLXGpcxPx3SnfDRpF+rLYL5actF 5EtIpzcatwSGmWv02lMNvHV8d09HClHcCrTZkJJlhBkJMU+L+EIk/e5FjbSGN4mVHrn75Bv/ Of5i2s2g/MrHmxfMSofU9r2p3uZtnkBguNiGUzOJ9hYYkL394Z2bSf2i5cKzwskcn0vHxOWi FSbBwk2v+7Ir9Nn+dXFn/nc/YyoD/F/DgxRGGyCteS6MizT/2yCx45cUbnXIWCBBT2soKjyN /9Iy/zcMeEcmAoYuYRLDLs2n7k14MHipuEGw108TmnLdVmiFphpPmKCgZtUrqRIy7IA4Vm2V 0uD98N0I7KMPM+5QlcdKBB8NraI1O0OmymU5vMweR2o6Chy9buBcENTIxjT13ANcOoraNsom L5zttQX5gqzjgsRHuyH1i0EpX6RKnEgUrk8ss1ICoHclQd2mEpJZobRC3Gq7cjXOclMKEQjP hSdmLHG2+ZH3kPHfnc+SSrN0O5aichcsRxG1gZfdVGAm96Djf4rxhxBtz8wS10NnBlA1utyP EltNlF0evrSr2s52pAbUjD+ARxFCT2Y5lf1mgkAm2DuRkW1UnDAcT8mMuGX8UFFq29Rc1C3J l1DJLoJhdoyQPzM4w==
  • Ironport-hdrordr: A9a23:z+9xaqPFvnREVsBcTy/155DYdb4zR+YMi2TDiHoedfUFSKOlfp 6V8MjztSWVtN4QMEtQ/uxoX5PwPE80lKQFm7X5WI3CYOCIghrQEGgP1/qG/9SCIVyBygc+79 YZT0EWMrSZZjIW/KWKgjVQe+xQv+Vvm5rY49s2oU0dKT2DPMpbnntE40ugYwVLbTgDIaB8OI uX58JBqTblUXMLbv6jDn1Ae+TYvdXEmL/vfBZDXnccmUOzpALtzIS/PwmT3x8YXT8K6bA+8V Ldmwi8wqm4qfm0xjLVymeWxZVLn9nKzMdFGaW3+4MoAwSprjztSJVqWrWEsjxwiOaz6GwymN 2JmBskN9Qb0QKnQkiF5T/WnyXw2jcn7HHvjXWCh2H4nMD/TDUmT+JcmINwaHLimgUdleA59J gO83OStpJRAx+Ftj/6/cL0WxZjkVfxiWY+kNQUk2dUXeIlGfNsRLQkjQJo+ao7bWLHANhNKp gsMCic3ocaTbqiVQGWgoE1q+bcHEjaHX+9Mzw/U4Kuon1rdUtCvjslLfok7wI9HaIGOuh5Dt v/Q9dVfcl1P7QrhIJGdZE8qJiMeyXwqSylChPhHb2gLtBCB07w
  • Ironport-sdr: cpyNvdsXeWSy/GVindAHOYUTyIG1OMciGpmzP+0JG5tfnx8lrWqpNCAUPuL8JtvDHH+tTvZIkg qbyqtVrvNe+sle4A7H3rVQLOu8ZfCJQk6Ir7x8/ayaxoi51c1p3iGgyZRrT8EsPIor+5Fci/Yl ogiWwudaiTuNbbjMkKnMVwG5iJa2ReoP9cy+0aClzB4kKj3eZLBK/kH3kYQj63Va6RMeoH/1dg 8G813WeOTVxBzKFS6/1PbP/gXhSbs3SX5t8afC9+IVWFHmIU/xM1OGQJI27Dir2xmVgecrsdpw b3m+jeJwNdQxbt7TaXSw4DI1
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hello,

The following series provide a tentative implementation of extended
destination ID support for HVM/PVH guests. A specification for the
feature can be found at:

http://david.woodhou.se/15-bit-msi.pdf

Patch 4 is the one I'm having more doubts about: it's the best thing I
could come up in order for emulators to signal Xen whether they support
parsing the extended destination ID in MSI message address field. This
is only required for device models that support PCI passthrough:
injection of MSI interrupts from emulated devices is done using
XEN_DMOP_inject_msi which already passes the MSI address and data fields
to Xen for processing.

I think we should likely consider patch 1, as it would allow the OS side
of this to make progress (since it's an already present feature in other
hypervisors) independently of the Xen side work.

Thanks, Roger.

Roger Pau Monne (5):
  x86/cpuid: add CPUID flag for Extended Destination ID support
  xen/vioapic: add support for the extended destination ID field
  x86/vmsi: add support for extended destination ID in address field
  x86/ioreq: report extended destination ID support by emulators
  x86/cpuid: expose EXT_DEST_ID feature if supported

 docs/man/xl.cfg.5.pod.in               | 10 ++++++
 tools/include/libxl.h                  |  8 +++++
 tools/libs/light/libxl_create.c        |  6 ++++
 tools/libs/light/libxl_types.idl       |  1 +
 tools/libs/light/libxl_x86.c           | 12 +++++++
 tools/xl/xl_parse.c                    |  3 ++
 xen/arch/arm/ioreq.c                   |  5 +++
 xen/arch/x86/domain.c                  | 10 +++++-
 xen/arch/x86/hvm/ioreq.c               |  7 +++++
 xen/arch/x86/hvm/irq.c                 |  5 ++-
 xen/arch/x86/hvm/vioapic.c             |  3 ++
 xen/arch/x86/hvm/vmsi.c                | 43 +++++++++++++++++++-------
 xen/arch/x86/include/asm/domain.h      |  3 ++
 xen/arch/x86/include/asm/hvm/hvm.h     |  5 +--
 xen/arch/x86/include/asm/msi.h         |  7 +++++
 xen/arch/x86/setup.c                   |  1 +
 xen/arch/x86/traps.c                   |  3 ++
 xen/common/ioreq.c                     |  8 +++--
 xen/drivers/passthrough/x86/hvm.c      | 11 ++++++-
 xen/drivers/vpci/msi.c                 |  2 +-
 xen/include/public/arch-x86/cpuid.h    |  6 ++++
 xen/include/public/arch-x86/hvm/save.h |  4 ++-
 xen/include/public/arch-x86/xen.h      |  2 ++
 xen/include/public/domctl.h            |  3 +-
 xen/include/public/hvm/dm_op.h         |  6 +++-
 xen/include/xen/ioreq.h                |  2 ++
 xen/include/xen/vpci.h                 |  2 +-
 27 files changed, 153 insertions(+), 25 deletions(-)

-- 
2.34.1




 


Rackspace

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