Lines Matching refs:cop0

108 #define KVM_GUEST_KERNEL_MODE(vcpu)	((kvm_read_c0_guest_status(vcpu->arch.cop0) & (ST0_EXL | ST0_ERL)) || \
109 ((kvm_read_c0_guest_status(vcpu->arch.cop0) & KSU_USER) == 0))
372 struct mips_coproc *cop0;
503 static inline __KVMT##type kvm_read_sw_gc0_##name(struct mips_coproc *cop0) \
505 return cop0->reg[(_reg)][(sel)]; \
507 static inline void kvm_write_sw_gc0_##name(struct mips_coproc *cop0, \
510 cop0->reg[(_reg)][(sel)] = val; \
515 static inline void kvm_set_sw_gc0_##name(struct mips_coproc *cop0, \
518 cop0->reg[(_reg)][(sel)] |= val; \
520 static inline void kvm_clear_sw_gc0_##name(struct mips_coproc *cop0, \
523 cop0->reg[(_reg)][(sel)] &= ~val; \
525 static inline void kvm_change_sw_gc0_##name(struct mips_coproc *cop0, \
530 cop0->reg[(_reg)][(sel)] &= ~_mask; \
531 cop0->reg[(_reg)][(sel)] |= val & _mask; \
536 static inline void kvm_set_sw_gc0_##name(struct mips_coproc *cop0, \
539 _kvm_atomic_set_c0_guest_reg(&cop0->reg[(_reg)][(sel)], val); \
541 static inline void kvm_clear_sw_gc0_##name(struct mips_coproc *cop0, \
544 _kvm_atomic_clear_c0_guest_reg(&cop0->reg[(_reg)][(sel)], val); \
546 static inline void kvm_change_sw_gc0_##name(struct mips_coproc *cop0, \
550 _kvm_atomic_change_c0_guest_reg(&cop0->reg[(_reg)][(sel)], mask, \
561 static inline __KVMT##type kvm_read_vz_gc0_##name(struct mips_coproc *cop0) \
565 static inline void kvm_write_vz_gc0_##name(struct mips_coproc *cop0, \
573 static inline void kvm_set_vz_gc0_##name(struct mips_coproc *cop0, \
578 static inline void kvm_clear_vz_gc0_##name(struct mips_coproc *cop0, \
583 static inline void kvm_change_vz_gc0_##name(struct mips_coproc *cop0, \
592 static inline void kvm_restore_gc0_##name(struct mips_coproc *cop0) \
594 write_gc0_##name(cop0->reg[(_reg)][(sel)]); \
596 static inline void kvm_save_gc0_##name(struct mips_coproc *cop0) \
598 cop0->reg[(_reg)][(sel)] = read_gc0_##name(); \
608 static inline __KVMT##type kvm_read_##name1(struct mips_coproc *cop0) \
610 return kvm_read_##name2(cop0); \
612 static inline void kvm_write_##name1(struct mips_coproc *cop0, \
615 kvm_write_##name2(cop0, val); \
620 static inline void kvm_set_##name1(struct mips_coproc *cop0, \
623 kvm_set_##name2(cop0, val); \
625 static inline void kvm_clear_##name1(struct mips_coproc *cop0, \
628 kvm_clear_##name2(cop0, val); \
630 static inline void kvm_change_##name1(struct mips_coproc *cop0, \
634 kvm_change_##name2(cop0, mask, val); \
783 kvm_read_c0_guest_config1(vcpu->cop0) & MIPS_CONF1_FP;
795 kvm_read_c0_guest_config3(vcpu->cop0) & MIPS_CONF3_MSA;