Server IP : 15.235.198.142 / Your IP : 216.73.216.17 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/src/linux-headers-6.8.0-60/include/soc/arc/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2016-2017 Synopsys, Inc. (www.synopsys.com) */ #ifndef __SOC_ARC_AUX_H__ #define __SOC_ARC_AUX_H__ #ifdef CONFIG_ARC #define read_aux_reg(r) __builtin_arc_lr(r) /* gcc builtin sr needs reg param to be long immediate */ #define write_aux_reg(r, v) __builtin_arc_sr((unsigned int)(v), r) #else /* !CONFIG_ARC */ static inline int read_aux_reg(u32 r) { return 0; } /* * function helps elide unused variable warning * see: https://lists.infradead.org/pipermail/linux-snps-arc/2016-November/001748.html */ static inline void write_aux_reg(u32 r, u32 v) { ; } #endif #define READ_BCR(reg, into) \ { \ unsigned int tmp; \ tmp = read_aux_reg(reg); \ if (sizeof(tmp) == sizeof(into)) { \ into = *((typeof(into) *)&tmp); \ } else { \ extern void bogus_undefined(void); \ bogus_undefined(); \ } \ } #define WRITE_AUX(reg, into) \ { \ unsigned int tmp; \ if (sizeof(tmp) == sizeof(into)) { \ tmp = (*(unsigned int *)&(into)); \ write_aux_reg(reg, tmp); \ } else { \ extern void bogus_undefined(void); \ bogus_undefined(); \ } \ } #endif