On 05/13/2014 01:21 PM, Stefan Kristiansson wrote:
> Ok, fair enough. The only reservation I have against implementing it
> fully in hardware,
> is that you are then forced to involve the SR[CID] connection back
> into not only the register file,
> but also into the MMU. (This is the heavy weightiness I've been
> speaking about earlier).
> 
> Otoh, there might be interest in the CID stuff for the MMU as well...

Ick... yes, maybe.  But this is probably a pretty big change to make...

> 
>> The problem is rather the way FCS is spec'ed:
>>
>> i)  We _do_ need to access user-context regs from exception-context
>> (apparently this is possible now...)
>>
>> ii) Nested exceptions really don't want to switch to a new register
>> file.. you really only want to switch between user-context regs and
>> supervisor context regs.
>>
>> I don't know if that's in the scope of FCS...
> 
> I think that should be possible to achieve by turning off the CE bit
> on userspace->kernel transition and turn it back on on
> kernel->userspace transition

OK, that's probably doable.

Try to keep in mind that whatever change we make needs to play
reasonably nicely with systems without FCS (given that it's optional)...
I see this going down the road of two substantially different codebases
selected by a config option that will need to be maintained.

Deciding that r30 and r31 be used as kernel-only regs (in the spirit of
mips k0 and k1) is something that works for _all_ implementations of
OR1K, even if it's an ABI break.

/Jonas
_______________________________________________
OpenRISC mailing list
[email protected]
http://lists.openrisc.net/listinfo/openrisc

Reply via email to