From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joerg Roedel Subject: Re: [PATCH 70/70] x86/sev-es: Add NMI state tracking Date: Fri, 20 Mar 2020 20:48:49 +0100 Message-ID: <20200320194849.GJ5122@8bytes.org> References: <20200319091407.1481-1-joro@8bytes.org> <20200319091407.1481-71-joro@8bytes.org> <20200319160749.GC5122@8bytes.org> <20200319192654.GD611@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: kvm-owner@vger.kernel.org To: Andy Lutomirski Cc: Joerg Roedel , X86 ML , "H. Peter Anvin" , Dave Hansen , Peter Zijlstra , Thomas Hellstrom , Jiri Slaby , Dan Williams , Tom Lendacky , Juergen Gross , Kees Cook , LKML , kvm list , Linux Virtualization List-Id: virtualization@lists.linuxfoundation.org On Thu, Mar 19, 2020 at 02:27:49PM -0700, Andy Lutomirski wrote: > AIUI the shift-ist stuff is because we aren't very good about the way > that we handle tracing right now, and that can cause a limited degree > of recursion. #DB uses IST for historical reasons that don't > necessarily make sense. Right now, we need it for only one reason: > the MOV SS issue. IIRC this isn't actually triggerable without > debugging enabled -- MOV SS with no breakpoint but TF on doesn't seem > to malfunction quite as badly. I had a look at the shift_ist stuff today and it looks like a good solution to the #VC nesting problem when it is turned into a #VC handler. The devil is in the details, of course, as 3 or 4 stacks for the #VC handler (per cpu) should only be allocated when actually running in an SEV-ES guest. Let's see how this works out in practice. Regards, Joerg