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

[PATCH v2 1/5] x86/cpuid: add CPUID flag for Extended Destination ID support


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Date: Wed, 16 Feb 2022 11:30:22 +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=h8Tgei5/cDOMx9szRnWDQ16i7axYk3kXvj6N3RsL58M=; b=AMGQdgwIqdxY9da3YIyRG4WtLFw/nQToUcQ+5heQeheQAFTqO86+6rHLbqyVz9fzQlA5A/nrXhg4A6fx2ul5Usbgk4cZrmiFYVEma/gToq2CBsrBP7M+JMhdyvNZsxwkexfE293CGJaooKk7CC7IG1RcDzrday2/R9ZgPZewNFjCN8Kh9PZhy3gj4fjFpLSOnQeP/3xQjaJvMNuRLmO+Lp2AnM14Q1xRpCVoKVD6hXrjs8ZldSeU3+kA/70ajnnqHHq4bQjt+TDJw3Bv9H8tz1F7v+YrJngtzHkWUlqYGFsFjj2m3nTiTGhT4/v8EMweXkiv1hI46lwQECuPvEDkPQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C/mkjCdRUppdNHAnl2tHU0LDQ+bt4tk+sCtUB2CNhfwe3xMMbgMjgurhKOf7savGtdxJcsj28tOPvx7Ym4AGck+fD45u8BFrkHcW9zUwakKaJzDebTj941rDSJ61xgidY6hYhgoWdHoBIiSVSPWKFOmrPUWIGlHgM+Xy0VXrdaAnSWOL9rtQM6aIucvs8MKv71AqPJksan3I/JX2sH6j2OnBiaYj9dkiaBhGcOk21bguUf2uK7O7ycibzTHcl5yUwMVGCrWaO2eLkvDKN0NibEJMt3tbaDVJjeucB3w6DMf+qRggpwYPdzag+fU9URLflvDxSdhGjO58XynNzUd0Iw==
  • Authentication-results: esa6.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>
  • Delivery-date: Wed, 16 Feb 2022 10:31:16 +0000
  • Ironport-data: A9a23:epsup6uf1Qub65YOrZr9gz2wrefnVL1ZMUV32f8akzHdYApBsoF/q tZmKWHXMv/ZYTf1L9x0YNnkoEpTuMXczoJqQABv/CxnRCIT+JbJXdiXEBz9bniYRiHhoOOLz Cm8hv3odp1coqr0/0/1WlTZQP0VOZigHtIQMsadUsxKbVIiGHdJZS5LwbZj2NYy2IbhWmthh PupyyHhEA79s9JLGjp8B5Kr8HuDa9yr5Vv0FnRnDRx6lAe2e0s9VfrzFonoR5fMeaFGH/bSe gr25OrRElU1XfsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0qS2TV1hUp/0l20c95NJ Nplsof3GBwpZKv2w/0CcSJ9NyR+E+p99+qSSZS/mZT7I0zudnLtx7NlDV0sPJ1e8eFyaY1M3 aVGcnZXNEnF3r/ohuLgIgVvrp1LwM3DJoQQt2sm1TjEJf0nXYrCU+PB4towMDIY2JwUR6uEO JJxhTxHUTjAXzBONVItDb0bgN+nqijUc2ZmkQfAzUYwyzeKl1EguFT3C/LXcNGXQcRenm6Du 3nLuW/+B3kyK9i32TeDtHW2iYfnjS79HY4fCrC83vprm0GIgHweDgUMUlm2quX/jVSxM/pTN EkLoAIvq6Yo/UCmR9W7WAe3yENopTZFBYAWSbdjrljQlOyEuG51G1ToUBZGc5t3r89sQwZxz 0CrpPbNADxB94aaHCf1GqivkRu+Pi0cLGknbCACTBcY79SLnLzfni4jXf44Tvfr04Sd9SXYh mnT8XNg3+l7Ydsjiv3jlW0rlQ5AsXQgouQdwgzMFlyo4QpiDGJOT9z5sAOLhRqswWvwc7Vgg JTms5XGhAztJcvU/MBofAnrNOv0jxpiGGeB6WOD57F7q1yQF4eLJOi8Gg1WKkZzKdojcjT0e kLVsg45zMYNYCf7MPYtMtPgUp5CIU3c+TLNDK28gj1mOMYZSeN61Hs2OR74M57FzCDAbp3Ty b/EKJ3xXB72+IxszSasRvd17FPY7ntW+I8nfriil07P+ePHPBa9EO5ZWHPTPrFRxP7V+239r ocAX/ZmPj0CCYUSlAGMqtVNRb3LRFBmba3LRzt/LL7TeFE3Rzt4Vpc8A9oJIuRYokicrc+Rl lmVUU5E0lvvw3rBLASBcHd4b73zG514qBoG0eYEZD5EAlAvPtSi6rkxbZwyceV1/eBv16csH fIEZ9+BErJETTGeo2YRapz0rYpDchW3hF3RY3r5MWZnJ5MwFRbU/tLEfxf08HVcBCSAqsZj8 aar0RnWQMRfSl06XtrWcv+m03i4oWMZxLBpR0LNL9QKIBfs/YFmJjbflPgyJ81QexzPyiHDj 1SdAAsCpPmLqIgwqYGbiaeBpoavMu1/AksFQDWLsefobXHXpzPxz5VBXeCEeSHmeFn1oKjyN /9Iy/zcMeEcmAoYuYRLDLs2n7k14MHipuEGw108TmnLdVmiFphpPmKCgZtUrqRIy7JU5Vm2V 0aI9oUIMLmFIpq4QlsYJQ5jZeWfz/AE3DLV6K1tckn94SZ2+puBUFlTYEbQ2HAMcuMtPdN32 /olte4X9xe720gjPduxhyxJ83iBcy4bWKI9u5BGWILmh2LHEL2ZjUAw3sMu3KyyVg==
  • Ironport-hdrordr: A9a23:7yYfb6OaXjbvo8BcTjujsMiBIKoaSvp037BK7S1MoNJuEvBw9v re+MjzsCWftN9/Yh4dcLy7VpVoIkmskKKdg7NhXotKNTOO0AeVxelZhrcKqAeQeREWmNQ96U 9hGZIOdeEZDzJB/LrHCN/TKade/DGFmprY+9s31x1WPGZXgzkL1XYDNu6ceHcGIjVuNN4CO7 e3wNFInDakcWR/VLXAOpFUN9Kz3uEijfjdEGY7OyI=
  • Ironport-sdr: l/PpeIPovc6mK8WJ6pMCVSoyEj//rpDQ3TlaOQcYkHIVuCtOyGQDoQ+cAwvOR/zNXPMU5HdnP8 fotCSggbygUc5GPMeVYxYCGyc4bvvzFKMaWGz93oplz6yN3YpoIkGLRWkAZkc96nRhSGJuE8wR eDK5e+2zP1tOkcTMQEAL2A7t2UuLmGQiMgjU7KN3XDXMZlPVXTQZkOfsAUJiCbhw7ih1cEFlpK /YgTzhqj/0YOQQiQtTl01wJAjkq8P+CCx44nFV2MOiufZ/VBIXEaa8rdGwvTUdLUAN6WoAZiAB h38ZMtlKSdgVxUoM2dmsEi0z
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Introduce the CPUID flag to be used in order to signal the support for
using an extended destination ID in IO-APIC RTEs and MSI address
fields. Such format expands the maximum target APIC ID from 255 to
32768 without requiring the usage of interrupt remapping.

The design document describing the feature can be found at:

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

Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
Changes since v1:
 - New in this version.
---
 xen/include/public/arch-x86/cpuid.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/include/public/arch-x86/cpuid.h 
b/xen/include/public/arch-x86/cpuid.h
index ce46305bee..49bcc93b6b 100644
--- a/xen/include/public/arch-x86/cpuid.h
+++ b/xen/include/public/arch-x86/cpuid.h
@@ -102,6 +102,12 @@
 #define XEN_HVM_CPUID_IOMMU_MAPPINGS   (1u << 2)
 #define XEN_HVM_CPUID_VCPU_ID_PRESENT  (1u << 3) /* vcpu id is present in EBX 
*/
 #define XEN_HVM_CPUID_DOMID_PRESENT    (1u << 4) /* domid is present in ECX */
+/*
+ * Bits 55:49 from the IO-APIC RTE and bits 11:5 from the MSI address can be
+ * used to store high bits for the Destination ID. This expands the Destination
+ * ID field from 8 to 15 bits, allowing to target APIC IDs up 32768.
+ */
+#define XEN_HVM_CPUID_EXT_DEST_ID      (1u << 5)
 
 /*
  * Leaf 6 (0x40000x05)
-- 
2.34.1




 


Rackspace

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