Skip to content

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

Merge request reports