From patchwork Wed Dec 6 20:03:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10097053 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 6259660210 for ; Wed, 6 Dec 2017 20:05:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 538DC294F6 for ; Wed, 6 Dec 2017 20:05:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4776329A6E; Wed, 6 Dec 2017 20:05:17 +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=ham 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 CEBB5294F6 for ; Wed, 6 Dec 2017 20:05:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752611AbdLFUFO (ORCPT ); Wed, 6 Dec 2017 15:05:14 -0500 Received: from mail-sn1nam01on0070.outbound.protection.outlook.com ([104.47.32.70]:10704 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752566AbdLFUFD (ORCPT ); Wed, 6 Dec 2017 15:05:03 -0500 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=nkZtGwqEO8oO5Twon/Xz2ETQ9fPJUoaPNHz5i0s8cMg=; b=LuvBOGocKgbkqrqGqVjIZqkFD5PAYtBZ15993mL93o1JSkrF0CqnOpKVNzCvsLX1ho3nOFuAIZyYVnIdy/LCrPiCA8KnjhAun+AMdVrt6B3CjnZm0dk88JT+zumDG+Zova6DDzL4mzLEX7n/xYMOitUAX2wS1YoSpLxMec7UcoE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp141597wss.amd.com (165.204.78.1) by SN1PR12MB0158.namprd12.prod.outlook.com (10.162.3.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Wed, 6 Dec 2017 20:04:50 +0000 From: Brijesh Singh To: qemu-devel@nongnu.org Cc: Alistair Francis , Christian Borntraeger , Cornelia Huck , "Daniel P . Berrange" , "Dr. David Alan Gilbert" , "Edgar E . Iglesias " , Eduardo Habkost , Eric Blake , kvm@vger.kernel.org, Marcel Apfelbaum , Markus Armbruster , "Michael S. Tsirkin" , Paolo Bonzini , Peter Crosthwaite , Peter Maydell , Richard Henderson , Richard Henderson , Stefan Hajnoczi , Thomas Lendacky , Borislav Petkov , Brijesh Singh Subject: [PATCH v5 19/23] sev: Finalize the SEV guest launch flow Date: Wed, 6 Dec 2017 14:03:42 -0600 Message-Id: <20171206200346.116537-20-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171206200346.116537-1-brijesh.singh@amd.com> References: <20171206200346.116537-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR14CA0035.namprd14.prod.outlook.com (10.171.172.149) To SN1PR12MB0158.namprd12.prod.outlook.com (10.162.3.145) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: f87a0a53-7078-47ca-f031-08d53ce49cfb X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603286); SRVR:SN1PR12MB0158; X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0158; 3:lEbAXPInPVwxgsTPgolDkmUQEFCqAL0wlSbS6L4TzsdUEprVcJ/hGRte8q/jSYpU+vvPIOYTYbzezET4o3R+rOti45Wug9hQWaTqWIibbZlEy5E08+qKKawEsFIEdajbktVTZyZGXegQHVWHBQFT+M9fyER0B5kQpswqRw9P2mXqLhXyzSoQyW98wMK7Lg3+mmvW2I9kEYbV5Od4TDxKdPoqWMfs9mMDq12RjPdaAPRekFhJPS1avYfhFQ4931gb; 25:NhbPJKZEF8OaKw21RhL6OmoS1gvTD6fFZ2MJH7vUoVF6vtZG/Ftbg79MsYK3fxk30718LLsFd7ikpGpp5VzI+pu39XQfhs7NHPze5RxA9Hg0qAMCIQ/v5hIkUSlmI+4VeQbhblLqhIdj8C+F+eonC06getxStTSo9ip+5W+8kgWKnqtG/1/+6NtKV7fMAzLqssf7FMI8tfQS0jkzyeTwVmiCAuord7Mff+kOo31IcH67qDJFGcmz7g7llWjsbBWyPa8qq5PcH2gYCjfb2moMWAmB/EM+9kJDXovkyi/f6Y+IaXYZgE/0qDXvEjtdNPUryBk5+zO98FRVAI3XfvfUOg==; 31:PGnK42Z6GKr66CtalopionQn9ygOcBCXKt/WWmmyODEkMBhKgbti1YLs2iOJoBFxA4Vs5T7ZI03L6BtQ3oBYsVDdfeg5zEkXNyEBKiX0NAJlsFk2WklZau2+haJ1sC75nvuTazzphRekBinjw1MuO4jQde5L8KoDkV6sMCssMIaIxIU+BB1nAKeFn4RG+f6tuDw6LWWL6tV1Crm5XcNGnKbfy/a5HF2PHP34odFY5BU= X-MS-TrafficTypeDiagnostic: SN1PR12MB0158: X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0158; 20:rdoWRNNuRdX70/w0SiUe7+eoCrtWvfQsGbXqd/akPgDCmWRi19U7kIRrBYyqBkFxxdXmPmO6fsCwJlHvbCywRMh+vcEiU8qnB6206ewBl0EOCXRy1DuuVBF/CQV2MnFM7/MgHMH3TorLiGwRcXekIKrueJYCmFroUGktDV3N/1RPGXtTN8TvuN++OS8PvBLN9AYZKrA4U+CkIpfTdJ54QgbWquTXsb/gOtgn3CGfass7PjsyDWqUndOQSIolouChnYgLwQSveV6F4L/lSby2n2RVcqsMvB5wbzvs57CdryAwpPtqkL7/jghoKWbGQxE4e2fOKcGjwySFxAlyEpl+voWyE6/umX3K3DE8K/LgR1wQToem9WIxZBmm0GJL155eXko7gxB4LKJ7TKB3XzWLe2XPgt/d1dQICqqoSsOoYUBiIo3LVyyk/7pa6xERO6jk/GWm1GhKNTlYCI/osApnh/zG2FJnOjckm6LFE4CXrjL3LJfRCu9iVRLtDwcvRadC; 4:fJyXhq8df9AkoGr52BUxells/nwe/CkJV9YNj3ETOLWwnuBeryHpBZBkoZvQRcSd2OTJen/FMGHa/7P/JVZGY/vGiKMyAbQkRLc2lQw7r+qvKkhNcY19MsTcFs3gsCF8GAueukMo78a4WXmXt9g1bpb2pqvRZNl3R9kU+wOmxaqgFAdh0PUovoLqJclvQWyg9WRbOKajtqDWvnCIPlmZfkhEX2lVNAyFfGOUUiTJIsNC4FChUg/qco0vxvtseLMD5ywFOiidFmAmUEF2qB8w7jDxPFVhRnw26SCcAl/V8S1B64vAdvVRyfJJ8UuJH2tZfP/Jku+jfvqpWQbl2Y3nog== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231022)(6055026)(6041248)(20161123555025)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(6072148)(201708071742011); SRVR:SN1PR12MB0158; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:SN1PR12MB0158; X-Forefront-PRVS: 05134F8B4F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(39860400002)(346002)(366004)(199004)(189003)(16526018)(16586007)(33646002)(53416004)(105586002)(39060400002)(4326008)(305945005)(2351001)(106356001)(2361001)(7736002)(7696005)(86362001)(52116002)(8936002)(316002)(575784001)(53936002)(97736004)(76176011)(51416003)(36756003)(66066001)(1076002)(3846002)(25786009)(6116002)(47776003)(50226002)(68736007)(54906003)(6916009)(2950100002)(478600001)(6666003)(8666007)(5660300001)(8656006)(8676002)(101416001)(81156014)(81166006)(2906002)(7416002)(48376002)(6486002)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR12MB0158; H:wsp141597wss.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) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR12MB0158; 23:h555VPRWlA1//NVni9nVjS2Nn7QNaXiV4tiDkI4ra?= =?us-ascii?Q?9CsbUuJiHWOhQO1zkbodxP05gymwIyzBdyd9RLJ2EUlfDuLgvMwBn+Sa6cW6?= =?us-ascii?Q?5Cj1oqkVhHcJ4ucHyl67onq/Q9YPnTkJGV7hq5oSN1qNTM6q7bFpFkZFqTwQ?= =?us-ascii?Q?OAznCm7otA4ZPM+Vw5RXSLtewHvs025gtnWAcZKQNUhr6MZk2sIMS549uHJ6?= =?us-ascii?Q?atN422bHssu4rAGEhoxP2gdwig5EYfXfb+w8oKdWaWcT1+RYP2CBQNMHBM2R?= =?us-ascii?Q?MKgu1Fxi+RDoP3KW6gxu5A7XZkg3zfc9v5JRraieaN1E5SsJCCUDskjXMoAs?= =?us-ascii?Q?x3uekJlk7utra5L+wqiZJW9qh0oKWN/rcgY7JXhqRhAieS3PHFZDFqHD7H39?= =?us-ascii?Q?C5qKyCazpRrytD76BF3dElyDT6VoNdI8MVPDXr86vOAH2RwP2vYuQDlXqJjX?= =?us-ascii?Q?iakbq4aN3q4Oo7SnyOgP/zLy5UfnJ5lxNV9EobaxRO9G6FaQERP7evc+1/Ls?= =?us-ascii?Q?3nGnzqRf01WPkhxp/2C3YV41OHoeuSaG/KppHGS9kPZ98Xe5ckKInkp1B2Q0?= =?us-ascii?Q?HCrys6UFGFDtxesD+fBb3LGUTL8GuA2urseVVsgDP04HpVnZBZureAHw3LaW?= =?us-ascii?Q?yTKTbyvTcrrDZPP03iJthlvVOTdeLRxvqALwWMBp3REvFlA1lkGWCFeIlQaU?= =?us-ascii?Q?HyYBSeNgWUtBKIkm8kZlPZZirtNNz9zctSVPRE9eB//5jx8lux2hd4Q4TIn9?= =?us-ascii?Q?0AUwkABygzT9Ezrpxno9EI+vC7LQ5N9hTz0E/YQis7aVWIHU1yZYdJ/xKRtn?= =?us-ascii?Q?2FLsHp1zzzUy2xjXmmZqGIAJwb7P0+3trnjAmnQ8RU0guaEvxlbZ8yZFIiMl?= =?us-ascii?Q?9ZP8HmDv6pChbLOzC7v0/JK4PdSJXEQ1ETRP0AmibaMUME3AxH9uY4f+sr4P?= =?us-ascii?Q?i0Tj8vwI+l9jQn+gVBflheRYoCtT87qVzshjnas2CKq//i8DHmW65fuXe8+i?= =?us-ascii?Q?uyPN8Pn06JaGzEvUXcIkM+ywGadpBPR3IsbszQHeh2yHz4U2AHu1qYuK6Z02?= =?us-ascii?Q?eOrbdO2XpeEh185ChyXVhXkE+dP7sKtl3ThikQEyMfLNgVLMqnkuArHIoFSE?= =?us-ascii?Q?H3gczWAzGjep5tRsIDCSnYqlGOYv0Z14CGBu+agYfAijnFz6HmO2mWrZFlsz?= =?us-ascii?Q?LOhf8qZRW9q/B8p/6jj/eXucDc0zM8zqOs3l2d1w7VJhKwShPHvrtOKoGKDc?= =?us-ascii?Q?y4Q0WtU8ATT4sM0urg=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0158; 6:Y5+k8gtprszENjZmdvW5+4TJX1vYZRqkTw9QmO9JrMML+FrKTyvHA4Yd4pj98BLQenHa9f2H8FxkoEnapi9RvYT1oz2O/hY4e4iw5qOq5/3RYdPHgCZB/hbqMBtvjfJE3r5y6cMrnL9oBAVGyl7pPaIVxq4JPCCPKUCKTwBjYHNDcGIZGLS6vV2GMAaqCxVGcO3zWQ/Mu4oA7QzL2h0k5K+bWq0zoMwrnfvHlkWwsoLQuBLwFgcDuw0OBBPg5ey4y93NI5t4tG1uCJvmwKKVDjsjjc7R/vU82VOsuhHv3JXWOEYOjv63UAdNTkTpLhC8JCLk73WGZTQ4Z37s6ckYQf0Fo/NMS4ECoV3KKjG1CGg=; 5:sCfqUBsePrh+kmvZMJ3UVA1aQOlYXrl/q3qWyRmfQRShBHXzJS8gEuJ1K2NMptoUUp8q3qXas6IlBQdIzK6wqvt0Rsd6y5NXswziIq16ElVms2GVhuRVPbOhNSztM2HkHIrrbuQrEL1y7soPQ8zV5EQ0coCoSFcHkaPFE6qYhNQ=; 24:YrN7j+9SBt75mCC0NpA38ohE6TZN/izNs+VdzsgaXWsQaLDabct4lHrwvdL4LvISxuVmd/FqB5HHgaRc/cKUn6niqvs9gJQ4Myj6jtjSEeg=; 7:uAvnPHmHrSeuHUWe6JRM2SWIJjlVkh//P8fpQxbWOV7xfDDZOMZhhdTQZTHFtxhIXUbUY2wLjRtElFYX03P8foK9bxeZTPDQZ4+LzPtVHP53R8/U9/q+9ujakmpkyp3S3lLkZAGpHSpLtZcK3dqladTS0HId0a/1zX8CZZoKRWNvlVmSl8pygYZ8M+UYNjXAJKgLqSAxuyJMhYHu/fAiOipBRN3CxFqcXlC8u+5aiprUqLVzD3/qiUqiSsKPYrUI SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR12MB0158; 20:e3eUZhG3BPsmJQE0qBnL5MSyo4xkOwv2phUBExoPVQEI/hj4XWrF/Qp2Z56BtX+yBIjCUQjJH7C3D0qUEbyKnaKQiuBD7aacDn4mPQZpZtojB3j5MDjjyVRhBrHeIdJtUCFn6NXMN1z20jbw5mMAIx499VHNtBcmdsG2eeFOBNBQkEpd+Z62rKzOLBgI7qsYeS8qXmzWNMB+JjTVLdiWlH+yyia/IBSGd+DDtJQF/TixhtlBMI8Wo7Cz4kGKutWj X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 20:04:50.9416 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f87a0a53-7078-47ca-f031-08d53ce49cfb X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0158 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP SEV launch flow requires us to issue LAUNCH_FINISH command before guest is ready to run. Cc: Paolo Bonzini Cc: kvm@vger.kernel.org Signed-off-by: Brijesh Singh --- accel/kvm/sev.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/accel/kvm/sev.c b/accel/kvm/sev.c index c0eea371fa06..fbbd99becc0a 100644 --- a/accel/kvm/sev.c +++ b/accel/kvm/sev.c @@ -454,6 +454,35 @@ static Notifier sev_machine_done_notify = { .notify = sev_launch_get_measure, }; +static void +sev_launch_finish(SEVState *s) +{ + int ret, error; + + ret = sev_ioctl(KVM_SEV_LAUNCH_FINISH, 0, &error); + if (ret) { + error_report("%s: LAUNCH_FINISH ret=%d fw_error=%d '%s'", + __func__, ret, error, fw_error_to_str(error)); + exit(1); + } + + s->cur_state = SEV_STATE_RUNNING; + DPRINTF("SEV: LAUNCH_FINISH\n"); +} + +static void +sev_vm_state_change(void *opaque, int running, RunState state) +{ + SEVState *s = opaque; + + if (running) { + /* we are about to resume the guest, finalize the launch flow */ + if (s->cur_state == SEV_STATE_SECRET) { + sev_launch_finish(s); + } + } +} + void * sev_guest_init(const char *id) { @@ -497,6 +526,7 @@ sev_guest_init(const char *id) ram_block_notifier_add(&sev_ram_notifier); qemu_add_machine_init_done_notifier(&sev_machine_done_notify); + qemu_add_vm_change_state_handler(sev_vm_state_change, s); sev_state = s;