Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) #ifndef _PARISC_BUG_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) #define _PARISC_BUG_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) #include <linux/kernel.h>	/* for BUGFLAG_TAINT */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)  * Tell the user there is some problem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)  * The offending file and line are encoded in the __bug_table section.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #ifdef CONFIG_BUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #define HAVE_ARCH_BUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #define HAVE_ARCH_WARN_ON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) /* the break instruction is used as BUG() marker.  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define	PARISC_BUG_BREAK_ASM	"break 0x1f, 0x1fff"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #define	PARISC_BUG_BREAK_INSN	0x03ffe01f  /* PARISC_BUG_BREAK_ASM */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #if defined(CONFIG_64BIT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #define ASM_WORD_INSN		".dword\t"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define ASM_WORD_INSN		".word\t"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #ifdef CONFIG_DEBUG_BUGVERBOSE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define BUG()								\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 	do {								\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 		asm volatile("\n"					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 			     "1:\t" PARISC_BUG_BREAK_ASM "\n"		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 			     "\t.pushsection __bug_table,\"aw\"\n"	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 			     "2:\t" ASM_WORD_INSN "1b, %c0\n"		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 			     "\t.short %c1, %c2\n"			\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 			     "\t.org 2b+%c3\n"				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 			     "\t.popsection"				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 			     : : "i" (__FILE__), "i" (__LINE__),	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 			     "i" (0), "i" (sizeof(struct bug_entry)) ); \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 		unreachable();						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	} while(0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) #define BUG()								\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 	do {								\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 		asm volatile(PARISC_BUG_BREAK_ASM : : );		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 		unreachable();						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 	} while(0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) #ifdef CONFIG_DEBUG_BUGVERBOSE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) #define __WARN_FLAGS(flags)						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 	do {								\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 		asm volatile("\n"					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 			     "1:\t" PARISC_BUG_BREAK_ASM "\n"		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 			     "\t.pushsection __bug_table,\"aw\"\n"	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 			     "2:\t" ASM_WORD_INSN "1b, %c0\n"		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 			     "\t.short %c1, %c2\n"			\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 			     "\t.org 2b+%c3\n"				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 			     "\t.popsection"				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 			     : : "i" (__FILE__), "i" (__LINE__),	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 			     "i" (BUGFLAG_WARNING|(flags)),		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) 			     "i" (sizeof(struct bug_entry)) );		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 	} while(0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) #define __WARN_FLAGS(flags)						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 	do {								\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 		asm volatile("\n"					\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 			     "1:\t" PARISC_BUG_BREAK_ASM "\n"		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 			     "\t.pushsection __bug_table,\"aw\"\n"	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 			     "2:\t" ASM_WORD_INSN "1b\n"		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 			     "\t.short %c0\n"				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 			     "\t.org 2b+%c1\n"				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 			     "\t.popsection"				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 			     : : "i" (BUGFLAG_WARNING|(flags)),		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 			     "i" (sizeof(struct bug_entry)) );		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 	} while(0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) #define WARN_ON(x) ({						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) 	int __ret_warn_on = !!(x);				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) 	if (__builtin_constant_p(__ret_warn_on)) {		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) 		if (__ret_warn_on)				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) 			__WARN();				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) 	} else {						\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) 		if (unlikely(__ret_warn_on))			\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) 			__WARN();				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) 	}							\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) 	unlikely(__ret_warn_on);				\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) #include <asm-generic/bug.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)