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()
314 UASM_i_SW(&p, K0, offsetof(struct kvm_vcpu_arch, host_pgd), K1); in kvm_mips_build_enter_guest()
325 (int)offsetof(struct kvm_vcpu, arch), K1); in kvm_mips_build_enter_guest()
365 K1); in kvm_mips_build_enter_guest()
372 UASM_i_LW(&p, T0, offsetof(struct kvm_vcpu_arch, cop0), K1); in kvm_mips_build_enter_guest()
378 UASM_i_ADDIU(&p, T1, K1, offsetof(struct kvm_vcpu_arch, in kvm_mips_build_enter_guest()
381 UASM_i_ADDIU(&p, T1, K1, offsetof(struct kvm_vcpu_arch, in kvm_mips_build_enter_guest()
434 /* Guest k0/k1 loaded later */ in kvm_mips_build_enter_guest()
435 if (i == K0 || i == K1) in kvm_mips_build_enter_guest()
437 UASM_i_LW(&p, i, offsetof(struct kvm_vcpu_arch, gprs[i]), K1); in kvm_mips_build_enter_guest()
442 UASM_i_LW(&p, K0, offsetof(struct kvm_vcpu_arch, hi), K1); in kvm_mips_build_enter_guest()
445 UASM_i_LW(&p, K0, offsetof(struct kvm_vcpu_arch, lo), K1); in kvm_mips_build_enter_guest()
449 /* Restore the guest's k0/k1 registers */ in kvm_mips_build_enter_guest()
450 UASM_i_LW(&p, K0, offsetof(struct kvm_vcpu_arch, gprs[K0]), K1); in kvm_mips_build_enter_guest()
451 UASM_i_LW(&p, K1, offsetof(struct kvm_vcpu_arch, gprs[K1]), K1); in kvm_mips_build_enter_guest()
483 /* Save guest k1 into scratch register */ in kvm_mips_build_tlb_refill_exception()
484 UASM_i_MTC0(&p, K1, scratch_tmp[0], scratch_tmp[1]); in kvm_mips_build_tlb_refill_exception()
487 UASM_i_MFC0(&p, K1, scratch_vcpu[0], scratch_vcpu[1]); in kvm_mips_build_tlb_refill_exception()
490 UASM_i_SW(&p, K0, offsetof(struct kvm_vcpu, arch.gprs[K0]), K1); in kvm_mips_build_tlb_refill_exception()
499 UASM_i_MFC0(&p, K1, C0_PGD); in kvm_mips_build_tlb_refill_exception()
500 uasm_i_lddir(&p, K0, K1, 3); /* global page dir */ in kvm_mips_build_tlb_refill_exception()
502 uasm_i_lddir(&p, K1, K0, 1); /* middle page dir */ in kvm_mips_build_tlb_refill_exception()
504 uasm_i_ldpte(&p, K1, 0); /* even */ in kvm_mips_build_tlb_refill_exception()
505 uasm_i_ldpte(&p, K1, 1); /* odd */ in kvm_mips_build_tlb_refill_exception()
520 build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */ in kvm_mips_build_tlb_refill_exception()
522 build_get_pgde32(&p, K0, K1); /* get pgd in K1 */ in kvm_mips_build_tlb_refill_exception()
527 build_get_ptep(&p, K0, K1); in kvm_mips_build_tlb_refill_exception()
528 build_update_entries(&p, K0, K1); in kvm_mips_build_tlb_refill_exception()
535 UASM_i_MFC0(&p, K1, scratch_vcpu[0], scratch_vcpu[1]); in kvm_mips_build_tlb_refill_exception()
537 /* Restore the guest's k0/k1 registers */ in kvm_mips_build_tlb_refill_exception()
538 UASM_i_LW(&p, K0, offsetof(struct kvm_vcpu, arch.gprs[K0]), K1); in kvm_mips_build_tlb_refill_exception()
540 UASM_i_MFC0(&p, K1, scratch_tmp[0], scratch_tmp[1]); in kvm_mips_build_tlb_refill_exception()
569 /* Save guest k1 into scratch register */ in kvm_mips_build_exception()
570 UASM_i_MTC0(&p, K1, scratch_tmp[0], scratch_tmp[1]); in kvm_mips_build_exception()
573 UASM_i_MFC0(&p, K1, scratch_vcpu[0], scratch_vcpu[1]); in kvm_mips_build_exception()
574 UASM_i_ADDIU(&p, K1, K1, offsetof(struct kvm_vcpu, arch)); in kvm_mips_build_exception()
577 UASM_i_SW(&p, K0, offsetof(struct kvm_vcpu_arch, gprs[K0]), K1); in kvm_mips_build_exception()
616 * Both k0/k1 registers will have already been saved (k0 into the vcpu in kvm_mips_build_exit()
617 * structure, and k1 into the scratch_tmp register). in kvm_mips_build_exit()
619 * The k1 register will already contain the kvm_vcpu_arch pointer. in kvm_mips_build_exit()
624 /* Guest k0/k1 saved later */ in kvm_mips_build_exit()
625 if (i == K0 || i == K1) in kvm_mips_build_exit()
627 UASM_i_SW(&p, i, offsetof(struct kvm_vcpu_arch, gprs[i]), K1); in kvm_mips_build_exit()
633 UASM_i_SW(&p, T0, offsetof(struct kvm_vcpu_arch, hi), K1); in kvm_mips_build_exit()
636 UASM_i_SW(&p, T0, offsetof(struct kvm_vcpu_arch, lo), K1); in kvm_mips_build_exit()
639 /* Finally save guest k1 to VCPU */ in kvm_mips_build_exit()
642 UASM_i_SW(&p, T0, offsetof(struct kvm_vcpu_arch, gprs[K1]), K1); in kvm_mips_build_exit()
654 UASM_i_SW(&p, K0, offsetof(struct kvm_vcpu_arch, pc), K1); in kvm_mips_build_exit()
658 K1); in kvm_mips_build_exit()
661 uasm_i_sw(&p, K0, offsetof(struct kvm_vcpu_arch, host_cp0_cause), K1); in kvm_mips_build_exit()
666 host_cp0_badinstr), K1); in kvm_mips_build_exit()
672 host_cp0_badinstrp), K1); in kvm_mips_build_exit()
702 K1); in kvm_mips_build_exit()
718 K1); in kvm_mips_build_exit()
727 K1); in kvm_mips_build_exit()
738 offsetof(struct kvm_vcpu_arch, host_pgd), K1); in kvm_mips_build_exit()
754 offsetof(struct kvm_vcpu_arch, host_cp0_guestctl0), K1); in kvm_mips_build_exit()
781 UASM_i_LW(&p, GP, offsetof(struct kvm_vcpu_arch, host_gp), K1); in kvm_mips_build_exit()
784 UASM_i_LW(&p, SP, offsetof(struct kvm_vcpu_arch, host_stack), K1); in kvm_mips_build_exit()
845 * XXXKYMA: k0/k1 could have been blown away if we processed in kvm_mips_build_ret_from_exit()
847 * guest, reload k1 in kvm_mips_build_ret_from_exit()
850 uasm_i_move(&p, K1, S0); in kvm_mips_build_ret_from_exit()
851 UASM_i_ADDIU(&p, K1, K1, offsetof(struct kvm_vcpu, arch)); in kvm_mips_build_ret_from_exit()
888 UASM_i_LW(&p, T0, offsetof(struct kvm_vcpu_arch, guest_ebase), K1); in kvm_mips_build_ret_to_guest()
926 UASM_i_LW(&p, K1, offsetof(struct kvm_vcpu_arch, host_stack), K1); in kvm_mips_build_ret_to_host()
927 UASM_i_ADDIU(&p, K1, K1, -(int)sizeof(struct pt_regs)); in kvm_mips_build_ret_to_host()
940 UASM_i_LW(&p, i, offsetof(struct pt_regs, regs[i]), K1); in kvm_mips_build_ret_to_host()
949 UASM_i_LW(&p, RA, offsetof(struct pt_regs, regs[RA]), K1); in kvm_mips_build_ret_to_host()