From nobody Tue May 7 10:32:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1642692300; cv=pass; d=zohomail.com; s=zohoarc; b=iigF9hpbk9JX6JXDiByvZ+WYXbhB6OkBa5V/bndTsrruaYH8zXblW3a0oCfB7C9MI4pvTRRWHuNz7maDtdwumxCTUEPsJC7iKKXzCRymdzUsUU/iOU24JLOiiYXAqT0e1yDr/B/O1L9ooYb4GxMP98HN9kPhoWPG95F4JddV5RQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1642692300; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/dvTLYhjmAw3K+JdKd8oL5ONXrixpcBGkdbNVDU5IWY=; b=jsPLNGbIamAEsTW8WgM11mea+tDpWjvP/bLUlSkfVABevFAB0KDYUrgQfMosAJ6UuaDWzzcr3XwyoxxhgpJEGK4lFRL1eH0M9Lvyvd/bMy0rU6KY+5P/ZazRC6bTVtyRuxztl3aIsegj8Ezh6Vge23aYdL03DeCvdcS+bGgNwE4= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1642692300646165.1158163832199; Thu, 20 Jan 2022 07:25:00 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.259098.446923 (Exim 4.92) (envelope-from ) id 1nAZIe-0002JP-52; Thu, 20 Jan 2022 15:24:32 +0000 Received: by outflank-mailman (output) from mailman id 259098.446923; Thu, 20 Jan 2022 15:24:32 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nAZIe-0002JI-0j; Thu, 20 Jan 2022 15:24:32 +0000 Received: by outflank-mailman (input) for mailman id 259098; Thu, 20 Jan 2022 15:24:30 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nAZIc-0002If-Fj for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:24:30 +0000 Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 0d8da0fe-7a05-11ec-bc18-3156f6d857e4; Thu, 20 Jan 2022 16:24:28 +0100 (CET) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0d8da0fe-7a05-11ec-bc18-3156f6d857e4 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1642692268; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=4a3/Q0RCRAIzVsbylk0dVQpRukc6ECRISNJDdjHvaTE=; b=XkdguJgy7T1u59KN/ZmIycl0hv4oAh+NxpvQpC2qAdh8YUlVPbpKiwLW wDUf6q4JFX7aPNAL/kmx/JhUved1fDwRdF9HqRJ2Zk9Q2Y/9HzJffUxW4 5FJAbelCUQDKMy6yG9jR8n2jcopSRsEN3b/N/qzFhsARebi65INeZkxa8 8=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: VG2yeJKpVZABsNV9wVachVRT8Z0y2CdCerJHEI39cBDaZwJLrXAew0sEJOmP+J3hGdwAqHxRop TzbNpHsXs1Kgc9dKKt4ciswtN4huoOLCxKtgEWuB1alDtnndS4/kkhbtAfjFp4O266DnBaqQ8H tQFfWSv8I/PcMNCMxGZbUfHbEPXcTbT8U+pis1D4Z0eNIehYtfNGIogF2YA8txpvqB0M1SrfJt t+m9baKw1gC/vt9Q/p0iymRV76tUD+G3LGBambvLRN+W1ZkzHpdobnqaCLMnfV7pBmridQ9GDK g9vDGzCTNR6DoZavo98M0O3T X-SBRS: 5.2 X-MesageID: 62409312 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:vYHpMao+aVcVkXexPOaUgY2efjxeBmL5YhIvgKrLsJaIsI4StFCzt garIBmEP6yCZmr9e95+aIjg/EIEuZOAxtZjGwJlqiswFiMapJuZCYyVIHmrMnLJJKUvbq7GA +byyDXkBJppJpMJjk71atANlZT4vE2xbuKU5NTsY0idfic5Dndx4f5fs7Rh2NQw2ILhW1nlV e7a+KUzBnf0g1aYDUpMg06zgEsHUCPa4W5wUvQWPJinjXeG/5UnJMt3yZKZdhMUdrJ8DO+iL 9sv+Znilo/vE7XBPfv++lrzWhVirrc/pmFigFIOM0SpqkAqSiDfTs/XnRfTAKtao2zhojx/9 DlCnaezRS0GF/T8o8ImcEgbPT0lOY4e3rCSdBBTseTLp6HHW37lwvEoB0AqJ4wIvO1wBAmi9 9RBdmpLNErawbvrnvTrEYGAhex6RCXvFJkYtXx6iynQEN4tQIzZQrWM7thdtNs1rp4UQa6PP JNDAdZpRD7lehtFJnwyNKovge2r3VL7ajdVpk3A8MLb5ECMlVcsgdABKuH9ZdiiVchT2EGCq Qru/W70HxUbP9y30iee/zSngeqntTP2XsceGaO18tZugUaP3SoDBRsOT1y5rPKlzEmkVLpix 1c8o3R06/JorQryE4e7D0bQTGO4UgA0YNlcOcITsTG27JH3skW3GjMAbWZnZ4lz3CMpfgAC2 liMltLvIDVgtryJVH6QnoupQSOO1Ts9djFbO3JdJecRy5y6+dxo0EqTJjp2OPft1oWdJN3m/ 9ydQMHSbZ03hNVD6ai09Euvb9mE9smQFV5dCuk6swuYAuJFiGyNO93ABbvzt68owGOlor+p5 iRsdy+2trFmMH11vHbRKNjh5Znwjxp/DBXSgER0A74q/Cm39niocOh4uW8ifhkwbZZYJ2OwM Cc/XD+9ArcJYBNGiocsO+qM5zkCl/C8RbwJqNiJBjaxXnSBXFDep3w/DaJh92vsjFItgckC1 WSzKq6R4YIhIf0/llKeHr5FuZdyn3xW7T6NGfjTkkr2uZLDNC/9YepUazOmM7FmhJ5oVS2Iq b6zwePQlUUGOAA/CwGKmbMuwacidChiWsuu+pUJL4Zu4GNOQQkcNhMY+pt4E6RNlKVJjObYu Ha7X05T0l3kgnPbbw6NbxhehHnHB/6TdFo3Yn4hO0iGwX8mbdr95asTbcJvL7Im6PZi3bh/S PxcI5eMBfFGSzLm/TUBbMai8Nw+JUrz3Q/ebTC4ZDUffoJ7Q1Cb8NHTYQaypjIFCTC6tJVir uT4hB/bW5cKWy9rEN3SNKC011q0sHVEwLByUkLEL8N9YkLp9IQ2eSX9guVue5MHKAnZxyvc3 AGTWE9Kqe7Iqo4z0d/ImaHb8Nv5T7ogRhJXRjCJ46y3OC/W+nuY7bVBCOvYLyrAUG7U+bm5Y bkHxf/LL/Bazk1BtJBxEug3wPtmtcfvvbJT0i9tAG7PMwawErplL3SLgZtPu6lKyuMLsAe6Q BvSqNxTOLHPM8L5Cl8BYgEia73bh/0TnzDT69UzIVn7u3ArrObWDx0KMknekjFZIZt0LJghk LUot8Mh4gCijgYnb4SdhSdO+mXQdnENXs3LbH3B7FMHXubz9mx/XA== IronPort-HdrOrdr: A9a23:rKcY/q+jGOhLX6lSMKpuk+FAdb1zdoMgy1knxilNoENuHfBwxv rDoB1E73LJYVYqOU3Jmbi7Sc29qBTnhOJICOgqTMqftWzd1ldAQ7sSi7cKrweQeREWs9Qtrp uIEJIOeeEYb2IK9PoSiTPQe71LoKjlzEnrv5al854Ed3AVV0gK1XYfNu/0KDwSeOEQbqBJa6 Z0q/A37AaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oC5BOVhT2lxbbmG1zAty1uHg9n8PMHyy zoggb57qKsv7WSzQLd7Xba69BzlMH6wtVOKcSQgow+KynqiCyveIN9Mofy9gwdkaWK0hIHgd PMqxAvM4Ba7G7QRHi8pV/X1wzpwF8Vmgnf4G7dpUGmjd3yRTo8BcYEr5leaAHl500pu8w5+L 5X3kqC3qAnQy/orWDY3ZzlRhtqnk27rT4JiugIlUFSVoMYdft4sZEfxkVIC50NdRiKp7zPKN MeTP002cwmMm9zNxvizytSKZ2XLzgO9y69Mwk/Upf/6UkSoJh7p3Fos/D30E1wsK7VcKM0lN gsBJ4Y4I2mfvVmHZ6VO91xM/dfcla9OS4kEFjiaGgPR5t3c04klfbMkcAIDaeRCds18Kc= X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; d="scan'208";a="62409312" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZK9nOco/EilnsHlZ055r9UYH/ckG0bR/a7JcIKinyLXSZYCDKYH4A10x/XSdmpkRPlfghbloRaKVeKLH9xXKzfjSRmHHNnFA5Ddo9F1Rn/1soJ1tuSsiuZj7g59SEPpTUHp1ZQeTuXkwallVwigSB55bsDHa3ZHd/Z/B+0LjnhtWtFj8GZ+B54ydnsLAcFax8jtbIW1b7GNa+A0iHrR0kLp68uS0KSid1fNi45+waeo3P5OmFiynbGxy60qSyJYs8mM/XO5wixha0CJieBnFSnCBKCw931ITCYIyEONfq3q0ocFpN5uG7q6JS4wK16+qp4j6JEqG+Yv1OjBu0l450w== 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=/dvTLYhjmAw3K+JdKd8oL5ONXrixpcBGkdbNVDU5IWY=; b=G+qDYhx2sR69CCmyHuDenOx4UEtx6K7WxYiup0H2cqH2sF6UIS7SfKCuc2RjW7xDhuBLXzGQDlU704ZQhLqEqeTzwiz7U6VcUzhx4Cjd0MmcredyGPfkVi++/urHYJSYIZ/dsTn5pYUr0Fw09U3k3EcVLiX9X7CxeFCmlln3kvx/90xKeyqrY37PywPGikfZSz/DhC6G918e5m1IoL8U0Ira0Vhg1IDujeZW7uArOGhuyeN2tXbtHDdr/C5IzB4aq2Pkh6zFU3WRL/BIhU2M1XbloM2VywcRzYUvHaV+V3nZDWSUInI97S2YjZbNV98J6HWpb5eVmYGkj/nmUQQ0tg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/dvTLYhjmAw3K+JdKd8oL5ONXrixpcBGkdbNVDU5IWY=; b=kyvJvWG/kY/B3G7IWly5jVO6zWzQY0dOvKDvLENfPLNMaiUft7W7WhNmvtm607j/csN0+FuGMwW0slTz3SYlpdvAP5LokQDOcluYYV/Ohl0YELLZUpGoj/H5bjroG+8Hp7bVJkkKk/xH6hVykMOXvUwPBKBa5BXQAGcn7aQ04Hg= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH 1/3] xen/vioapic: add support for the extended destination ID field Date: Thu, 20 Jan 2022 16:23:17 +0100 Message-ID: <20220120152319.7448-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220120152319.7448-1-roger.pau@citrix.com> References: <20220120152319.7448-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0066.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::12) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 18b2fc7b-3ba5-493b-0e5e-08d9dc28ef3d X-MS-TrafficTypeDiagnostic: BN7PR03MB3681:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: q8q40r9AlJV5wBydfCmEOY7XSwcVbpYZQ/5/kWSvQa910gOiuXbWShL6RH8glLD7K+ULl6HcSjsfSdl/9FCd/zMXBVlX/87bqlJDARtOvC6sCitUVxaUn/IFh21b8A6RHVdrSCEpP41jRCBRMUX8TIUnS15OKh7hEfQ39iCLZNJHBIbObhjKGlwHOrs0MrigjnTVYBNv5rGNtc3ggfP+GcsmBSwMhoUxJ1flHP7Vs5Xh9+FI3YFK+Y8lMPdeLGgUfAZweC5/IP37YWHCJnAKjDanzSLOpPIPX7WvtRsnphbwIHjVZtcgVrEgJHsg/9leTD15MMomr/U+tWw8gLdYF8Et7L0OR7POL46yDzkj0IUZ5ccZAEr0bmODNdn3b1CUtsjP+9B6ValeVlFRtZnDz+78W+zeBSIJbx+oKcske4jrqKIYe0Xpek+z7XbfYGTA5GO+vtdRP2YLV4MfW3jENNsU/cCEXNXY7Bnuw+13imwATsM8uccQ/b9okve+EoCKxBV1xk7OcpK3P1Mqhcl1d75jChMehOYYefqkygrUqrIjKcs0F9lqUdJ8lCT+IRsuIjDgft2jPQbplmhiBEtLyu2i1G4iYAcSoJVsqNqIDJ1JWjUevwvMfMTvhM8BrXtS/p1BkIIavi+On2GB24OJgw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(8676002)(6666004)(1076003)(508600001)(66476007)(54906003)(66556008)(2906002)(6512007)(82960400001)(8936002)(38100700002)(83380400001)(5660300002)(36756003)(26005)(6916009)(186003)(316002)(6506007)(6486002)(86362001)(4326008)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QThqOXZJZTZzaTZVV3hOQkhyT0szU0lHMGFzUFdBYmlSemxaVWpwQ0d0ZFNs?= =?utf-8?B?Q2xxdVZTWUlqcmtSM2paTmoyNy90bnpPS3VPR0VEL0pZQVFLUU5tUWxxSFk5?= =?utf-8?B?KzJ0amdKbDNiVW90ejFUWS8rQXlYajY2VVlVdDZWWTVtbnVySENzTUZaYW12?= =?utf-8?B?bkI0b1VpbzBoQVZDUHFqaXVwY1lEdGNueWdvcUtOZVVoc2QyZkFaNkU2UDR2?= =?utf-8?B?UVJOVHlIOCtRYXc5Mm42RDUvYkUvYWxmeml0YWlEaW9oQ3dPMWx5QmQ2RGlU?= =?utf-8?B?T2Y4OE5wd2xOdEFvby9aOGpqK21naFp1Qy8yaWVWTlFraDJlbGpudGcwTE5h?= =?utf-8?B?eDI0WnhDL0kyTkxaMHA4TWErdng3THNpRFB0anB1TTJGblFMdFgrSGVybnp5?= =?utf-8?B?dm5rMnRjUW4wYXYrc2tpalNnRVRsV1p2amNaZWFSODRibUFvYkIwZHFCMXBk?= =?utf-8?B?OHpTOTE1WlFDa25xY09Id0I1Slg2eEtRZ3VHY3QyWlhQU2tweDVoYzdQd3lw?= =?utf-8?B?amEyc2psZndsMjMweFJsQWJGdjFIWWpzVXZjNis2Sy90L1B2RGN5MUhNQ2wv?= =?utf-8?B?SzkvUlB1UEhXbUM5ejBYdFpKRGZ4V0ZseWtLNVFEQnEwbnJCUktMemxTeWth?= =?utf-8?B?cW9nNkFZekJFK0RkRjJMc01jNTd3eTY0WjFOcFRwUHY0SmxicjZhWkNKRElp?= =?utf-8?B?VDl2QlBscTcveXdoYjV0QjQwNGxmOFNTSUVPQXZDdFptRzZPb2grQnk3UlJa?= =?utf-8?B?TUVXa3p3M0EwR0trZVRaMm10V1J2V243TVVTZDV5aFBmK3kzdzZZSE54TXk2?= =?utf-8?B?SEdzd3lUUXlGTGFmZTJ0dWlKaXRGbUFZL3BlRWJzWWZhTEFxNnFhS1Eva0lW?= =?utf-8?B?WlRqbHEvaWxIMEMxRFl0N21mUFgxZ3RZREk3Mi9VWHFOQ2dWVlVPQ1VETmp4?= =?utf-8?B?eTBvdFBVbzFueFRaWGUwdW41cHVEZVl2T2toK2ZPUTIxWjBtbnBPYkxSWnZp?= =?utf-8?B?TEoyNUZUdVFWSFBwUExmSjQwNS9UTkdXMUM3WENob0VJVVNvaVlHSUpvYUt6?= =?utf-8?B?L1RDOEh3Q0FjRHZwQ09wcUR3b1FRaVd1L0F3WUtEc3Zsd0lveTVZczUreGw0?= =?utf-8?B?cW5IQTF3MDNEZzBsTTQyRUU0aURFRnRJY29KL1ZSMDRoMjRLc3dKRmRyYzlk?= =?utf-8?B?M2JCNit1NndlS3VrcEF4Tm5nQWJkbjRPb2kxMUhaY3h6Y2V0a2FxOGxqSmRV?= =?utf-8?B?eFVxWHZhUkRBM1h4KzNQWldPVGlHcld3Ym5yZzVHZmlFNEhqRXJZcU5tQVNT?= =?utf-8?B?dFRZNWpxK0IyMEZ6dHNSdXNXaTg0YUVXRVBGcjdzQWhMRWpQRkRzcFU5WlQx?= =?utf-8?B?c3lUbFB4bjROSFFRcFFCaEpPNXZ1V0ducmo3WmdLVDNKNDlHRVl4OGxSSTVk?= =?utf-8?B?THFTNUJJWk1WOUdTMWlYdmtzc1YvR0tSbWVzTGlOQ2grbmk4cFMvUHIwU3pU?= =?utf-8?B?MDdKQmdRRVNBclB0bGZvZnBTN3A2S0drN0dzUkowMm8rTENkOU9iTXE5WU4y?= =?utf-8?B?Q2NUQzB2emZuK1BMV3crMjlrTFNNUFVEdDBLOTA1SFJmTFdrSGNPL2xqVzVN?= =?utf-8?B?djcwNGtJaHRJUThPdzdSVkRLSTd1c3JoVXlkYitaVCtnd3l6RXB2T0hNZnRI?= =?utf-8?B?Z2graGJsSXgvZXRqU2UyQ2VoZTBZcWJXTzB1a0tFQ0NaK0xaVHRUTnlWZmYr?= =?utf-8?B?cW1wZDNTZjlhR1M2Y1hSQldKcW11alFnUjNWQW9BaGNkeVFKdS9JWkR5elBC?= =?utf-8?B?MTVPOW9rTGVMaWljbmMxSW11SlZTeWU2K01PZ1dSdHhKRXd0cldkK2NUbHJh?= =?utf-8?B?UmkrZld6QUxtcW94RVNCaFFNWHlXam9QaHdxQTFHcWNYSGdtWlc5TUptR0pR?= =?utf-8?B?VnBPTDJNTVJCTnV2WTRYRXA2Q3VKa09XSVlhUGZZR0JpRlphLzN6NEkyakFr?= =?utf-8?B?K3R1Yi9hekNnRE0xc3lmckhwQWNRSitaeTBxS1UwQmdETVJHQUx6YUJHMnYx?= =?utf-8?B?MHA1ZVFMM3dEV1FWb0pjVE1tMThQaHBzSHpvV0VOYkU2K2Q0ZSs4anQ3WHpQ?= =?utf-8?B?OVpoYktTeFNhN2krZDhReWJTYU9SaGtyaHlGd0xWSWd0aW5yZGZlTXFRMy8y?= =?utf-8?Q?f84k7NCuYmdiE/6RXHJztTI=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 18b2fc7b-3ba5-493b-0e5e-08d9dc28ef3d X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:24:22.2381 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dcMiHg5otU+WRxeIIz8+nqA25Z3PYA4qq2TyzonfV+8BjmKE2glLwGVBWdkEO1Fh6Tr/EAs10+CANsEe3pqidA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3681 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1642692301900100001 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. Use the extended destination ID to store the high bits from the destination ID, thus expanding the size of the destination ID field to 15 bits, allowing an IO-APIC to target APIC IDs up to 32768. Note this is already supported by QEMU/KVM and HyperV. Signed-off-by: Roger Pau Monn=C3=A9 --- xen/arch/x86/hvm/vioapic.c | 3 ++- xen/include/public/arch-x86/hvm/save.h | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c index 553c0f76ef..1f2305c232 100644 --- a/xen/arch/x86/hvm/vioapic.c +++ b/xen/arch/x86/hvm/vioapic.c @@ -412,7 +412,8 @@ static void ioapic_inj_irq( =20 static void vioapic_deliver(struct hvm_vioapic *vioapic, unsigned int pin) { - uint16_t dest =3D vioapic->redirtbl[pin].fields.dest_id; + uint16_t dest =3D vioapic->redirtbl[pin].fields.dest_id | + (vioapic->redirtbl[pin].fields.ext_dest_id << 8); uint8_t dest_mode =3D vioapic->redirtbl[pin].fields.dest_mode; uint8_t delivery_mode =3D vioapic->redirtbl[pin].fields.delivery_mode; uint8_t vector =3D vioapic->redirtbl[pin].fields.vector; diff --git a/xen/include/public/arch-x86/hvm/save.h b/xen/include/public/ar= ch-x86/hvm/save.h index 773a380bc2..14a5d94588 100644 --- a/xen/include/public/arch-x86/hvm/save.h +++ b/xen/include/public/arch-x86/hvm/save.h @@ -376,7 +376,9 @@ union vioapic_redir_entry uint8_t trig_mode:1; uint8_t mask:1; uint8_t reserve:7; - uint8_t reserved[4]; + uint8_t reserved[3]; + uint8_t :1; + uint8_t ext_dest_id:7; uint8_t dest_id; } fields; }; --=20 2.34.1 From nobody Tue May 7 10:32:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1642692300; cv=pass; d=zohomail.com; s=zohoarc; b=MDCFX6XIisa52AXS5sOrLXA0g2OrI/TMIW3qiSH72QeU9XlZjLEm87nIlnYzW8LbxpxgtueZTfx07WC/YT4ykMg7qKf+AS/z4cnJXn9nL6Ppi57G9iuKZKTQeW413JhZXbbCfRXXjFgXxfJOvuiODrvvKmy/252ZjwRMoL/gE5w= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1642692300; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HoF6XYV9k/waGwdbkp6UIajlOGJSYD9wsXW9TkdA094=; b=bsuxjliYbBO0/XN+BJEfzG1SO5IbjZzrEVis4lMgnxC57kFk2SrnKqNpzoPfVEFiTqy3+6NwahHqjqi6PifqUzzprcBTwv/2aTUsi9SuxXQ0SkxnNsEn/QCAveCcFa5eTHje+MqOgHz0uoVqZgc/B33FAau+fflglCSg5XVcjzI= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1642692300502601.2759972207597; Thu, 20 Jan 2022 07:25:00 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.259099.446934 (Exim 4.92) (envelope-from ) id 1nAZIi-0002dN-Dp; Thu, 20 Jan 2022 15:24:36 +0000 Received: by outflank-mailman (output) from mailman id 259099.446934; Thu, 20 Jan 2022 15:24:36 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nAZIi-0002dG-AL; Thu, 20 Jan 2022 15:24:36 +0000 Received: by outflank-mailman (input) for mailman id 259099; Thu, 20 Jan 2022 15:24:35 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nAZIh-0002If-5F for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:24:35 +0000 Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 111ae513-7a05-11ec-bc18-3156f6d857e4; Thu, 20 Jan 2022 16:24:33 +0100 (CET) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 111ae513-7a05-11ec-bc18-3156f6d857e4 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1642692273; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=pdxlQzLLLdqMBmYIq21jztzs3Sm4F2L99O2dYBy1tGo=; b=Hns3Yv4Rk+S8beXVoUTfbmfX0jeEoerhq60k3Q6ZdfnIDFTE9JgL0JnJ jHJkKb32vHPfGPpEPu62cxe8IWUlwlSDsU98dzYKsPORyG9cWyI+rRBSU 9vVXgGsKmF8aaShs3ZhHW6oANDaSOKX8urb/GC6fKdVT0ypIatzoSW/F0 Y=; Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: GsDhXFmZr69eVszDg7x+v1nEvaUn6bhScPyfOd/mkKJy5u543Hgp/I4Bd7PWoerUnUTMj2lMRU XqPg6zGjwUYFuC141pbtskOEa9SqPit+DFO0vrmPnP3jbQR7vsDEE4JV4ywcAwuUVNisPo3U5x NnTwDZ99Akbm6iMMrCJPMMLVyZM78LGFl+wdKmNV/6+cSaIngUsRCNA2D4hDdQhSlKfWPZeBKX kyjhvLBOrwynYyNpuPfdf19yt5/f6sEb9DbSg/VK3LG0+/R89MXNxc54p72ObSmXZnqtFlg7bB bt4HLCwkme0wO5Mqrycwr+aL X-SBRS: 5.2 X-MesageID: 62819047 X-Ironport-Server: esa1.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:D/CauqLVxQv7plCqFE+RTpIlxSXFcZb7ZxGr2PjKsXjdYENS3z1Sy zEXXWnSafyJZGPzcogkPo62phgC7MDWytBkSgdlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s q3yv/GZdJhcokcxIn5BC5C5xZVG/fjgqoHUVaiUakideSc+EH170Us5w7Zj6mJVqYPR7z2l6 IuaT/L3YDdJ6xYsWo7Dw/vewP/HlK2aVAIw5jTSV9gS1LPtvyB94KYkDbOwNxPFrrx8RYZWc QphIIaRpQs19z91Yj+sfy2SnkciGtY+NiDW4pZatjTLbrGvaUXe345iXMfwZ3u7hB2pmsxD5 Pp/6aCfQD8YMb3Rw/4GDCVhRnQW0a1uoNcrIFC6uM2XiUbHb2Ht07NlC0Re0Y8wo7gtRzsUr LpBdW5LPkvra+GemdpXTsF2gcsuNo/zNZ43sXB81zDJS/0hRPgvRo2Uv48BjW9s2aiiG97ne pFCVwZlbi7rIDRvHAcZKYwmsd6R0yyXnzpw9wvO+PtfD3Lo5A5s1LngNvLFd9rMQt9a9m6Dv X7P9Wn9BhAcNfScxCCD/3bqgfXA9QvjUZ8WPK218LhtmlL77nweDlgaWEW2pdG9i1WiQJRPJ koM4C0soKMuskuxQbHVXRe1vXqFtR40QMdLHqsx7wTl4rXQyxaUAC4DVDEpVTA9nJZoH3pwj AbPxo63Q2w02FGIdZ6D3peRsQGeFhpJEUALXR4LXRZe+cK8nLhm23ojUe1fOKKyi9T0HxT5z DaLsDUyit0vsCIb60mo1QuZ2mzx//AlWiZwv1yKBTz9smuVcab8P9TwgWU3+8qsO2pworOpm HEf0/aT4+kVZX1mvHzcGb5ddF1FChvsDdE9vbKNN8Vwn9hO0yT6FWy13N2YDB01WirjUWW4C HI/QSsLuPdu0IKCNMebmb6ZBcUw1rTHHt/4TP3SZdcmSsEvKFXZpX4+ORDMhjCFfK0QfUcXY 8vznSGEVi5yNEia5GDuG7d1PUEDm0jSOl8/tbiklk/6gNJylVaeSKsfMUvmUwzKxPjsnekhy P4Gb5Hi40wGCIXWO3CLmaZOcwxiBSVlVPje9pwGHsbec1EOMDxwVJfsLUYJJtYNc1J9zLmYp xlQmyZwlTLCuJEwAVzaMy84MOK2A88XQLBSFXVEAGtEEkMLOO6HxKwea4E2bf8g8ulixuRzV P4LZ4OLBfEnd9gN02p1gUDVoNMweRK1qxiJOib5MjEzc4Q5H17C+8P+fxup/y4LV3Llucw7q rym9wXaXZtcGFgyUJeIMKqinwGroHwQuONuRE+UcNNdT1rhrdpxICvrg/5pf8xVcUffxiGX3 hq9CAsDobWfuJc89dTE3PjWr4qgH+ZkMFBdGm3XseS/OSXApzLxyo5cSueYOzvaUTqsqqmlY OxUydD6MeEGwwkW49YtTe4zwPtntdX1prJcwgB1J1nxbgymWuF6P32L/chTrakRlLVXjhS7B xCU8d5ANLTXZM68SAwNJBAoZ/io3O0PnmWA9uw8JUj36XMl/LeDVkkObRCAhDYEcelwOYIhh +wgpNQX+0q0jR9zaoSKiSVd9mKtKH0cUvp46sFGUdGz0gd7mEtfZZH8CzPt5MDdYtpBBUAmP zuIifeQnL9b3EfDLyI+GHWlMTCxXnjSVMSmFGM/Gmk= IronPort-HdrOrdr: A9a23:AAMgsawrqdq7ekTpSHQoKrPxtuskLtp133Aq2lEZdPULSKKlfp GV88jziyWZtN9wYhEdcdDpAtjmfZq6z+8L3WBxB8bfYOCCggqVxe5ZnPLfKlHbakjDH6tmpN 1dmstFea3N5DpB/L7HCWCDer5KqrT3k9HLuQ6d9QYRcegDUdAQ0+4TMHf8LqQZfngjOXJvf6 DsmPav6gDQM0g/X4CePD0oTuLDr9rEmNbPZgMHPQcu7E2rgSmz4LD3PhCE1lNGOgk/jYsKwC zgqUjU96+ju/a0xlv10HLS1Y1fnJ/ExsFYDMKBp8AJInHHixquZq5mR7qe1QpF7d2H2RIPqp 3hsh0gN8N85zf4eXy0mwLk303a3DMn+xbZuBalqEqmhfa8aCMxCsJHi44cWADe8VAcsNZ117 8O936FtrJMZCmw3RjV1pztbVVHh0C0qX0tnao4lHpES7YTb7dXsMg24F5VKpEdByj3gbpXXt WGNPusp8q+TGnqLUww5gJUsZmRtzUIb1i7q3E5y4yoO2M8pgE886MarPZv6EvouqhNDKWs3N 60QJiAoos+OfP+XZgNd9vpfvHHf1AlOSi8S156AW6XXJ3vaEi94KIe3t0OlZWXkdozvd0PpK g= X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; d="scan'208";a="62819047" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fkvYEg2hSMrh/6MtfyT5eY8SZB5WXFJRosoiM3JUs0r3yvXQg1XQeUdyh3LaUAn1e0fnSxqDJQgp4Q0d/+pWDya8NqmtkxxprOC7gEcV4+xI30+lOTHKfNI2Gyg8XTbp6k8EyWDb1y46yRJcOnR4rW2Lzo5AH/5D7UyqMibMT2DBRd+6iXJYNUh7Q09R2myB8XvCcBsI1FYr+veyegZf02UwrdosfWcstUUn0xWEfmOAPtZb8qGikb3gvePhUfl+u4V+VAx2YjfzbgI3RyauSx9A1IyuyiRTgGEDZu5Fg9Dl7kTlfraaT6Aj3C+Bf11g28WC+FOEpMEpciiYWve1dA== 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=HoF6XYV9k/waGwdbkp6UIajlOGJSYD9wsXW9TkdA094=; b=Y7oKeoS8KEkC7zk9P6bz4TntTAi0jIfEfCL53HKyfgFd2Eb2byVuO9XOvMhg4oRnOMMiYxYqeEm2pKN/9mdr4U30zdKkAeSK8IJslcGp9DcNki/7GWptWSHWnRmf/MU0zLdQ1LscRCL7w0xMNsznjCs4FyMToj2z3bj/T7954nyxe//urPncgr6uSM1HNpuxm6cbqWhfRU0MDjhfOyUjLFPmGn5AkmS/JJ7UTy1G8zkrkNTX+dQReFWEYV6NRqGzPe6prb8K4aOFRtDauM6Sg8t86Y0o8UuhqM7u4+WQsH4isU0KMJXwO5uWTuo2KVsYRIWRUfbLgGaE3EGAwyMMpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HoF6XYV9k/waGwdbkp6UIajlOGJSYD9wsXW9TkdA094=; b=hoV2dqfZUa+qPHYsyzFe+4Zy31T3e2CYIvqTsIOMFS5fskA4PzAhcfTDqkYSBsxNFBmPqGGk+NkuEQ+7jj/1s7gs0AY2re+LjnwnpJZJ5pe2y+ctPXfarOW5W33XoZtmwkG1xMFD6HZuQeYP938iK56lhwiqyd00NA6RfncQKc0= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu , "George Dunlap" , Julien Grall , "Stefano Stabellini" , Paul Durrant Subject: [PATCH 2/3] x86/vmsi: add support for extended destination ID in address field Date: Thu, 20 Jan 2022 16:23:18 +0100 Message-ID: <20220120152319.7448-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220120152319.7448-1-roger.pau@citrix.com> References: <20220120152319.7448-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0013.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::18) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: eb106a66-8c60-4d32-0ca6-08d9dc28f224 X-MS-TrafficTypeDiagnostic: BN7PR03MB3681:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: agARpoKQ+TSIVO96JM3GsGSYuJI0xuXEsD/SlgajnJDpXOUf6Ru/VeU3Xgjh3sbWF8CHavbuo66NIIvtqtppnUdsKbwuUlHyxKsvll6AroBRCdQpm0b2/bus4FiIntXToJ7bJKpNwNy+kdGDRtteAfueC28fQc/Wf2z+7LpOm9o0f7u1ooECcLspX64E8xC2/qlZhh6ymLGYJd/7eVMi6CJGPz1ORt5zwZoi05SPdaweL76tpXQU/dorzVFQV574QMBaAxjn0P/Q/XoCwsqGMnMnVJk0jg4kkZs60iq7cKHTB6iumF6RDWAS9y8Z8WhPbpMuImtTuni14elaoJ8Ll2ApLiTSIv9Xiq90YvMBpDujeip355h+HWWwuoS4HiYXbQMuw4AVUNqsDQt69SAq6k2lFxOCHRD7G5Ut3Ze44CuTtq+AXpJe/5LWOAqB7t58MretekJAMJ6nWeGJNnIi8OWHV8Amx4Wu5GT2Oqz6vYd1+2p6ii5tHwbmvWBbfHxM1OZjxvW7UFT+/36ptJuheZCalCsEKmL4gHh+yQ58CCWXFaw79rVYrAfLAzlXqdeCJpWX/0GsR2A4Z34OcPaOV1ozP35b8qegiTc5f1KSmeTBkzBlD1jQ0jk5PDZ4yCb+KacSGhRGtSKhDDJ8EhAaGA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(8676002)(6666004)(1076003)(508600001)(66476007)(54906003)(66556008)(2906002)(6512007)(82960400001)(8936002)(38100700002)(83380400001)(5660300002)(36756003)(26005)(6916009)(186003)(316002)(6506007)(6486002)(86362001)(4326008)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c3ZmSXdmY01wWUpNbGJwUHRJb29STkZrMEFKeWNJOHlrQlAzOE9wcXVEbmh6?= =?utf-8?B?VmxtOERueEN6cGRFMWh0dWF5TGVsS082UzNzUlNUMURKTTVRRHNDM3JDSEpJ?= =?utf-8?B?NTYrQU9PdHZJTmJ6eWNYc0M5K2VoK2YvYm9yd2RNL2YyTFZJa3d0Y1lUYTRr?= =?utf-8?B?dHptamxHNjRVcUo1Z3ZuYWNHM3Y3c1ZDdllGSGxCb1N4ZktnWTVqTGJFcExW?= =?utf-8?B?RWhUT3ZCRlhSY3d4dHU2YjFqYUtuUHFVV1RvelEwaEFrNk9MOUNOK1hMVVIy?= =?utf-8?B?VTQ2RTlDZVNnWk5zUjRVRlAwS1BpZFQxWGsyeE01TzFVclhJaWh0MHdSSm1k?= =?utf-8?B?SnY0VWtsVDNzeVJoa0l6SXJqc0FST0lKUTNNYXZ0ZkV0QmFlbURITkgrTTNP?= =?utf-8?B?NEFsTHVhdDU3K0lNV1A1RGt3SDhrVGdPdzdlcWo1QXB0U1N0ZEpmVVR6WEJO?= =?utf-8?B?b0dDRTEwK3Z6N3BidGRpeG5mb1djNDlMaWVLMC8vcWlVZTdlcFBaOEtodmRC?= =?utf-8?B?c1ZGdlU3K29rSUxuS0lPbmRQOW1RbFBZZ240aXV3cXVJbjNyYk0xOStPa2Yz?= =?utf-8?B?RkJtdEUvSlpucyszMWlIU1phN1F3MzY2SGE5aWRaMFdvN3c0TDE5OFJWK2NW?= =?utf-8?B?Nnk4WldUa0lzeXZJSG9qdjRDb2hyNW5OdFVNOW9lUEZsYVdzZnNQUFdrVmth?= =?utf-8?B?TTE5bU9MS2JyOUlUaUZEWVdhVUNIRGJqNUQ5czlxNFdkQkNJbGdGZkNWWlB2?= =?utf-8?B?RzhYcEJJWGgxaHQxWkdKd1B0ZFVIaWN6UWp3SHBnNzh0VWpFbXpENVIvcWM2?= =?utf-8?B?MG00QkJ0eUh1U1ZmT1JHRHRxeXpmcmpwazNEcytGa2VYQ2c2UzlwQ0lGNk9W?= =?utf-8?B?VHJUVUlHTGx3Z0RmUk1UeUtteCtIR29LNEhFeVZwVytWK2xyMndqdDVsUUlH?= =?utf-8?B?Z1FNMUMvL1BBdEE4c0FxelczSVNUek84QkFsYjFyV0l0bVhjNXNUcURPK0Z0?= =?utf-8?B?SEN2UkN4bFY4aFQ3dGdiQ3RyZkU0VVBQQlFmYzYvRFhGMWFPQWJUQVFtcHF0?= =?utf-8?B?dlk0VGZjbTBFNTBRcmcyT1JLQlhVenRGeDV5SW1Pb01aQWZPNnQ1Vk9zZTlK?= =?utf-8?B?RndsdjRxS0ordmVkQS8zY3BTb0I3bm1ZNzZjZ2djckZ3eVo0K0w3MHkvRjRx?= =?utf-8?B?QnZ5TzJMMXgzRWR0enYwb3lLZ09lcXMyaXJPRkkzV0pYRk81WHFFajkvdmZT?= =?utf-8?B?aEg2aUFQT2xoMU01L0J2LzFUMlFwa1VMVS9zemVQaWZKRHBMYXlDVVhZNnJ5?= =?utf-8?B?a3lCSm9LeXIvWmYvb0FwSytFbUZaZHlHMThrVDFZMTQzUWlmZVJKRkthTUVZ?= =?utf-8?B?M1JWRUJpL0ZUOUcxd2xBaXBtKzNMUG4wRGc5d0hGNG5RK3BheDJyVkt6M0gx?= =?utf-8?B?N3NhdHhQM0xkT05FYzFhRTFTVW0xZzRUSzJab0p5amkyeFJBRDNNdlljalAv?= =?utf-8?B?N2FpTXhEaEJXZnBEb0ZMM0F1eWJPSCtvQUgwdFJPbkRaYjRmS2pTQVRxRlVp?= =?utf-8?B?QlREaDk3eWlOTW5KTDUyNDFNN24yYnN0clAzN1kwY0orSE00bmI3N0pPSStE?= =?utf-8?B?TXFNclJ1VGpONDhjUCtsRkp3bDRLWFMzaGtLR3RIRkEvTVNNenhQalNCejJh?= =?utf-8?B?cE1pc1M2YnVWL1dOSWVtV1YrR3BFV0UyVC91ZE9yb3JEM1Q4cHVtTkROM0hK?= =?utf-8?B?VmlNdUlGemd1Qk1pZENlL0k3QjFuWmpPRThZWjVtZlAvem9jMlE3Zm9KQ3Vo?= =?utf-8?B?SjNLSW5LLzhQcEFQZTFyUy9yNGFsRmtLRVBnM1dJcVZpY2d2U3gydXd6UW11?= =?utf-8?B?MmxvYmRGWUZtOTh2T0t5TkNidWtjS0hrcUxKenlUOFRFSW1pZCtDZGF3WHVt?= =?utf-8?B?MTB3RURyM2dhYUl4VnRiMHh0VHBGaUVnYkdYaUc0M0kvOW5Bejd0V2ZSSUxo?= =?utf-8?B?bzM3WnZjQmtiOFdiLzRHd015U3lhTkEzell2Rm9QVHJxUWMwZ0ttWFBPL0JI?= =?utf-8?B?WngzcURzRVpVS0tJNFNTalpWUHdpNE85OXRaNkJEQ3dFQTlKQkEvZG92azBV?= =?utf-8?B?NE9sakNYQXZhWmdockJDYmxMcEN1Q011cXZ0RGpPQ2ZRb0J5a3k2S3pOdkVN?= =?utf-8?Q?i6nIbeAEg3sY1sn12ayTiE4=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: eb106a66-8c60-4d32-0ca6-08d9dc28f224 X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:24:27.0449 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: j0axAw5kI8i6o96GL9ahRrB7vVBrRJNDcm5rjbWDuM4kc5sL8URALLKAfY5p0Rb2eXW/uRnh0RU4CnVB4R7RRA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3681 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1642692301931100002 Both QEMU/KVM and HyperV support using bits 11:5 from the MSI address field in order to store the high part of the target APIC ID. This allows expanding the maximum APID ID usable without interrupt remapping support from 255 to 32768. Note the interface used by QEMU for emulated devices (via the XEN_DMOP_inject_msi hypercall) already passes both the address and data fields into Xen for processing, so there's no need for any change to QEMU there. However for PCI passthrough devices QEMU uses the XEN_DOMCTL_bind_pt_irq hypercall which does need an addition to the gflags field in order to pass the high bits of the APIC destination ID. Introduce a new CPUID flag to signal the support for the feature. The introduced flag covers both the support for extended ID for the IO-APIC RTE and the MSI address registers. Such flag is currently only exposed when the domain is using vPCI (ie: a PVH dom0). Signed-off-by: Roger Pau Monn=C3=A9 --- xen/arch/x86/hvm/irq.c | 3 ++- xen/arch/x86/hvm/vmsi.c | 13 ++++++++++--- xen/arch/x86/include/asm/hvm/hvm.h | 5 +++-- xen/arch/x86/include/asm/msi.h | 1 + xen/arch/x86/traps.c | 3 +++ xen/drivers/passthrough/x86/hvm.c | 10 +++++++--- xen/include/public/arch-x86/cpuid.h | 6 ++++++ xen/include/public/domctl.h | 1 + 8 files changed, 33 insertions(+), 9 deletions(-) diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c index 52aae4565f..b9b5182369 100644 --- a/xen/arch/x86/hvm/irq.c +++ b/xen/arch/x86/hvm/irq.c @@ -383,7 +383,8 @@ int hvm_set_pci_link_route(struct domain *d, u8 link, u= 8 isa_irq) int hvm_inject_msi(struct domain *d, uint64_t addr, uint32_t data) { uint32_t tmp =3D (uint32_t) addr; - uint8_t dest =3D (tmp & MSI_ADDR_DEST_ID_MASK) >> MSI_ADDR_DEST_ID_SH= IFT; + unsigned int dest =3D (MASK_EXTR(tmp, MSI_ADDR_EXT_DEST_ID_MASK) << 8)= | + MASK_EXTR(tmp, MSI_ADDR_DEST_ID_MASK); uint8_t dest_mode =3D !!(tmp & MSI_ADDR_DESTMODE_MASK); uint8_t delivery_mode =3D (data & MSI_DATA_DELIVERY_MODE_MASK) >> MSI_DATA_DELIVERY_MODE_SHIFT; diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c index 13e2a190b4..ec0f3bc13f 100644 --- a/xen/arch/x86/hvm/vmsi.c +++ b/xen/arch/x86/hvm/vmsi.c @@ -66,7 +66,7 @@ static void vmsi_inj_irq( =20 int vmsi_deliver( struct domain *d, int vector, - uint8_t dest, uint8_t dest_mode, + unsigned int dest, unsigned int dest_mode, uint8_t delivery_mode, uint8_t trig_mode) { struct vlapic *target; @@ -107,7 +107,9 @@ void vmsi_deliver_pirq(struct domain *d, const struct h= vm_pirq_dpci *pirq_dpci) { uint32_t flags =3D pirq_dpci->gmsi.gflags; int vector =3D pirq_dpci->gmsi.gvec; - uint8_t dest =3D (uint8_t)flags; + unsigned int dest =3D MASK_EXTR(flags, XEN_DOMCTL_VMSI_X86_DEST_ID_MAS= K) | + (MASK_EXTR(flags, + XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK) <= < 8); bool dest_mode =3D flags & XEN_DOMCTL_VMSI_X86_DM_MASK; uint8_t delivery_mode =3D MASK_EXTR(flags, XEN_DOMCTL_VMSI_X86_DELIV_M= ASK); bool trig_mode =3D flags & XEN_DOMCTL_VMSI_X86_TRIG_MASK; @@ -123,7 +125,8 @@ void vmsi_deliver_pirq(struct domain *d, const struct h= vm_pirq_dpci *pirq_dpci) } =20 /* Return value, -1 : multi-dests, non-negative value: dest_vcpu_id */ -int hvm_girq_dest_2_vcpu_id(struct domain *d, uint8_t dest, uint8_t dest_m= ode) +int hvm_girq_dest_2_vcpu_id(struct domain *d, unsigned int dest, + unsigned int dest_mode) { int dest_vcpu_id =3D -1, w =3D 0; struct vcpu *v; @@ -645,6 +648,8 @@ static unsigned int msi_gflags(uint16_t data, uint64_t = addr, bool masked) */ return MASK_INSR(MASK_EXTR(addr, MSI_ADDR_DEST_ID_MASK), XEN_DOMCTL_VMSI_X86_DEST_ID_MASK) | + MASK_INSR(MASK_EXTR(addr, MSI_ADDR_EXT_DEST_ID_MASK), + XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK) | MASK_INSR(MASK_EXTR(addr, MSI_ADDR_REDIRECTION_MASK), XEN_DOMCTL_VMSI_X86_RH_MASK) | MASK_INSR(MASK_EXTR(addr, MSI_ADDR_DESTMODE_MASK), @@ -835,6 +840,7 @@ void vpci_msi_arch_print(const struct vpci_msi *msi) msi->data & MSI_DATA_LEVEL_ASSERT ? "" : "de", msi->address & MSI_ADDR_DESTMODE_LOGIC ? "log" : "phys", msi->address & MSI_ADDR_REDIRECTION_LOWPRI ? "lowest" : "fixed", + (MASK_EXTR(msi->address, MSI_ADDR_EXT_DEST_ID_MASK) << 8) | MASK_EXTR(msi->address, MSI_ADDR_DEST_ID_MASK), msi->arch.pirq); } @@ -904,6 +910,7 @@ int vpci_msix_arch_print(const struct vpci_msix *msix) entry->data & MSI_DATA_LEVEL_ASSERT ? "" : "de", entry->addr & MSI_ADDR_DESTMODE_LOGIC ? "log" : "phys", entry->addr & MSI_ADDR_REDIRECTION_LOWPRI ? "lowest" : "fix= ed", + (MASK_EXTR(entry->addr, MSI_ADDR_EXT_DEST_ID_MASK) << 8) | MASK_EXTR(entry->addr, MSI_ADDR_DEST_ID_MASK), entry->masked, entry->arch.pirq); if ( i && !(i % 64) ) diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/= hvm/hvm.h index b26302d9e7..f001b43a21 100644 --- a/xen/arch/x86/include/asm/hvm/hvm.h +++ b/xen/arch/x86/include/asm/hvm/hvm.h @@ -270,11 +270,12 @@ uint64_t hvm_get_guest_time_fixed(const struct vcpu *= v, uint64_t at_tsc); =20 int vmsi_deliver( struct domain *d, int vector, - uint8_t dest, uint8_t dest_mode, + unsigned int dest, unsigned int dest_mode, uint8_t delivery_mode, uint8_t trig_mode); struct hvm_pirq_dpci; void vmsi_deliver_pirq(struct domain *d, const struct hvm_pirq_dpci *); -int hvm_girq_dest_2_vcpu_id(struct domain *d, uint8_t dest, uint8_t dest_m= ode); +int hvm_girq_dest_2_vcpu_id(struct domain *d, unsigned int dest, + unsigned int dest_mode); =20 enum hvm_intblk hvm_interrupt_blocked(struct vcpu *v, struct hvm_intack intack); diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h index e228b0f3f3..531b860e42 100644 --- a/xen/arch/x86/include/asm/msi.h +++ b/xen/arch/x86/include/asm/msi.h @@ -54,6 +54,7 @@ #define MSI_ADDR_DEST_ID_SHIFT 12 #define MSI_ADDR_DEST_ID_MASK 0x00ff000 #define MSI_ADDR_DEST_ID(dest) (((dest) << MSI_ADDR_DEST_ID_SHIFT) & MSI= _ADDR_DEST_ID_MASK) +#define MSI_ADDR_EXT_DEST_ID_MASK 0x0000fe0 =20 /* MAX fixed pages reserved for mapping MSIX tables. */ #define FIX_MSIX_MAX_PAGES 512 diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 485bd66971..3d2d75978c 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -1150,6 +1150,9 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, ui= nt32_t leaf, res->a |=3D XEN_HVM_CPUID_DOMID_PRESENT; res->c =3D d->domain_id; =20 + if ( has_vpci(d) ) + res->a |=3D XEN_HVM_CPUID_EXT_DEST_ID; + break; =20 case 5: /* PV-specific parameters */ diff --git a/xen/drivers/passthrough/x86/hvm.c b/xen/drivers/passthrough/x8= 6/hvm.c index 351daafdc9..666c4b7757 100644 --- a/xen/drivers/passthrough/x86/hvm.c +++ b/xen/drivers/passthrough/x86/hvm.c @@ -269,7 +269,7 @@ int pt_irq_create_bind( { case PT_IRQ_TYPE_MSI: { - uint8_t dest, delivery_mode; + unsigned int dest, delivery_mode; bool dest_mode; int dest_vcpu_id; const struct vcpu *vcpu; @@ -345,7 +345,9 @@ int pt_irq_create_bind( } /* Calculate dest_vcpu_id for MSI-type pirq migration. */ dest =3D MASK_EXTR(pirq_dpci->gmsi.gflags, - XEN_DOMCTL_VMSI_X86_DEST_ID_MASK); + XEN_DOMCTL_VMSI_X86_DEST_ID_MASK) | + (MASK_EXTR(pirq_dpci->gmsi.gflags, + XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK) << 8); dest_mode =3D pirq_dpci->gmsi.gflags & XEN_DOMCTL_VMSI_X86_DM_MASK; delivery_mode =3D MASK_EXTR(pirq_dpci->gmsi.gflags, XEN_DOMCTL_VMSI_X86_DELIV_MASK); @@ -782,7 +784,9 @@ static int _hvm_dpci_msi_eoi(struct domain *d, (pirq_dpci->gmsi.gvec =3D=3D vector) ) { unsigned int dest =3D MASK_EXTR(pirq_dpci->gmsi.gflags, - XEN_DOMCTL_VMSI_X86_DEST_ID_MASK); + XEN_DOMCTL_VMSI_X86_DEST_ID_MASK) | + (MASK_EXTR(pirq_dpci->gmsi.gflags, + XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK) << 8= ); bool dest_mode =3D pirq_dpci->gmsi.gflags & XEN_DOMCTL_VMSI_X86_DM= _MASK; =20 if ( vlapic_match_dest(vcpu_vlapic(current), NULL, 0, dest, 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 EC= X */ +/* + * 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 Destin= ation + * ID field from 8 to 15 bits, allowing to target APIC IDs up 32768. + */ +#define XEN_HVM_CPUID_EXT_DEST_ID (1u << 5) =20 /* * Leaf 6 (0x40000x05) diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h index b85e6170b0..17ac7ef82b 100644 --- a/xen/include/public/domctl.h +++ b/xen/include/public/domctl.h @@ -588,6 +588,7 @@ struct xen_domctl_bind_pt_irq { #define XEN_DOMCTL_VMSI_X86_DELIV_MASK 0x007000 #define XEN_DOMCTL_VMSI_X86_TRIG_MASK 0x008000 #define XEN_DOMCTL_VMSI_X86_UNMASKED 0x010000 +#define XEN_DOMCTL_VMSI_X86_EXT_DEST_ID_MASK 0xfe0000 =20 uint64_aligned_t gtable; } msi; --=20 2.34.1 From nobody Tue May 7 10:32:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1642692301; cv=pass; d=zohomail.com; s=zohoarc; b=Ubo4ODXZaHx2bIR0VvpMOoXrqKFLPEB8DME/l81snhMkIgjPvYWEhpluFaqbG8hMEoHupM7HI2HgQhq4IbffkTONnYIfSLd784Yw/C81SV/ZkgsJFRAKGn5ch0lunA6bIQKvJ31Il6AnbiFRuetmvpNznxDwJdp6PfS3XcwoOeI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1642692301; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ABP7/Br+owApC9qj4NTH4SDtKCbcra77tGh7FujuLWU=; b=RMmFaodqeLelZeIQtwhL9AZGLiWD+QkoAu506vwLAXULQZ0U92/nJWE4Pm1UHxQ3GFEPMTcYOoQ+rtikb4hV2foE2qywJnbVxyxsTEj3k00hdrQluwe0h4X7A554cVRJer5W5yjn9oAWGGGGiKSb1xVPyO+poeq0+bDQrJNnBM4= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1642692301126546.86614826081; Thu, 20 Jan 2022 07:25:01 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.259100.446945 (Exim 4.92) (envelope-from ) id 1nAZIl-0002xZ-RF; Thu, 20 Jan 2022 15:24:39 +0000 Received: by outflank-mailman (output) from mailman id 259100.446945; Thu, 20 Jan 2022 15:24:39 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nAZIl-0002xS-Ns; Thu, 20 Jan 2022 15:24:39 +0000 Received: by outflank-mailman (input) for mailman id 259100; Thu, 20 Jan 2022 15:24:38 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nAZIk-0002If-DH for xen-devel@lists.xenproject.org; Thu, 20 Jan 2022 15:24:38 +0000 Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 1310879e-7a05-11ec-bc18-3156f6d857e4; Thu, 20 Jan 2022 16:24:37 +0100 (CET) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1310879e-7a05-11ec-bc18-3156f6d857e4 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1642692277; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=m2MqR2DhtFMiEHrt+YuWBuOssJ0Pw1+H41fXQNlG5gw=; b=fAx0v8G/XKa9vZ/KTve3k2IcQF9e1R/6Gh3nB7Ho+wAqy8D0PCVZo+C7 mrAHuiLCCEuJipXcawTg92nn9oRirfk2mRpStNDBGvdCCdZUgDDsOnFeZ nDaTZQfyk3/aWQ1EZ6TSCcQhatvbvlxlVc7BJMCdoSS3d59XHR7Gl9Mac w=; Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: N9XddzcHgt/QmCskYWkQuzs662NBi30PHrU1coqx5L7XoUUh+1Lp2IMQK1oXtKkKRF0AHmZsBt sDUnH5dXfZLKoENJz5g1ZhaAUl/OHjZ0NaeZPjZRVEFOEYH8I7Hy6lq6Nk2WppU+WSNVgqrO3y Yn3QPDyTIszwHNq/O8EsPiwoNtrFeD3gXweV0C9l186DFz9GmdtwNr32eBZnqbVnS55KRjKvFo i15HlKYQ1Jy0mIabSqBQoKDgp4Mlx5SEozrP1fKCJE1D1IWwat96QH1N5xINgDbQsDbaQEowwx tNpitsnNOE0sJZ+JuPjrFW+H X-SBRS: 5.2 X-MesageID: 62414611 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:h/u3x6DqE0x5SRVW/8jkw5YqxClBgxIJ4kV8jS/XYbTApD8i32NUy DFJUTzTP6vcNDPwKt0jOoq38UgH65bXndIyQQY4rX1jcSlH+JHPbTi7wuYcHM8wwunrFh8PA xA2M4GYRCwMo/u1Si6FatANl1ElvU2zbue6WL6s1hxZH1c+En9400o7wYbVv6Yz6TSHK1LV0 T/Ni5W31G+Ng1aY5UpNtspvADs21BjDkGtwUm4WPJinj3eH/5UhN7oNJLnZEpfNatI88thW5 Qr05OrREmvxp3/BAz4++1rxWhVirrX6ZWBihpfKMkQLb9crSiEai84G2PQghUh/tRCjvtQp9 et2lY2IUVktOe6WtctFakwNe81+FfUuFL7vJHG+tYqYzlHccmuqyPJrZK00FdRGoKAtWzgIr KFGbmBWBvyAr7veLLaTUO5ji95lNMD2FIgepmth3XfSCvNOrZXrHf+WvIMGhW5YasZmB8/xW o0QUBZUQxmdeQxwGl0XJ7Ajg7L97pX4W2IB8w/EzUYt2EDMyCRh3b6rN8DaEvSIT8hImkeTp krd4n/0RBodMbS32TeDt36hmOLLtSf6Q54JUq218OZwh1+ezXBVDwcZPWZXutHg1BT4AYgGb RVJpGx+9sDe6XBHUPHDejeZpCa5gCU8SuJITek9q1ug5fLttlPx6nc/chZNb9kvtckTTDMs1 0OUk96BOQGDoIF5WlrGqO7K8Gra1Tw9aDZbOHRaFVdtD8zL+dlr1nryosBf/LlZZzEfMRX52 Hi0oSc3nN3/ZuZbhvzgrTgrb99Bz6UlrzLZBC2LDwpJDSsjPeZJgrBED3CBsZ6sy67DHzG8U IAswZT20Qz3JcjleNaxaOsMBqq1wP2OLSfRh1Vid7F4qWj3pSf8LdwOvGguTKuMDiriUWW1C KM0kVgJjKK/wVPwNfMnC25PI5lCIVfc+STNCamPM4smjmlZfw6b5iB+DXN8LEi2+HXAZZoXY M/BGe71VC5yIf0+kFKeGrlBuZd2mHFW7T6DFPjTkkX8uZLDNSH9dFvwGAbUBgzPxPna8Fy9H hc2H5bi9iizp8WnMnCIqtZCdA5TRZX5bLivw/Fqmie4ClMOMEkqCuPLwKNnfIpgnq9PkfzP8 G37UUhdoGcTT1WeQelTQnw8Or7pQ7hlqnc3YX4lMVqygiBxaoez9qYPMZAweOB/puBkyPd1S dgDetmBXasTGmiWpWxFYMmvtpFmeTSqmRmKY3ivbg8gcsMyXAfO4NLlIFfirXFcEiqtuMIii LS8zQeHE4EbTgFvAZ+OOvKixl+8p1YHn+d2UxeaK9VfYhy0ooNrNzbwnrk8JMRVcUfPwT6T1 gC3BxYEpLaS/99poYeR3a3d9tWnCepzGEZeDlL317fuOHmI5HenzK9BTP2MIWLXWlTr9fjwf u5S1fz9bqEKxQ4Yr4pmHr935qsi/N+z9aRCxwFpEXiXPVSmDrRsfiuP0cVV7/Afw7ZYvU29W 16V+8kcMrKMYZu3HFkULQsjT+KCyfBLxWWCsaVreB33tH1t4b6KcUROJB3d2iVSIYx8PJ4h3 ep86tUd7Bayi0ZyP9uL5syOG79g8pDUv30bi6wn IronPort-HdrOrdr: A9a23:znjMIqt+J2lty3M8cgjdScSW7skC7IMji2hC6mlwRA09TyXGra 6TdaUguiMc1gx8ZJhBo7C90KnpewK6yXcT2/hsAV7CZniYhILMFuBfBOTZskTd8kHFh4tgPO JbAtJD4b7LfChHZKTBkXGF+r8bqbHtms3Y5pa9854ud3AWV0gJ1XYJNu/xKDwReOApP+tcKH LKjfA32QZINE5nJPiTNz0gZazuttfLnJXpbVovAAMm0hCHiXeN5KThGxaV8x8CW3cXqI1SvV Ttokjc3OGOovu7whjT2yv66IlXosLozp9mCNaXgsYYBz3wgkKDZZhnWZeFoDcpydvfpWoCoZ 3pmVMNLs5z43TeciWcpgbs4RDp1HIU53rr2Taj8DLeiP28YAh/J9tKhIpffBecwVEnpstA3K VC2H/cn4ZLDDvb9R6NpuTgZlVPrA6ZsHAimekcgzh0So0FcoJcqoQZ4Qd8DIoAJiTn84oqed MeQv003MwmMm9yUkqp/FWGmLeXLzEO91a9Mwc/U/WuonhrdCsT9Tpd+CQd9k1wgq7VBaM0oN gsCZ4Y5o2mePVmGp6VNN1xMvdfNVa9NC4kSFjiWmgPNJt3c04l+KSHq4nc2omRCeg1Jd0J6d L8bG8= X-IronPort-AV: E=Sophos;i="5.88,302,1635220800"; d="scan'208";a="62414611" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fAA6/hyJe/xMcKlts8mf4I9Zr6c7j31+iNZbjTOO1Nd3J584XqsDgsFrcMqgrWxtWDtCkk9Nky8BYPQHjCV/kFPiECsH+r7MFflU/rU+Dg0DsJoTFKR0aNYkW8gGQOt3TF7ZPqJhWmZX8jeori9iyphpoHh5Ixfz21D3Onx87Xk6crqE+3KkGD66CbdX9jHAyQt1drafFfnhznmmA1R9N6iuPyhTENRhZQTWfEb0rMiF3Hi5mVCWudXRd61q5Sf491XrFdb2YxPgcgvpNNxNllA7v5gUsVk44KdVtyQ2NZsr0twa1CHV8hNmkOXNM/d4+41y9EgxtAIstoUYH217tA== 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=ABP7/Br+owApC9qj4NTH4SDtKCbcra77tGh7FujuLWU=; b=k5vV/Oh8bg3Twm6g9FwI/ZqsDCY4+bB34ckDh/iyv2Vnc/R3mqiyoOAyUmIBsDq+UQha05QHw6Doqnp69WGLcE8Qw4Fkl1N/lL1u904eB4chK1IprbkquSYZNbXKGmR2s0gxfystrha6yL6vGBUPGDP2H3clMlWLpiO3bnkAFlMM1N3X8jkNQTCrEXsm9sPtGYeobZVCzS028v9SJHIhry/rSa0EH1LcM0CQlvzqtVaD0WuiN1/Vzvkj8yNv4APpY3WZ2BDCdkHI9AOpAZpywpLr2IGn5Q9mCqo6Yd7MLTu/5opSJs22yyNniIvJMa0J6Dmfzh5UFM8l3tPv1j4JXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ABP7/Br+owApC9qj4NTH4SDtKCbcra77tGh7FujuLWU=; b=Mzra39GQKtdruqOD4NPH4ug9HsaIuwSXoHmwFYAL4/9/n2P/l+FA4uvMQfXxI9cJku8nvxysVd7OBeunkplRXF/TsIIID+0nW+z2MUE8fpEVX+gW3mpoRffnfX95OGy6IdmXzrV33+Ie/AShDKC/DmBAPPjiKtrtieh1mVZOz2Q= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH 3/3] HACK: allow adding an offset to the x2APIC ID Date: Thu, 20 Jan 2022 16:23:19 +0100 Message-ID: <20220120152319.7448-4-roger.pau@citrix.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220120152319.7448-1-roger.pau@citrix.com> References: <20220120152319.7448-1-roger.pau@citrix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0074.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::20) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3da4c9b4-487d-45a9-f12f-08d9dc28f4a7 X-MS-TrafficTypeDiagnostic: BN7PR03MB3681:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5236; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xxURhUScCdN0F98Y1jiB3ibxYPl3QV58mURM+b4vD1ZGyoL5jzE8zS5CLZU9tEkGplOZktyAaud/0TVLQjbg9D10jAr60gYz8aTiSgtd/nM/jN69q4gIY0OrWMjrq8pJNe9iKHePHxmlLvGL+uHoYe93bfgUuvANY1oi7KUrLjOs8wJVdA2PC8qPlbqL3EfWAeHr/d9SlQw/ac+z2G07fWIipN7PqfWD7d/eCRFs/hHTLHuiben8EAayeCBxm0OX0MSHej1CROGRHIa1pOpn4ukO2/QOMW200RPCil6wk+IEh1jAK/MfauYYSU60SiT8bsqElF1769rC1j2IZyWDaRib+ekyN4GD688+xZ9lEGVBvlbaGOuR3D+79bFRBCVJLRuLR0YMkQS8znJYaYzLja1TT66xx5n9hiQ+FOej8LJvyL5KlQo9kKC+sQKyyigwhs+VI/Ew1ns1ioBoE4WD3HrvWigqhoha+qFqbUkDNnCI9m30d5NxC1wolZYza+xyB7QMVepgE7R6eg17jqsO2WD4Dyg8Nq7FEN6cZbgt4o7lNcYvejaVrcR+IJrUZ7i/ZOUbwcRHxUMpsLBOg4ExPZ0h5j9j82gUILYBPj1g/cQs3m0Hvrhf4+rpqPBUkusmlPbOHcWamLr0CDlRjdzQ0Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(8676002)(6666004)(1076003)(508600001)(66476007)(54906003)(66556008)(2906002)(6512007)(82960400001)(8936002)(38100700002)(83380400001)(5660300002)(36756003)(26005)(6916009)(186003)(316002)(6506007)(6486002)(86362001)(4326008)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?O3UAM1EA45Ndo11H0cOGq3hsmTKotJ4h/SddcmxxesvINuUavS/cuKubU3TO?= =?us-ascii?Q?NryAsNG5XDjpgqKQmSCOM/sUbOQUxO0XVEPRD1FLV0qMCwUKGemKl+vhZiue?= =?us-ascii?Q?ov3C2t8StasGHdxw20I/VyuuZ4xz212vzAwT1OluRxtVY1qagelVgw3Uj86j?= =?us-ascii?Q?zVbZ8Zj4/mXAqQXjEVJT7n75jgpMfjd1zh85rr2gAsUWmFrjwKj0cHPbO4mB?= =?us-ascii?Q?pLNS3LEM/nZRYIXjCcS421vL+03iLE4CYLj+apcFSa10T7K3INpyrALueouf?= =?us-ascii?Q?oYKedpbvl9PpkTFH2xxFeyYxa5l+46MwB4fGDgK8HC1XAUUllSDQ0qkuEclx?= =?us-ascii?Q?XaU3IH/VP7RmbERf8CaGb8NION5ZECm7+SThTDcgOOr6gDaUFSzKQNn/1Arx?= =?us-ascii?Q?T5wAN2hkq0gnHrpieuEtTGh2UIsdWRBa/LV/amnqQMUbhJDL1jnDV+FrIt0q?= =?us-ascii?Q?6aDaZOwZ5O5qPcP00UKy2Jowa4PJYIZwvcEv+GrKKDYtY+X4ekVVmfplkuFR?= =?us-ascii?Q?tnqBixtbHRVmyqWLcst2rLo5yxTf0wC/UXXRKGYsrW/CrY7FwQw2hoz65oJS?= =?us-ascii?Q?DHRcmqDzDta3GhTO6udbgwW+jhF9GMTIkqXOKjRjl8z1pjzR3csJmQ1I9QDt?= =?us-ascii?Q?hs0q0/VWHTuShmuKNzFT3ci2X34G1m8GFOWSjqbzeX5UKR7wxgQFjSSqhl6t?= =?us-ascii?Q?73OJuB0ah8SKa/va1TDmkXmfZwl3DKgwJqmMiC6we+tyzU+N1ExjqYFT/GKZ?= =?us-ascii?Q?+LNcnW348tfGVjNRgz1BeZho+WHY/BbW5bmF0YKDeL4tYqeWRaWdIkYhDWmE?= =?us-ascii?Q?msP4X3DAwTSAyVKfsRobKA9j7jBv/4+QCuU706ob5iPN4KAAvGzmxdYAY9GC?= =?us-ascii?Q?l1ngGbbgY8MI+jSZGYaeb5ZkWKbWdvRaPiAYf0R/mnlavP2Xf7SLgSrotH2G?= =?us-ascii?Q?l5ONw09Oxz7tNUA2Xdt+Ept5aOJlg2NoEK8yHT/beLtiKqzQQpJK5NJCwzr0?= =?us-ascii?Q?zji2n64dUgAIc5RT4oYE54Pv7mJNGUX84bn5srye893FMgJI1mTYVvGeNFjd?= =?us-ascii?Q?Ry/upi7Z+UXys2DlimusMBsHDZjeH8D7Sfw1N0sJkuDCIzZWluHXRUKHNnQm?= =?us-ascii?Q?jhpcUtSwDOHDzNOx3c9/6pJn3iu3396IDHnfl0XJR2HT4Iz+2On/UPnzPdx5?= =?us-ascii?Q?MqrxalXz/SL3o2lgDRMhIUc6eft9cgX1jOSaK0ibmfxGaGExMhsy544Lwwz1?= =?us-ascii?Q?s/9FFDMGU2DdMAkJVpLThQ6fj6lOPs/o9vsMQ7SkoIla+DfmIwd/MquEyXdF?= =?us-ascii?Q?EyNlXSu9Y8Eefg14dQbvUMFqVF1qhEBhnQ6/KZjypSZGig1szLsIbNPDpSis?= =?us-ascii?Q?wb1HZBaRhbLqc4nmhBzx1ZKdaP/JybFvT5GVXA/w8fgg2yufNXlmhmhx/d0S?= =?us-ascii?Q?8zbq0CE0x1JFMKs17zkLd7zJ+CsAgD5EWAC0MzlZDM6pkilK4gGivEKvuQvw?= =?us-ascii?Q?nyrbQUZe3XHcGiKDUm23oGmtzai2iC5JRVNZyRdn7ZSKzPIyyGCAL5AjMBsD?= =?us-ascii?Q?h7EBIBstb0BmTfj9YstYQlN/FMbKZEriUHg+42RA/K7t1TwJUhjW+ooOR7oc?= =?us-ascii?Q?YFXsiaQTi1CT2a/cZSHWQTU=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 3da4c9b4-487d-45a9-f12f-08d9dc28f4a7 X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 15:24:31.2318 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ++DY6MbWyAPo5KmYvYRcOpkYQfQqJwMUPV017N84GDPzG8GSaYj94mYC79pKXooDppJD4em9zpz68xwvzdjc/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR03MB3681 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1642692302012100005 Content-Type: text/plain; charset="utf-8" In order to test external interrupts using a destination ID > 255. Also start vCPUs with the APIC in x2APIC mode. --- xen/arch/x86/cpuid.c | 12 +++++++++++- xen/arch/x86/hvm/dom0_build.c | 3 ++- xen/arch/x86/hvm/vlapic.c | 14 ++++++++++++-- xen/arch/x86/include/asm/hvm/vlapic.h | 2 ++ 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c index 0407a54626..01dcd474e8 100644 --- a/xen/arch/x86/cpuid.c +++ b/xen/arch/x86/cpuid.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -876,7 +877,14 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf, /* TODO: Rework topology logic. */ res->b &=3D 0x00ffffffu; if ( is_hvm_domain(d) ) - res->b |=3D (v->vcpu_id * 2) << 24; + { + unsigned int id =3D v->vcpu_id * 2; + + if ( id ) + id +=3D opt_x2apic_id_offset; + + res->b |=3D id << 24; + } =20 /* TODO: Rework vPMU control in terms of toolstack choices. */ if ( vpmu_available(v) && @@ -1058,6 +1066,8 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf, =20 /* Fix the x2APIC identifier. */ res->d =3D v->vcpu_id * 2; + if ( res->d ) + res->d +=3D opt_x2apic_id_offset; } break; =20 diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c index 43e1bf1248..b00e45885c 100644 --- a/xen/arch/x86/hvm/dom0_build.c +++ b/xen/arch/x86/hvm/dom0_build.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -845,7 +846,7 @@ static int __init pvh_setup_acpi_madt(struct domain *d,= paddr_t *addr) x2apic->header.type =3D ACPI_MADT_TYPE_LOCAL_X2APIC; x2apic->header.length =3D sizeof(*x2apic); x2apic->uid =3D i; - x2apic->local_apic_id =3D i * 2; + x2apic->local_apic_id =3D i * 2 + (i ? opt_x2apic_id_offset : 0); x2apic->lapic_flags =3D ACPI_MADT_ENABLED; x2apic++; } diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c index b8c84458ff..34209d5378 100644 --- a/xen/arch/x86/hvm/vlapic.c +++ b/xen/arch/x86/hvm/vlapic.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -53,6 +54,9 @@ (LVT_MASK | APIC_MODE_MASK | APIC_INPUT_POLARITY |\ APIC_LVT_REMOTE_IRR | APIC_LVT_LEVEL_TRIGGER) =20 +unsigned int opt_x2apic_id_offset; +integer_param("x2apic_id_offset", opt_x2apic_id_offset); + static const unsigned int vlapic_lvt_mask[VLAPIC_LVT_NUM] =3D { /* LVTT */ @@ -1073,7 +1077,7 @@ static void set_x2apic_id(struct vlapic *vlapic) u32 id =3D vlapic_vcpu(vlapic)->vcpu_id; u32 ldr =3D ((id & ~0xf) << 12) | (1 << (id & 0xf)); =20 - vlapic_set_reg(vlapic, APIC_ID, id * 2); + vlapic_set_reg(vlapic, APIC_ID, id * 2 + (id ? opt_x2apic_id_offset : = 0)); vlapic_set_reg(vlapic, APIC_LDR, ldr); } =20 @@ -1443,7 +1447,13 @@ void vlapic_reset(struct vlapic *vlapic) if ( v->vcpu_id =3D=3D 0 ) vlapic->hw.apic_base_msr |=3D APIC_BASE_BSP; =20 - vlapic_set_reg(vlapic, APIC_ID, (v->vcpu_id * 2) << 24); + /* start in x2APIC mode. */ + vlapic->hw.apic_base_msr |=3D APIC_BASE_EXTD; + set_x2apic_id(vlapic); +#if 0 + vlapic_set_reg(vlapic, APIC_ID, id << 24); +#endif + vlapic_do_init(vlapic); } =20 diff --git a/xen/arch/x86/include/asm/hvm/vlapic.h b/xen/arch/x86/include/a= sm/hvm/vlapic.h index 8f908928c3..6e837cb5bf 100644 --- a/xen/arch/x86/include/asm/hvm/vlapic.h +++ b/xen/arch/x86/include/asm/hvm/vlapic.h @@ -91,6 +91,8 @@ struct vlapic { } init_sipi; }; =20 +extern unsigned int opt_x2apic_id_offset; + /* vlapic's frequence is 100 MHz */ #define APIC_BUS_CYCLE_NS 10 =20 --=20 2.34.1