xref: /openbmc/linux/arch/alpha/include/asm/bug.h (revision 9ac8d3fb)
1 #ifndef _ALPHA_BUG_H
2 #define _ALPHA_BUG_H
3 
4 #include <linux/linkage.h>
5 
6 #ifdef CONFIG_BUG
7 #include <asm/pal.h>
8 
9 /* ??? Would be nice to use .gprel32 here, but we can't be sure that the
10    function loaded the GP, so this could fail in modules.  */
11 static inline void ATTRIB_NORET __BUG(const char *file, int line)
12 {
13 	__asm__ __volatile__(
14 		"call_pal %0  # bugchk\n\t"
15 		".long %1\n\t.8byte %2"
16 		       : : "i" (PAL_bugchk), "i"(line), "i"(file));
17 	for ( ; ; )
18 		;
19 }
20 
21 #define BUG() __BUG(__FILE__, __LINE__)
22 
23 #define HAVE_ARCH_BUG
24 #endif
25 
26 #include <asm-generic/bug.h>
27 
28 #endif
29