From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joerg Roedel Subject: Re: [PATCH 62/70] x86/kvm: Add KVM specific VMMCALL handling under SEV-ES Date: Fri, 20 Mar 2020 23:21:02 +0100 Message-ID: <20200320222102.GM5122@8bytes.org> References: <20200319091407.1481-1-joro@8bytes.org> <20200319091407.1481-63-joro@8bytes.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: David Rientjes Cc: erdemaktas@google.com, x86@kernel.org, hpa@zytor.com, Andy Lutomirski , Dave Hansen , Peter Zijlstra , Thomas Hellstrom , Jiri Slaby , Dan Williams , Tom Lendacky , Juergen Gross , Kees Cook , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, Joerg Roedel List-Id: virtualization@lists.linuxfoundation.org On Fri, Mar 20, 2020 at 02:23:58PM -0700, David Rientjes wrote: > On Thu, 19 Mar 2020, Joerg Roedel wrote: > > +#if defined(CONFIG_AMD_MEM_ENCRYPT) > > +static void kvm_sev_es_hcall_prepare(struct ghcb *ghcb, struct pt_regs *regs) > > +{ > > + /* RAX and CPL are already in the GHCB */ > > + ghcb_set_rbx(ghcb, regs->bx); > > + ghcb_set_rcx(ghcb, regs->cx); > > + ghcb_set_rdx(ghcb, regs->dx); > > + ghcb_set_rsi(ghcb, regs->si); > > Is it possible to check the hypercall from RAX and only copy the needed > regs or is there a requirement that they must all be copied > unconditionally? No, there is no such requirement. This could be optimized with hypercall specific knowledge as it is in the KVM code anyway. Regards, Joerg