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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Wood Scott-B07421
> Sent: Thursday, September 13, 2012 12:54 AM
> To: Alexander Graf
> Cc: Caraman Mihai Claudiu-B02008; <kvm-ppc@xxxxxxxxxxxxxxx>; <linuxppc-
> dev@xxxxxxxxxxxxxxxx>; <kvm@xxxxxxxxxxxxxxx>
> 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@xxxxxxxxxxxxx> wrote:
> >
> >> On 09/12/2012 01:56 PM, Alexander Graf wrote:
> >>>
> >>>
> >>> On 12.09.2012, at 15:18, Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx>
> 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
��.n��������+%������w��{.n�����o�^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux