Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934554AbcCPIWS (ORCPT ); Wed, 16 Mar 2016 04:22:18 -0400 Received: from mail-bn1bon0084.outbound.protection.outlook.com ([157.56.111.84]:62483 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S966375AbcCPIWH (ORCPT ); Wed, 16 Mar 2016 04:22:07 -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 v2 05/10] KVM: x86: Detect and Initialize AVIC support To: Paolo Bonzini , , , , , References: <1457124368-2025-1-git-send-email-Suravee.Suthikulpanit@amd.com> <1457124368-2025-6-git-send-email-Suravee.Suthikulpanit@amd.com> <56DDAF2D.3060703@redhat.com> <56E841CC.4090806@amd.com> <56E844E2.6090507@redhat.com> <56E8FB8B.7050700@amd.com> <56E90943.3060100@redhat.com> CC: , , , From: Suravee Suthikulpanit Message-ID: <56E91793.90904@amd.com> Date: Wed, 16 Mar 2016 15:21:39 +0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56E90943.3060100@redhat.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [124.121.8.20] X-ClientProxiedBy: PS1PR04CA0020.apcprd04.prod.outlook.com (25.169.60.30) To BY1PR12MB0440.namprd12.prod.outlook.com (25.162.147.141) X-MS-Office365-Filtering-Correlation-Id: 8cfb4bcd-112e-471f-bfb5-08d34d740da4 X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0440;2:thMgB7WGItUpfMZwDV2TMetJ6NZAV7oWf810IyfWVA3ZXaVTCNCR7uOBvVuSNcWVtOXV6qRDirI3GuBHfQv9LZEMdUhMoYwzgJ9oJy1E0+Gvh9bESZV2mscHmnnultzZbZUpgBi+b4GZRSFiz4cJyt39p18S/gZYtIZq5zvkxTxgbxfBiENfStg+Lu7bFoHg;3:7TlSQlPcCZlmc752SnFOLZOV5KKS4DR9wotFB57d2GjFukHby97qadIs2QfZdv4xP01q2vL7BydLtKiNcuqC0gIpI41vNbC2GjjfRj/8EVtlj0fCMUZ3O8McKqDWl8Lm;25:F3xnBkYCnQbhF2jI3j8vu4XzcShC3zXtAjwkzJ2QXWJJOISLzzgKL+wOQJ75lKi2Lg/HBN8mnFXOLK0BSm/v9SFwv2RuSG0DNMosAaghIzCVNkCpWKYi2xTW7wjyNLGNUdHzO5NWyZAWQlHlbvXoDISF8a+DKh82FvF84a+1Uyqn3Ke8SL2zqkV7CAZ020dcAzOcM+S+m1vqdbz9xoPx5IBTE2Rzfvk7PwD3z1gGYY/Yh8veHuA4Sh/uA9XB4ITnUC2a5yoy3cdTPnx60m82epODb1aw/vaAaSdWOwGSg1VvgGH8N/zPma1+JQthKKH1HS9wqQwZrdLvdIZXQl42mg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR12MB0440; X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0440;20:IDItNLKD088WttU3xc3NyZk848gCl6CUg0WpYW8XV4NIav+5mdm6Y6B3qKGC26SyAuD93+xouCU+FqqI3S5SFwAGDzv8JQXZbwk1me2kByecBBMRoibEJPfl/4iHJpJUG7NPlbJfoxFqyFb04h5BPTqt+kFHsKTLTwwVtnLkqjSZnwAs+j9kk6exNSsav9emSb1xUFhE1x68vbFyPbwORv7W2ddV1L97xLcSUmaRyUNQ+boWmQAXL0L+uTumHrK/krygEqWamB2743iGryY8txDboKWSmAjZjBVj/3vjO50AvKwIF7vF4w2H257LYPVxUWvzdq/iuxtVWxOIkwYV0//BZQH7VuyJ2rUvyMQOIq+d6rc/XlP1M2wVeru6Ci5ccRVgSfdaDRNnqwdBNGhVZF5TMi9C3uRaH5Br+RQTjaNG203JAukxdzhXIr8e66ZhfsHdSuILclFvlu7eJpdoUH+NuqKpfBWF3DdYCkQ9166r5FB7AKn6nDNdVH2Zwtcs;4:5top0kl0VekE2gB9Mo6MQdGRf/v3dVjGJQxgoUwqu1/B/QvS8FDxCAuJI+4KTxyFqa6GHw0GDPtODB+rWnUmNVcPtDX0K2n3BqJsME12KmqitTZVvns2ltfaN+W+Yf5owSNX8MleOQ1PgLxCdrON7+zuqrBmow3iweCURgds/tSAK4HQeXGUJy8dDhumWqdFalo+PP/bH/OXq6MZTtXoXf4K0N/YvWUdurl3M33pNSmuuuVG+EUSBRg5r0DjxJ151MDJWiTNVqnSKEAc0nyzSBNgP3m8M+j+qFR2q+Tkji37g0ZfV6eYcjgRV5bFiMqM9u7lSQWLZPxi6wvBGDqF0RZ5cN+cHpdCj0BWiapvh/rTVxIe+FU8cvzpYHazhHQO X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:BY1PR12MB0440;BCL:0;PCL:0;RULEID:;SRVR:BY1PR12MB0440; X-Forefront-PRVS: 08831F51DC X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(24454002)(479174004)(51914003)(377454003)(5004730100002)(64126003)(1096002)(6116002)(3846002)(77096005)(36756003)(33656002)(5008740100001)(586003)(4001350100001)(117156001)(5001770100001)(92566002)(189998001)(2950100001)(230700001)(42186005)(66066001)(47776003)(65806001)(65956001)(2906002)(93886004)(65816999)(54356999)(81166005)(23746002)(50986999)(86362001)(76176999)(2201001)(50466002)(83506001)(4326007);DIR:OUT;SFP:1101;SCL:1;SRVR:BY1PR12MB0440;H:[192.168.0.19];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BY1PR12MB0440;23:y2at0cJpI5pCPFsJRbDF5Dnbd9pEvtgFhniQf?= =?Windows-1252?Q?sXC7cwliXYqoj2fWNUW/NsKPe6Z+lySSOZhv5ye0zSd7oDptxLP4crxW?= =?Windows-1252?Q?KugUq4WcsUjXTSyfoX/H48Xqq4QzZsGr2yYiUIIpnyL4oo3he9PB9lkX?= =?Windows-1252?Q?9mtwTUP90V8O0/0V8X70HSxTkHKm8facA/QYetEfKUS6+UYTMnjv/4A0?= =?Windows-1252?Q?d5YyeS8hAk0JEFNgyyj3K5nydeiawQnQ0SrTBcHjIkmgCn8n2cBnDpew?= =?Windows-1252?Q?rDVwpInafWeMP2sXkF/UID/jtFLy07rL5ttXdsD8KtAwVZy3k7/dLlYg?= =?Windows-1252?Q?6NN8fkIuqidhFLbr7WcHf+gcc+iH7ued90KksSCfazTLX6SjGeLzuwns?= =?Windows-1252?Q?2I7zlwUiRkfXJCRkPzgjvLFw+FG2+2Xzj/lT6hyVRul7yEKJmey8LyUR?= =?Windows-1252?Q?ZC1eOKuaFqQRb79VteRmuiFHEBGk+2rVd883mOmAu+hYRLBc9WBUMQVj?= =?Windows-1252?Q?wMSlbpn1J91Yt7RyGwUzSdbL3OPiDv90YaB+aEyE7NCN6acAAdx0F2pK?= =?Windows-1252?Q?40RCRkAboWeIw/R7EnXGXuR5DIKKbxIMaDoQyqRwmdb5EJNHZXNOmtbm?= =?Windows-1252?Q?nJCPtZR2I+OvQOqiEidWR9fZehhq7jhjOHDPeEdWalnocyR/b5H9Gepn?= =?Windows-1252?Q?9eg78pz6Kh0Twn2YxO7ztk9CnWQv6GQdeJg6aFLa003UYsVWpeWXcN3i?= =?Windows-1252?Q?qxPO5n9RwFxLizFDB1aWXMFZTHwgRDhFPQPTT470CvST0QeEQEAS8KSl?= =?Windows-1252?Q?6Dyi1UF3ZxYVy6sz+HFJaHmaPKwHlWAi6kiKcBk8DAJYc27z9Zupxj5N?= =?Windows-1252?Q?B3pJM+Pj8XDpl6tfi06urzFiXL3Kc0W4Q6IigXNBo7CG4+i2tqxTH8aK?= =?Windows-1252?Q?teiGN097CKvEbOlG8/R8plt39yWIERLZ/vy0Zl8ZTch/d2QjWy7jHfCh?= =?Windows-1252?Q?n6cfZqYr3XE9Ycwqd4HDjddyR9F9OZAjeZp6IHDb7TEL7tlEXOo1KTd+?= =?Windows-1252?Q?ysXRs3Tgk1I26MF1YI6dW8VOwMwAWLrzqCvcLXQnQ8TVYWNoauaWxjlY?= =?Windows-1252?Q?JHqeAzvpEe8gCyZKSfKIlWVgYqxy1bIlWoY1UYBzJc/a2sIoPNXClZaP?= =?Windows-1252?Q?rM4pdI4WA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0440;5:oYkdWwuXnfQCTbslpxen0cH4Xv67FLEkEeojobzEb7nMNU2m5W07dNk6zYEOIjw87X3XCmAHfa1DFnBW033+qaatHYERGQWGZ3LDXT8Caz8R0cn74+eUhNB9+oqTMA8LT/D22DbrdcfiStTASU7cUA==;24:/8gTwbKmtLq4Ln4kd3yzomCAN3fJrIc7jaS439DGXQskwi/PuJv7oDAh38OgjIq9Ux1fA+1ONGNhjT9KKdlS8MEi++CzivGGVSHxIZAQx/w=;20:374iLAMIvHbfmWdc03P/+DTknWeYLky+cYEBPqqJwKKK2fjj5n/sktNTitjpz2yrYOQbpYNxLcam5zIOkufB8BFmF/yN4KfhWBiAIGT8mixBw2E2N1tfmdmQccuE/xkDIa0zRpF/lmTsanHXHIFXA0Tnsl1Udu+EFU0u+JEFqGVPTVGm+3b+9C5EAXYcwATBzkSqVGov2q2bvZCWKM8b+E6uTi1h+bKw2Uk6JaAYrGgunQcAzuAoLVafKraDEsQX X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2016 08:21:59.3566 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR12MB0440 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1154 Lines: 30 Hi, On 03/16/2016 02:20 PM, Paolo Bonzini wrote: > > On 16/03/2016 07:22, Suravee Suthikulpanit wrote: >> >This is mainly causing a large number of VMEXIT due to NPF. > Got it, it's here in the manual: "System software is responsible for > setting up a translation in the nested page table granting guest read > and write permissions for accesses to the vAPIC Backing Page in SPA > space. AVIC hardware walks the nested page table to check permissions, > but does not use the SPA address specified in the leaf page table entry. > Instead, AVIC hardware finds this address in the AVIC_BACKING_PAGE > pointer field of the VMCB". > > Strictly speaking the address of the 0xFEE00000 translation is > unnecessary and it could be all zeroes, but I suggest that you set up an > APIC access page like Intel does (4k only), using the special memslot. > The AVIC backing page can then point to lapic->regs. > > Thanks for the explanation! > > Paolo > Ahh... you are right, this works also. Thanks for the pointer. I'm fixing this, doing some more testing, and cleaning up the code. This has simplify the init logic quite a bit. Thanks for suggestion, Suravee