STRUCT ETM_DRVDATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct etm_drvdata(9) πŸŽ€

welcome to the Kernel API Manual, bestie β€” this page is all about the specifics associated to an ETM component, and it’s giving β€œstruct full of core details” energy πŸ’–


🌸 NAME 🌸

struct etm_drvdata β€” the specifics associated to an ETM component ✨


✨ SYNOPSIS ✨

okay so here’s the exact shape, no cap:

struct etm_drvdata {
    struct csdev_access             csa;
    struct clk                      *atclk;
    struct coresight_device         *csdev;
    spinlock_t spinlock;
    int cpu;
    int port_size;
    u8 arch;
    bool use_cp14;
    bool sticky_enable;
    bool boot_enable;
    bool os_unlock;
    u8 nr_addr_cmp;
    u8 nr_cntr;
    u8 nr_ext_inp;
    u8 nr_ext_out;
    u8 nr_ctxid_cmp;
    u32 etmccr;
    u32 etmccer;
    u32 traceid;
    struct etm_config               config;
};

🫢 Members 🫢

  • atclk β€” optional clock for the core parts of the ETM. optional clock, iconic behavior.
  • csdev β€” component vitals needed by the framework. the framework’s essentials, fr.
  • spinlock β€” only one at a time pls. no sharing, bestie πŸ’…
  • cpu β€” the cpu this component is affined to.
  • port_size β€” port size as reported by ETMCR bit 4-6 and 21.
  • arch β€” ETM/PTM version number.
  • sticky_enable β€” true if ETM base configuration has been done.
  • boot_enable β€” true if we should start tracing at boot time.
  • os_unlock β€” true if access to management registers is allowed.
  • nr_addr_cmp β€” Number of pairs of address comparators as found in ETMCCR.
  • nr_cntr β€” Number of counters as found in ETMCCR bit 13-15.
  • nr_ext_inp β€” Number of external input as found in ETMCCR bit 17-19.
  • nr_ext_out β€” Number of external output as found in ETMCCR bit 20-22.
  • nr_ctxid_cmp β€” Number of contextID comparators as found in ETMCCR bit 24-25.
  • etmccr β€” value of register ETMCCR.
  • etmccer β€” value of register ETMCCER.
  • traceid β€” value of the current ID for this component.
  • config β€” structure holding configuration parameters.
tiny note: csa and use_cp14 are in the struct above, but the original Members list doesn’t give them their own blurbs β€” so I’m not inventing lore, bestie 😌

πŸ”Ž SEE ALSO πŸ”Ž

  • Kernel file ./drivers/hwtracing/coresight/coresight-etm.h
  • struct etm_config(9)

go read those next, iykyk πŸ’œ


xoxo from ./drivers/hwtracing/coresight β€” October 2026 edition, bye bestie πŸ’…πŸŽ€

πŸ“¦ where this page comes from