From patchwork Wed Oct 4 13:14:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 9984603 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 23CFA60237 for ; Wed, 4 Oct 2017 13:16:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1396428AF8 for ; Wed, 4 Oct 2017 13:16:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0884728AFA; Wed, 4 Oct 2017 13:16:32 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7555428AF8 for ; Wed, 4 Oct 2017 13:16:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752225AbdJDNQI (ORCPT ); Wed, 4 Oct 2017 09:16:08 -0400 Received: from mail-cys01nam02on0059.outbound.protection.outlook.com ([104.47.37.59]:3808 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752167AbdJDNPi (ORCPT ); Wed, 4 Oct 2017 09:15:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=RFF2LnnhbFgNyni0xbfSqVPrKaNiWFKwmTSs2G3FXJY=; b=POtX5U138q/1fku2ceU7e50lHCfBw7NL5fh50YEwUd8AO2Rx4MZTrXqlVXgNjWPf6IExzg+5yDgnh92XhNVKOtQ6yGRxbqBlQjxTqKZPNpponKEvSNl70fYNhuS2ujIOZeVRaAUCy9qmc/q+aMlNCmvUb9ftqJBBJX0o5mBu+qw= Received: from ubuntu-010236106000.amd.com (165.204.78.1) by SN1PR12MB0160.namprd12.prod.outlook.com (10.162.3.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Wed, 4 Oct 2017 13:15:30 +0000 From: Brijesh Singh To: x86@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Brijesh Singh , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Joerg Roedel , Borislav Petkov , Tom Lendacky Subject: [Part2 PATCH v5 28/31] KVM: X86: Add memory encryption enabled ops Date: Wed, 4 Oct 2017 08:14:09 -0500 Message-Id: <20171004131412.13038-29-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171004131412.13038-1-brijesh.singh@amd.com> References: <20171004131412.13038-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: MWHPR2201CA0056.namprd22.prod.outlook.com (10.172.59.30) To SN1PR12MB0160.namprd12.prod.outlook.com (10.162.3.147) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 537ab858-ab77-48a1-0a02-08d50b29fdd2 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:SN1PR12MB0160; X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0160; 3:AGjB4wfbrGJChw2qG4Pz4Jue+yl1agowU60o3NKPXSVBHXOa7QmgsDeJ+TSi1fL5IX5lmbIqNTb9Dhn79v6TWEg2gZkXRTAgvyM/2rz0VWD9Z5lzwc/ULaJA0Kfl169CiPJqJ17Wf4QUu+MgJYG4Fe5y1z15CPUQgCGPg5/uFlhrXXZhq0Ybs4y3d9NrZX7aHK5MbOf79r2UVqbDEYlE8uAjgexej67Ic2fcs/OwqyuPFj8Xa5qnnpajP+LHMVAc; 25:yyRJO8Wn5C4EfX41nOEsOyilSYB9AETLBJcIjwloo+T7OetSU40V+l63E2+o6dgJPYXV6IylkwipHXSULA6GgLwaEGydPgg5Npj7ZTwS0ZOEei6DLR1mqwBXPD9HlRsRvj3WZ1V4bsfrg21q5JlKLPhgVtX3cUEdsVvzPlXwU9lXddn9GAVnOAPDvsR/ejNkcAzquzFLu+UGhPaOe/g1kyedB8/INqt9d4LKYeCmPvg19XNei1dMEWvMqjmrJd5IERf7h2aWjcnzBtCkSKr0hmpR3DdblEAbbSfx11O/t2Bhtf7vyy+jYG39zSxvPJgp02za2H9KUahYheCjUWJoCQ==; 31:/egsvBj7z4DPc0QaMlQ0f/wxvD2kRfl9rimD4GAFWv41fyF3xcW2RX5C9fW2QNf9PgyjM1JrsLoqEHJZmOebz/4J8eWAT602Yn2j35Qv6fbHHNpvdcRlNuCuSeVIhX7G2doVA9Ipw+5BVCRNlaZq6DEVnQbTjl5KfP/jYYMTOtz4Y/vJve+PukpcaXvATqe/ZBp9t+cnV8WsO8DgCW1kwo1Dz2fVtY1HqJ8BQQElcvc= X-MS-TrafficTypeDiagnostic: SN1PR12MB0160: X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0160; 20:AJJArixo0gWgCrWBz23OAiCzWgPqlJoe9fYiWLPXS83bAXwVJNu5V5D2ZMgCi7cdnxvVLxZIxW1PN3PtO8dmMAXGURpF69ddnFKaT7lhWVImBBBbAz+BmGfa0sgBcbdxjIuYrb/75agCgfHPzE4Cd8NrP6akXO4lNXn8El7R5aGC0fLiL9mquN7ff9QBHE4eRnmc4qE+efJELHoqti7RemV4SS3p4oe2UJWloUE7HCeL5k4DH4Lz4ObxGpsFO9in/kEWoQyVUXwm2YsaXv+NbXIpJtWQGXO6GOVueO7BI1I1ZU2UOGmlI+Mq5KlgPloqqy1pb6hzkIL3bGXZC7pTWBjcbJJDlPw+p5zAFlAOYz7ff+nkPv/5gcN3vmj4WP69oqgG2IloIllAB+PTDsBOSHdSsXuD+kFtOBdar2OrhI2/ECYXVLNoF3aCLEsntu+ErDiv3DcnDefIyY4+cpgfyd26SdScmd6N7IjhBKBW8tNV3JO/sk+wneMATuefa1aE; 4:ZM1+x4Vz2+k1zZuwXSaT43N8++OuSWd567JrJPf3KKrNaQHvIl3OD/6Q9zh4caiz+7o0un4VJb9bI1N2CqfipfT3mqvYOMsGFI8frmAGyGrH5omITvsFbMW1NR5vVWGiAeKUDnALJgkPr4ISHI80W7Q7DSoW+ekCych1NmDqEyNbTid6ydI2KpcWpPWLpvl2jibVd/A1erShDhJatX/MSFHfJFgubpf7ykJAVG48eS3b3TlfDKNaKtVmGWHXa85bbC2RY9WPsi+o6Y3MxWR10F1wwEXLkEdK29c09iT3tovGAS0Dgn5SsssdNxyF/h/5hbO5wF78You0Tj9zTmNzsQ== X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN1PR12MB0160; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN1PR12MB0160; X-Forefront-PRVS: 0450A714CB X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(39860400002)(346002)(376002)(199003)(189002)(97736004)(86362001)(23676002)(76176999)(53936002)(50986999)(1076002)(6116002)(3846002)(478600001)(36756003)(47776003)(101416001)(33646002)(6486002)(66066001)(189998001)(68736007)(105586002)(53416004)(50466002)(4326008)(54906003)(8936002)(305945005)(6666003)(2870700001)(81166006)(5660300001)(81156014)(25786009)(2906002)(8676002)(7736002)(2950100002)(7416002)(50226002)(106356001)(316002)(16526018); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR12MB0160; H:ubuntu-010236106000.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTYwOzIzOjk3emF0eHgwS0RWRnJjcERpRXltL0JFWlU0?= =?utf-8?B?K3JmOHhtRnBST1p3djM3QTZUWTB5OGM4SUdnQ2JLcEk0WGR4ajlRM0t1aGlZ?= =?utf-8?B?b1phaE5rOU04TWs3YVE0L2tZTitTVGRoSlphOHZNTXpvYk1VWXdaYlFpenh1?= =?utf-8?B?Q3ZRejZkdkFtc0RNYTBrcEwrVkRvUk1TaythdytRZ25LOXk3WUlBcU1QMlFC?= =?utf-8?B?Y2hQSHR4VE11TjVnc2M2QzlSQzB2RVE2bzhvU3MzZ2M3SXRqdHpaQ0wrbnZS?= =?utf-8?B?T1hSV0R3RFBYdk1BRVFCbmdnVnA0YlhUTzFJZllsNlZBSG93QWQvMERocXda?= =?utf-8?B?N0psZ2wyZWtaSkl0cnA2QWhXSmJ1S2NjWFhDK2hJN2c5dFpBTWcyUE1Gbksv?= =?utf-8?B?djkza2tkS1I5bHZhUWVxTXhHdWl6dzRBRDRVaFNnMm5tNlJJaWFZWXdPR0dN?= =?utf-8?B?cnNqeWh0MWsrVWpmVnBGdm12K2NpRllqVkNsRTMrMVJtMCswS1lrUldjUlYw?= =?utf-8?B?S0MzMEh5Z2dZR0NIalVNZmFvUGpsSGordjlQa0lndGFOckFjQUlRQ0IvbFN1?= =?utf-8?B?M3FJcTJENEtJSjlXZGs1OWsvczZOWXVuNGZPNXNxc2JKYWd5SHVnMUlEWEF6?= =?utf-8?B?cWR0ZHV2eWtCUG1sY3JSeTZTNnRMWlVZTEJxU3RHaW1yeVpIN215a1I3YXp4?= =?utf-8?B?R2hBTzgxUklGRnNveTduOFNyMThHdmFZcHdMTXh0VUFpeFpUeUMvczE4VklO?= =?utf-8?B?MHVqVlkzL1ZrVUlJRE4yVEFscCsyV0FyWnN6Y25QZSs1Ry9QcHhwYzhwNnJm?= =?utf-8?B?UkdSTmt5cnB4Z250NGM4Q2hDMkUzZDgvT0hKM0t0STE5K2NERlVSaVd1VkIw?= =?utf-8?B?MjRZOGN4V3lSUy9lakZQeUh3TnVhWmtHdVVodjFVZkIrbWZSWnhGSkdpb3Jj?= =?utf-8?B?RGhmcWtjUlhmWVQ3SFVvUVZZQzFvQVdoUndmL1k4MGNjUW5UTkdxWjViSFBa?= =?utf-8?B?UEsrRXZab2lsT3RWakdYK3FxWjdWV3lOVzZpOTZBMFAyZWZtYlN4NnBhbVNj?= =?utf-8?B?eVF5ellMTUJ6RW5vQ0ZDMlpZLzRpcnZBOFdXRGJmRERKRGY5cTFOYkNSQ0Vr?= =?utf-8?B?OElnT3B3OUY2c2VDclhURnVMa1VrNXc4Qlo1QXpxMG1OZXFWUTBNS2RJTDVa?= =?utf-8?B?VmxLQkZvL0dOOGJLQTRORHJLdkJDSldSNjdieEh0UGVpZFlhZHJSVktVR1pK?= =?utf-8?B?TUoydVVsWG5rbUY2UUttb09hR2JWalJLckpBdzdjSE5BVHlXelVLQkthd3Yy?= =?utf-8?B?amZZc1RvZnE0akdSK05jcVN6b01RRVdiN2pMZ3RqRnB5Y2FhWWJoTUdSbTcz?= =?utf-8?B?SUU1aWJFY1lmdmQzdHcxakI3TXNQZWlGR3ZZdDN5M1NPWUxzUHZxa3YvcVAy?= =?utf-8?Q?1zrXeuc1BU+NIcRGRQop5omuRfl?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0160; 6:9F9m0L/SdLL2UgbxjJ91LHswJ292ytXlP1UGeat0/8hCbSjse0ujINg5DkN10IsbeqXumJiLRPtF7cmKSmzb6PlqEXCdovtwOEsAeQdEfRlJdbU0fVgsHZBy6szP52Rmlv+ScJ8HTIXQJASoQ9GwoHOHhtHwQzKMSUq2+bS3CI34/MoYDnUcN9tNQO9a55iwztbqpKVhmOYjZIK9121o+6AstyrBgT8UjyAbQfKsfzqtSHCLOLQVMfhgNYawf0Z9vk2NkDDAGbdhFYXWib9cZrOpeSWVeAHZoghhlnADsJiK6DUpovihT/eO+WXV9Lerae3MI5pmLZfQsNAkwTsldA==; 5:Q4xk9aJUf6bjhCskXxTX9MmXJe1vQPICAasctY6sBds35Bgg2Wk4EUJwvH3v/CIfGRgbZr/9Av9y23S3l6Q+ZG7beDsCe3sZ2M1Q93N+trsCLX0nuOpqWLR1v0b2mYFDooWSs3XyhBmkx+DrIkA9Vw==; 24:yGF1Rxgr168+z6kj+txl/Dam9IdVZ12fJHBqi3AP3AUmM5N8I5kzbGHuNCl7r6SI2FVEvdg4xt9w75+FyvpymLe+u7jwQDcZSo2Z0wvPKQ4=; 7:PAhco7Qiyrw3s5MyIS4Fei0ngHeKn7JDmLjHNaSTw7Q79IFO0mjoVpNQlGYfJPi8uCpEtzBLkPxOtK7r8iZJSJsfzBNW9QejCHZF7lWsBsWsAFrj5DpJ/WlrrSlsGS77/OA/AvysJiKgUogwva2dbrNt9Wzy9T07fP+lItmpgrP3GtlXjwNOFSFUTrPpFuWY0cXJ4R4tBhwZu+zYBz+Hh/lVcWUgDcwRc2ivDTaX9Es= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0160; 20:ZEBvJdp550ctrbM9Z5n5MVmDIxIAanlnXVYsxldxUmDkrtgZJQihsUag+y0HAih5HhX6s34JAScWlI1av8nkIfJDpN88mcXYLaFWNd92KHBEB6Sd4XuhYt210PzN1NtDKYtKnTvyiipyBKs87NxcQitnuzAPVhT4OK8qsXqQUzvjE68WCgV3iyuGcjF6+biu5+Mf9ZimAL+qTZ1j0EO+tbDm2TTnJDQovedVXD57QII1agcDE/2MrWckij9z4yFX X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2017 13:15:30.6977 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0160 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Extend kvm_x86_ops to add mem_enc_enabled() ops. The ops can be used to check if memory encryption is enabled for a given VCPU. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Paolo Bonzini Cc: "Radim Krčmář" Cc: Joerg Roedel Cc: Borislav Petkov Cc: Tom Lendacky Cc: x86@kernel.org Cc: kvm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Brijesh Singh --- arch/x86/include/asm/kvm_host.h | 1 + arch/x86/kvm/svm.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 3195a8cc517d..cad9672fbe8c 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -1076,6 +1076,7 @@ struct kvm_x86_ops { int (*mem_enc_op)(struct kvm *kvm, void __user *argp); int (*mem_enc_register_region)(struct kvm *kvm, struct kvm_enc_region *argp); int (*mem_enc_unregister_region)(struct kvm *kvm, struct kvm_enc_region *argp); + bool (*mem_enc_enabled)(struct kvm_vcpu *vcpu); }; struct kvm_arch_async_pf { diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index daf7aa8ed2c7..5c2f5b15886c 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -6635,6 +6635,11 @@ static int svm_unregister_enc_region(struct kvm *kvm, return 0; } +static bool mem_enc_enabled(struct kvm_vcpu *vcpu) +{ + return to_svm(vcpu)->vmcb->control.nested_ctl & SVM_NESTED_CTL_SEV_ENABLE; +} + static struct kvm_x86_ops svm_x86_ops __ro_after_init = { .cpu_has_kvm_support = has_svm, .disabled_by_bios = is_disabled, @@ -6749,6 +6754,7 @@ static struct kvm_x86_ops svm_x86_ops __ro_after_init = { .mem_enc_op = svm_mem_enc_op, .mem_enc_register_region = svm_register_enc_region, .mem_enc_unregister_region = svm_unregister_enc_region, + .mem_enc_enabled = mem_enc_enabled }; static int __init svm_init(void)