Messages in this thread Patch in this message | | | Date | Fri, 30 Jul 2021 22:42:30 +0000 | From | Sean Christopherson <> | Subject | Re: [PATCH 11/12] x86/sev: Handle CLFLUSH MMIO events |
| |
On Wed, Jul 21, 2021, Joerg Roedel wrote: > From: Joerg Roedel <jroedel@suse.de> > > Handle CLFLUSH instruction to MMIO memory in the #VC handler. The ^ |- emulated
> instruction is ignored by the handler, as the Hypervisor is > responsible for cache management of emulated MMIO memory. > > Signed-off-by: Joerg Roedel <jroedel@suse.de> > --- > arch/x86/kernel/sev-shared.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/arch/x86/kernel/sev-shared.c b/arch/x86/kernel/sev-shared.c > index a7a0793c4f98..682fa202444f 100644 > --- a/arch/x86/kernel/sev-shared.c > +++ b/arch/x86/kernel/sev-shared.c > @@ -632,6 +632,15 @@ static enum es_result vc_handle_mmio_twobyte_ops(struct ghcb *ghcb, > long *reg_data; > > switch (insn->opcode.bytes[1]) { > + /* CLFLUSH */ > + case 0xae: > + /* > + * Ignore CLFLUSHes - those go to emulated MMIO anyway and the > + * hypervisor is responsible for cache management.
This wording can be misread as "the hypervisor is responsible for _all_ cache management". Maybe just:
/* * Ignore CLFLUSHes - the hyperivsor is responsible for cache * management of emulated MMIO. */
Side topic, out of curisoity, what's mapping/accessing emulated MMIO as non-UC?
> + */ > + ret = ES_OK; > + break; > + > /* MMIO Read w/ zero-extension */ > case 0xb6: > bytes = 1; > -- > 2.31.1 >
| |