Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp504006pxv; Thu, 8 Jul 2021 07:27:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy8hA4ReBT/y7jIIi3J+FDl3XOVt0bbbEfgwTFTh65ADpWqYX2ZH/9v1jaXfraRzhcKU7jD X-Received: by 2002:aa7:d9c9:: with SMTP id v9mr38882739eds.42.1625754444559; Thu, 08 Jul 2021 07:27:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625754444; cv=none; d=google.com; s=arc-20160816; b=zWn3Jsgy9HNodZcbGM/S+LBQFF7s8LjLyMtv77bWDdbhQGDrl2plWe9AmPLo2OCGXe h9VFsiWJNSUwJ2RLidvBRWqLhg2ALw7cpD6TZIbSkZhl0MfU/SmMX3RPi/ipJEeh4cUv jftW490n8vwfAGYTIDJyn3jfP9TYAtFeULAQmhgIzbTbd+MekGzxhnBzfrJ0xNHjRnpn NYFRFlyBAK1qbzAr0u9PZ63h474sYpSDGX9MmzVB15OzVCJcLpPaPkyT2+8V3sbQ/9JQ e3KJqjdQiOmJku0xErdSGtE6gXE4Iy6wc18W2LuhYz8lcp8XGhSaE+hGSNb0TCgCU7Ah 3r5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:from:references :in-reply-to:subject:cc:to:dkim-signature; bh=Yqh2Rk/EnXX8FjCxTuM+fz8dQ08W31Xk+fWV3bz7X2o=; b=bc1ryUiKyoDbK01/HGwj234d4a1kjwvEeFAX2vxcoUtwOxuTb4viuhOXxcY9QoKxwK zNrvNyWvn5jEZ/sIdPaG9MmZLowFOIOd71Tc/7WpszlxGj1S1Nws5VzM769axyKcHwQN v2dsMOPSKScpsppM24BN3c+o0BlhAP14O55QHGRl2xGY0vWaySeA5j42PQEbjRhuHTd1 K/ENzZjJlHjnpH78tArXq0LP0zZBO5thdST7JN1W7td0E898W6q+pO86zLCBIz5q6+CT PcuXaRSTU6nm7z+bMhq4qCX77PFAP4dW4SLLpXUFPyObLFv70gqkM6FPuchZlzC+HR7s XcAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=Naw6UoMK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id mc17si3094896ejb.622.2021.07.08.07.27.01; Thu, 08 Jul 2021 07:27:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=Naw6UoMK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231872AbhGHO2v (ORCPT + 99 others); Thu, 8 Jul 2021 10:28:51 -0400 Received: from wforward4-smtp.messagingengine.com ([64.147.123.34]:56953 "EHLO wforward4-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231515AbhGHO2u (ORCPT ); Thu, 8 Jul 2021 10:28:50 -0400 X-Greylist: delayed 502 seconds by postgrey-1.27 at vger.kernel.org; Thu, 08 Jul 2021 10:28:50 EDT Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailforward.west.internal (Postfix) with ESMTP id 066A81AC113D; Thu, 8 Jul 2021 10:20:39 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 08 Jul 2021 10:20:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=Yqh2Rk /EnXX8FjCxTuM+fz8dQ08W31Xk+fWV3bz7X2o=; b=Naw6UoMKdIP2Eq8U4jkoCi VbaiA5vQCG6GFwj1fT7Cxq8D4r5Qm0AD+RMXUI5SbZhZaeCkPdqmTfuDXW9fnVjv uQ2gfu6y7O1j6icpaphqdd0xpIkVUtshbN2kM6ZgVLdHGOzJJX63WZvvp3/jj96+ OGFrmBkHi/vJRiG0zvTh1bxQPH0XnneoaSr+CXt62ydcmIYrV0WsgtKLr+gZe22N wSw3iwBsk5JGbqdG8WQtG9JgQUsNfrXeUmXx3ZOvefMf4gnQWC8JhKtuYZzmDG4p +Hck9hiiOqa7mxo+mqOecpOt0DipWlSCleo5OdZXLi7mrulogwU/s0Dd9GaMpYHQ == X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrtdeggdejfecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefvufgjfhfhfffkgggtsehttdertddttddtnecuhfhrohhmpeffrghvihguucfg ughmohhnughsohhnuceoughmvgesughmvgdrohhrgheqnecuggftrfgrthhtvghrnhephf ekgeeutddvgeffffetheejvdejieetgfefgfffudegffffgeduheegteegleeknecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmvgesughmvg drohhrgh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 8 Jul 2021 10:20:35 -0400 (EDT) Received: from localhost (disaster-area.hh.sledj.net [local]) by disaster-area.hh.sledj.net (OpenSMTPD) with ESMTPA id f82794d4; Thu, 8 Jul 2021 14:20:35 +0000 (UTC) To: David Matlack Cc: linux-kernel@vger.kernel.org, Wanpeng Li , Jim Mattson , Sean Christopherson , Borislav Petkov , Vitaly Kuznetsov , Joerg Roedel , kvm@vger.kernel.org, Paolo Bonzini , Thomas Gleixner , x86@kernel.org, Ingo Molnar , "H. Peter Anvin" Subject: Re: [PATCH v2 0/2] kvm: x86: Convey the exit reason to user-space on emulation failure In-Reply-To: References: <20210706101207.2993686-1-david.edmondson@oracle.com> X-HGTTG: heart-of-gold From: David Edmondson Date: Thu, 08 Jul 2021 15:20:35 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wednesday, 2021-07-07 at 23:22:44 UTC, David Matlack wrote: > On Tue, Jul 06, 2021 at 11:12:05AM +0100, David Edmondson wrote: >> To help when debugging failures in the field, if instruction emulation >> fails, report the VM exit reason to userspace in order that it can be >> recorded. >> >> I'm unsure whether sgx_handle_emulation_failure() needs to be adapted >> to use the emulation_failure part of the exit union in struct kvm_run >> - advice welcomed. >> >> v2: >> - Improve patch comments (dmatlack) >> - Intel should provide the full exit reason (dmatlack) > > I just asked if Intel should provide the full exit reason, I do not have > an opinion either way. It really comes down to your usecase for wanting > the exit reason. Would the full exit reason be useful or do you just > need the basic exit number? Given that this is intended as a debug aid, having the full exit reason makes sense. >> - Pass a boolean rather than flags (dmatlack) >> - Use the helper in kvm_task_switch() and kvm_handle_memory_failure() >> (dmatlack) >> - Describe the exit_reason field of the emulation_failure structure >> (dmatlack) >> >> David Edmondson (2): >> KVM: x86: Add kvm_x86_ops.get_exit_reason >> KVM: x86: On emulation failure, convey the exit reason to userspace >> >> arch/x86/include/asm/kvm-x86-ops.h | 1 + >> arch/x86/include/asm/kvm_host.h | 3 +++ >> arch/x86/kvm/svm/svm.c | 6 ++++++ >> arch/x86/kvm/vmx/vmx.c | 11 +++++++---- >> arch/x86/kvm/x86.c | 22 +++++++++++++--------- >> include/uapi/linux/kvm.h | 7 +++++++ >> 6 files changed, 37 insertions(+), 13 deletions(-) >> >> -- >> 2.30.2 >> dme. -- You know it's not the twilight zone.