From: Max Filippov Date: Mon, 25 Nov 2019 20:59:13 +0000 (-0800) Subject: xtensa: add xtensa_xsr macro X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=dedfe2590bdf1beaaf064f1f1b71098b5fddbfe1;p=linux.git xtensa: add xtensa_xsr macro xtensa_xsr does the XSR instruction for the specified special register. Signed-off-by: Max Filippov --- diff --git a/arch/xtensa/include/asm/processor.h b/arch/xtensa/include/asm/processor.h index 4489a27d527a8..76bc63127c66e 100644 --- a/arch/xtensa/include/asm/processor.h +++ b/arch/xtensa/include/asm/processor.h @@ -246,6 +246,13 @@ extern unsigned long __get_wchan(struct task_struct *p); v; \ }) +#define xtensa_xsr(x, sr) \ + ({ \ + unsigned int __v__ = (unsigned int)(x); \ + __asm__ __volatile__ ("xsr %0, " __stringify(sr) : "+a"(__v__)); \ + __v__; \ + }) + #if XCHAL_HAVE_EXTERN_REGS static inline void set_er(unsigned long value, unsigned long addr)