Lines Matching +full:no +full:- +full:pc +full:- +full:write
2 In-kernel memory-mapped I/O tracing
11 Injection Test Harness. In Dec 2006 - Jan 2007, using the code from Intel,
15 Mmiotrace was built for reverse engineering any memory-mapped IO device with
19 Out-of-tree mmiotrace was originally modified for mainline inclusion and
24 -----------
29 is on-line, therefore mmiotrace takes all but one CPU off-line during run-time
30 activation. You can re-enable CPUs by hand, but you have been warned, there
31 is no way to automatically detect if you are losing events due to CPUs racing.
35 ---------------------
38 $ mount -t debugfs debugfs /sys/kernel/debug
48 -----
53 $ mount -t debugfs debugfs /sys/kernel/debug
85 $ grep -i lost mydump.txt
98 gives you a number. Approximately double this number and write it back, for
108 $ lspci -vvv > lspci.txt
110 $ tar zcf pciid-nick-mmiotrace.tar.gz mydump.txt lspci.txt dmesg.txt
118 -------------------
120 Access to hardware IO-memory is gained by mapping addresses from PCI bus by
132 is decoded to get the type of operation (read/write), data width and the value
137 and events can be missed without a notice. Re-enabling other CPUs during
142 ----------------
145 one line in the log. A record starts with a keyword, followed by keyword-
149 Explanation Keyword Space-separated arguments
150 ---------------------------------------------------------------------------
152 read event R width, timestamp, map id, physical, value, PC, PID
153 write event W width, timestamp, map id, physical, value, PC, PID
154 ioremap event MAP timestamp, map id, physical, virtual, length, PC, PID
155 iounmap event UNMAP timestamp, map id, PC, PID
158 info for reader LSPCI one line from lspci -v
159 PCI address map PCIDEV space-separated /proc/bus/pci/devices data
160 unk. opcode UNKNOWN timestamp, map id, physical, data, PC, PID
165 used in an operation. PC is the program counter and PID is process id. PC is
169 For instance, the following awk filter will pass all 32-bit writes that target
178 --------------------
181 - replacing numeric addresses and values with hardware register names
182 - replaying MMIO logs, i.e., re-executing the recorded writes