Re: [PATCHv5 3/4] tracing: Add register read/write tracing support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/6/2021 2:29 PM, Arnd Bergmann wrote:
On Mon, Dec 6, 2021 at 9:28 AM Sai Prakash Ranjan
<quic_saipraka@xxxxxxxxxxx> wrote:
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 420ff4bc67fd..9f55bcc51de1 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -95,6 +95,13 @@ config RING_BUFFER_ALLOW_SWAP
          Allow the use of ring_buffer_swap_cpu.
          Adds a very slight overhead to tracing when enabled.

+config TRACE_MMIO_ACCESS
+       bool "Register read/write tracing"
+       depends on TRACING
+       help
+         Create tracepoints for MMIO read/write operations. These trace events
+         can be used for logging all MMIO read/write operations.
I think this needs a 'depends on ARCH_HAVE_TRACE_MMIO_ACCESS'
or similar.

Sure, will add it.

+void log_read_mmio(u8 width, const volatile void __iomem *addr)
+{
+       trace_rwmmio_read(CALLER_ADDR0, CALLER_ADDR1, width, addr);
+}
Here, it may be better to pass the caller address as an argument, I think
CALLER_ADDR1 is not always reliable, though it's possible that it is
in the configurations when this file gets enabled.



Do you mean that we use __builtin_return_address(0,1) directly here or that I pass __func__ as the argument to log_read/write_mmio or is there some other way to
pass the caller address?

Thanks,
Sai



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux