From patchwork Mon Feb 12 15:37:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brijesh Singh X-Patchwork-Id: 10213433 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 DE06D6055C for ; Mon, 12 Feb 2018 15:53:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CEAA02869B for ; Mon, 12 Feb 2018 15:53:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C2A0F26538; Mon, 12 Feb 2018 15:53:50 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1389C28D7F for ; Mon, 12 Feb 2018 15:53:15 +0000 (UTC) Received: from localhost ([::1]:45652 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1elGPr-0007hn-0s for patchwork-qemu-devel@patchwork.kernel.org; Mon, 12 Feb 2018 10:53:15 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56263) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1elGBo-0003i3-MC for qemu-devel@nongnu.org; Mon, 12 Feb 2018 10:38:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1elGBl-0004V3-5Q for qemu-devel@nongnu.org; Mon, 12 Feb 2018 10:38:44 -0500 Received: from mail-by2nam01on0078.outbound.protection.outlook.com ([104.47.34.78]:35712 helo=NAM01-BY2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1elGBk-0004U6-Td for qemu-devel@nongnu.org; Mon, 12 Feb 2018 10:38:41 -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=I7stS2pUNytWFvERIRdVaeK1Bmn+V3xz6q1clzpELY0=; b=I6hCMH0kUhsLuXTe4lUN7Zh0YHUOA3toU2xhOka607WF3N+/FU+pHeFg094qhHSGnNXNpMYTcEiL17AygvVBu1jg58utLjXQez5Xk/PihjS1f2U353+tsKl6q+/7O2W/QQ7OzcPOkJk9PQC1M0F5ZBXmmSVyGHrEqHiWKMh/88s= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; Received: from wsp141597wss.amd.com (165.204.78.1) by BY2PR12MB0146.namprd12.prod.outlook.com (10.162.82.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.485.10; Mon, 12 Feb 2018 15:38:36 +0000 From: Brijesh Singh To: qemu-devel@nongnu.org Date: Mon, 12 Feb 2018 09:37:08 -0600 Message-Id: <20180212153715.87555-22-brijesh.singh@amd.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180212153715.87555-1-brijesh.singh@amd.com> References: <20180212153715.87555-1-brijesh.singh@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: SN4PR0801CA0004.namprd08.prod.outlook.com (10.161.215.142) To BY2PR12MB0146.namprd12.prod.outlook.com (10.162.82.19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: dd68442c-7276-4d6c-348a-08d5722eafac X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:BY2PR12MB0146; X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0146; 3:UTSSNFzd5rwqhmfvGSQ1+raCkeYqa5dtSTqqgkBSeO5813D8Eoek3rNWzVdEg7HeRqjK5BDPdpGPoo9WDSKsoSUjmS1dwbzd4jBKTI338/ubxh6GML95v0p8mHOl4QV1+Zoxxmmy70M5ldI14hCLZvZ+0ePFz1kT7mpjlnHu6glr8zAquTOE/qZjM/E8lyAbZNSCb2ZkR6TonTpvbhRp6TqFfEWetiosipngEbz8TixCT98X3Cf5Sf8ckA2m5sXs; 25:dJFCFckih7WyxDzu9k2aoj6CStJqptgwuzdTgwhKsB5YoDxKVryLDKOFuAky5mc+odsyoVxeKlcwU6EIQ46fYmGMA+PsVaKQ8d1Nf04/d56rd6C/ykLdd6ngsq9VfchvhZQ4C9vrryte2/uMPW5K+eDF9VB7J6dgr/uB4wlyZ/46wpU1w+tt+V3dSZ+A/uBfQ/nxQtYIAWBzGL7JYtuv510QoUSwks3HyvEKUZniUEz7TNyUCas+lNVL1yv89ezMuM84woiSIx4u0a5DSN1YgwRP4/WSj3plyIIz+WS1PyOf19SyFcksJtkouPvuhaTBx34Dtb0jwRyUsYwW8nkpZg==; 31:B6aG05HaX0Jz8jNtowk6QsR3WmrvMIbXLvwohwidVepP7sTARmHHT9ExcWNuj0G/LaMcnNpZ6W0qhdhUIBsEutd1rWSsXyspX56InG9OwgmyO1XJKG1k14VexFIZly5KaD4qhnws8jTdUJd5Fy83Xn6fEYqlylUWk1QtwsOkUH9aOKQRoybRSeOmKTUTAv4oUPkBaVx1qdyduemle241btLoFiQc2qpQ2/wcxHuR+38= X-MS-TrafficTypeDiagnostic: BY2PR12MB0146: X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0146; 20:QED+FNmrgT5+5jYgW67i6m7q4hlitaQbqmU1LhkwasPYGj4TxEl1fF2M3gRZ9nvIDfUvaJe8IH5lL+DOZZAybe05j2X1lQkNX1b17pkf0EY7XW8+8wU1PWxF0UWpl9jF4yuxczVYCiZOp2esY3ob7D7HZx0NzADAbrpr1rbJBk9wNlG47k36ohKa5mzcyd6nUXOboO4BMxnac96rSpevXH/5XeTzbwkEVhce4lF+b6KPZVFr7KVINqczh7GJeEL4yntkwpxlIJjdGldMnUzsf40nF5YyJzgkAKwPq4+XUEYwGtnV0KH4MgSbv5hFbK6je7eoWR4hgPcwI5PzEO+dTqpB+PGEAfjBZTt1sfT8qGcuZaNhmSOS9huq/sqsIvKeacIMeiqGhOFtU7n1/Mf3nyhPPau51okhU+br8/sI00esQgavDKCLIudajtEO3oRgoc93Vevg3nlgnT6BGAC7QANnI+YOlygvTjqi5vQyY0J8Yr0C9h8uHnckDMs6rExc; 4:3UBLrpXTge/4ohyiIReNN/XxyQQjV0wJ79fOidaRdEY4o7oNaHLnVtbYveoixOQk1Egyf92H8v63mhwPmKyyIa+Z02LWoffodHqfDPeZgfB6HPVevbYV74LcsG2Ai/Rqi93O0QzbQj+uGuSbkjrdscaXmqm64lTQ+9AWh31sFtkbqqvcgG1ZROJAA4O55kFOuqAp0i+yHgQBfi/w3S1YDx4oll1WZnmxj/2dQIARwhzJqnh0sP9zelE81D9U9bRkmlGprbcRphb8kVwl28l+nKfUUIliRvaXWn51RpT/O7u8dt2esG/mDfx+W6Gp10tq X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231101)(2400082)(944501161)(6055026)(6041288)(20161123564045)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011); SRVR:BY2PR12MB0146; BCL:0; PCL:0; RULEID:; SRVR:BY2PR12MB0146; X-Forefront-PRVS: 0581B5AB35 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(1496009)(39380400002)(39860400002)(346002)(396003)(366004)(376002)(199004)(189003)(25786009)(53416004)(66066001)(8676002)(7416002)(105586002)(59450400001)(81156014)(76176011)(81166006)(5660300001)(97736004)(186003)(16526019)(8936002)(106356001)(50226002)(575784001)(2361001)(6116002)(3846002)(47776003)(305945005)(1076002)(86362001)(26005)(2351001)(7736002)(478600001)(51416003)(36756003)(4326008)(2906002)(53936002)(6666003)(2950100002)(8656006)(52116002)(6486002)(48376002)(39060400002)(68736007)(54906003)(16586007)(7696005)(386003)(316002)(6916009)(50466002)(8666007); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR12MB0146; 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; BY2PR12MB0146; 23:VJYkFUwXObH8OdZFAlCfROB7/aLr1iuWc3iGCG3RM?= =?us-ascii?Q?5+tohibkxLYCRBr5xKfV5ozldS6ZFA9eJd2/4YZBWCeyz+RYtcDYXaDAqu+l?= =?us-ascii?Q?yIS6H5/K5CyYmJmTou8Ns6ZwJOD60tlcgxe9NyneFQgUpIvwMFCAcT+giyJD?= =?us-ascii?Q?cIRlkzkSYkzOP87usOhzP+v/08aR5gQnJFHInCXZ+7T7I17JKC26onesbjRb?= =?us-ascii?Q?oR8kk9VYhZekQUBa9BU0xObGZWB1evQIU72uNfpyrjijcqESLEHNKD711XQ+?= =?us-ascii?Q?REjhB03Hhq6GrXqA6eVLsG2Yza4sS+Mf2Z5v25iJh4L+LJ7PdxSJx2EuvGrD?= =?us-ascii?Q?n6nWMUnhnFWgmL4g9QoavpzSiSfDdXlvLd3hvDMCbsW+PXZ+RAnsjB4/2y4k?= =?us-ascii?Q?n/Ne5A0QnWMh1ZobD88CI015zxRdrLcBjfh6mb+d923GZYS+aOi+cbdzUL7P?= =?us-ascii?Q?RVlHa2byuiOgq/RWj9PTttbz6E9ZQ93PETZSr9EI1RJoQRTipP1SJigQnSR1?= =?us-ascii?Q?T79T0LpXeAJM039L4IRsR8s27zA0UoAys6z4GgiHCADxgm9Qa5XH1uhyexzq?= =?us-ascii?Q?JHvXIQGFs/oMOqRNGbfsuglGkcSAp7YdYQN75wdcV6yO46jbZ5BCjNjuVGyj?= =?us-ascii?Q?rqnv3qguj8JY+QMorsm/Y5SLj9wcQnwKlklqlLPpvDHlZsXNYDGPR82/xtlo?= =?us-ascii?Q?avP39wcYj/fnmVRmnV3Pl29i0V0DRIfouia7u5oJryvwU8mdaa3C0cDPIoHR?= =?us-ascii?Q?XxVM6TH1NxxRhPOKk67+AepMoVLp9T3Sp+d7YHcNvPrrvGT9j+9BugPPupPk?= =?us-ascii?Q?xChSDIU45d5TIDo1HvLtVQPzFodORfOHdHHsbNM7xzaN6QmBs0KZMIw4PYMO?= =?us-ascii?Q?CQFyq0OrfEbw2U1TcPRAJY505vejm/QZEuBstCqA8W9YRiITMFMvr65hrLyb?= =?us-ascii?Q?AShT8UgGEqk0YHG6qBJ5sB7ntzb1YIg9yFeulXylMy+wtyubGNG82cbE7uui?= =?us-ascii?Q?qbG6IOdKIw3Usfi/uJG5odmkQibloH7nMbUZg3+usfLsMcBpGKRanHa6gKvs?= =?us-ascii?Q?XK+ZfenvcU8Xfo1YJxVQQ8QF7X4IP9BIGgyap9QMT7rjBBAGGxisvTsI9KRK?= =?us-ascii?Q?a+Lr3k36xVUhRSV43CCEtwHp6e/blSyFdag8fet9W7/B3VGuvRRZgeeq+Olv?= =?us-ascii?Q?ISrIBMStGKQsMkk9T0tRBJtjUuIz0Pa7oMXl89Hd260tiqsQwQfZdF9501vi?= =?us-ascii?Q?5wcXtcCIfOvfU2FT6Ne0ZOYcFGGmsrbl4mEgUKdV7GG15GTy4w0Yovb/zN6x?= =?us-ascii?Q?+Ia/Ti2GD925TokGSxMJMiZKu1mBuUPPNZKRipr3Imr?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0146; 6:85DRV3hBHxncQsUe6To301yAB09JxySWhCbf4f6QosiDup1HK28SNmrPK7bkXjEmOZzEyDqkw6e1qW7TZQFo0A0PqbQXXK6GiofUch+DrR/xukL3kyWuS9ba+buDH1MGYbyLSmscg/gKD17G4zyKKM2tWp20JAXt1Pf7uPhqyZ615YOrRK+yhMNCbpJlTAPFDI9N3XSkjXmZHOYcxCdWhB1FwDYGyYrAfuqQIjnY3PkvuMfVlwkLom8nTXmiZLeHUeWeg+3hsgEfkY3OleHmIHncJ2aTp+v7kGu66TX/ulZwP4sGyEQHac8XNx45MEyB3evU4i1Xly9iDdye2Xhz+WM0IrIETuG24U9650YUJck=; 5:nfDjVC9/7njUJg5I6RE7LklXKxEAP2L6mUdRVIu4/KUjm6ueln554sK8R70O8K80urkFByzlm+44LfUzE8iHcU5qIW4EjHkF5xz7MGFKCZssYiMhkAMfoBOTRxMMfUQWi4pckFXRdRGkuypgCfrDDSlq8ujAHFvvUvVSXJyxTe8=; 24:1fD0RlxV9JWEZ1vfYqlPXfVS1tglshkQjPyT50wbWKMsPPnskeD5sN+BYxDDRUbik5CsSMH5jka7eNznyw9lIySAvbudtc4i0jMWyCbMSY8=; 7:GlsjxnP6GO38HTEA0DkDRORm/qUvvp8mc3bo3kgGaJx7ODSzZFaGAWMIf9MTvZBdUfhJKGlbxTKXT5el1OlbRMoA4hPvbsIG8PW849F8Y5ZIyf5AWBLmEW11A8qz6ru/0jevHuD9y2I9p45n7I79mUNdmikxUtKTvSXcsgqVq/c051ekiJQQVOUe1WkKo5s/IDZaG2fQx1OCi2hN85zkgh5mUVYrYVCJiHQ9n8fnaxkCfk8/JzMhlM/Bb2Xv9rrP SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR12MB0146; 20:oCpjUFZfGMu/uhmrywl9rKk/DNqh1v1bMciPo0n7Pl+84eoqeYtw2/RNbC+AEtU+/jehqrB3Wm3oqUXGY/tteFib/OAnyjfJpyBNA/I+KaHTanwU1Q+VWVelgP5m47qrboBfGlLvT8aR5XYVIlkfSJ8EFvCdsYMf/zed4EGCXJoRbDsoniYYI5kw2I9wylGENOCflpA/WAlk+iTweV8QadKjsOUfl57F3MrttyGJVDWkwXUtzHZNHBSZOrSzqG62 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Feb 2018 15:38:36.9936 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dd68442c-7276-4d6c-348a-08d5722eafac X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0146 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.34.78 Subject: [Qemu-devel] [PATCH v8 21/28] sev/i386: add debug encrypt and decrypt commands X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Brijesh Singh , kvm@vger.kernel.org, "Michael S. Tsirkin" , Stefan Hajnoczi , Alexander Graf , "Edgar E. Iglesias" , Markus Armbruster , Bruce Rogers , Christian Borntraeger , Marcel Apfelbaum , Borislav Petkov , Thomas Lendacky , Eduardo Habkost , Richard Henderson , "Dr. David Alan Gilbert" , Alistair Francis , Cornelia Huck , Richard Henderson , Peter Crosthwaite , Paolo Bonzini Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP KVM_SEV_DBG_DECRYPT and KVM_SEV_DBG_ENCRYPT commands are used for decrypting and encrypting guest memory region. The command works only if the guest policy allows the debugging. Cc: Paolo Bonzini Cc: Richard Henderson Cc: Eduardo Habkost Signed-off-by: Brijesh Singh --- accel/kvm/kvm-all.c | 1 + include/sysemu/sev.h | 1 + stubs/sev.c | 4 +++ target/i386/sev.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++ target/i386/trace-events | 1 + 5 files changed, 79 insertions(+) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 4974c00c46fb..f53d4ca503b0 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -1681,6 +1681,7 @@ static int kvm_init(MachineState *ms) } kvm_state->memcrypt_encrypt_data = sev_encrypt_data; + kvm_state->memcrypt_debug_ops = sev_set_debug_ops; } ret = kvm_arch_init(ms, s); diff --git a/include/sysemu/sev.h b/include/sysemu/sev.h index c173ad33f8bb..186ebca0f945 100644 --- a/include/sysemu/sev.h +++ b/include/sysemu/sev.h @@ -78,6 +78,7 @@ typedef struct SEVState SEVState; void *sev_guest_init(const char *id); int sev_encrypt_data(void *handle, uint8_t *ptr, uint64_t len); +void sev_set_debug_ops(void *handle, MemoryRegion *mr); #endif diff --git a/stubs/sev.c b/stubs/sev.c index 1e26a1bea8b7..89c774a3b7aa 100644 --- a/stubs/sev.c +++ b/stubs/sev.c @@ -15,6 +15,10 @@ #include "qemu-common.h" #include "sysemu/sev.h" +void sev_set_debug_ops(void *handle, MemoryRegion *mr) +{ +} + int sev_encrypt_data(void *handle, uint8_t *ptr, uint64_t len) { return 1; diff --git a/target/i386/sev.c b/target/i386/sev.c index eda64df4cfa5..197b00313a2c 100644 --- a/target/i386/sev.c +++ b/target/i386/sev.c @@ -23,11 +23,13 @@ #define DEFAULT_GUEST_POLICY 0x1 /* disable debug */ #define DEFAULT_SEV_DEVICE "/dev/sev" +#define GUEST_POLICY_DBG_BIT 0x1 static uint64_t me_mask; static bool sev_active; static int sev_fd; static SEVState *sev_state; +static MemoryRegionRAMReadWriteOps sev_ops; #define SEV_FW_MAX_ERROR 0x17 @@ -576,6 +578,51 @@ sev_vm_state_change(void *opaque, int running, RunState state) } } +static int +sev_dbg_enc_dec(uint8_t *dst, const uint8_t *src, uint32_t len, bool write) +{ + int ret, error; + struct kvm_sev_dbg *dbg; + + dbg = g_malloc0(sizeof(*dbg)); + if (!dbg) { + return 1; + } + + dbg->src_uaddr = (unsigned long)src; + dbg->dst_uaddr = (unsigned long)dst; + dbg->len = len; + + trace_kvm_sev_debug(write ? "encrypt" : "decrypt", src, dst, len); + ret = sev_ioctl(write ? KVM_SEV_DBG_ENCRYPT : KVM_SEV_DBG_DECRYPT, + dbg, &error); + if (ret) { + error_report("%s (%s) %#llx->%#llx+%#x ret=%d fw_error=%d '%s'", + __func__, write ? "write" : "read", dbg->src_uaddr, + dbg->dst_uaddr, dbg->len, ret, error, + fw_error_to_str(error)); + } + + g_free(dbg); + return ret; +} + +static int +sev_mem_read(uint8_t *dst, const uint8_t *src, uint32_t len, MemTxAttrs attrs) +{ + assert(attrs.debug); + + return sev_dbg_enc_dec(dst, src, len, false); +} + +static int +sev_mem_write(uint8_t *dst, const uint8_t *src, uint32_t len, MemTxAttrs attrs) +{ + assert(attrs.debug); + + return sev_dbg_enc_dec(dst, src, len, true); +} + void * sev_guest_init(const char *id) { @@ -652,6 +699,31 @@ sev_encrypt_data(void *handle, uint8_t *ptr, uint64_t len) return 0; } +void +sev_set_debug_ops(void *handle, MemoryRegion *mr) +{ + int policy; + SEVState *s = (SEVState *)handle; + + policy = object_property_get_int(OBJECT(s->sev_info), + "policy", &error_abort); + + /* + * Check if guest policy supports debugging + * Bit 0 : + * 0 - debug allowed + * 1 - debug is not allowed + */ + if (policy & GUEST_POLICY_DBG_BIT) { + return; + } + + sev_ops.read = sev_mem_read; + sev_ops.write = sev_mem_write; + + memory_region_set_ram_debug_ops(mr, &sev_ops); +} + static void sev_register_types(void) { diff --git a/target/i386/trace-events b/target/i386/trace-events index b1fbde6e40fe..00aa6e98d810 100644 --- a/target/i386/trace-events +++ b/target/i386/trace-events @@ -15,3 +15,4 @@ kvm_sev_launch_start(int policy, void *session, void *pdh) "policy 0x%x session kvm_sev_launch_update_data(void *addr, uint64_t len) "addr %p len 0x%" PRIu64 kvm_sev_launch_measurement(const char *value) "data %s" kvm_sev_launch_finish(void) "" +kvm_sev_debug(const char *op, const uint8_t *src, uint8_t *dst, int len) "(%s) src %p dst %p len %d"