Lines Matching full:k1
48 #define K1 27 macro
224 /* k0/k1 not being used in host kernel context */ in kvm_mips_build_vcpu_run()
225 UASM_i_ADDIU(&p, K1, SP, -(int)sizeof(struct pt_regs)); in kvm_mips_build_vcpu_run()
229 UASM_i_SW(&p, i, offsetof(struct pt_regs, regs[i]), K1); in kvm_mips_build_vcpu_run()
234 UASM_i_SW(&p, V0, offsetof(struct pt_regs, cp0_status), K1); in kvm_mips_build_vcpu_run()
237 kvm_mips_build_save_scratch(&p, V1, K1); in kvm_mips_build_vcpu_run()
243 UASM_i_ADDIU(&p, K1, A0, offsetof(struct kvm_vcpu, arch)); in kvm_mips_build_vcpu_run()
249 UASM_i_SW(&p, SP, offsetof(struct kvm_vcpu_arch, host_stack), K1); in kvm_mips_build_vcpu_run()
252 UASM_i_SW(&p, GP, offsetof(struct kvm_vcpu_arch, host_gp), K1); in kvm_mips_build_vcpu_run()
263 UASM_i_LW(&p, K0, offsetof(struct kvm_vcpu_arch, guest_ebase), K1); in kvm_mips_build_vcpu_run()
305 UASM_i_LW(&p, T0, offsetof(struct kvm_vcpu_arch, pc), K1); in kvm_mips_build_enter_guest()
313 UASM_i_SW(&p, K0, offsetof(struct kvm_vcpu_arch, host_pgd), K1); in kvm_mips_build_enter_guest()
324 (int)offsetof(struct kvm_vcpu, arch), K1); in kvm_mips_build_enter_guest()
364 K1); in kvm_mips_build_enter_guest()
403 /* Guest k0/k1 loaded later */ in kvm_mips_build_enter_guest()
404 if (i == K0 || i == K1) in kvm_mips_build_enter_guest()
406 UASM_i_LW(&p, i, offsetof(struct kvm_vcpu_arch, gprs[i]), K1); in kvm_mips_build_enter_guest()
411 UASM_i_LW(&p, K0, offsetof(struct kvm_vcpu_arch, hi), K1); in kvm_mips_build_enter_guest()
414 UASM_i_LW(&p, K0, offsetof(struct kvm_vcpu_arch, lo), K1); in kvm_mips_build_enter_guest()
418 /* Restore the guest's k0/k1 registers */ in kvm_mips_build_enter_guest()
419 UASM_i_LW(&p, K0, offsetof(struct kvm_vcpu_arch, gprs[K0]), K1); in kvm_mips_build_enter_guest()
420 UASM_i_LW(&p, K1, offsetof(struct kvm_vcpu_arch, gprs[K1]), K1); in kvm_mips_build_enter_guest()
452 /* Save guest k1 into scratch register */ in kvm_mips_build_tlb_refill_exception()
453 UASM_i_MTC0(&p, K1, scratch_tmp[0], scratch_tmp[1]); in kvm_mips_build_tlb_refill_exception()
456 UASM_i_MFC0(&p, K1, scratch_vcpu[0], scratch_vcpu[1]); in kvm_mips_build_tlb_refill_exception()
459 UASM_i_SW(&p, K0, offsetof(struct kvm_vcpu, arch.gprs[K0]), K1); in kvm_mips_build_tlb_refill_exception()
468 UASM_i_MFC0(&p, K1, C0_PGD); in kvm_mips_build_tlb_refill_exception()
469 uasm_i_lddir(&p, K0, K1, 3); /* global page dir */ in kvm_mips_build_tlb_refill_exception()
471 uasm_i_lddir(&p, K1, K0, 1); /* middle page dir */ in kvm_mips_build_tlb_refill_exception()
473 uasm_i_ldpte(&p, K1, 0); /* even */ in kvm_mips_build_tlb_refill_exception()
474 uasm_i_ldpte(&p, K1, 1); /* odd */ in kvm_mips_build_tlb_refill_exception()
489 build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */ in kvm_mips_build_tlb_refill_exception()
491 build_get_pgde32(&p, K0, K1); /* get pgd in K1 */ in kvm_mips_build_tlb_refill_exception()
496 build_get_ptep(&p, K0, K1); in kvm_mips_build_tlb_refill_exception()
497 build_update_entries(&p, K0, K1); in kvm_mips_build_tlb_refill_exception()
504 UASM_i_MFC0(&p, K1, scratch_vcpu[0], scratch_vcpu[1]); in kvm_mips_build_tlb_refill_exception()
506 /* Restore the guest's k0/k1 registers */ in kvm_mips_build_tlb_refill_exception()
507 UASM_i_LW(&p, K0, offsetof(struct kvm_vcpu, arch.gprs[K0]), K1); in kvm_mips_build_tlb_refill_exception()
509 UASM_i_MFC0(&p, K1, scratch_tmp[0], scratch_tmp[1]); in kvm_mips_build_tlb_refill_exception()
538 /* Save guest k1 into scratch register */ in kvm_mips_build_exception()
539 UASM_i_MTC0(&p, K1, scratch_tmp[0], scratch_tmp[1]); in kvm_mips_build_exception()
542 UASM_i_MFC0(&p, K1, scratch_vcpu[0], scratch_vcpu[1]); in kvm_mips_build_exception()
543 UASM_i_ADDIU(&p, K1, K1, offsetof(struct kvm_vcpu, arch)); in kvm_mips_build_exception()
546 UASM_i_SW(&p, K0, offsetof(struct kvm_vcpu_arch, gprs[K0]), K1); in kvm_mips_build_exception()
585 * Both k0/k1 registers will have already been saved (k0 into the vcpu in kvm_mips_build_exit()
586 * structure, and k1 into the scratch_tmp register). in kvm_mips_build_exit()
588 * The k1 register will already contain the kvm_vcpu_arch pointer. in kvm_mips_build_exit()
593 /* Guest k0/k1 saved later */ in kvm_mips_build_exit()
594 if (i == K0 || i == K1) in kvm_mips_build_exit()
596 UASM_i_SW(&p, i, offsetof(struct kvm_vcpu_arch, gprs[i]), K1); in kvm_mips_build_exit()
602 UASM_i_SW(&p, T0, offsetof(struct kvm_vcpu_arch, hi), K1); in kvm_mips_build_exit()
605 UASM_i_SW(&p, T0, offsetof(struct kvm_vcpu_arch, lo), K1); in kvm_mips_build_exit()
608 /* Finally save guest k1 to VCPU */ in kvm_mips_build_exit()
611 UASM_i_SW(&p, T0, offsetof(struct kvm_vcpu_arch, gprs[K1]), K1); in kvm_mips_build_exit()
623 UASM_i_SW(&p, K0, offsetof(struct kvm_vcpu_arch, pc), K1); in kvm_mips_build_exit()
627 K1); in kvm_mips_build_exit()
630 uasm_i_sw(&p, K0, offsetof(struct kvm_vcpu_arch, host_cp0_cause), K1); in kvm_mips_build_exit()
635 host_cp0_badinstr), K1); in kvm_mips_build_exit()
641 host_cp0_badinstrp), K1); in kvm_mips_build_exit()
671 K1); in kvm_mips_build_exit()
687 K1); in kvm_mips_build_exit()
695 K1); in kvm_mips_build_exit()
706 offsetof(struct kvm_vcpu_arch, host_pgd), K1); in kvm_mips_build_exit()
722 offsetof(struct kvm_vcpu_arch, host_cp0_guestctl0), K1); in kvm_mips_build_exit()
748 UASM_i_LW(&p, GP, offsetof(struct kvm_vcpu_arch, host_gp), K1); in kvm_mips_build_exit()
751 UASM_i_LW(&p, SP, offsetof(struct kvm_vcpu_arch, host_stack), K1); in kvm_mips_build_exit()
812 * XXXKYMA: k0/k1 could have been blown away if we processed in kvm_mips_build_ret_from_exit()
814 * guest, reload k1 in kvm_mips_build_ret_from_exit()
817 uasm_i_move(&p, K1, S0); in kvm_mips_build_ret_from_exit()
818 UASM_i_ADDIU(&p, K1, K1, offsetof(struct kvm_vcpu, arch)); in kvm_mips_build_ret_from_exit()
855 UASM_i_LW(&p, T0, offsetof(struct kvm_vcpu_arch, guest_ebase), K1); in kvm_mips_build_ret_to_guest()
893 UASM_i_LW(&p, K1, offsetof(struct kvm_vcpu_arch, host_stack), K1); in kvm_mips_build_ret_to_host()
894 UASM_i_ADDIU(&p, K1, K1, -(int)sizeof(struct pt_regs)); in kvm_mips_build_ret_to_host()
907 UASM_i_LW(&p, i, offsetof(struct pt_regs, regs[i]), K1); in kvm_mips_build_ret_to_host()
916 UASM_i_LW(&p, RA, offsetof(struct pt_regs, regs[RA]), K1); in kvm_mips_build_ret_to_host()