Am 2013-12-17 06:47, schrieb Toru Nishimura:
Hi,

My impression is it'd be not a good idea to hold ASID value or other TLB control stuff in PSW. I do understand what MIPS eret insn, which happens be the very same name in LM32, does. eret "return from exception" should have nothing to do with TLB runtime. Then your trouble is made by a design
mistake to combine ASID / TLB with PSW management.

I would propose to extend LM32 rcsr/wcsr insns to have a lot more custom CSR registers. LM32 has only 5bit for CSR. 5 bit is away too small. Other
CPUs have much more space to have control registers, e.g., PPC allows
beyond 1024 SPRs (special purpose registers) which is in turn an infamous reason why IBM PPC and Moto PPC have similar-but-different-in-detail SPRs
in parallel :-{

xrcsr (r31 = 1.1111) to mark extention; use LSB field for custom CSRs. xwcsr (r31 = 1.1111) to mark extention; use LSB field for custom CSRs.


Hi,

that may be a good idea, but you don't explain why you think it is bad to combine TLB enables with the interrupt enables.

By design, the TLB is turned off on any exception. To save cycles in the exception handlers, we introduced the PSW which mirrors the IE bits and includes the TLB control stuff (origninally only the enable bits). In this case we only have to save and restore the PSW.

-michael
_______________________________________________
Devel mailing list
Devel@lists.milkymist.org
https://ssl.serverraum.org/lists/listinfo/devel

Reply via email to