Hi All, This is the 3rd version of I/O Hook, a patch set aimed at intercepting h/w access by the OS. Some examples of how it can be used: 1) To emulate h/w events (e.g. hotplug) 2) To inject h/w errors to the kernel 3) To trace h/w access by the OS for performance tuning or debugging. Details of the examples can be found in Documentation/PCI/iohook.txt. A set of user space tools using I/O Hook for various use cases will be hosted on https://github.com/iohook. It initially contains inject-aer which takes the trace event output of /sys/kernel/debug/tracing/events/ras/aer_event/ and regenerate the same PCIE AER event so that PCIE AER can be easily tested. Changes since v2: - Added the hook for MSRs (can specify a cpu number) - Can trigger IPI by a vector (so that exceptions can be emulated) - Defined iohook_event as the trace event to trace h/w access. A new attribute 'tc' can be defined for any Register Override for tracing purpose. Rui Wang (5): I/O Hook: core functions and Register Override I/O Hook: Help functions to manage the hook I/O Hook: sysfs interface to emulate h/w events I/O Hook: Override MSRs while triggering MCEs IO Hook: Tracing hw access Documentation/PCI/iohook.txt | 353 ++++++++++ arch/Kconfig | 10 + arch/x86/boot/compressed/Makefile | 1 + arch/x86/include/asm/io.h | 57 ++- arch/x86/include/asm/msr.h | 100 +++- arch/x86/lib/msr-smp.c | 31 + arch/x86/vdso/Makefile | 2 + drivers/misc/Makefile | 1 + drivers/misc/iohook/Makefile | 1 + drivers/misc/iohook/iohook.c | 1367 +++++++++++++++++++++++++++++++++++++ drivers/misc/iohook/iohook.h | 6 + drivers/pci/access.c | 66 ++ include/linux/reg_ovrd.h | 55 ++ include/trace/events/iohook.h | 58 ++ 14 files changed, 2101 insertions(+), 7 deletions(-) create mode 100644 Documentation/PCI/iohook.txt create mode 100644 drivers/misc/iohook/Makefile create mode 100644 drivers/misc/iohook/iohook.c create mode 100644 drivers/misc/iohook/iohook.h create mode 100644 include/linux/reg_ovrd.h create mode 100644 include/trace/events/iohook.h -- 1.7.5.4 -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html