Backport register read/write tracing support
Bugzilla: https://bugzilla.redhat.com/2196244
Backport register read/write tracing support. This allows debugging MMIO register accesses more conveniently.
https://lore.kernel.org/all/cover.1652891705.git.quic_saipraka@quicinc.com/
https://lore.kernel.org/all/20221017143450.9161-1-quic_saipraka@quicinc.com/
How to test
-
Apply this MR on top of main-automotive
-
Apply !2496 (merged) as well (kernel config)
-
Build and flash the kernel on a Qdrive3
-
Execute:
echo 1 > /sys/kernel/tracing/events/rwmmio/enable
cat /sys/kernel/tracing/trace
You should see a trace of register read/write events with a format similar to:
<idle>-0 [004] d...2.. 234.967386: rwmmio_post_read: clockevents_program_event+0xa8/0x120 -> arch_timer_set_next_event_virt_mem+0x150/0x2f4 width=32 val=0x1405fe20 addr=0xffff800008015008
<idle>-0 [004] d...2.. 234.967386: rwmmio_read: clockevents_program_event+0xa8/0x120 -> arch_timer_set_next_event_virt_mem+0x17c/0x2f4 width=32 addr=0xffff80000801500c
<idle>-0 [004] d...2.. 234.967386: rwmmio_post_read: clockevents_program_event+0xa8/0x120 -> arch_timer_set_next_event_virt_mem+0x1ac/0x2f4 width=32 val=0x1 addr=0xffff80000801500c
<idle>-0 [004] d...2.. 234.967386: rwmmio_write: clockevents_program_event+0xa8/0x120 -> arch_timer_set_next_event_virt_mem+0x1f4/0x2f4 width=64 val=0x11408e946 addr=0xffff800008015030
<idle>-0 [004] d...2.. 234.967387: rwmmio_post_write: clockevents_program_event+0xa8/0x120 -> arch_timer_set_next_event_virt_mem+0x228/0x2f4 width=64 val=0x11408e946 addr=0xffff800008015030
<idle>-0 [004] d...2.. 234.967387: rwmmio_write: clockevents_program_event+0xa8/0x120 -> arch_timer_set_next_event_virt_mem+0x258/0x2f4 width=32 val=0x1 addr=0xffff80000801503c
<idle>-0 [004] d...2.. 234.967387: rwmmio_post_write: clockevents_program_event+0xa8/0x120 -> arch_timer_set_next_event_virt_mem+0x294/0x2f4 width=32 val=0x1 addr=0xffff80000801503c
<idle>-0 [004] d...3.. 234.967389: rwmmio_read: gic_set_affinity+0x88/0x250 -> gic_peek_irq+0x80/0x140 width=32 addr=0xffff800008040104
<idle>-0 [004] d...3.. 234.967390: rwmmio_post_read: gic_set_affinity+0x88/0x250 -> gic_peek_irq+0xac/0x140 width=32 val=0x61 addr=0xffff800008040104
Signed-off-by: Adrien Thierry athierry@redhat.com
Edited by Adrien Thierry