A system that does not implement Zicsr is free to design its own crazy
and independent way to handle interrupts, exceptions, and the like.
Consider the commentary at the beginning of the privileged spec which
notes that it was designed in such a way that the entire privileged
spec could be redesigned without changing the unprivileged spec. I
interpret the Zicsr extension the same way: if you want to handle
status registers in a way that is compatible with the rest of the
RISC-V ecosystem, you should use the standard CSR instructions. But if
you're doing an experimental architecture that handles global chip
state differently, you have the option of cleanly splitting the CSR
instructions off from the rest of the RISC-V base instructions while
still calling your core RV64I-compatible.
So a design that doesn't implement Zicsr isn't necessarily one that
doesn't have exception handlers or any chip-global state; it should
really be thought of as a design with nonstandard exception handlers
and nonstandard means of reading and setting chip-global state. As
such, the details would be documented on a chip-by-chip basis, since
the official RISC-V specifications are focused on standardization.
Anthony