Lines Matching refs:arch

115 	return !!(vcpu->arch.pending_exceptions);  in kvm_arch_vcpu_runnable()
151 kvm->arch.gpa_mm.pgd = kvm_pgd_alloc(); in kvm_arch_init_vm()
152 if (!kvm->arch.gpa_mm.pgd) in kvm_arch_init_vm()
166 pgd_free(NULL, kvm->arch.gpa_mm.pgd); in kvm_mips_free_gpa_pt()
263 vcpu = container_of(timer, struct kvm_vcpu, arch.comparecount_timer); in kvm_mips_comparecount_wakeup()
267 vcpu->arch.wait = 0; in kvm_mips_comparecount_wakeup()
291 hrtimer_init(&vcpu->arch.comparecount_timer, CLOCK_MONOTONIC, in kvm_arch_vcpu_create()
293 vcpu->arch.comparecount_timer.function = kvm_mips_comparecount_wakeup; in kvm_arch_vcpu_create()
326 vcpu->arch.guest_ebase = gebase; in kvm_arch_vcpu_create()
353 vcpu->arch.vcpu_run = p; in kvm_arch_vcpu_create()
360 dump_handler("kvm_vcpu_run", vcpu->arch.vcpu_run, p); in kvm_arch_vcpu_create()
363 dump_handler("kvm_exit", gebase + 0x2000, vcpu->arch.vcpu_run); in kvm_arch_vcpu_create()
370 vcpu->arch.last_sched_cpu = -1; in kvm_arch_vcpu_create()
371 vcpu->arch.last_exec_cpu = -1; in kvm_arch_vcpu_create()
389 hrtimer_cancel(&vcpu->arch.comparecount_timer); in kvm_arch_vcpu_destroy()
394 kfree(vcpu->arch.guest_ebase); in kvm_arch_vcpu_destroy()
509 dvcpu->arch.wait = 0; in kvm_vcpu_ioctl_interrupt()
584 if (kvm_mips_guest_can_have_fpu(&vcpu->arch)) { in kvm_mips_num_regs()
590 if (kvm_mips_guest_can_have_msa(&vcpu->arch)) in kvm_mips_num_regs()
607 if (kvm_mips_guest_can_have_fpu(&vcpu->arch)) { in kvm_mips_copy_reg_indices()
630 if (kvm_mips_guest_can_have_msa(&vcpu->arch)) { in kvm_mips_copy_reg_indices()
650 struct mips_coproc *cop0 = &vcpu->arch.cop0; in kvm_mips_get_reg()
651 struct mips_fpu_struct *fpu = &vcpu->arch.fpu; in kvm_mips_get_reg()
660 v = (long)vcpu->arch.gprs[reg->id - KVM_REG_MIPS_R0]; in kvm_mips_get_reg()
664 v = (long)vcpu->arch.hi; in kvm_mips_get_reg()
667 v = (long)vcpu->arch.lo; in kvm_mips_get_reg()
671 v = (long)vcpu->arch.pc; in kvm_mips_get_reg()
676 if (!kvm_mips_guest_has_fpu(&vcpu->arch)) in kvm_mips_get_reg()
686 if (!kvm_mips_guest_has_fpu(&vcpu->arch)) in kvm_mips_get_reg()
695 if (!kvm_mips_guest_has_fpu(&vcpu->arch)) in kvm_mips_get_reg()
700 if (!kvm_mips_guest_has_fpu(&vcpu->arch)) in kvm_mips_get_reg()
707 if (!kvm_mips_guest_has_msa(&vcpu->arch)) in kvm_mips_get_reg()
724 if (!kvm_mips_guest_has_msa(&vcpu->arch)) in kvm_mips_get_reg()
729 if (!kvm_mips_guest_has_msa(&vcpu->arch)) in kvm_mips_get_reg()
762 struct mips_coproc *cop0 = &vcpu->arch.cop0; in kvm_mips_set_reg()
763 struct mips_fpu_struct *fpu = &vcpu->arch.fpu; in kvm_mips_set_reg()
794 vcpu->arch.gprs[reg->id - KVM_REG_MIPS_R0] = v; in kvm_mips_set_reg()
798 vcpu->arch.hi = v; in kvm_mips_set_reg()
801 vcpu->arch.lo = v; in kvm_mips_set_reg()
805 vcpu->arch.pc = v; in kvm_mips_set_reg()
810 if (!kvm_mips_guest_has_fpu(&vcpu->arch)) in kvm_mips_set_reg()
820 if (!kvm_mips_guest_has_fpu(&vcpu->arch)) in kvm_mips_set_reg()
829 if (!kvm_mips_guest_has_fpu(&vcpu->arch)) in kvm_mips_set_reg()
834 if (!kvm_mips_guest_has_fpu(&vcpu->arch)) in kvm_mips_set_reg()
841 if (!kvm_mips_guest_has_msa(&vcpu->arch)) in kvm_mips_set_reg()
855 if (!kvm_mips_guest_has_msa(&vcpu->arch)) in kvm_mips_set_reg()
860 if (!kvm_mips_guest_has_msa(&vcpu->arch)) in kvm_mips_set_reg()
886 vcpu->arch.fpu_enabled = true; in kvm_vcpu_ioctl_enable_cap()
889 vcpu->arch.msa_enabled = true; in kvm_vcpu_ioctl_enable_cap()
1081 kvm_read_c0_guest_cause(&vcpu->arch.cop0) & C_TI; in kvm_cpu_has_pending_timer()
1093 kvm_debug("\tpc = 0x%08lx\n", vcpu->arch.pc); in kvm_arch_vcpu_dump_regs()
1094 kvm_debug("\texceptions: %08lx\n", vcpu->arch.pending_exceptions); in kvm_arch_vcpu_dump_regs()
1098 vcpu->arch.gprs[i], in kvm_arch_vcpu_dump_regs()
1099 vcpu->arch.gprs[i + 1], in kvm_arch_vcpu_dump_regs()
1100 vcpu->arch.gprs[i + 2], vcpu->arch.gprs[i + 3]); in kvm_arch_vcpu_dump_regs()
1102 kvm_debug("\thi: 0x%08lx\n", vcpu->arch.hi); in kvm_arch_vcpu_dump_regs()
1103 kvm_debug("\tlo: 0x%08lx\n", vcpu->arch.lo); in kvm_arch_vcpu_dump_regs()
1105 cop0 = &vcpu->arch.cop0; in kvm_arch_vcpu_dump_regs()
1121 for (i = 1; i < ARRAY_SIZE(vcpu->arch.gprs); i++) in kvm_arch_vcpu_ioctl_set_regs()
1122 vcpu->arch.gprs[i] = regs->gpr[i]; in kvm_arch_vcpu_ioctl_set_regs()
1123 vcpu->arch.gprs[0] = 0; /* zero is special, and cannot be set. */ in kvm_arch_vcpu_ioctl_set_regs()
1124 vcpu->arch.hi = regs->hi; in kvm_arch_vcpu_ioctl_set_regs()
1125 vcpu->arch.lo = regs->lo; in kvm_arch_vcpu_ioctl_set_regs()
1126 vcpu->arch.pc = regs->pc; in kvm_arch_vcpu_ioctl_set_regs()
1138 for (i = 0; i < ARRAY_SIZE(vcpu->arch.gprs); i++) in kvm_arch_vcpu_ioctl_get_regs()
1139 regs->gpr[i] = vcpu->arch.gprs[i]; in kvm_arch_vcpu_ioctl_get_regs()
1141 regs->hi = vcpu->arch.hi; in kvm_arch_vcpu_ioctl_get_regs()
1142 regs->lo = vcpu->arch.lo; in kvm_arch_vcpu_ioctl_get_regs()
1143 regs->pc = vcpu->arch.pc; in kvm_arch_vcpu_ioctl_get_regs()
1172 u32 cause = vcpu->arch.host_cp0_cause; in __kvm_mips_handle_exit()
1174 u32 __user *opc = (u32 __user *) vcpu->arch.pc; in __kvm_mips_handle_exit()
1175 unsigned long badvaddr = vcpu->arch.host_cp0_badvaddr; in __kvm_mips_handle_exit()
1227 cause, kvm_read_c0_guest_status(&vcpu->arch.cop0), opc, in __kvm_mips_handle_exit()
1299 kvm_read_c0_guest_status(&vcpu->arch.cop0)); in __kvm_mips_handle_exit()
1347 if (kvm_mips_guest_has_fpu(&vcpu->arch) && in __kvm_mips_handle_exit()
1349 __kvm_restore_fcsr(&vcpu->arch); in __kvm_mips_handle_exit()
1351 if (kvm_mips_guest_has_msa(&vcpu->arch) && in __kvm_mips_handle_exit()
1353 __kvm_restore_msacsr(&vcpu->arch); in __kvm_mips_handle_exit()
1372 struct mips_coproc *cop0 = &vcpu->arch.cop0; in kvm_own_fpu()
1386 vcpu->arch.aux_inuse & KVM_MIPS_AUX_MSA) in kvm_own_fpu()
1401 if (!(vcpu->arch.aux_inuse & KVM_MIPS_AUX_FPU)) { in kvm_own_fpu()
1402 __kvm_restore_fpu(&vcpu->arch); in kvm_own_fpu()
1403 vcpu->arch.aux_inuse |= KVM_MIPS_AUX_FPU; in kvm_own_fpu()
1416 struct mips_coproc *cop0 = &vcpu->arch.cop0; in kvm_own_msa()
1425 if (kvm_mips_guest_has_fpu(&vcpu->arch)) { in kvm_own_msa()
1433 (vcpu->arch.aux_inuse & (KVM_MIPS_AUX_FPU | in kvm_own_msa()
1448 switch (vcpu->arch.aux_inuse & (KVM_MIPS_AUX_FPU | KVM_MIPS_AUX_MSA)) { in kvm_own_msa()
1453 __kvm_restore_msa_upper(&vcpu->arch); in kvm_own_msa()
1454 vcpu->arch.aux_inuse |= KVM_MIPS_AUX_MSA; in kvm_own_msa()
1459 __kvm_restore_msa(&vcpu->arch); in kvm_own_msa()
1460 vcpu->arch.aux_inuse |= KVM_MIPS_AUX_MSA; in kvm_own_msa()
1461 if (kvm_mips_guest_has_fpu(&vcpu->arch)) in kvm_own_msa()
1462 vcpu->arch.aux_inuse |= KVM_MIPS_AUX_FPU; in kvm_own_msa()
1479 if (cpu_has_msa && vcpu->arch.aux_inuse & KVM_MIPS_AUX_MSA) { in kvm_drop_fpu()
1482 vcpu->arch.aux_inuse &= ~KVM_MIPS_AUX_MSA; in kvm_drop_fpu()
1484 if (vcpu->arch.aux_inuse & KVM_MIPS_AUX_FPU) { in kvm_drop_fpu()
1487 vcpu->arch.aux_inuse &= ~KVM_MIPS_AUX_FPU; in kvm_drop_fpu()
1503 if (cpu_has_msa && vcpu->arch.aux_inuse & KVM_MIPS_AUX_MSA) { in kvm_lose_fpu()
1504 __kvm_save_msa(&vcpu->arch); in kvm_lose_fpu()
1509 if (vcpu->arch.aux_inuse & KVM_MIPS_AUX_FPU) { in kvm_lose_fpu()
1513 vcpu->arch.aux_inuse &= ~(KVM_MIPS_AUX_FPU | KVM_MIPS_AUX_MSA); in kvm_lose_fpu()
1514 } else if (vcpu->arch.aux_inuse & KVM_MIPS_AUX_FPU) { in kvm_lose_fpu()
1515 __kvm_save_fpu(&vcpu->arch); in kvm_lose_fpu()
1516 vcpu->arch.aux_inuse &= ~KVM_MIPS_AUX_FPU; in kvm_lose_fpu()