diff options
author | kib <kib@FreeBSD.org> | 2015-01-10 22:57:08 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-01-10 22:57:08 +0000 |
commit | b1c8acc0bc8405fc1d3b916238ff76926e35a99d (patch) | |
tree | 5ce59109efe337d03870004ce7af2a9e43aee5c9 /sys/x86/iommu | |
parent | 3375fb610a043eef66eaf2d6db3bdd5f5011b0e3 (diff) | |
download | FreeBSD-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.c | 4 | ||||
-rw-r--r-- | sys/x86/iommu/intel_fault.c | 5 |
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); |