[PATCH] KVM: PPC: bookehv: Allow duplicate calls of DO_KVM macro

Caraman Mihai Claudiu-B02008 B02008 at freescale.com
Thu Sep 13 22:50:14 EST 2012


> -----Original Message-----
> From: Wood Scott-B07421
> Sent: Thursday, September 13, 2012 12:54 AM
> To: Alexander Graf
> Cc: Caraman Mihai Claudiu-B02008; <kvm-ppc at vger.kernel.org>; <linuxppc-
> dev at lists.ozlabs.org>; <kvm at vger.kernel.org>
> Subject: Re: [PATCH] KVM: PPC: bookehv: Allow duplicate calls of DO_KVM
> macro
> 
> On 09/12/2012 04:45 PM, Alexander Graf wrote:
> >
> >
> > On 12.09.2012, at 23:38, Scott Wood <scottwood at freescale.com> wrote:
> >
> >> On 09/12/2012 01:56 PM, Alexander Graf wrote:
> >>>
> >>>
> >>> On 12.09.2012, at 15:18, Mihai Caraman <mihai.caraman at freescale.com>
> wrote:
> >>>
> >>>> The current form of DO_KVM macro restricts its use to one call per
> input
> >>>> parameter set. This is caused by kvmppc_resume_\intno\()_\srr1
> symbol
> >>>> definition.
> >>>> Duplicate calls of DO_KVM are required by distinct implementations
> of
> >>>> exeption handlers which are delegated at runtime.
> >>>
> >>> Not sure I understand what you're trying to achieve here. Please
> elaborate ;)
> >>
> >> On 64-bit book3e we compile multiple versions of the TLB miss
> handlers,
> >> and choose from them at runtime.

The exception handler patching is active in __early_init_mmu() function
powerpc/mm/tlb_nohash.c for quite a few years. For tlb miss exceptions
there are three handler versions: standard, HW tablewalk and bolted.

> I posted a patch to add another variant, for e6500-style hardware
> tablewalk, which shares the bolted prolog/epilog (besides prolog/epilog
> performance, e6500 is incompatible with the IBM tablewalk code for
> various reasons).  That caused us to have two DO_KVMs for the same
> exception type.

Sorry, I missed to cc kvm-ppc mailist when I replayed to that discussion
thread.

-Mike


More information about the Linuxppc-dev mailing list