From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753024AbdGXUFr (ORCPT ); Mon, 24 Jul 2017 16:05:47 -0400 Received: from mail-by2nam01on0040.outbound.protection.outlook.com ([104.47.34.40]:32685 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752991AbdGXUD6 (ORCPT ); Mon, 24 Jul 2017 16:03:58 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: linux-kernel@vger.kernel.org, x86@kernel.org, kvm@vger.kernel.org Cc: Thomas Gleixner , Borislav Petkov , Joerg Roedel , "Michael S . Tsirkin" , Paolo Bonzini , =?UTF-8?q?=5C=22Radim=20Kr=C4=8Dm=C3=A1=C5=99=5C=22?= , Tom Lendacky , Brijesh Singh Subject: [RFC Part2 PATCH v3 09/26] KVM: Introduce KVM_MEMORY_ENCRYPT_OP ioctl Date: Mon, 24 Jul 2017 15:02:46 -0500 Message-Id: <20170724200303.12197-10-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170724200303.12197-1-brijesh.singh@amd.com> References: <20170724200303.12197-1-brijesh.singh@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: DM3PR12CA0049.namprd12.prod.outlook.com (10.161.151.17) To BY2PR12MB0145.namprd12.prod.outlook.com (10.162.82.18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5b8603fe-837f-47dc-f26c-08d4d2cf0f7f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:BY2PR12MB0145; X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;3:7MHJAP+2T0bZb1M04HXOuD4qsVsNHgLa6zfiq1UKM+RniBI6AW81WnkmkXuaz9RD7vYBFBB5R6CFw0CjEAJRJiUwcglLqelwALzAOoHL5P5HZ0zzG0M/3Xzad5m70lrQoPRKKoU1HrLXeCQitLG5miKcrsunF9iqERvWnzm08PJNNGuaCnRrgZeQRLGeVyTAR3Ii40YayxHSGND+6X+6pc4HvS6esJ1y9iD9v/n0QDcEoDMiqH7nE8pzBfOYo2ADuadn+895/YzBYtCWKZjJexWqkm6OR4cZQFz09Tu6SgzM8nSgDhg30l4nL763FTyqp3zXmateEtQsTWNlJ2aiiQqKA7/FhiLXmzzgUkLhowgJOUvueiPKyxaXGRV1UZ8kUUVnxS1tUArqPyTeFvfsWzmDxP1NIhM8sUuR795K2HKumrtHTFg/eN9KmsH+e5lwe9j0xRWUf766XcG/2XpjLTkSXkMMI2y04Ev0J/u1AZ+crk12Vt39iOnfJB+DUvX7IzbqxXiP6hryY+DBLSTtJMy3iMwAYkZfeSV2T+2YhpaMHRTZu9FAIadv39OQC7c7Rzi+BzzYkO0QtNhi4sJR4LzqJA38OQjtX+5e7sr/bERhkXJUxaAhr8xpvxRzbakHrkIK8k1oNZMOrOtwFJFJabvRS2yRJiXmh+EC6kVw2xjHw+NqG0i45p/8fbGwsHK1evDR6rhtu6CZmbbvGFvK/kdbvPVono/r8yyzv0HQ7qXcl0S/b77rHA2GySRx6Ss+htMgj0hM587EEBcwrF0bQg== X-MS-TrafficTypeDiagnostic: BY2PR12MB0145: X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;25:L5VAFYrG51WwWgG+nbflpmmONG5ftk6hoovfPS3HTyT1YNHVSkcN/+NfiOsCyHBjftiXt3HLrVOEbQwpCyd7vY6zdc/+RGPTYdi2CDtG+5k/hUYmpl0i0OXhhI7u/hlrccGU3IIi9mva6yPDNiuf4c1VAXQGsz8/dRnobT7epBUSseCJmg2if5KFRinuVlq/wxolVpeCgKogX2Gws2PC2eEL9t061ew0h+Ly/s+Tlr1bhaD7K/qP+PfAM4o0Lox+bqVBlBZw45U5N7FSwtVfdPhenOS2ah8rR3HRNWvDqWdj/98lhPrXftjvpuxtw/dpF9T3xpA4ZQN7belL75xg1tvhRo7EwSakJONy2HUqfvzIK06AnuhtUWRaIfDsUVIJmvquui7YvvMqdw0+xiS3zG+swAIYCDI+WyPYd2wUzULjcq5cKEzugphpx11jiwz8rmB/u9tXMW2rSpncDkjMrixdQjT9W8PXhKYWIB+sYFBgpAgt7wHr0cQ1FN3LgfunJYVmaX7yhehdWMv4Z192eoj9zBFYHiID/bRUas4p6cqfOpbeSjFDsJ9K3mPgi7TMbDTiehV4AwKXsBHNJVA7Ltwyoqp/aO0OXyQ6iqxVTM2GSNTHFMN5hJXvmZQSNFWZ3sZfvoK/l+DVSziKW+yTDn+a0nC/3wj/suDAjlwoSm36kTo3ShsxnfpOjtttysbx8SiAin9iDRUjMmtbYpz9xWkYsVnq6QksphBJjmmIxAQMlv43siA41k+2TZVCIdRd83OthDPEIerdSqgiKjv4zqVip3DRXPDewZS3d+aI08iABx5IqhBRm5ITKOK8VYzk03ODeDG9EYUXqIEVdpA++QKohLi2mK3aQGRvDcSc5yH+hbGVlDc40hS0RzetBpaYwJVFjl1b02ONIcERBpqWbhxngJrd47peNAemivj3Bac= X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;31:4t6V/1n0S094IfKxah6yofSKwq6G+oVWhVOOk8jZqt0YeSyYhm7pc5wgGxUmn63Yj7tcKBX+fYdERy3gmMGjYe3xWChj4Kd5sVcx/wkvOpEOf4F/O0MXihnQ4VwWmyFDZo67AhYuTG1M+DeHVWmwssat9+UkIL16hQOIvgPAX3NiSusIfPsLz9wbdJLhmKD0lI/nbmjjHc7BN5Icm45LohvOmn4Lt7mLA0RqZTdsnyaM8/LA1LBugaNBeN2oiobnKVd8t72c+4SJkBNPHpuu/33KSzUXC0pX9G+nKTXz7kfVay7K28Q4oGGsx61gapH9A3JiHJ70eSAsT9kheCaS/lPTu6/LjBzb9ErLk/UcA3t/pX7KnGvml6WnZVKWV7ttmGJ+MWP/2kLQ/esqrPGWIOmnAyGCBo+45qQK5pYT0Wyw2O96frZjakQ+iyMzEzbeZGlXs4pDlGCQft8A2YoFHLGX9H+eSqRAOMnFMtTCGpJBgPHsuJYraAFhssmU3pB2lHBxSjlk8mIA4plGIo6Ej4q8bw24BPAgH/bf/rc0GAz1yBy68c1/ieDOE+eQRUE1wWeM4RJWbbti7niw9nvKW1/U923UyylYJ9KgYJWvVEFRlKbJsaNpfIopgu8gGdwOxZuh6Xz87AqwCp2M4RtFqIduv0C3V1trRUyWOVTTN2c= X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;20:FHim3h1FOI+BQu9ezxsJUIVjtzt07Zu0HA/oOvXsNdD5HN3HNJsmcM4iG3i4kNcZc7MZnBe+0huBG+0uyNFvcAz2rTqWfC9FLLMlSoAUzSw0zbjtVE//kkSb14pfKg2H/CcHF/R7omMYk7zlxLlsbQYoqo/Y3ikSuh4f2QLwnlHEO3eCosBJb5gcarrDor4/ZhoUkKCsMCCrZuiz4vwJZDfEhNx+5XY6dunsAnLly47H329n5/0UsM2RaoSm1va4EaLrO2tQxICZUtu0b0+UREUjY0Ejc83dGp3UuUpTqj+tOVJc8v6q7cYxobPmSLG/OOL8NIJ6sx2SiSVIP0M9oZXuno8p/fR0z3tVm/ds2z1W5wihjzePYlfbLOBmTV3C5iPjSUXsr0/P5ViCR4zDfaHfVePq0Jvi22VGLAhti0tmVP0/0XplmgyNVl+OvRbmVXC4zZKkjhSmlAzbOe/eyYIihD34Fkcs2AM1UWlMRxqoqiU9vj5P0Y714IUfd5hR X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BY2PR12MB0145;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BY2PR12MB0145; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR12MB0145;4:CWwy+DU5nWwK362iZ1wZVt0LQ79JtMrctXqMc76E2q?= =?us-ascii?Q?nhlRu9/nuuGo8uL9NowDRZC4OKVAlIi9GKaPsaOdPrysjCvHHxNN4yywUblR?= =?us-ascii?Q?2xdM/Imqmn/yTxJXsTC6ldwrcMTAaYjj6ATmH75xlTE2JU1WhyaUnrEhoI6s?= =?us-ascii?Q?UBt8jzuy9iYcwKcx1rD0a5ADM1zbK7ACuhGJPkeyUi1f3r2t1jabquei7fg9?= =?us-ascii?Q?hPvS9YfFHRWmK2e0HGHR31IMsPizGkiJYBlIuHi2IuLwy+PftZAR5gAInIGj?= =?us-ascii?Q?loJ8A1dY3YiXA4sDCjryKUxhi6LTdHwnFkW4dUiTJFndAVjYESUH8VmcqHIh?= =?us-ascii?Q?lEwg6NWuaWnQtyPfZnybLi2z7PSSjv5E1KFoPkiE3XolGRobBzTB4xsXGBe1?= =?us-ascii?Q?VDfiWv/PPeSDBqwhRD0yFbyPNObDOwAr/kZHiAkMPod8H45jXZfWKTsJJsEF?= =?us-ascii?Q?H0vqw57o4J4/s7h5ixWVkAPOmIP4SOUy7ae5Fnbyx88M4iZeiG4tk9kjdDoJ?= =?us-ascii?Q?LJ8FwHvrx7/yGW5Rt+TaA6IJKwfEo2OkplO7gXyQICNtQlWpgew6UoAg2YRp?= =?us-ascii?Q?KwZQo6BIcuCteO6j75F+wSS3lfqnhIPb5ZAStHEZl+VdFpsTF+EMEDk8YrY2?= =?us-ascii?Q?kBTVJmptRMN3dtzrPYgKP/DXpx9pollVdflEsAyIwx7ZXpDpgx6aTvV3uxGO?= =?us-ascii?Q?WOxHaiBj330G0tTEBTGxzLLmcCvb8FT4F5S0N+v/RopHG4KRMLfGtgVV2iYR?= =?us-ascii?Q?1bIQ6GFqNGhzrvckcI6ks+Y4iB4I3dmW3Fh8PlsuuWBUdr3DkCI1HiW0MnWd?= =?us-ascii?Q?O2ewoEug1QjmDmzY/imPs/wZXhdxnJrLgI1oEupw9hEYOF5E0dKW4QsXyu2v?= =?us-ascii?Q?FTtXiSCaNyuv9/tVvNNOXxd0YKXful04zyA4wupeTOF5WuwQgQrg/8WXd3pe?= =?us-ascii?Q?FNUUIiUWlNbjqFEeur6kRn7cXCVmvWG12ikEpyOG4vWaWZcWe2Nlbtr98zsF?= =?us-ascii?Q?D3+WGblos76OuoMfXu5xfXFUEbhdTARVmknlD4dF4ndK4zJQRBUF4k+L13sC?= =?us-ascii?Q?lUXYxbD719tyY4d3uUCRJYMDHHkP6c9WcAJ0JOB3yjbHrjbZp9PkSQDMRLRa?= =?us-ascii?Q?w93adAR9lBoiV7iUAhw+h51Cbk2YniMuYlxBAIC3pV0O9Kx/o2NuqZDFsJGj?= =?us-ascii?Q?hkhZhKd+WyNq+Ty3fuF3x+Ei8LkskgG5pR?= X-Forefront-PRVS: 0378F1E47A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(7370300001)(6009001)(39450400003)(39410400002)(39400400002)(39850400002)(39860400002)(39840400002)(189002)(199003)(7350300001)(68736007)(53416004)(105586002)(54906002)(97736004)(50466002)(6486002)(48376002)(2906002)(106356001)(33646002)(6116002)(1076002)(53936002)(3846002)(189998001)(101416001)(6666003)(2950100002)(478600001)(50986999)(76176999)(81156014)(50226002)(38730400002)(47776003)(5003940100001)(86362001)(25786009)(4326008)(36756003)(42186005)(8676002)(81166006)(110136004)(575784001)(5660300001)(66066001)(7736002)(305945005);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR12MB0145;H:ubuntu-010236106000.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR12MB0145;23:TK8j4eWy6adwkb6FFdhJc1ybopRrSpMb4fqukeFCs?= =?us-ascii?Q?rzD1cDviBfJninrhJqvErxOPZT2uuZQZrAvKNft8b41ZA5Lr31W5vJD/r7DO?= =?us-ascii?Q?hI95DeGHg0NB2rDKDsQlxeuezBAkI3I8q1gx0m9U6aeIfr6boR8BLwdurnSg?= =?us-ascii?Q?tEUiBPflbdl1LG8KyagXQmaR5m6IrsPR1p6WhSCkGihlNbaWJ0ttC/OJlDJv?= =?us-ascii?Q?LF0Pc0n7RfTeQDFOEt3fk5dI3V194pBCQMEruNOiJEWNXqU+c6ay1gXnSSLJ?= =?us-ascii?Q?x7UGErH1zugUcBF+WX4ZfEvkjs+zSO3dZYv7W7rFMgPbAMls+NHDBJgsvvIU?= =?us-ascii?Q?l4CGk//s2EErn57hwlTWBL4N7BvnLC6tsfbEMrDIxxg4rf1JeQ5P2vk9N6nd?= =?us-ascii?Q?bL2NLyV1UPjZd906JlGV3V2ks5cpM0uzRP87z73bf/JfFAZCToeS1fB/xWvo?= =?us-ascii?Q?kt6/aHmJzyoc3+EpXkzzmZZVGZ9rRijnbzzmvS/LHOq2yRBrVpWSKGTlQivS?= =?us-ascii?Q?Yb4U+277UE5zGxP+pceeeoapSiOVzbDwV8zPo1hKXfYozRiaep3GOwdBKBE/?= =?us-ascii?Q?PdrQsnS3Dt597zw3L1ScAzJFa/ZoKNSDdX9cIzPufmfebIPL7FtHCcFAZDbV?= =?us-ascii?Q?T1I3yLdH1HzBwebNuDloXURLeNMdLmIc+kVV+bVhRJoCazOP/o0hZEwftX8t?= =?us-ascii?Q?hxkCu8G/PpCpNjPZkekWLL8cs6B1hl8AxSFG0cloun1NPMX4m8bGV6VEMbIa?= =?us-ascii?Q?/c8v35xX6iKw1UcJCqXsULKDCEz+gNnOZoyjqz3iYZqXNg+1CzfjmqTe28Uh?= =?us-ascii?Q?3qZ8tUNPfKaKw1/awk4prEG1vEi1YFN8tTV0xqLEHjEODnJDj5I4Ia9/D/vk?= =?us-ascii?Q?/jLSJNB1Od/xXBukUjvvlttyxYPEpCB1RbpSPxJo8D3SCpiQ6eolj1ZIB0Ry?= =?us-ascii?Q?iKsdLG2OTdc06i9KghKM/GRRyGi+ize7w1NBDa9zad/vKoDHaQQhOfRJe+WO?= =?us-ascii?Q?0i6tIeEHI+ypxL3bh8gQiNoys2Z/OZ+grLrrB6Tem5Rn06Fb+QqcQ/mFPkJU?= =?us-ascii?Q?cCAoN9Zzr25pR9Si5Qbw+BD+oNtChQp40kHZ5lxViDjxgOzzQTIPgzxuCY+D?= =?us-ascii?Q?Aep2o0fx0vmKisOhG3knt31+Yg4BE/OW3RsUP2UheNU9fn3V2XTKq+eS66Ao?= =?us-ascii?Q?z5i8vthjjwEu+VCdGtyXSZeu635ugictn4Z9jVNmSq/eybA4lHFsdtzwq/yE?= =?us-ascii?Q?ArlUSqOBHSXAYVdEZM9YFEpNAgEZa4x2As8n1v+/Fe88ZTmh2y/I16qqswCD?= =?us-ascii?B?QT09?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR12MB0145;6:8fRHMRkO4RBB9iRRvWbpX8wmZHItu8lP2ctayYsHM4?= =?us-ascii?Q?lZe1VAQWHXrBdUYm5yEyxvs9MKLRaKduY8PEWO95TjKchbSHbYz2+K2QD/ph?= =?us-ascii?Q?b5rUmYAZHeX7cl87uuoxJyQwXhSnNrazgKFmFX/ozl5qaRhyqCLxWJ9cPVF2?= =?us-ascii?Q?Kgr9bDNimXZwPSY+ixtfyLmD/7O04nor6FdXN/mTdhsY1fCyQl/vIHrKht74?= =?us-ascii?Q?S+zFuwt9jMiM6lhNkLbDNwGCDrnmdpIdUU8n9lMuwm3oM+R1WY/69HWlGvO6?= =?us-ascii?Q?yfQawhmhUVIQvQO7KCYq/34f5enqxejjuWuVIb+vD9j3QSF64reyz3ez3ZFR?= =?us-ascii?Q?OfRgD1w6h6EVl3z7B0VIUc12/4oO9lLDEu1iaRrZsvgqaiEEuCigJYkU05pd?= =?us-ascii?Q?h9mD6G5pkbytCRyDcOMWFP0okRMyV0BtPA469Y7y5D4tqkOBMkREXh/i8A3h?= =?us-ascii?Q?bKnZFND8EGwEIevawbAWhitnW6IBQg3+Z2820glcBBRA4uhWAGRzuK6qMjNJ?= =?us-ascii?Q?MI8AhLw2sOJxfIAu8l067/YHiSM05D7EvPkizLF4SvPz6/QtCgrn3hnM6wlA?= =?us-ascii?Q?rBqKjQ7BHq0Z2gUpKnsmxcIs7o7mCzk9XU6maWa/EF9+4zN+9AxwjxDTzmOJ?= =?us-ascii?Q?mlZdJ5YrBOmxv2aqTi9Q5lxG+N+FL/QGqGBaiL9vQrjU7cmgqrnz+f8aPLE7?= =?us-ascii?Q?Yc6brQw2P+2BygwUJ8bFvwS6jkMmxcN8uk7yQZnoX3ecb64VB9zzRniclZNG?= =?us-ascii?Q?fOsjiyuMxpg10+PzXfC2VMrlRImOxvEqYt1orbZWsey5/BsHV1VszCqV0H24?= =?us-ascii?Q?gKfNo1jwUhrMHbe1HW9wQUqMmXZaq6smVMFUY7Su6bh3MI43Le1Rl9HLJBN9?= =?us-ascii?Q?WRg0hh9eKIScNN5Hz7YhwjBDM+Y4FWf2fj/pbUjrNIbfd2Ir0BPSArE5tCH0?= =?us-ascii?Q?0xIN8iuI7Y73Cxra7LevaL1yROLHJxAkB5hmogGrKeiDoPgb3rIXHh5mzAap?= =?us-ascii?Q?8AaKMfD2XCGs9XSyktNslh?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;5:tmIbzvxKuec9pRX4Mu5XyPae+LlOsv3ronx9eqHKZlRk1VR2n+TYiz9SZrr2f0CiajG9vb4SaQy5qp6/5GfV9nmP8DAjY1qk+LE33dqlu6aVwtwWvu5SOdVBXj6RlH3RlDyqodPzNoUHOQHQfB2iawFdPJNPWOJIi5+2Q2z+zzk7drqld1dwZrB3XnPx0Owe+jchgpjKZ5mW6LhotOKj5Z57yAwlGZtxDrnPyURGvp+ZqdWq+r2k5lfgWpdOxaJT2lWCs+SfXJfV5HIrj6AZfuuKujk90xemaENkd1Ksp9tzDsSbAivv2HED2ke7ipllVvjXpzI8rbFbAH6CCKA9cFxfXGsMxOIWFffDTKNCKuu1mf8FA/xKvcjw0wQYMK0PZbPjdvGE1bG4InQ5O19IO6q/1sIoZ3pnnJ9TXIq+vZM5IAaetgasTdwS7jYNsvWft80P2Yv+jtwk/uc1sAJHp16SfNvHNA/NSuHAlNFpaxZ0EikVi7mgYET89yCqk3iF;24:JrI9Y8Q5ufMWytxz6cZOjcTXU+zerA8bCPNVHGKOs+WQJCfhTYNQtJB2g259Q7ZAsvxrp0tPXIIsGjJ8FCkGI0Ma4JMZYaOvBxgvXuB+uN0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;7:et9bvME+r9YOUpf/i3J2mykwJe4Br/Cn6ZD8LA4oPYKhhqAxdMqd5O72f/FE2wt6qWGlTM9NRn33YISQqtVPGcGR3j/S/1Aw0JdgLWcih8vOfgznek7QMpKen/M96Yb9a0HSgRcbRHytY7z6d6DWrg74WvCfLsklq6E/iwEnAniS3f45IpwVmK876bKWGhfKU++zgb9zvWl2T/47H/fJ6wZMqeg2D/sDDdcneE0I23JGnp65RZk7h8cAqxdEOV/GUrmJjCUOXkNf+MxMmK/yMPQXQNdwHsy6XNYEa3qMgQ5Bi4lXbu67Qys61F4GjMtHo2LF2V/aqCfUDxOBoB0dlrNpxHkTpY/b0qcpgfYk2xZx0tNKRsgS7VNoIZ2dzrt34cwUiH4e9Fx4msJVQ3vi3ulQ3yKYNz+FWXad8wQazV2otR8mUEi42RcLra1RbU8yBJslDjhmcLSRkAPbC4tC9mEKDL1+VUpoLrQaSvTxDP6fcv9UN/FE3f8mC9HaRFSQcBYlk0Kcc1QONf287d/vyXL/+fBgOlt0mJM/lG/6rAWYFiHrCF9r0v6NmZSVI93jkcR5Z55yAzs7L62dCAPt3wZBMHNgwqt0VWU6a6Oexb+QAsCOWvMb75ObqhKiea5fJLwpWyUHpgZ2SnYGiNWs8hGH/DKKCrECmhrAiVqZB6y3yhqt1VRPKMa57Rwe7/h5XGNmRv9KvtT17XJj3lzgFBTF0RMV3Ki4CnOrgq64YZfbirrFjaBBno/KOvmpmnKGlehwYBwmDDLLNa3/crZWZeeYaoOyM0KYauZpKBhAI28= X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;20:BtGVfYl9pS9Csx42qiX9aFC5pmlOV9wPXqDBfro3AbWe83BA3/aVmUchA3PoKgln6b42zNZzamQ0h+wD2sXdpiOENd/34bXuNcmdLfmiGyQOjQJuPFa5aFei64IhLGxO9R8ynJaBnKCS5Yug8n7ymTFOS7Lq6TrB0E8tUGcPgifnhUR7egkR3FUoupHTkT9yG4EpXOn+6Zpr3RDuZBBp7BEikEhmHwvNtZHDIZxCujwq2Qyl0U2TQYe5n+08tUm9 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2017 20:03:31.6657 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0145 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If hardware supports encrypting then KVM_MEMORY_ENCRYPT_OP ioctl can be used by qemu to issue platform specific memory encryption commands. Signed-off-by: Brijesh Singh Reviewed-by: Paolo Bonzini --- arch/x86/include/asm/kvm_host.h | 2 ++ arch/x86/kvm/x86.c | 12 ++++++++++++ include/uapi/linux/kvm.h | 2 ++ 3 files changed, 16 insertions(+) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 7cbaab5..99a0e11 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -1057,6 +1057,8 @@ struct kvm_x86_ops { void (*cancel_hv_timer)(struct kvm_vcpu *vcpu); void (*setup_mce)(struct kvm_vcpu *vcpu); + + int (*memory_encryption_op)(struct kvm *kvm, void __user *argp); }; struct kvm_arch_async_pf { diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 88be1aa..c9d3ff5 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -3974,6 +3974,14 @@ static int kvm_vm_ioctl_enable_cap(struct kvm *kvm, return r; } +static int kvm_vm_ioctl_memory_encryption_op(struct kvm *kvm, void __user *argp) +{ + if (kvm_x86_ops->memory_encryption_op) + return kvm_x86_ops->memory_encryption_op(kvm, argp); + + return -ENOTTY; +} + long kvm_arch_vm_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg) { @@ -4234,6 +4242,10 @@ long kvm_arch_vm_ioctl(struct file *filp, r = kvm_vm_ioctl_enable_cap(kvm, &cap); break; } + case KVM_MEMORY_ENCRYPT_OP: { + r = kvm_vm_ioctl_memory_encryption_op(kvm, argp); + break; + } default: r = -ENOTTY; } diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h index 6cd63c1..ab3b711 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h @@ -1355,6 +1355,8 @@ struct kvm_s390_ucas_mapping { /* Available with KVM_CAP_S390_CMMA_MIGRATION */ #define KVM_S390_GET_CMMA_BITS _IOWR(KVMIO, 0xb8, struct kvm_s390_cmma_log) #define KVM_S390_SET_CMMA_BITS _IOW(KVMIO, 0xb9, struct kvm_s390_cmma_log) +/* Memory Encryption Commands */ +#define KVM_MEMORY_ENCRYPT_OP _IOWR(KVMIO, 0xba, unsigned long) #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1) -- 2.9.4