LOONGARCH_CSR_CRMD
: [mask] "r" (mask), [reg] "i" (LOONGARCH_CSR_CRMD)
: [mask] "r" (mask), [reg] "i" (LOONGARCH_CSR_CRMD)
: [mask] "r" (mask), [reg] "i" (LOONGARCH_CSR_CRMD)
: [mask] "r" (mask), [reg] "i" (LOONGARCH_CSR_CRMD)
: [reg] "i" (LOONGARCH_CSR_CRMD)
#define read_gcsr_crmd() gcsr_read(LOONGARCH_CSR_CRMD)
#define write_gcsr_crmd(val) gcsr_write(val, LOONGARCH_CSR_CRMD)
csrrd t0, LOONGARCH_CSR_CRMD
csrxchg t0, t0, LOONGARCH_CSR_CRMD
csrwr \temp, LOONGARCH_CSR_CRMD
__asm__ __volatile__(CSRRD_ONE_REG(LOONGARCH_CSR_CRMD) : "=r" (regs->csr_crmd));
enable = csr_read64(LOONGARCH_CSR_CRMD);
csr_write64(CSR_CRMD_WE | enable, LOONGARCH_CSR_CRMD);
csr_xchg32(0, CSR_CRMD_WE, LOONGARCH_CSR_CRMD);
csr_xchg32(0, CSR_CRMD_WE, LOONGARCH_CSR_CRMD);
csr_xchg32(activated ? CSR_CRMD_WE : 0, CSR_CRMD_WE, LOONGARCH_CSR_CRMD);
p->thread.csr_crmd = csr_read32(LOONGARCH_CSR_CRMD);
val = kvm_read_hw_gcsr(LOONGARCH_CSR_CRMD);
kvm_write_hw_gcsr(LOONGARCH_CSR_CRMD, val);
set_gcsr_hw_flag(LOONGARCH_CSR_CRMD);
kvm_write_sw_gcsr(csr, LOONGARCH_CSR_CRMD, CSR_CRMD_DA);
kvm_restore_hw_gcsr(csr, LOONGARCH_CSR_CRMD);
kvm_save_hw_gcsr(csr, LOONGARCH_CSR_CRMD);
val = gcsr_read(LOONGARCH_CSR_CRMD);
kvm_read_hw_gcsr(LOONGARCH_CSR_CRMD),
saved_crmd = csr_read32(LOONGARCH_CSR_CRMD);
csr_write32(saved_crmd, LOONGARCH_CSR_CRMD);
: [mask] "r" (mask), [reg] "i" (LOONGARCH_CSR_CRMD)
: [mask] "r" (mask), [reg] "i" (LOONGARCH_CSR_CRMD)
loongarch_set_csr(vcpu, LOONGARCH_CSR_CRMD, val);