Howdy, all,
I'm experiencing something rather odd. My machine dies
on line 2956 of uart.c, which reads:
bdp->cbd_bufaddr = __pa(mem_addr);
The assembler instruction being executed is a
stw r0,4(r11)
R11 contains 0xFF002800.
If I let it run, and then look at the trace w/ my BDI
and gdb, I'm in a panic from what looks like a page fault.
My IMMR is setup for 0xFF00xxxx.
Can anyone make any suggestions on what to check out?
The BDI?
I'm using the main source from bitkeeper, linuxppc_2_4.
It just got patched for a Data TLB miss error.
Thanks in advance.
Regards,
Matt
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Gessner, Matt wrote:
I'm using the main source from bitkeeper, linuxppc_2_4.
It just got patched for a Data TLB miss error.
I'm finding lots of trouble with 8xx boards over the past couple of
days. Did this work before you applied the latest change sets?
I'm not too keen on this patch, as it (or some other software problem)
seem to be dependent on particular silicon revisions for success or failure.
Originally, the 8xx never managed "changed" indicators in the page tables
primarily due to tlb miss overhead. If a page was marked write enabled, it
was also marked "changed". This caused additional overhead for page sharing
but I think avoided some software and silicon bugs. Somewhere around 2.4.5 or
so we started using changed bits on the 8xx, and it has caused nothing but trouble.
The cache management instructions are particularly prone to weird behavior on
the different silicon revisions. I don't think any processor version ever has
met all of the cache fault (alignment, tlb miss/error, cache enabled, etc)
behavior as described in documentation.
There is more lacking than a few lines of assembler code in the tlb exception
handlers. I don't yet know what that is (but I intend to find it :-). Any
examples of success/failure would be appreciated, along with posting the details
of the processor mask.
Thanks.
-- Dan
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/