nacl_csr_read
__r = nacl_csr_read(nacl_shmem(), __csr); \
csr->vsiselect = nacl_csr_read(nsh, CSR_VSISELECT);
csr->hviprio1 = nacl_csr_read(nsh, CSR_HVIPRIO1);
csr->hviprio2 = nacl_csr_read(nsh, CSR_HVIPRIO2);
csr->vsieh = nacl_csr_read(nsh, CSR_VSIEH);
csr->hviph = nacl_csr_read(nsh, CSR_HVIPH);
csr->hviprio1h = nacl_csr_read(nsh, CSR_HVIPRIO1H);
csr->hviprio2h = nacl_csr_read(nsh, CSR_HVIPRIO2H);
csr->vsstatus = nacl_csr_read(nsh, CSR_VSSTATUS);
csr->vsie = nacl_csr_read(nsh, CSR_VSIE);
csr->vstvec = nacl_csr_read(nsh, CSR_VSTVEC);
csr->vsscratch = nacl_csr_read(nsh, CSR_VSSCRATCH);
csr->vsepc = nacl_csr_read(nsh, CSR_VSEPC);
csr->vscause = nacl_csr_read(nsh, CSR_VSCAUSE);
csr->vstval = nacl_csr_read(nsh, CSR_VSTVAL);
csr->hvip = nacl_csr_read(nsh, CSR_HVIP);
csr->vsatp = nacl_csr_read(nsh, CSR_VSATP);
nacl_csr_read(nsh, CSR_HSTATUS);
trap->htval = nacl_csr_read(nsh, CSR_HTVAL);
trap->htinst = nacl_csr_read(nsh, CSR_HTINST);