On Sun, Dec 2, 2012 at 12:11 PM, Julius Baxter <[email protected]> wrote: > Hi all > > I'm preparing what will hopefully be a pretty final draft for the 1.0 > spec release. I have come up with a few more points I wouldn't mind > getting comment on. > > 1. Accessing SPRs with insufficient privileges > > I reckon accessing SPRs which are only accessible in supervisor mode, > while in user mode, should basically do nothing - writing should > behave like a l.nop and reading should return zero, as if the SPR is > unimplemented.
This is a bad idea. You want to make the processor fully virtualizable. This requires the ability for a hypervisor to interpose on an unmodified operating system. For this to work, the hypervisor changes the operating system privilege to 0 (user mode) and when the operating system accesses or modifies privileged state, an exception triggers and the hypervisor takes over. With your proposal, the hypervisor would never know and the system would collapse. I suggest using a illegal instruction exception. In general, I am not of fan of hardware imposed failure oblivious computing. That is a choice software should make. ---Matthew Hicks _______________________________________________ OpenRISC mailing list [email protected] http://lists.openrisc.net/listinfo/openrisc
