Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933398AbcDEP5H (ORCPT ); Tue, 5 Apr 2016 11:57:07 -0400 Received: from mail-bl2on0066.outbound.protection.outlook.com ([65.55.169.66]:14800 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933195AbcDEP5E (ORCPT ); Tue, 5 Apr 2016 11:57:04 -0400 Authentication-Results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=amd.com; Subject: Re: [PART1 RFC v3 07/12] svm: Add interrupt injection via AVIC To: Paolo Bonzini , , , , , References: <1458281388-14452-1-git-send-email-Suravee.Suthikulpanit@amd.com> <1458281388-14452-8-git-send-email-Suravee.Suthikulpanit@amd.com> <56EBD6FE.2050807@redhat.com> <5703BD1D.1070604@amd.com> CC: , , , From: Suravee Suthikulpanit Message-ID: <5703E037.5050509@amd.com> Date: Tue, 5 Apr 2016 22:56:39 +0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <5703BD1D.1070604@amd.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [58.10.104.205] X-ClientProxiedBy: HKXPR03CA0084.apcprd03.prod.outlook.com (10.163.104.42) To BLUPR12MB0434.namprd12.prod.outlook.com (10.162.92.14) X-MS-Office365-Filtering-Correlation-Id: f852f597-11e7-4583-d7f1-08d35d6aebca X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0434;2:PPsCINtuT5rcEA6JO1xW7OlrluuHIvWVFR+u48X4kBgRkwvGTJXbmdxeMhjeW8pD8inBpnPbPw40qwvUKn+Y2xd5BR3E0TiZtW6icJKR3G2siaH+ta+EM77ewn0i4rQU0sSOla3akTdLjScD5GCuxL0y2ULAzRC/EQqRK8y0QetOIEX5Q7RM+Qy+v4L4N92V;3:z8XuW2bmo4p4El0/MkSfrq6v6NegNOqMXY9DCKcUteNAsm4dXt7K39AtxoCysv984RGyvz9yCFu/9Sjd3bSnhFn8NIW/TgdAKVRhmBWN3Hi94NM/Z1pldVxNVSwFWqMV;25:LWoOoIMDNwdd70O0nt5cZqrpNgO/LGA7L4mBKJamXGM2v9vOKHb9K1YgSNp8DNuHeZo5Kvwz0uVjSj286WxHHm+l1DAsyPRVaHlUhatmE3bI1fK5PHJpoRZBmMwJr7An7cyFdQGmeUaGJEoH6PaulpHiggib7UWGJUucM3hxus4gIfctzN+pdfSwbfTXT3LlX3mLOGm/XVT3eQc5ULq61GDwmvX/eRvprzZNilCfro21zqyxswZC36gtQGhr+mQLyECXeH4EVtYuO/hN1BESkuCKFPAngQdWr+agUiqHGqw3rvwUYadT0y/PQX9jROVL2jtLKXpoBQPWUv17YUZ/I8VjatQhzOmGUbYFbOED06w= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR12MB0434; X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0434;20:pzKfpumx4PmFqIIAw74IbWpgD/6DBi8R+TYq2CyB6Xs6r76RMwKt85s2ROPE3O+K42Dth6EP9Ne7qaheWR+GPKdT2Bn5AAQVs/1UJK524kioqUE74aethJ3nkSUR5irgaS5EsfVtp3XyQHY978ZSTboaAgiQite1G7lzQ/XovC4xCpYJyUFldKewHcHFjorFcy4HIJGZLy3DsVtRlyRU5bezS/3Gf04ISjWIIJ52LRAkghNQrnF0ksegFu3DIvR398gdXkM0bnYTvyAy1jae0iYGrvPN91BByvQA/PyFng3XWmPs+DOAQGVaZzaHWvSLXVM16Uy74biybJHs5rWI8WZYh51B43GfANXe00m99ScyUF+upQ2OO+aMdT+JZfMbgz0sKG9r1/279DEd+RFJf/8WBIA2xuqT4pxr3gXYarQM5kivliBApfLPEK7so3yOXKgZF1AmM6ysMNKx9qMsnK7kVnWDgtkZekTf7CCD0RPZEUi49Jv3v01RdCtbPEQO;4:6MaPUpgSuYtwWR3ARfC50Tmyfo81rWnDRxnTUqssnzvKoe6x1gEHU1hD29akorZyOowVoeqtxhOHgMpCF4o2TYJKH0ckSkQ6Jme4gXnnuhH63cdQ46QYw5ibjKd5AvDHZXZxXVsvMI5HSc0DnTcuNPFVe6pYNQW7z1Ql4O0kdOYueRi6z87dIn0EO5skNMiQAC2Jxgxmq7BeMhmBSSyw488R6s/Xyo83jWMi0ApH1KI0IwpYPnLdBgJxnf5amF/kTu1mIFtruG4+Hf1LesNW0pCv8tSmiUdXzwM/E7yS7Je2gAF800+xIEL+WatBm4kBtXBCQnZuc4Tnoq/Vhp5DfEAueo1Q4QnHfbWBaVGKooJsap0K51u9PhZUAeWYP9Kg X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:BLUPR12MB0434;BCL:0;PCL:0;RULEID:;SRVR:BLUPR12MB0434; X-Forefront-PRVS: 0903DD1D85 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(24454002)(164054003)(59896002)(81166005)(189998001)(5004730100002)(5008740100001)(3846002)(6116002)(586003)(1096002)(66066001)(2201001)(65956001)(230700001)(87266999)(54356999)(65816999)(76176999)(50986999)(65806001)(36756003)(47776003)(2906002)(23746002)(33656002)(80316001)(4326007)(83506001)(77096005)(64126003)(5001770100001)(42186005)(50466002)(4001350100001)(93886004)(2950100001)(86362001)(92566002);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR12MB0434;H:Suravees-MacBook-Pro.local;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BLUPR12MB0434;23:LdVxobDzR3be4RPgvYzo9KU1PMJCuLM/cMsT2?= =?Windows-1252?Q?lLKMKSc+RedyWKla7jYhiEchYX+HJ0XZn9kwO3rzYkDh2DBUb55iiqYU?= =?Windows-1252?Q?PQiODJ89fllpGu1XBOQhWgCR12Dl8sWgTyPiIeEp2EQfU7024q1MI1UW?= =?Windows-1252?Q?M9bimY/KXUMgwAtq4ZMK18sTpXPtb+ZhhRoj7c6RpZwolI7z3HXW+Ao5?= =?Windows-1252?Q?gTH+8vJJmtaE1T6r3m13tX01bNM8CpF8qWntNY3hNeh43BQ1/PyZTXQJ?= =?Windows-1252?Q?b39nray5EkBUIXGUaPJ5BElsWHSRy0nyXoy6O297Ip59Ue2kr+59k9Uq?= =?Windows-1252?Q?yB+a9VOWGCp9uLhAeKKaVEYk1L75G7FMvRd+3j2RnPf02PxMkz+NVBd6?= =?Windows-1252?Q?khC1NdiGrG0ZCHhbFTwDVBBEtMP0gl+kq9sZdpW5oeloBfbwmumFvcqM?= =?Windows-1252?Q?JR/NZ9wAumRo0pdgl6neI6neTwU5zLodIisgP3SCloPX8pN/iBqZGl0c?= =?Windows-1252?Q?XYc0+vjoZdxNanlFiQyTqXyBi2LTTMz0el9Kl13jHQPm3iNQzlHOsENl?= =?Windows-1252?Q?6uyxEr0dON2p1HjfuhHon6AATq8c+KG0NyIFYFbw6YGcEYzL6S6NuPM+?= =?Windows-1252?Q?UzzCZve1a+SglDnpown1DMwdjCEgWVFo2bfGNvOLG98UBbdBN9BkW6KK?= =?Windows-1252?Q?XHI+GS7wyNxDn3RaPkj0D5+F5/a+P8mdMikk1NP7D5d41c6D5l0eHsFy?= =?Windows-1252?Q?cwepcpF3CmsWngXLvICMBJAtFGx4vdojSI1759OwtMQm3EYidc5ybVoA?= =?Windows-1252?Q?tVJ5XOKfjm7NYNOajDTnN3mGB0yA2zYMnC/YAnm3lYZDsu7eDxKlHDfF?= =?Windows-1252?Q?4De8OcUthCczb/os9/Qlzot3cJIeWn0mySN2egBltkcRki5ju4VEwU1W?= =?Windows-1252?Q?nWV/0aa9xa5p9JKGIX3BnQCn4qRcUMfH3I3rfMlonb3MwtllF5okY/9a?= =?Windows-1252?Q?jJxh1Rt0kBYmZo33Kv3FgOGukhJS2QpKBsUVJ+Eucu8M17W54kkjgkH7?= =?Windows-1252?Q?x6oCfiM2OqHiA6ZfB4rXzoOKN06KJGapjmzE3LmcESYimLu4YwYb4viZ?= =?Windows-1252?Q?Curdp4fxIh2qumlIulDDPpXMaEG+hbG02Op9RIk4DP8?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR12MB0434;5:qC0F8FDckI4Sdnz9wRtnndDn6kHNIoFepqSDFVaAxcHy7v9iNom/z6hGDGLSHHbAWt8o7qlE3UqANBCgzSHZM91usUYMODJSGF5YrZS9QPwTS1j14CDd8chb8aSg8CNFqCdCfL+GqVCwhmJvpOEWhQ==;24:tt6zj36SyMkJYk9eC10ohkOSNAq8rwaxwQyrF+8grAavtDfUZDrjRng2Fpt3tjkmrdUEtFcEKCQcJu4+QzbBh9D2C3sf5R31uf9NtaEsMWs=;20:vQhbOW9qZOELODySmhef/Nf4A1oEDkxIQzaRRTpBwDXNXtZ1g0VqUVfPzB2oKiQKstcD5Xncf1bLAdsb7dZG7Z1CJ0lQdSlatbbIK49G/QOwRMkCbMDS9SNPyn10HDx3yT9L10mOd+rgOgLNwbUx1Zb7BtlsTG7wNgwd2n1aCrWxN30438IE58xIwOavMoHXMMhE72Bg9acVkj76oBVVXQmiNq+mdIV1Bp5QOVKairWMNh4hkyb6j1JRyRMpaAKo X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2016 15:56:55.7289 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR12MB0434 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1024 Lines: 30 Hi Paolo, On 4/5/16 20:26, Suravee Suthikulpanit wrote: >>> @@ -2877,8 +2895,10 @@ static int clgi_interception(struct vcpu_svm >>> *svm) >>> disable_gif(svm); >>> >>> /* After a CLGI no interrupts should come */ >>> - svm_clear_vintr(svm); >>> - svm->vmcb->control.int_ctl &= ~V_IRQ_MASK; >>> + if (!svm_vcpu_avic_enabled(svm)) { >>> + svm_clear_vintr(svm); >>> + svm->vmcb->control.int_ctl &= ~V_IRQ_MASK; >>> + } >> >> This is for nested virtualization. Unless you support nested AVIC, the >> L2 guest should run without AVIC (i.e. IsRunning should be false) and >> use the old VINTR mechanism. > > I see. I am not planning to supported nested AVIC at the L2 level for > the moment. If it is alright, I would like to get the basic AVIC and > IOMMU in first (unless you have a different opinion). > > In that case, I think I should also make sure to not expose AVIC CPUID > to the guest VM. Actually, it should have already not set the AVIC CPUID in the L1 guest. Thanks, Suravee