[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d43a1cc5-4229-e1fb-2a7a-d701d7b12ea9@intel.com>
Date: Fri, 14 Feb 2020 08:59:39 -0800
From: Dave Hansen <dave.hansen@...el.com>
To: Joerg Roedel <joro@...tes.org>
Cc: x86@...nel.org, hpa@...or.com, Andy Lutomirski <luto@...nel.org>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Peter Zijlstra <peterz@...radead.org>,
Thomas Hellstrom <thellstrom@...are.com>,
Jiri Slaby <jslaby@...e.cz>,
Dan Williams <dan.j.williams@...el.com>,
Tom Lendacky <thomas.lendacky@....com>,
Juergen Gross <jgross@...e.com>,
Kees Cook <keescook@...omium.org>,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
virtualization@...ts.linux-foundation.org,
Joerg Roedel <jroedel@...e.de>
Subject: Re: [PATCH 41/62] x86/sev-es: Handle MSR events
On 2/13/20 11:23 PM, Joerg Roedel wrote:
> Yes, investigating this is on the list for future optimizations (besides
> caching CPUID results). My idea is to use alternatives patching for
> this. But the exception handling is needed anyway because #VC
> exceptions happen very early already, basically the first thing after
> setting up a stack is calling verify_cpu(), which uses CPUID.
Ahh, bummer. How does a guest know that it's running under SEV-ES?
What's the enumeration mechanism if CPUID doesn't "work"?
> The other reason is that things like MMIO and IOIO instructions can't be
> easily patched by alternatives. Those would work with the runtime
> checking you showed above, though.
Is there a reason we can't make a rule that you *must* do MMIO through
an accessor function so we *can* patch them? I know random drivers
might break the rule, but are SEV-ES guests going to be running random
drivers? I would think that they mostly if not all want to use virtio.
Powered by blists - more mailing lists