[ltt-dev] [patch 7/9] omap trace clock

Mathieu Desnoyers mathieu.desnoyers at polymtl.ca
Fri Mar 6 13:02:42 EST 2009


* Trilok Soni (soni.trilok at gmail.com) wrote:
> Hi Mathieu,
> 
> > +
> > +/*
> > + * Cycle counter management.
> > + */
> > +
> > +static inline void write_pmnc(u32 val)
> > +{
> > +       __asm__ __volatile__ ("mcr p15, 0, %0, c9, c12, 0" : : "r" (val));
> > +}
> > +
> > +static inline u32 read_pmnc(void)
> > +{
> > +       u32 val;
> > +       __asm__ __volatile__ ("mrc p15, 0, %0, c9, c12, 0" : "=r" (val));
> > +        return val;
> > +}
> > +
> > +static inline void write_ctens(u32 val)
> > +{
> > +       __asm__ __volatile__ ("mcr p15, 0, %0, c9, c12, 1" : : "r" (val));
> > +}
> > +
> > +static inline u32 read_ctens(void)
> > +{
> > +       u32 val;
> > +       __asm__ __volatile__ ("mrc p15, 0, %0, c9, c12, 1" : "=r" (val));
> > +       return val;
> > +}
> > +
> > +static inline void write_intenc(u32 val)
> > +{
> > +       __asm__ __volatile__ ("mcr p15, 0, %0, c9, c14, 2" : : "r" (val));
> > +}
> > +
> > +static inline u32 read_intenc(void)
> > +{
> > +       u32 val;
> > +        __asm__ __volatile__ ("mrc p15, 0, %0, c9, c14, 2" : "=r" (val));
> > +       return val;
> > +}
> > +
> > +static inline void write_useren(u32 val)
> > +{
> > +       __asm__ __volatile__ ("mcr p15, 0, %0, c9, c14, 0" : : "r" (val));
> > +}
> > +
> > +static inline u32 read_useren(void)
> > +{
> > +       u32 val;
> > +        __asm__ __volatile__ ("mrc p15, 0, %0, c9, c14, 0" : "=r" (val));
> > +       return val;
> > +}
> > +
> > +/*
> > + * Must disable counter before writing to it.
> > + */
> > +static inline void write_ccnt(u32 val)
> > +{
> > +       __asm__ __volatile__ ("mcr p15, 0, %0, c9, c13, 0" : : "r" (val));
> > +}
> 
> Isn't is some of this cycle counter management code remain same for
> any cortext-A8 based SoC. I mean this doesn't seem to be specific to
> OMAP3 but to cortex-a8 it seems.
> 

Yes, given the understanding I have of the overall ARM world, I stayed
conservative in what headers files I touched and the configuration
options that I used. If you have hints about locations for .c and .h
files and about the configuration options, I would be glad to hear them.

Thanks !

Mathieu

> 
> 
> -- 
> ---Trilok Soni
> http://triloksoni.wordpress.com
> http://www.linkedin.com/in/triloksoni
> 

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68




More information about the lttng-dev mailing list