Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _ALPHA_BUG_H |
2 | #define _ALPHA_BUG_H | |
3 | ||
ed6b9b97 AM |
4 | #include <linux/linkage.h> |
5 | ||
c8538a7a | 6 | #ifdef CONFIG_BUG |
1da177e4 LT |
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. */ | |
ed6b9b97 AM |
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__) | |
1da177e4 LT |
22 | |
23 | #define HAVE_ARCH_BUG | |
c8538a7a MM |
24 | #endif |
25 | ||
1da177e4 LT |
26 | #include <asm-generic/bug.h> |
27 | ||
28 | #endif |