summaryrefslogtreecommitdiffstats
path: root/sys/x86/iommu
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2015-01-10 22:57:08 +0000
committerkib <kib@FreeBSD.org>2015-01-10 22:57:08 +0000
commitb1c8acc0bc8405fc1d3b916238ff76926e35a99d (patch)
tree5ce59109efe337d03870004ce7af2a9e43aee5c9 /sys/x86/iommu
parent3375fb610a043eef66eaf2d6db3bdd5f5011b0e3 (diff)
downloadFreeBSD-src-b1c8acc0bc8405fc1d3b916238ff76926e35a99d.zip
FreeBSD-src-b1c8acc0bc8405fc1d3b916238ff76926e35a99d.tar.gz
Print rid when announcing DMAR context creation. Print sid when fault
occurs. This allows to connect dots in case the requester is calculated erronously. Sponsored by: The FreeBSD Foundation MFC after: 1 week
Diffstat (limited to 'sys/x86/iommu')
-rw-r--r--sys/x86/iommu/intel_ctx.c4
-rw-r--r--sys/x86/iommu/intel_fault.c5
2 files changed, 5 insertions, 4 deletions
diff --git a/sys/x86/iommu/intel_ctx.c b/sys/x86/iommu/intel_ctx.c
index 7ec8b55..b3378e7 100644
--- a/sys/x86/iommu/intel_ctx.c
+++ b/sys/x86/iommu/intel_ctx.c
@@ -381,10 +381,10 @@ dmar_get_ctx(struct dmar_unit *dmar, device_t dev, uint16_t rid, bool id_mapped,
LIST_INSERT_HEAD(&dmar->contexts, ctx, link);
ctx_id_entry_init(ctx, ctxp);
device_printf(dev,
- "dmar%d pci%d:%d:%d:%d domain %d mgaw %d "
+ "dmar%d pci%d:%d:%d:%d rid %x domain %d mgaw %d "
"agaw %d %s-mapped\n",
dmar->unit, dmar->segment, bus, slot,
- func, ctx->domain, ctx->mgaw, ctx->agaw,
+ func, rid, ctx->domain, ctx->mgaw, ctx->agaw,
id_mapped ? "id" : "re");
} else {
dmar_ctx_dtr(ctx1, true, true);
diff --git a/sys/x86/iommu/intel_fault.c b/sys/x86/iommu/intel_fault.c
index af18010..033bbd4 100644
--- a/sys/x86/iommu/intel_fault.c
+++ b/sys/x86/iommu/intel_fault.c
@@ -230,8 +230,9 @@ dmar_fault_task(void *arg, int pending __unused)
}
DMAR_UNLOCK(unit);
printf(
- "pci%d:%d:%d fault acc %x adt 0x%x reason 0x%x addr %jx\n",
- bus, slot, func, DMAR_FRCD2_T(fault_rec[1]),
+ "pci%d:%d:%d sid %x fault acc %x adt 0x%x reason 0x%x "
+ "addr %jx\n",
+ bus, slot, func, sid, DMAR_FRCD2_T(fault_rec[1]),
DMAR_FRCD2_AT(fault_rec[1]), DMAR_FRCD2_FR(fault_rec[1]),
(uintmax_t)fault_rec[0]);
DMAR_FAULT_LOCK(unit);
OpenPOWER on IntegriCloud