Lines Matching refs:csr
14 #define gcsr_read(csr) \
20 : [reg] "i" (csr) \
25 #define gcsr_write(v, csr) \
31 : [reg] "i" (csr) \
35 #define gcsr_xchg(v, m, csr) \
41 : [mask] "r" (m), [reg] "i" (csr) \
181 #define kvm_save_hw_gcsr(csr, gid) (csr->csrs[gid] = gcsr_read(gid))
182 #define kvm_restore_hw_gcsr(csr, gid) (gcsr_write(csr->csrs[gid], gid))
186 static __always_inline unsigned long kvm_read_sw_gcsr(struct loongarch_csrs *csr, int gid)
188 return csr->csrs[gid];
191 static __always_inline void kvm_write_sw_gcsr(struct loongarch_csrs *csr, int gid, unsigned long val)
193 csr->csrs[gid] = val;
196 static __always_inline void kvm_set_sw_gcsr(struct loongarch_csrs *csr,
199 csr->csrs[gid] |= val;
202 static __always_inline void kvm_change_sw_gcsr(struct loongarch_csrs *csr,
207 csr->csrs[gid] &= ~_mask;
208 csr->csrs[gid] |= val & _mask;