diff options
| author | Chris Zankel <czankel@tensilica.com> | 2006-12-10 05:18:47 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-10 12:55:39 -0500 |
| commit | fd43fe19b830d6cd0eba08a6c6a5f71a6bd9c1b0 (patch) | |
| tree | 5225910274cbf362143a80b95b6b38c4a7d22e6d /include/asm-xtensa | |
| parent | 5fcf7bb73f66cc1c4ad90788b0f367c4d6852b75 (diff) | |
[PATCH] xtensa: fix irq and misc fixes
Update the architecture specific interrupt handling code for Xtensa to support
the new API. Use generic BUG macros in bug.h, and some minor fixes.
Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-xtensa')
| -rw-r--r-- | include/asm-xtensa/bug.h | 25 | ||||
| -rw-r--r-- | include/asm-xtensa/byteorder.h | 4 | ||||
| -rw-r--r-- | include/asm-xtensa/irq_regs.h | 1 | ||||
| -rw-r--r-- | include/asm-xtensa/unistd.h | 3 | ||||
| -rw-r--r-- | include/asm-xtensa/xtensa/config-linux_be/tie.h | 2 |
5 files changed, 8 insertions, 27 deletions
diff --git a/include/asm-xtensa/bug.h b/include/asm-xtensa/bug.h index 56703659b204..3e52d72712f1 100644 --- a/include/asm-xtensa/bug.h +++ b/include/asm-xtensa/bug.h | |||
| @@ -13,29 +13,6 @@ | |||
| 13 | #ifndef _XTENSA_BUG_H | 13 | #ifndef _XTENSA_BUG_H |
| 14 | #define _XTENSA_BUG_H | 14 | #define _XTENSA_BUG_H |
| 15 | 15 | ||
| 16 | #include <linux/stringify.h> | 16 | #include <asm-generic/bug.h> |
| 17 | |||
| 18 | #define ILL __asm__ __volatile__ (".byte 0,0,0\n") | ||
| 19 | |||
| 20 | #ifdef CONFIG_KALLSYMS | ||
| 21 | # define BUG() do { \ | ||
| 22 | printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \ | ||
| 23 | ILL; \ | ||
| 24 | } while (0) | ||
| 25 | #else | ||
| 26 | # define BUG() do { \ | ||
| 27 | printk("kernel BUG!\n"); \ | ||
| 28 | ILL; \ | ||
| 29 | } while (0) | ||
| 30 | #endif | ||
| 31 | |||
| 32 | #define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0) | ||
| 33 | #define PAGE_BUG(page) do { BUG(); } while (0) | ||
| 34 | #define WARN_ON(condition) do { \ | ||
| 35 | if (unlikely((condition)!=0)) { \ | ||
| 36 | printk ("Warning in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \ | ||
| 37 | dump_stack(); \ | ||
| 38 | } \ | ||
| 39 | } while (0) | ||
| 40 | 17 | ||
| 41 | #endif /* _XTENSA_BUG_H */ | 18 | #endif /* _XTENSA_BUG_H */ |
diff --git a/include/asm-xtensa/byteorder.h b/include/asm-xtensa/byteorder.h index 0b1552569aae..0ba72ddbf889 100644 --- a/include/asm-xtensa/byteorder.h +++ b/include/asm-xtensa/byteorder.h | |||
| @@ -14,7 +14,7 @@ | |||
| 14 | #include <asm/processor.h> | 14 | #include <asm/processor.h> |
| 15 | #include <asm/types.h> | 15 | #include <asm/types.h> |
| 16 | 16 | ||
| 17 | static __inline__ __const__ __u32 ___arch__swab32(__u32 x) | 17 | static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x) |
| 18 | { | 18 | { |
| 19 | __u32 res; | 19 | __u32 res; |
| 20 | /* instruction sequence from Xtensa ISA release 2/2000 */ | 20 | /* instruction sequence from Xtensa ISA release 2/2000 */ |
| @@ -29,7 +29,7 @@ static __inline__ __const__ __u32 ___arch__swab32(__u32 x) | |||
| 29 | return res; | 29 | return res; |
| 30 | } | 30 | } |
| 31 | 31 | ||
| 32 | static __inline__ __const__ __u16 ___arch__swab16(__u16 x) | 32 | static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 x) |
| 33 | { | 33 | { |
| 34 | /* Given that 'short' values are signed (i.e., can be negative), | 34 | /* Given that 'short' values are signed (i.e., can be negative), |
| 35 | * we cannot assume that the upper 16-bits of the register are | 35 | * we cannot assume that the upper 16-bits of the register are |
diff --git a/include/asm-xtensa/irq_regs.h b/include/asm-xtensa/irq_regs.h new file mode 100644 index 000000000000..3dd9c0b70270 --- /dev/null +++ b/include/asm-xtensa/irq_regs.h | |||
| @@ -0,0 +1 @@ | |||
| #include <asm-generic/irq_regs.h> | |||
diff --git a/include/asm-xtensa/unistd.h b/include/asm-xtensa/unistd.h index 2e1a1b997e7d..15b0932523d5 100644 --- a/include/asm-xtensa/unistd.h +++ b/include/asm-xtensa/unistd.h | |||
| @@ -218,6 +218,8 @@ | |||
| 218 | 218 | ||
| 219 | #define SYSXTENSA_COUNT 5 /* count of syscall0 functions*/ | 219 | #define SYSXTENSA_COUNT 5 /* count of syscall0 functions*/ |
| 220 | 220 | ||
| 221 | #ifdef __KERNEL__ | ||
| 222 | |||
| 221 | /* | 223 | /* |
| 222 | * "Conditional" syscalls | 224 | * "Conditional" syscalls |
| 223 | * | 225 | * |
| @@ -230,6 +232,7 @@ | |||
| 230 | #define __ARCH_WANT_SYS_UTIME | 232 | #define __ARCH_WANT_SYS_UTIME |
| 231 | #define __ARCH_WANT_SYS_LLSEEK | 233 | #define __ARCH_WANT_SYS_LLSEEK |
| 232 | #define __ARCH_WANT_SYS_RT_SIGACTION | 234 | #define __ARCH_WANT_SYS_RT_SIGACTION |
| 235 | |||
| 233 | #endif /* __KERNEL__ */ | 236 | #endif /* __KERNEL__ */ |
| 234 | 237 | ||
| 235 | #endif /* _XTENSA_UNISTD_H */ | 238 | #endif /* _XTENSA_UNISTD_H */ |
diff --git a/include/asm-xtensa/xtensa/config-linux_be/tie.h b/include/asm-xtensa/xtensa/config-linux_be/tie.h index 3c2e514602f4..07c6d1ca4589 100644 --- a/include/asm-xtensa/xtensa/config-linux_be/tie.h +++ b/include/asm-xtensa/xtensa/config-linux_be/tie.h | |||
| @@ -115,7 +115,7 @@ | |||
| 115 | /* ... */ | 115 | /* ... */ |
| 116 | 116 | ||
| 117 | 117 | ||
| 118 | #ifdef _ASMLANGUAGE | 118 | #ifdef __ASSEMBLER__ |
| 119 | /* | 119 | /* |
| 120 | * Assembly-language specific definitions (assembly macros, etc.). | 120 | * Assembly-language specific definitions (assembly macros, etc.). |
| 121 | */ | 121 | */ |
