Lines Matching refs:arch

115 	return !!(vcpu->arch.pending_exceptions);
153 kvm->arch.gpa_mm.pgd = kvm_pgd_alloc();
154 if (!kvm->arch.gpa_mm.pgd)
168 pgd_free(NULL, kvm->arch.gpa_mm.pgd);
265 vcpu = container_of(timer, struct kvm_vcpu, arch.comparecount_timer);
269 vcpu->arch.wait = 0;
293 hrtimer_init(&vcpu->arch.comparecount_timer, CLOCK_MONOTONIC,
295 vcpu->arch.comparecount_timer.function = kvm_mips_comparecount_wakeup;
328 vcpu->arch.guest_ebase = gebase;
355 vcpu->arch.vcpu_run = p;
362 dump_handler("kvm_vcpu_run", vcpu->arch.vcpu_run, p);
365 dump_handler("kvm_exit", gebase + 0x2000, vcpu->arch.vcpu_run);
372 vcpu->arch.last_sched_cpu = -1;
373 vcpu->arch.last_exec_cpu = -1;
391 hrtimer_cancel(&vcpu->arch.comparecount_timer);
396 kfree(vcpu->arch.guest_ebase);
511 dvcpu->arch.wait = 0;
586 if (kvm_mips_guest_can_have_fpu(&vcpu->arch)) {
592 if (kvm_mips_guest_can_have_msa(&vcpu->arch))
609 if (kvm_mips_guest_can_have_fpu(&vcpu->arch)) {
632 if (kvm_mips_guest_can_have_msa(&vcpu->arch)) {
652 struct mips_coproc *cop0 = &vcpu->arch.cop0;
653 struct mips_fpu_struct *fpu = &vcpu->arch.fpu;
662 v = (long)vcpu->arch.gprs[reg->id - KVM_REG_MIPS_R0];
666 v = (long)vcpu->arch.hi;
669 v = (long)vcpu->arch.lo;
673 v = (long)vcpu->arch.pc;
678 if (!kvm_mips_guest_has_fpu(&vcpu->arch))
688 if (!kvm_mips_guest_has_fpu(&vcpu->arch))
697 if (!kvm_mips_guest_has_fpu(&vcpu->arch))
702 if (!kvm_mips_guest_has_fpu(&vcpu->arch))
709 if (!kvm_mips_guest_has_msa(&vcpu->arch))
726 if (!kvm_mips_guest_has_msa(&vcpu->arch))
731 if (!kvm_mips_guest_has_msa(&vcpu->arch))
764 struct mips_coproc *cop0 = &vcpu->arch.cop0;
765 struct mips_fpu_struct *fpu = &vcpu->arch.fpu;
796 vcpu->arch.gprs[reg->id - KVM_REG_MIPS_R0] = v;
800 vcpu->arch.hi = v;
803 vcpu->arch.lo = v;
807 vcpu->arch.pc = v;
812 if (!kvm_mips_guest_has_fpu(&vcpu->arch))
822 if (!kvm_mips_guest_has_fpu(&vcpu->arch))
831 if (!kvm_mips_guest_has_fpu(&vcpu->arch))
836 if (!kvm_mips_guest_has_fpu(&vcpu->arch))
843 if (!kvm_mips_guest_has_msa(&vcpu->arch))
857 if (!kvm_mips_guest_has_msa(&vcpu->arch))
862 if (!kvm_mips_guest_has_msa(&vcpu->arch))
888 vcpu->arch.fpu_enabled = true;
891 vcpu->arch.msa_enabled = true;
1083 kvm_read_c0_guest_cause(&vcpu->arch.cop0) & C_TI;
1095 kvm_debug("\tpc = 0x%08lx\n", vcpu->arch.pc);
1096 kvm_debug("\texceptions: %08lx\n", vcpu->arch.pending_exceptions);
1100 vcpu->arch.gprs[i],
1101 vcpu->arch.gprs[i + 1],
1102 vcpu->arch.gprs[i + 2], vcpu->arch.gprs[i + 3]);
1104 kvm_debug("\thi: 0x%08lx\n", vcpu->arch.hi);
1105 kvm_debug("\tlo: 0x%08lx\n", vcpu->arch.lo);
1107 cop0 = &vcpu->arch.cop0;
1123 for (i = 1; i < ARRAY_SIZE(vcpu->arch.gprs); i++)
1124 vcpu->arch.gprs[i] = regs->gpr[i];
1125 vcpu->arch.gprs[0] = 0; /* zero is special, and cannot be set. */
1126 vcpu->arch.hi = regs->hi;
1127 vcpu->arch.lo = regs->lo;
1128 vcpu->arch.pc = regs->pc;
1140 for (i = 0; i < ARRAY_SIZE(vcpu->arch.gprs); i++)
1141 regs->gpr[i] = vcpu->arch.gprs[i];
1143 regs->hi = vcpu->arch.hi;
1144 regs->lo = vcpu->arch.lo;
1145 regs->pc = vcpu->arch.pc;
1174 u32 cause = vcpu->arch.host_cp0_cause;
1176 u32 __user *opc = (u32 __user *) vcpu->arch.pc;
1177 unsigned long badvaddr = vcpu->arch.host_cp0_badvaddr;
1229 cause, kvm_read_c0_guest_status(&vcpu->arch.cop0), opc,
1301 kvm_read_c0_guest_status(&vcpu->arch.cop0));
1349 if (kvm_mips_guest_has_fpu(&vcpu->arch) &&
1351 __kvm_restore_fcsr(&vcpu->arch);
1353 if (kvm_mips_guest_has_msa(&vcpu->arch) &&
1355 __kvm_restore_msacsr(&vcpu->arch);
1374 struct mips_coproc *cop0 = &vcpu->arch.cop0;
1388 vcpu->arch.aux_inuse & KVM_MIPS_AUX_MSA)
1403 if (!(vcpu->arch.aux_inuse & KVM_MIPS_AUX_FPU)) {
1404 __kvm_restore_fpu(&vcpu->arch);
1405 vcpu->arch.aux_inuse |= KVM_MIPS_AUX_FPU;
1418 struct mips_coproc *cop0 = &vcpu->arch.cop0;
1427 if (kvm_mips_guest_has_fpu(&vcpu->arch)) {
1435 (vcpu->arch.aux_inuse & (KVM_MIPS_AUX_FPU |
1450 switch (vcpu->arch.aux_inuse & (KVM_MIPS_AUX_FPU | KVM_MIPS_AUX_MSA)) {
1455 __kvm_restore_msa_upper(&vcpu->arch);
1456 vcpu->arch.aux_inuse |= KVM_MIPS_AUX_MSA;
1461 __kvm_restore_msa(&vcpu->arch);
1462 vcpu->arch.aux_inuse |= KVM_MIPS_AUX_MSA;
1463 if (kvm_mips_guest_has_fpu(&vcpu->arch))
1464 vcpu->arch.aux_inuse |= KVM_MIPS_AUX_FPU;
1481 if (cpu_has_msa && vcpu->arch.aux_inuse & KVM_MIPS_AUX_MSA) {
1484 vcpu->arch.aux_inuse &= ~KVM_MIPS_AUX_MSA;
1486 if (vcpu->arch.aux_inuse & KVM_MIPS_AUX_FPU) {
1489 vcpu->arch.aux_inuse &= ~KVM_MIPS_AUX_FPU;
1505 if (cpu_has_msa && vcpu->arch.aux_inuse & KVM_MIPS_AUX_MSA) {
1506 __kvm_save_msa(&vcpu->arch);
1511 if (vcpu->arch.aux_inuse & KVM_MIPS_AUX_FPU) {
1515 vcpu->arch.aux_inuse &= ~(KVM_MIPS_AUX_FPU | KVM_MIPS_AUX_MSA);
1516 } else if (vcpu->arch.aux_inuse & KVM_MIPS_AUX_FPU) {
1517 __kvm_save_fpu(&vcpu->arch);
1518 vcpu->arch.aux_inuse &= ~KVM_MIPS_AUX_FPU;