Lines Matching refs:badvaddr
49 unsigned long badvaddr = vcpu->arch.host_cp0_badvaddr; in kvm_trap_emul_no_handler() local
60 exccode, opc, inst, badvaddr, in kvm_trap_emul_no_handler()
193 unsigned long badvaddr = vcpu->arch.host_cp0_badvaddr; in kvm_trap_emul_handle_tlb_mod() local
199 if (KVM_GUEST_KSEGX(badvaddr) < KVM_GUEST_KSEG0 in kvm_trap_emul_handle_tlb_mod()
200 || KVM_GUEST_KSEGX(badvaddr) == KVM_GUEST_KSEG23) { in kvm_trap_emul_handle_tlb_mod()
206 entryhi = (badvaddr & VPN2_MASK) | in kvm_trap_emul_handle_tlb_mod()
219 if (unlikely(!TLB_IS_VALID(*tlb, badvaddr))) { in kvm_trap_emul_handle_tlb_mod()
228 if (!TLB_IS_DIRTY(*tlb, badvaddr)) { in kvm_trap_emul_handle_tlb_mod()
233 if (kvm_mips_handle_mapped_seg_tlb_fault(vcpu, tlb, badvaddr, in kvm_trap_emul_handle_tlb_mod()
238 } else if (KVM_GUEST_KSEGX(badvaddr) == KVM_GUEST_KSEG0) { in kvm_trap_emul_handle_tlb_mod()
239 if (kvm_mips_handle_kseg0_tlb_fault(badvaddr, vcpu, true) < 0) in kvm_trap_emul_handle_tlb_mod()
253 unsigned long badvaddr = vcpu->arch.host_cp0_badvaddr; in kvm_trap_emul_handle_tlb_miss() local
258 if (((badvaddr & PAGE_MASK) == KVM_GUEST_COMMPAGE_ADDR) in kvm_trap_emul_handle_tlb_miss()
260 if (kvm_mips_handle_commpage_tlb_fault(badvaddr, vcpu) < 0) { in kvm_trap_emul_handle_tlb_miss()
264 } else if (KVM_GUEST_KSEGX(badvaddr) < KVM_GUEST_KSEG0 in kvm_trap_emul_handle_tlb_miss()
265 || KVM_GUEST_KSEGX(badvaddr) == KVM_GUEST_KSEG23) { in kvm_trap_emul_handle_tlb_miss()
267 store ? "ST" : "LD", cause, opc, badvaddr); in kvm_trap_emul_handle_tlb_miss()
286 } else if (KVM_GUEST_KSEGX(badvaddr) == KVM_GUEST_KSEG0) { in kvm_trap_emul_handle_tlb_miss()
291 if (kvm_mips_handle_kseg0_tlb_fault(badvaddr, vcpu, store) < 0) in kvm_trap_emul_handle_tlb_miss()
294 && (KSEGX(badvaddr) == CKSEG0 || KSEGX(badvaddr) == CKSEG1)) { in kvm_trap_emul_handle_tlb_miss()
302 store ? "ST" : "LD", cause, opc, badvaddr); in kvm_trap_emul_handle_tlb_miss()
325 unsigned long badvaddr = vcpu->arch.host_cp0_badvaddr; in kvm_trap_emul_handle_addr_err_st() local
330 && (KSEGX(badvaddr) == CKSEG0 || KSEGX(badvaddr) == CKSEG1)) { in kvm_trap_emul_handle_addr_err_st()
334 cause, opc, badvaddr); in kvm_trap_emul_handle_addr_err_st()
345 unsigned long badvaddr = vcpu->arch.host_cp0_badvaddr; in kvm_trap_emul_handle_addr_err_ld() local
349 if (KSEGX(badvaddr) == CKSEG0 || KSEGX(badvaddr) == CKSEG1) { in kvm_trap_emul_handle_addr_err_ld()
353 cause, opc, badvaddr); in kvm_trap_emul_handle_addr_err_ld()