[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-devel] Re: [Question] Do we need to support devices that do not strictly follow the PCI-e specification?
- To: "Shan, Haitao" <haitao.shan@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
- From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
- Date: Thu, 09 Oct 2008 10:02:45 +0100
- Cc: "Huang, Zhiteng" <zhiteng.huang@xxxxxxxxx>, "Tian, Kevin" <kevin.tian@xxxxxxxxx>, "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>, "Li, Xin B" <xin.b.li@xxxxxxxxx>
- Delivery-date: Thu, 09 Oct 2008 02:03:11 -0700
- List-id: Xen developer discussion <xen-devel.lists.xensource.com>
- Thread-index: Ackp6Pxc5rudKW6OT2KzDB9oYO0xLAABM7Zt
- Thread-topic: [Question] Do we need to support devices that do not strictly follow the PCI-e specification?
On 9/10/08 09:28, "Shan, Haitao" <haitao.shan@xxxxxxxxx> wrote:
Hi, Keir,
When debugging recently, I found some devices that did not follow the PCI-e specification strictly. Below is an example.
From PCI-e spec, PCI-e capability occupies 0x3c bytes of configuration space. Unimplemented registers are reserved and hardwired to zero. But for device listed below, PCI-e capability should begin at 0x4C and end at 0x88. But this device implements MSI, VPD, MSI-X capabilities in the reserved spaces. Current code can not handle this.
My question is do we need to add hacks to handle such kinds of devices?
I thought PCI capability offsets could be dynamically determined? If so, or there are other means to easily determine actual capability offsets without requiring explicit device-quirk lists, we should employ those means.
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|