powerpc: IOMMU fault injection
authorAnton Blanchard <anton@samba.org>
Sun, 24 Jun 2012 18:26:17 +0000 (18:26 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 10 Jul 2012 09:18:59 +0000 (19:18 +1000)
commitd6b9a81b2a45786384f5bd3516bd6ddfb4b772c6
tree3d6b8ba13ecd47584959f44d312b2babf64478f6
parenta980349725346ce7e3c1774e327c2f1fdca4593d
powerpc: IOMMU fault injection

Add the ability to inject IOMMU faults. We enable this per device
via a fail_iommu sysfs property, similar to fault injection on other
subsystems.

An example:

...
0003:01:00.1 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (be3) (rev 02)

To inject one error to this device:

echo 1 > /sys/bus/pci/devices/0003:01:00.1/fail_iommu
echo 1 > /sys/kernel/debug/fail_iommu/probability
echo 1 > /sys/kernel/debug/fail_iommu/times

As feared, the first failure injected on the be3 results in an
unrecoverable error, taking down both functions of the card
permanently:

be2net 0003:01:00.1: Unrecoverable error in the card

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/Kconfig.debug
arch/powerpc/include/asm/device.h
arch/powerpc/kernel/iommu.c