* [ECOS] ixp425 pci accesses crash in redboot
@ 2009-09-30 16:11 Daniel Nilsson
2009-09-30 23:54 ` Kurt Siedenburg
0 siblings, 1 reply; 2+ messages in thread
From: Daniel Nilsson @ 2009-09-30 16:11 UTC (permalink / raw)
To: ecos-discuss
I am using a IXP425 and a custom PCI target device,
The device enumeration and configuration all go well in redboot, but
sometimes (one in 200 reboots or so) I get a data abort exception that
ends up in the GDB stubs when I try to read from the PCI device using
PCI Memory Window transactions (reading/writing to/from
(0x49000000+offset)). I I get past this stage, the unit will stay up
forever happily serving PCI access. Only the reboots are dangerous.
When this happens, I have used gdb to read the pci configuration
parameters from the PCI target controller (0xC0000000 ->), and all is
as it should be (except that the PCI fatal error flag is raised) .
What I wonder is what can cause this behaviour, and how I should
handle it. Can this be caused by my PCI device doing an abort, by some
MMU/cache setting in the IXP425 or similar?
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
^ permalink raw reply [flat|nested] 2+ messages in thread
* RE: [ECOS] ixp425 pci accesses crash in redboot
2009-09-30 16:11 [ECOS] ixp425 pci accesses crash in redboot Daniel Nilsson
@ 2009-09-30 23:54 ` Kurt Siedenburg
0 siblings, 0 replies; 2+ messages in thread
From: Kurt Siedenburg @ 2009-09-30 23:54 UTC (permalink / raw)
To: Daniel Nilsson, ecos-discuss
>I am using a IXP425 and a custom PCI target device,
>
>The device enumeration and configuration all go well in redboot, but
>sometimes (one in 200 reboots or so) I get a data abort exception that
>ends up in the GDB stubs when I try to read from the PCI device using
>PCI Memory Window transactions (reading/writing to/from
>(0x49000000+offset)). I I get past this stage, the unit will stay up
>forever happily serving PCI access. Only the reboots are dangerous.
>
>When this happens, I have used gdb to read the pci configuration
>parameters from the PCI target controller (0xC0000000 ->), and all is
>as it should be (except that the PCI fatal error flag is raised) .
>What I wonder is what can cause this behaviour, and how I should
>handle it. Can this be caused by my PCI device doing an abort, by some
>MMU/cache setting in the IXP425 or similar?
I don't have experience with the IXP425 in particular - only with other
IO processors of the same family.
Likely candidates are:
- your device doing a target abort.
- your code accessing a non-existing device - causing a master abort.
- your code accessing your device when it's not ready yet - also
resulting in a master abort.
- If your device can also act as a bus master ... some nasty things
might happen if it already acts as a bus master but your central chip
isn't set up for bus mastering (yet).
The data abort exception itself might also tell you a little more:
- If it's a precise abort the first 3 candidates are more likely.
- If it's an imprecise abort the last candidate might be more likely.
The PCI error registers might contain more detailed info.
The ultimate way to find out: hook up a PCI Bus (or Logic) Analyzer and
see what causes the fatal PCI error.
If you have to deal with those fatal PCI errors: setup your own
exception handler that tells your PCI initialization code such a beast
has occurred. (That's what I did: I have plug'n'play code. And
candidate 2 shows up whenever a device is not present.)
MMU / cache settings I consider less likely. If those are wrong I'd
expect you to see more trouble.
Kurt
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-09-30 23:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-30 16:11 [ECOS] ixp425 pci accesses crash in redboot Daniel Nilsson
2009-09-30 23:54 ` Kurt Siedenburg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).