Thread (5 messages) 5 messages, 2 authors, 2005-01-31

Re: 8xx bus monitoring

From: Pantelis Antoniou <hidden>
Date: 2005-01-31 07:15:12

Robin Gilks wrote:
Pantelis Antoniou wrote:
quoted
Robin Gilks wrote:
quoted
Greetings

System is a MPC859 based controller.

I'm trying to determine whether a peripheral is not responding to 
memory fetches by using the bus monitor feature on the Transfer 
Acknowledge (TA) signal. This is set to the maximum count in the Bus 
Monitor Timeout (BMT) in the System Protect Control Register (SYPCR). 
The monitoring is enabled by setting the Bus Monitor Enable (BME) bit 
in SYPCR as well.

I understand that I can use the Transfer Error Status Register (TESR) 
to read the fact that I have had a timeout by checking the Data 
Transfer Monitor Timeout (DTMT) bit in this register.

The problem is, how do I know any error has occured so I know to look 
at  the TESR. I can't see a way of generating an exception from this 
condition.

Any help appreciated.
You get a machine check exception.

It's pretty obvious then :)
Using a 2.4.22 based kernel, as far as I can see a machine check should 
be trapped (its only allowed to cause a reset in the reboot code I 
think). Assuming I got it right and it really is trapped, how come I 
always get a reset:-((

Any pointers to the code that does setup for causing an exception 
(rather than reset) would be appreciated.
Check the MSR register at the time of the access.
Is RI set? If not instead of an exception you get a reset...

Regards

Pantelis
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help