Message ID | 1460017232-17429-10-git-send-email-Suravee.Suthikulpanit@amd.com |
---|---|
State | Superseded |
Headers | show
Delivered-To: patch@linaro.org Received: by 10.112.199.169 with SMTP id jl9csp329930lbc; Thu, 7 Apr 2016 01:23:18 -0700 (PDT) X-Received: by 10.98.75.10 with SMTP id y10mr3035217pfa.32.1460017396397; Thu, 07 Apr 2016 01:23:16 -0700 (PDT) Return-Path: <linux-kernel-owner@vger.kernel.org> Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id fc1si10235473pab.126.2016.04.07.01.23.16; Thu, 07 Apr 2016 01:23:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755638AbcDGIXI (ORCPT <rfc822;pramod.gurav@linaro.org> + 29 others); Thu, 7 Apr 2016 04:23:08 -0400 Received: from mail-by2on0089.outbound.protection.outlook.com ([207.46.100.89]:11860 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751412AbcDGIWP (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Thu, 7 Apr 2016 04:22:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=KwwDJAfZ1YKfchEDM6jYg9a99koGduZR4K2Gq30WaZQ=; b=cVxbo7ljQsnXjHu54kERTTISCqI6Bqt6tO9tWAVRgCBCpj2GlGCurBzykR3OA1OLysdg0uvtn7J70gnlgM9s49qnuI9EIuOm0sEPI6GqK5ifX9LI2tn/+b/rI5f0YVphsTUHvjddDNN0+NpQlcdK//0kpOhKS7JcllYSPlLGQ5U= Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none; redhat.com; dmarc=none action=none header.from=amd.com; Received: from localhost.localdomain (124.121.8.20) by SN1PR12MB0445.namprd12.prod.outlook.com (10.162.105.139) with Microsoft SMTP Server (TLS) id 15.1.447.15; Thu, 7 Apr 2016 08:22:03 +0000 From: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> To: <pbonzini@redhat.com>, <rkrcmar@redhat.com>, <joro@8bytes.org>, <bp@alien8.de>, <gleb@kernel.org>, <alex.williamson@redhat.com> CC: <kvm@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <wei@redhat.com>, <sherry.hurwitz@amd.com>, Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> Subject: [PART1 RFC v4 09/11] svm: Do not expose x2APIC when enable AVIC Date: Thu, 7 Apr 2016 03:20:30 -0500 Message-ID: <1460017232-17429-10-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1460017232-17429-1-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1460017232-17429-1-git-send-email-Suravee.Suthikulpanit@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [124.121.8.20] X-ClientProxiedBy: KL1PR02CA0009.apcprd02.prod.outlook.com (10.165.15.19) To SN1PR12MB0445.namprd12.prod.outlook.com (10.162.105.139) X-MS-Office365-Filtering-Correlation-Id: 5e7da832-0e91-4798-c0af-08d35ebdb53f X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0445; 2:Pj5C+9j+QQjBHbU4P7DLR/hskZqvW7WT6CNOSDuuOXRG3oFVg2rmUy2wPd/UDegT8EkKdhPQq5Hdws2Pji1JT2PqQ5aM2WU/QQjYpx7EL8ZtSlQrRp5UqhU+NZESqZWYHoZklprTcFhkEQ5Di+lhy33nURAmj6f14B0WWyUfyyhVuoxwA07vbTrh1PaPjqe2; 3:PYSacA9fktfn1gTvuvGS5/oIIzi2rs26LNh+6xG0NomN7UofqTZurAL+QLcwwMaq5w/6buXkOV6rpCLRCJa9xYGeEVKP+XEvHIaMdCIePDynt0Q+Wpjo+MzQxx+POVKI; 25:ULI8fes4VjWz+PApKGpAB/uWHKFeLzIWeP44T7OC1YZFhDyip0Y/klLCuhBDGyqPDdCWAzDLEsaiZMLAKrb18x9nQM8enIp+wPpUSa4V1YRa/TvtJ2oGwjxMrHcB6TgI5q236hf3i0r0XEASp/1G8muhvq8/Ob8XLM6xTL/ktoEdZzKSMecnHCizSgq41W5SrOSBUjvMXGbLSEUaLiV30wHQ/q43/TpEhJqSuxrM7BvIkH8YQUBqvcWurFPCHhCrJ+yVRKVW+c4DPXHPd5Mz4bBCXQEL8dQdzm9/RKl6zVEifvI4V5oLE76jsxufzB5LQ65tfzgFnFaaIEW7dhsG+A== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0445; X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0445; 20:v+jbDG5KEWhlkOcZWX80xCCuMhe7KWWxNNwNepeuiEU5hg8PKUpW8cZ1SpY1czZBLCvxcLqx1pn/qs6lY4wSkHmF5oANgZ7Tsa2org6hmM7F5VgLknj7KRDnMW/5GERolw3qOExd7ov4SPXDjjLUoowznrV8M1DfabIPkQ7yBl0CWU4XNPnYUFxWKmAbUP4WV6oXa6zigkuPo4rAx3ZcG+qIQxRr3SQZRUNYiigNcPxKYvLh94hRbpA3XIwpb/SstjotGbohsNAH2hNUhE72S4XzlSzXVQGzq8Ea7Ws3lnD1pnxAWW5COinGoAgQQE7iwiH9dWoAkojskNe3KwKYvPDLJNnTrHUKUhaKxtz2PUMtsiefc2j1dB1m1qnze97EjCgCOX47oI6kIwBZJuhTAXw5/TAS9sWniHzJG1PmkOSgwzO+Hwc98U077tu9hsWq57kkcegA64mQlEuQSjVsFVSeoWQ9duoJhlxfy/p2Uy9TbscFdlnB+Sj1LwjtWPuG; 4:3ZXPLOLHaEE2KZKKRHo7p+jXE5AMCMYJ8fuNZ/WbWU+in9SfuKjzH7obNB1bBVbf2Z+1hXnsAb+0vT2rJLE1DfYnnBhe7VW9wkeOG/wqYVNdekHByQ9YcIadUOrabC1zZ9NALPRqqOtY9Epw9g2cqfYHaVSjplu+3ljbxVR3p6XDY12loCzZ9A5HR8Wvk8ASqDj3e3swvxVo6OW30Qs1W66KKzklFCiUj73ZY3rpGYbyUwcXFHXYONcte0vJP8VjOTFEw3X5pb20RV3BQNCaTUSOD1xYrnVrpdGL80z2cMRyd/acwHRJiYIvm61kvMtV4XiFLv71lNjlVZXT+AbZY53M1495VrET/iRZVIn5GPACM886orvrdwSLYwSSU3Xb X-Microsoft-Antispam-PRVS: <SN1PR12MB04457B39AA6937C640C5EB71F3900@SN1PR12MB0445.namprd12.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:SN1PR12MB0445; BCL:0; PCL:0; RULEID:; SRVR:SN1PR12MB0445; X-Forefront-PRVS: 0905A6B2C7 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(5001770100001)(50466002)(2906002)(48376002)(50986999)(189998001)(77096005)(4326007)(2950100001)(36756003)(5003940100001)(92566002)(76176999)(47776003)(19580395003)(19580405001)(81166005)(2201001)(229853001)(50226001)(86362001)(42186005)(586003)(3846002)(5008740100001)(66066001)(1096002)(6116002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR12MB0445; H:localhost.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0445; 23:OLxjHaJNF1EGQ21nJWMCh/LHPPcewyZQUWMs/lufHwmvPuYrOB/REtu/M7ab8dMPPW/8EOndVhj68nq90ePy5npgqbDMR0qGiH+3drdctq7m2dwRmgenKcwqFPUWZ0eQRFFAWMaKGN66CWT4grL/XwkNNrWU4zFt0mj6g1pjI6+Ybb+nZFB+0nERRTZ8+gbWM6VKuIqnRrQLa7C3R7sSaXAjmwerfWlAbCUBQvs2M65WavLR/VlhgaIp9Ixu02i+cq5jTgg5gsLqjzjm+hB8vyM8gCEAiuc1mkembcawMu9VCajd0bvM0d3kKPiW6vEIAaDFi6FKgkrooI73V6ILgrVfRc0hDQl1A2DrBWHji7UY9xwp+5CIxAqUJmfOp2QQupxxOwKNbkDnk/O83BNWcWdviFIHjYEbko8VctTwKozn0V58pGHqQNN1ymsov0yr4dg+g4vnAUTT/aza18ZN211gvlmN7pfWzDLxUlBqDDN6j2EFkS/NUWXJ8ZCRC2oQC8Q8tJvIfHOBc8N0qP1Majuqg6qK4u8L4ZqiqI+eA7h8vV0Rxy95tVkRDkfpzg+y02mmJTJ/gzlPb+w64VXZCHRjvQoY9KnMFyhr5mWEj43GFsDYylt/70HQ1NyVc5OyQ3JM/RdVocRBMR471cqtWzC/XbnEKZWR+08csJ1O0X4a0yt6tJftRYjvAHiJ7wl3QUFk/3mJ6Jm+j2B47cyhjMUUfzzK/apjVzKQzbxaFwQOATHSqkrwasJPitvyd2hzFsuJ1qtdUiLeVfkT+yN1Wu4Aguj2js0tUHfWiOlvPC9Pj1erlzAs6EOE5+97kEBanY8lWQQ2oqXmXepyIWB9J85XzjBUFzq3oev69VPiuiI= X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0445; 5:p7dlh8fr1g6B7KhkN3eLCA3PEaFTje1k6WAV7cGwKLRKN2OvbJWrpV0DiyWLAUVMlNwegdOTe4psmWUzy6pHVRA9x+J0lSuCE1Dti3Ll3xfiX+bmggIsCeDfY3iz5/rmhztVmkrB5z7XMGTznWXMig==; 24:bezq4osJzP5RlAhB0drUngFFZky7xTIu//jCTPibs5MjllSy7DuxbeuXZNSOvaES3YrJMQYixkA3c3d0scCaF1kE76K4XReG/Ko7BFH1Jiw=; 20:UuHR1ytx/5XdWahIMQq9W3RblLujXwfl6qciyMi2+qZ/Yz495Ar0kN/8zzRlOxm/N35/HUYcitz0DA1H26jRKgnr/QOjrmKgWU6Q57z91fwpFwACWgA7YYhURuOC0HmEe1if7i26U68toZlomwjx4lFJX/lYPF+i1G3uwEe3q2228vDm8Ul/Z9w0iJfTU7f/yp4imCmTOsutD2ZkkzyY8Zkvnncenj3GHpWkvRbzUG0R3daIUFDnwRyHg1qdHhbk X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2016 08:22:03.7835 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0445 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org |
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 13fba3b..74b0751 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -4560,14 +4560,26 @@ static u64 svm_get_mt_mask(struct kvm_vcpu *vcpu, gfn_t gfn, bool is_mmio) static void svm_cpuid_update(struct kvm_vcpu *vcpu) { struct vcpu_svm *svm = to_svm(vcpu); + struct kvm_cpuid_entry2 *entry; /* Update nrips enabled cache */ svm->nrips_enabled = !!guest_cpuid_has_nrips(&svm->vcpu); + + if (!svm_vcpu_avic_enabled(svm)) + return; + + entry = kvm_find_cpuid_entry(vcpu, 0x1, 0); + if (entry->function == 1) + entry->ecx &= ~bit(X86_FEATURE_X2APIC); } static void svm_set_supported_cpuid(u32 func, struct kvm_cpuid_entry2 *entry) { switch (func) { + case 0x00000001: + if (avic) + entry->ecx &= ~bit(X86_FEATURE_X2APIC); + break; case 0x80000001: if (nested) entry->ecx |= (1 << 2); /* Set SVM bit */