diff options
Diffstat (limited to 'arch/powerpc/kvm/emulate.c')
| -rw-r--r-- | arch/powerpc/kvm/emulate.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/emulate.c b/arch/powerpc/kvm/emulate.c index 8c605d0a5488..0fce4fbdc20d 100644 --- a/arch/powerpc/kvm/emulate.c +++ b/arch/powerpc/kvm/emulate.c | |||
| @@ -170,6 +170,10 @@ static int kvmppc_emul_tlbwe(struct kvm_vcpu *vcpu, u32 inst) | |||
| 170 | kvmppc_mmu_map(vcpu, eaddr, raddr >> PAGE_SHIFT, asid, flags); | 170 | kvmppc_mmu_map(vcpu, eaddr, raddr >> PAGE_SHIFT, asid, flags); |
| 171 | } | 171 | } |
| 172 | 172 | ||
| 173 | KVMTRACE_5D(GTLB_WRITE, vcpu, index, | ||
| 174 | tlbe->tid, tlbe->word0, tlbe->word1, tlbe->word2, | ||
| 175 | handler); | ||
| 176 | |||
| 173 | return EMULATE_DONE; | 177 | return EMULATE_DONE; |
| 174 | } | 178 | } |
| 175 | 179 | ||
| @@ -504,7 +508,7 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu) | |||
| 504 | case SPRN_MMUCR: | 508 | case SPRN_MMUCR: |
| 505 | vcpu->arch.mmucr = vcpu->arch.gpr[rs]; break; | 509 | vcpu->arch.mmucr = vcpu->arch.gpr[rs]; break; |
| 506 | case SPRN_PID: | 510 | case SPRN_PID: |
| 507 | vcpu->arch.pid = vcpu->arch.gpr[rs]; break; | 511 | kvmppc_set_pid(vcpu, vcpu->arch.gpr[rs]); break; |
| 508 | case SPRN_CCR0: | 512 | case SPRN_CCR0: |
| 509 | vcpu->arch.ccr0 = vcpu->arch.gpr[rs]; break; | 513 | vcpu->arch.ccr0 = vcpu->arch.gpr[rs]; break; |
| 510 | case SPRN_CCR1: | 514 | case SPRN_CCR1: |
| @@ -765,6 +769,8 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu) | |||
| 765 | break; | 769 | break; |
| 766 | } | 770 | } |
| 767 | 771 | ||
| 772 | KVMTRACE_3D(PPC_INSTR, vcpu, inst, vcpu->arch.pc, emulated, entryexit); | ||
| 773 | |||
| 768 | if (advance) | 774 | if (advance) |
| 769 | vcpu->arch.pc += 4; /* Advance past emulated instruction. */ | 775 | vcpu->arch.pc += 4; /* Advance past emulated instruction. */ |
| 770 | 776 | ||
