diff options
Diffstat (limited to 'arch/metag/include/asm/core_reg.h')
-rw-r--r-- | arch/metag/include/asm/core_reg.h | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/arch/metag/include/asm/core_reg.h b/arch/metag/include/asm/core_reg.h deleted file mode 100644 index ca70a0a..0000000 --- a/arch/metag/include/asm/core_reg.h +++ /dev/null @@ -1,36 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __ASM_METAG_CORE_REG_H_ -#define __ASM_METAG_CORE_REG_H_ - -#include <asm/metag_regs.h> - -extern void core_reg_write(int unit, int reg, int thread, unsigned int val); -extern unsigned int core_reg_read(int unit, int reg, int thread); - -/* - * These macros allow direct access from C to any register known to the - * assembler. Example candidates are TXTACTCYC, TXIDLECYC, and TXPRIVEXT. - */ - -#define __core_reg_get(reg) ({ \ - unsigned int __grvalue; \ - asm volatile("MOV %0," #reg \ - : "=r" (__grvalue)); \ - __grvalue; \ -}) - -#define __core_reg_set(reg, value) do { \ - unsigned int __srvalue = (value); \ - asm volatile("MOV " #reg ",%0" \ - : \ - : "r" (__srvalue)); \ -} while (0) - -#define __core_reg_swap(reg, value) do { \ - unsigned int __srvalue = (value); \ - asm volatile("SWAP " #reg ",%0" \ - : "+r" (__srvalue)); \ - (value) = __srvalue; \ -} while (0) - -#endif |