x86/amd-iommu: Dump fault entry on DTE error
This patch adds code to dump the content of the device table entry which caused an ILLEGAL_DEV_TABLE_ENTRY error from the IOMMU hardware. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
This commit is contained in:
parent
37d0892c5a
commit
e3e59876e8
|
@ -138,6 +138,15 @@ static int iommu_has_npcache(struct amd_iommu *iommu)
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
static void dump_dte_entry(u16 devid)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < 8; ++i)
|
||||||
|
pr_err("AMD-Vi: DTE[%d]: %08x\n", i,
|
||||||
|
amd_iommu_dev_table[devid].data[i]);
|
||||||
|
}
|
||||||
|
|
||||||
static void iommu_print_event(void *__evt)
|
static void iommu_print_event(void *__evt)
|
||||||
{
|
{
|
||||||
u32 *event = __evt;
|
u32 *event = __evt;
|
||||||
|
@ -155,6 +164,7 @@ static void iommu_print_event(void *__evt)
|
||||||
"address=0x%016llx flags=0x%04x]\n",
|
"address=0x%016llx flags=0x%04x]\n",
|
||||||
PCI_BUS(devid), PCI_SLOT(devid), PCI_FUNC(devid),
|
PCI_BUS(devid), PCI_SLOT(devid), PCI_FUNC(devid),
|
||||||
address, flags);
|
address, flags);
|
||||||
|
dump_dte_entry(devid);
|
||||||
break;
|
break;
|
||||||
case EVENT_TYPE_IO_FAULT:
|
case EVENT_TYPE_IO_FAULT:
|
||||||
printk("IO_PAGE_FAULT device=%02x:%02x.%x "
|
printk("IO_PAGE_FAULT device=%02x:%02x.%x "
|
||||||
|
|
Loading…
Reference in New Issue