Windows 7
Visual studio 2013
I’m trying to find information on how to set and read pci express error reporting capabilities. I’ve been through the code to read/write (IRP_MN_READ_CONFIG/IRP_MN_WRITE_CONFIG) for the configuration but I haven’t been able to find any more than the structures and defines for the error reporting and extended error reporting.
Such as how to use PCI_EXPRESS_ROOTPORT_AER_CAPABILITY
thanks, hlf
xxxxx@xerox.com wrote:
I’m trying to find information on how to set and read pci express error reporting capabilities. I’ve been through the code to read/write (IRP_MN_READ_CONFIG/IRP_MN_WRITE_CONFIG) for the configuration but I haven’t been able to find any more than the structures and defines for the error reporting and extended error reporting.
Such as how to use PCI_EXPRESS_ROOTPORT_AER_CAPABILITY
To put it simply, you don’t. That structure is part of the
configuration space for the PCIExpress root complex. That’s owned and
managed by the PCI bus driver.
You can find the PCI_EXPRESS_AER_CAPABILITY structure for your own
device using IRP_MN_READ_CONFIG, by following the chain of capability
structures.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
I’m not clear on how to go down the capability chain to find PCI Express advanced error reporting or if anything needs to be set to get these reports.
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Tuesday, October 27, 2015 4:18 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] PCIe setting and reading extended error capability
xxxxx@xerox.com wrote:
I’m trying to find information on how to set and read pci express error reporting capabilities. I’ve been through the code to read/write (IRP_MN_READ_CONFIG/IRP_MN_WRITE_CONFIG) for the configuration but I haven’t been able to find any more than the structures and defines for the error reporting and extended error reporting.
Such as how to use PCI_EXPRESS_ROOTPORT_AER_CAPABILITY
To put it simply, you don’t. That structure is part of the configuration space for the PCIExpress root complex. That’s owned and managed by the PCI bus driver.
You can find the PCI_EXPRESS_AER_CAPABILITY structure for your own device using IRP_MN_READ_CONFIG, by following the chain of capability structures.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
On Wed 28 Oct 2015, Ford, Harry L wrote:
I’m not clear on how to go down the capability chain to find PCI Express
advanced error reporting or if anything needs to be set to get these reports.
Look at the docs for WHEA (Windows Hardware Error Architecture), which
is responsible for handling machine checks, AER reporting etc. Windbg
has commands to show the reports it produces.
AndyM
Ford, Harry L wrote:
I’m not clear on how to go down the capability chain to find PCI Express advanced error reporting or if anything needs to be set to get these reports.
You need to find a good resource on PCI configuration space, especially
if you plan to go dinking with those registers. Here’s one that
describes the “capabilities pointer” and the common header that makes up
the linked list of capabilities:
http://wiki.osdev.org/PCI
What do you mean by “requests”? Firing an unmask uncorrectable error
causes an immediate blue screen.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
I looked at WHEA and while using Windbg to dump the contents of WHEA_ERROR_RECORD is fairly straight forward I don’t see how to do this in a driver so the driver can pass this on to a user application for latter problem analysis.
What I have are users that say things hang, or break etc. but, I have no useful feedback to analyze the problem thus my reason for wanting to programmatically save the PCI Express errors. Other logging tells me it’s in the driver not the user app.
Thanks,
hlf
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Andy Moreton
Sent: Wednesday, October 28, 2015 10:40 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] PCIe setting and reading extended error capability
On Wed 28 Oct 2015, Ford, Harry L wrote:
I’m not clear on how to go down the capability chain to find PCI
Express advanced error reporting or if anything needs to be set to get these reports.
Look at the docs for WHEA (Windows Hardware Error Architecture), which is responsible for handling machine checks, AER reporting etc. Windbg has commands to show the reports it produces.
AndyM
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer