views:

325

answers:

2

I have to start delving in the details of a PCI bus device driver.

What resource (book, website, etc...) would you recommend someone look at to learn more about the PCI bus and how to program it?

EDIT: The platform would be both x86 and PowerPC

A: 

What platform are you looking to write the driver for? I'll edit my answer, once you edit your question specifying.

EDIT: I guess I was thinking on a different level. I was think more of operating system drivers, rather than firmware on a motherboard or whatnot. I was going to suggest Oreilly's "Linux Device Drivers" for Linux driver development, but I see that I made a mistake in my assumption.

+2  A: 

I rely on PCI System Architecture by Tom Shanley for details of the bus operation and config space. This book was last updated in 1999, though I'm still using the 1993 edition (plus Google searches).

PCI has been relatively stagnant for the last few years, the market has moved on to PCIe. You don't need to find a really recent book. For example extensions are being to the PCIe configuration space to make it easier to virtualize, allowing drivers in each VM to think they are controlling the hardware without having to go through another layer of software in the hypervisor. I doubt these extensions will be brought to the PCI config space, even if it would be technically technically possible to do so.

DGentry