> If I understand you correctly - you want something which lets you set
> a post-power-on-reset reset exception address prefix? And the reason
> is that during your next boot (after some other kind of reset, but not
> power-on-reset) you could get an exception and it shouldn't be handled
> by the power-on-reset exception handler?
>
> This, then, can be used to detect issues on non-power-on-reset, I
> guess? (If I've misunderstood this, disregard the following.)
>
> [Pekon]: I'm sorry.. but probably you misunderstood.
what is required is to have configurable exception_vector_base_address (at
synthesis), for all exceptions, right from reset. So that user can re-route
exception_vectors to any memory-map (like external flash/ROM, where small
sub-set of critical exception_vectors are kept).
This is needed because, exceptions can occur just after reset, even before
the S/W program could explicitly write exception_vector_base_addr
register.Thus using parameter for reset-value of exception_vector_base_addr
would be good.
(though this can be done while OR1200 integration also, by re-routing
0x0000 address to desired address, but its cleaner to have a parameter
instead)



> So, I presume we need just an optional POR exception prefix
> configurable at synthesis time via a parameter (both its presence and
> its address.)
>
> POR reset code should probably then have to enable a bit somewhere to
> start using the post-POR exception prefix register for any subsequent
> non-POR resets?
>
> Perhaps this is neater than putting this outside the CPU (making it a
> feature of the system instead), someting like a set-on-POR enable on
> the bus that redirects to a ROM which is then disabled after the first
> reset code has been run and subsequent resets then go to the
> non-POR-ROM code.
>

It ultimately sounds like useful behaviour, and although I guess being
> tricky to implement, would help very early bring up debugging.
>
>
[Pekon]: Above can be done more easily in POR_reset_exeception S/W code
than in H/W by just watching a POR resettable bit outside OR1200. (but this
was not the intention of request..)
If (bit==0) then  set bit = 1 and continue reset_exception.
else  jump to debugging code.


with regards, pekon
_______________________________________________
OpenRISC mailing list
[email protected]
http://lists.openrisc.net/listinfo/openrisc

Reply via email to