On Mon, Mar 08, 2010 at 12:41:33PM +0530, Rajat Jain wrote: ... > Does that mean accessing PCI memory mapped registers for a non-existent > device has effects that are localized ONLY to the driver of that device? What Kenji said. > In other words, kernel does not notice or does not even become AWARE > that a driver is trying to access non-existent memory mapped registers? > > So trying to access a HW that does not exist is totally legal in that > sense? Yes and no. Depends on who you ask. Old intel platforms tolerated this just fine. Many other !intel platforms did not. > Is HW NOT supposed to generate an error in this case - as far as > I had read, any access to non existent physical addresses should result > in a bus error ... no? Correct. The access will result in a "Master Abort" (timeout when device fails to respond.) This is when the platform dependent behaviour comes into play. "Hard Fail" systems will end up in a system error handler (HPMC, MCE, or equivalent) and "Soft Fail" systems (like older Intel) will have the chipset return ~0 (and some ancient PCI chipsets had BIOS return 0 instead). hth, grant -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html