AR# 29236

|

Endpoint Block Plus Wrapper for PCI Express - How should the user application respond to requests targeting Expansion ROM? System hangs during Boot process

描述


The Block Plus Wrapper implements a 1 MB Expansion ROM by default. The user cannot disable this Expansion ROM.

How should the user application respond to system read requests when not using the Expansion ROM?

解决方案


How should accesses to this Expansion ROM be addressed by the back end user application?

By default, the Xilinx Endpoint Block Plus for PCI Express v1.9.1 solution implements a 1 MB Expansion ROM BAR. During enumeration, System software often sends memory read requests down to the endpoint targeting this BAR. These requests must be completed by the user application. If a completion is not generated, system software might lock up or produce an error in the console. Below is an example of one common error that is reported by the BIOS:

"I/O card parity interrupt at XXXX Type (S)hut off NMI, (R)eboot, other keys to continue"


The recommended way to handle Expansion ROM accesses is described in the core's User Guide (UG341) on page 43:

"Accesses to the Expansion ROM BAR are indicated by trn_rbar_hit[6] assertion. Xilinx recommends that users return a Completion with Data of all zeroes if the Expansion ROM is not in use. Xilinx has found that some system BIOSs will probe the Expansion ROM BAR during boot. Not returning a completion results in a completion timeout on the requesting device, which may lead to a system hang."


Revision History

09/07/2007 - Initial Release.
01/12/2009 - Updated for v1.9.1 core.
AR# 29236
日期 12/15/2012
状态 Active
Type 综合文章
IP
People Also Viewed