Re: PCI bus operations and driver design
From: Dwight Holman (dwight.holman.SPAM_at_xtra.co.nz)
Date: 10/05/04
- Next message: nospam_at_cristalink.com: "Re: PE header flags (paged memory)"
- Previous message: beginthreadex: "PE header flags (paged memory)"
- In reply to: Mark Roddy: "Re: PCI bus operations and driver design"
- Next in thread: Mark Roddy: "Re: PCI bus operations and driver design"
- Reply: Mark Roddy: "Re: PCI bus operations and driver design"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 05 Oct 2004 16:08:26 +1300
>>So, is it possible for a write to memory mapped DPRAM to occasionally
>>fail?
>
> Yes, but on most platforms these failures are catastrophic and global and not
> the concern of individual device drivers. On some platforms you could
> experience a 'hot unplug' (aka surprise removal) of your pci device as a result
> of such a catastrophic event, so it is a good idea to correctly implement your
> surprise removal path and to prevent endless loops in your hardware access
> routines. There is a white paper on driver hardening on the microsoft web site.
> It was by a certain Simon Graham and it was presented at winhec a few years
> back and it covers the basics.
Thanks for your comments.
The problem I'm chasing doesn't sound anything like that. So perhaps
I'm on the wrong track.
>>Can anybody out there share their experience of the possible failure
>>scenarios when performing such operations over a PCI bus?
>>
>>What strategies are required to ensure that writes to such memory
>>(over a PCI bus) occur reliably?
>
> It is up to the platform hardware to manage the bus and its reliability, not
> your device driver.
So, a bug in the PCI hardware could cause such problems...
What about interaction with another PCI device on the same bus?
>>I guess the answer is 'it depends', so ok... Lets assume that we must
>>either succeed in writing the memory, or know clearly that the
>>operation failed.
>>
>>To me the simple (intuitive) answer is that after writing the memory,
>>the driver should read it back to verify the operation worked.
>>
>
> Don't do that unless you have gobs of excess bandwidth that you desperately
> need to consume :-)
>
> Assume that the transaction succeeded. If it doesn't either the system will
> crash (standard PC architecture) or your device will suddenly disappear (high
> end HA server platforms.)
Well we're not transferring large amounts of data, so we won't have
that problem ;-)
Dwight
- Next message: nospam_at_cristalink.com: "Re: PE header flags (paged memory)"
- Previous message: beginthreadex: "PE header flags (paged memory)"
- In reply to: Mark Roddy: "Re: PCI bus operations and driver design"
- Next in thread: Mark Roddy: "Re: PCI bus operations and driver design"
- Reply: Mark Roddy: "Re: PCI bus operations and driver design"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|