Re: [PATCH 04/19] LoongArch: Add common headers

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

 



On Tue, Jul 06, 2021 at 02:59:22PM +0200, Arnd Bergmann wrote:
> On Tue, Jul 6, 2021 at 1:23 PM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> >
> > On Tue, Jul 06, 2021 at 12:18:05PM +0800, Huacai Chen wrote:
> 
> > > +
> > > +static inline u32 csr_xchgl(u32 val, u32 mask, u32 reg)
> > > +{
> > > +     return __csrxchg(val, mask, reg);
> > > +}
> > > +
> > > +static inline u64 csr_xchgq(u64 val, u64 mask, u32 reg)
> > > +{
> > > +     return __dcsrxchg(val, mask, reg);
> > > +}
> >
> > What are these __csrfoo() things, I cannot seem to find a definition of
> > them anywhere..
> 
> It seems that those are provided as compiler intrinsics in <larchintrin.h>,
> based on an architecture specific __builtin_loongarch_csrxchg() etc.

Thanks, I couldn't find them.

> The specific registers are documented at
> https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN#control-and-status-registers

Bah, that's terrible naming. CSRWR really is CSRXCHG and CSRXCHG is more
like CSRXCHGMASK or something :/




[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux