Commit 7f516c96 authored by Thomas Huth's avatar Thomas Huth Committed by David Gibson
Browse files

target-ppc/kvm: Enable transactional memory on POWER8 with KVM-HV, too



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: default avatarThomas Huth <thuth@redhat.com>
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
parent 96c9cff0
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -570,11 +570,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;
    }