Question regarding the DTLB Miss exceptions
Bruce_Leonard at selinc.com
Bruce_Leonard at selinc.com
Mon Apr 12 13:46:46 EST 2010
> >
> > It's checking to see if the following bits of DSISR are set:
> > 0 - set by DTLB miss if no hash table entry group is found
>
> No. 0 means we hit a direct store segment. This is a historical feature
> of the architecture which we don't use, so should not happen.
>
Sorry, would have helped if I had specified the processor; we're using an
MPC8347, so it's an e300c1 core. Also, my fat-fingering of the keyboard
got me on this one - bit 0 on the e300 should be cleared. I put in bit
1's definition by mistake in my last email.
> > 2 - an invalid bit
>
> Not sure what 2 is about.
Yeah, and that's the one I'm trying to figure out why the DTLB Miss on
Store exception code is setting before calling the DSI exception code :).
> > are set and calling it a "weird error". What the heck does that mean,
a
> > "weird error"?
>
> Nah. It's a bad name. It means it's an error that is either something we
> don't support (like direct store) or something that doesn't need to go
> through hash_page, such as a breakpoint match.
>
Thanks, that actually helps, knowing that what's being done is determining
reasons to call hash_page or not. Also knowing (which I suppose I should
have figured out earlier) that some of the bits in DSISR are not defined
for the e300c1 core but that the code is designed to support
implementations that DO define those bits helps make sense of what I'm
looking at.
>
> I missed the earlier discussion, what is your problem ?
>
Well, the problem I'm having is really irrelevant to the question at hand.
My original question to the list was "why is the DTLB Store Miss
exception setting bit two of the DSISR (an invalid bit according to the
architecture) before calling the DSI exception?".
Thanks for the explanations!
Bruce
More information about the Linuxppc-dev
mailing list