qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 2/2] target-ppc/kvm: Enable transactional memory


From: David Gibson
Subject: Re: [Qemu-devel] [PATCH 2/2] target-ppc/kvm: Enable transactional memory on POWER8 with KVM-HV, too
Date: Fri, 30 Sep 2016 09:26:00 +1000
User-agent: Mutt/1.7.0 (2016-08-17)

On Thu, Sep 29, 2016 at 12:48:07PM +0200, Thomas Huth wrote:
> Transactional memory is also supported on POWER8 KVM-HV if the
> KVM_CAP_PPC_HTM is not available in the kernel yet, so add a hack
> to allow TM here, too.
> 
> Signed-off-by: Thomas Huth <address@hidden>

Applied to ppc-for-2.8.

> ---
>  hw/ppc/spapr.c   | 2 +-
>  target-ppc/kvm.c | 9 ++++++++-
>  2 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index fc37145..2f4e818 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -584,7 +584,7 @@ static void spapr_populate_pa_features(CPUPPCState *env, 
> void *fdt, int offset)
>           */
>          pa_features[3] |= 0x20;
>      }
> -    if (kvmppc_has_cap_htm()) {
> +    if (kvmppc_has_cap_htm() && pa_size > 24) {

It looks like this is an unrelated fix to the original TM test.  I'll
fold it into the original patch.

>          pa_features[24] |= 0x80;    /* Transactional memory support */
>      }
>  
> diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
> index dca50bc..e990cb7 100644
> --- a/target-ppc/kvm.c
> +++ b/target-ppc/kvm.c
> @@ -567,11 +567,18 @@ int kvm_arch_init_vcpu(CPUState *cs)
>  
>      idle_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, kvm_kick_cpu, cpu);
>  
> -    /* Some targets support access to KVM's guest TLB. */
>      switch (cenv->mmu_model) {
>      case POWERPC_MMU_BOOKE206:
> +        /* This target supports access to KVM's guest TLB */
>          ret = kvm_booke206_tlb_init(cpu);
>          break;
> +    case POWERPC_MMU_2_07:
> +        if (!cap_htm && !kvmppc_is_pr(cs->kvm_state)) {
> +            /* KVM-HV has transactional memory on POWER8 also without the
> +             * KVM_CAP_PPC_HTM extension, so enable it here instead. */
> +            cap_htm = true;
> +        }
> +        break;
>      default:
>          break;
>      }

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]