Hello
I am trying to capture the faulting address when a DataTLBError exception occurs. So in my head_440.S, I added a "bl" instruction , unfortunately it cause a Panic. Here's how I did it
processor: PPC 440
linux version: 2.4.20
in head_440.S
Quote:
/* Data TLB Error Interrupt */
START_EXCEPTION(DataTLBError)
mtspr SPRG0, r20 /* Save some working registers */
mtspr SPRG1, r21
mtspr SPRG4W, r22
mtspr SPRG5W, r23
mtspr SPRG6W, r24
mfcr r21
mtspr SPRG7W, r21
mfspr r20, SPRN_DEAR /* Get
faulting address */
/*Add Start*/
mr r3, r20
bl do_something
/*Add End*/
|
do_something is a function written in C, actually inside the function, we just displayed the value to be able to monitor the faulting address. But somehow, Opps was still generated.
Is there another way to monitor the faulting address?
please... i am out of my mind debugging this