Dumping all the DMA physical addresses via debug prints might be a good
point to start from. Maybe you can identify something that looks odd.
Most of the DMA related hangs I’ve seen with prototype hardware were related
to erratas in the ASICs and a logic analyser does indeed help a lot there.
Klaus
-----Urspr?ngliche Nachricht-----
Von: xxxxx@3Dlabs.com [mailto:xxxxx@3Dlabs.com]
Gesendet: Donnerstag, 29. April 2004 18:19
An: Windows System Software Devs Interest List
Betreff: RE: [ntdev] Windows dies after several DMA operations
If you can’t break in with WinDBG, it’s most likely that the PCI bus is
locked up (i.e. hardware failure). Technically it would be possible for the
CPU to continue to operate after the PCI bus is locked up (as long as the
cause of the lock wasn’t the CPU), but sooner or later, the CPU will most
likely try to access the PCI bus (if not sooner, when it tries to fetch the
packet from serial port that is sent when you try to break in with WinDBG…
;-).
Hard to debug these unless you have some sort of logic analyzer type device
that you can hook up to the PCI bus. A dedicated PCI bus analyzer is of
course the best option, as it’s going to tell you what everything means in a
better way than a generic logic analyzer, but as long as you (or some
collegue) have some understanding of how the PCI bus works, you should be
able to analyze it with a simple logic analyzer, as long as it’s capable of
analyzing 33MHz or more. You don’t need all the address and data pins to
figure out things, just a dozen or two will do. [In fact, you can probably
get away with using a 4 probe 'scope if you’re really clever and desperate,
but a few hundred dollars worth of instrument rental should be able to get
you a LA that will give you plenty more info]. I’m not an expert on PCI, but
I’ve worked with some people who are/were, and it’s not TOO complicated to
figure out what the access that hung the system is…
–
Mats
-----Original Message-----
From: xxxxx@exgate.tek.com
[mailto:xxxxx@exgate.tek.com]
Sent: Thursday, April 29, 2004 4:58 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Windows dies after several DMA operationsPlease forgive me if it is not appropriate to ask such as
question over
here.I developed a driver to manage the DMA operation. In my DMA
system, there
have 3 devices involved: PLX 9056 on PCI, local device, and a
FPGA device in
between. The driver is developed based on PLX SDK 4.1, but we
only support
Scatter/Gather List DMA with demand mode. The DMA operation works fine
initially, but after several tries (10 - 100 times), Windows
is totally
locked up. I even can’t break in from the remote kernel
debugger (WinDbg).
The place where Windows dies is kind of random. Also, it is
easier to die
when the DMA size is big like 10MB or more.The advice I am seeking is, what should I do to isolate the
problem? What
may cause Windows to lockup, software or likely hardware?Thanks,
zhong
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@3dlabs.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@ati.com
To unsubscribe send a blank email to xxxxx@lists.osr.com