Re: How does Linux handle PCI-E Surprise unplug?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux