We are currently working with the HiFive Rev B board. While going through the SiFive FE310-G002 Manual, we came across some Reserved memory spaces in the FE310-G002 Memory Map. There are also reserved spaces in other registers as well (for e.g. the
Looking through the documentation I could not figure out what these were used for. It is probably because I’m not sure what I am looking for. Can someone kindly help me understand what these are used for? Or point me in the right direction where I can find the information? Thanks!
Reserved spaces in the address map are simply locations where no memory or peripheral has been implemented. The FE310 has a 32-bit address space which supports 4GB, but much of it goes unused as it only has a 512MB flash and 16KB of DTIM. Any access to a Reserved location should generate a load or store access fault.
You might find Reserved bits in a register if all 32 bits of the register are not required. For instance, the PLIC’s Interrupt Priority Registers are 32-bit, but there are only 3 bits of interrupt priority on the FE310. So the upper 29 bits of the priority registers are marked Reserved as they aren’t implemented.
mstatus register is defined in the RISC-V Privileged Specification. Current functionality doesn’t require all 32 bits of the register, so unused bits are simply Reserved for future use.