public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] 2.5.56-bug
@ 2003-01-12 12:15 Russell King
  2003-01-12 23:49 ` Ingo Oeser
  0 siblings, 1 reply; 3+ messages in thread
From: Russell King @ 2003-01-12 12:15 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: LKML

This patch appears not to be in 2.5.56, but applies cleanly.

This patch moves BUG() and PAGE_BUG() from asm/page.h into asm/bug.h.

We also fix up linux/dcache.h, which included asm/page.h for the sole
purpose of getting the BUG() definition.

Since linux/kernel.h and linux/smp.h make use of BUG(), asm/bug.h is
included there as well.

In addition, linux/jbd.h did not contain a clear path with which to
obtain the archtecture BUG() definition, but did contain its own
definition.

Please apply.


 include/asm-alpha/bug.h     |   14 ++++++++++++++
 include/asm-alpha/page.h    |    8 --------
 include/asm-arm/bug.h       |   21 +++++++++++++++++++++
 include/asm-arm/page.h      |   15 ---------------
 include/asm-cris/bug.h      |   12 ++++++++++++
 include/asm-cris/page.h     |   12 ------------
 include/asm-i386/bug.h      |   27 +++++++++++++++++++++++++++
 include/asm-i386/page.h     |   21 ---------------------
 include/asm-ia64/bug.h      |   12 ++++++++++++
 include/asm-ia64/page.h     |    8 --------
 include/asm-m68k/bug.h      |   28 ++++++++++++++++++++++++++++
 include/asm-m68k/page.h     |   22 ----------------------
 include/asm-mips/bug.h      |    8 ++++++++
 include/asm-mips/page.h     |    3 ---
 include/asm-mips64/bug.h    |    7 +++++++
 include/asm-mips64/page.h   |    3 ---
 include/asm-parisc/bug.h    |   18 ++++++++++++++++++
 include/asm-parisc/page.h   |   14 --------------
 include/asm-ppc/bug.h       |   21 +++++++++++++++++++++
 include/asm-ppc/page.h      |    3 ---
 include/asm-ppc/processor.h |   13 -------------
 include/asm-s390/bug.h      |   13 +++++++++++++
 include/asm-s390/page.h     |    9 ---------
 include/asm-s390x/bug.h     |   13 +++++++++++++
 include/asm-s390x/page.h    |    9 ---------
 include/asm-sh/bug.h        |   16 ++++++++++++++++
 include/asm-sh/page.h       |   12 ------------
 include/asm-sparc/bug.h     |   25 +++++++++++++++++++++++++
 include/asm-sparc/page.h    |   20 --------------------
 include/asm-sparc64/bug.h   |   17 +++++++++++++++++
 include/asm-sparc64/page.h  |   12 ------------
 include/linux/dcache.h      |    2 +-
 include/linux/jbd.h         |    9 +--------
 include/linux/kernel.h      |    1 +
 include/linux/smp.h         |    2 +-
 35 files changed, 256 insertions, 194 deletions

diff -urN orig/include/asm-alpha/bug.h linux/include/asm-alpha/bug.h
--- orig/include/asm-alpha/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-alpha/bug.h	Sun Feb 24 16:51:44 2002
@@ -0,0 +1,14 @@
+#ifndef _ALPHA_BUG_H
+#define _ALPHA_BUG_H
+
+#include <asm/pal.h>
+
+/* ??? Would be nice to use .gprel32 here, but we can't be sure that the
+   function loaded the GP, so this could fail in modules.  */
+#define BUG() \
+  __asm__ __volatile__("call_pal %0  # bugchk\n\t"".long %1\n\t.8byte %2" \
+		       : : "i" (PAL_bugchk), "i"(__LINE__), "i"(__FILE__))
+
+#define PAGE_BUG(page)	BUG()
+
+#endif
diff -urN orig/include/asm-alpha/page.h linux/include/asm-alpha/page.h
--- orig/include/asm-alpha/page.h	Tue Mar  5 19:56:30 2002
+++ linux/include/asm-alpha/page.h	Sun Feb 24 16:47:52 2002
@@ -58,14 +58,6 @@
 #define __pgprot(x)	(x)
 
 #endif /* STRICT_MM_TYPECHECKS */
-
-/* ??? Would be nice to use .gprel32 here, but we can't be sure that the
-   function loaded the GP, so this could fail in modules.  */
-#define BUG() \
-  __asm__ __volatile__("call_pal %0  # bugchk\n\t"".long %1\n\t.8byte %2" \
-		       : : "i" (PAL_bugchk), "i"(__LINE__), "i"(__FILE__))
-
-#define PAGE_BUG(page)	BUG()
 
 /* Pure 2^n version of get_order */
 extern __inline__ int get_order(unsigned long size)
diff -urN orig/include/asm-arm/bug.h linux/include/asm-arm/bug.h
--- orig/include/asm-arm/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-arm/bug.h	Tue May 21 17:24:33 2002
@@ -0,0 +1,20 @@
+#ifndef _ASMARM_BUG_H
+#define _ASMARM_BUG_H
+
+#include <linux/config.h>
+
+#ifdef CONFIG_DEBUG_BUGVERBOSE
+extern volatile void __bug(const char *file, int line, void *data);
+
+/* give file/line information */
+#define BUG()		__bug(__FILE__, __LINE__, NULL)
+#define PAGE_BUG(page)	__bug(__FILE__, __LINE__, page)
+
+#else
+
+/* these just cause an oops */
+#define BUG()		(*(int *)0 = 0)
+#define PAGE_BUG(page)	(*(int *)0 = 0)
+
+#endif
+
+#endif
diff -ur orig/include/asm-arm/page.h linux/include/asm-arm/page.h
--- orig/include/asm-arm/page.h	Wed Oct 16 09:17:08 2002
+++ linux/include/asm-arm/page.h	Thu Oct 10 12:14:05 2002
@@ -160,21 +160,6 @@
 #ifdef __KERNEL__
 #ifndef __ASSEMBLY__
 
-#ifdef CONFIG_DEBUG_BUGVERBOSE
-extern void __bug(const char *file, int line, void *data);
-
-/* give file/line information */
-#define BUG()		__bug(__FILE__, __LINE__, NULL)
-#define PAGE_BUG(page)	__bug(__FILE__, __LINE__, page)
-
-#else
-
-/* these just cause an oops */
-#define BUG()		(*(int *)0 = 0)
-#define PAGE_BUG(page)	(*(int *)0 = 0)
-
-#endif
-
 /* Pure 2^n version of get_order */
 static inline int get_order(unsigned long size)
 {
diff -urN orig/include/asm-cris/bug.h linux/include/asm-cris/bug.h
--- orig/include/asm-cris/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-cris/bug.h	Sun Jan  6 11:46:09 2002
@@ -0,0 +1,12 @@
+#ifndef _CRIS_BUG_H
+#define _CRIS_BUG_H
+
+#define BUG() do { \
+  printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
+} while (0)
+
+#define PAGE_BUG(page) do { \
+         BUG(); \
+} while (0)
+
+#endif
diff -urN orig/include/asm-cris/page.h linux/include/asm-cris/page.h
--- orig/include/asm-cris/page.h	Tue Mar  5 19:56:30 2002
+++ linux/include/asm-cris/page.h	Sun Feb 24 16:47:53 2002
@@ -69,18 +69,6 @@
 #else
 #define PAGE_OFFSET		KSEG_C   /* kseg_c is mapped to physical ram */
 #endif
-
-#ifndef __ASSEMBLY__
-
-#define BUG() do { \
-  printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
-} while (0)
-
-#define PAGE_BUG(page) do { \
-         BUG(); \
-} while (0)
-
-#endif /* __ASSEMBLY__ */
 
 /* macros to convert between really physical and virtual addresses
  * by stripping a selected bit, we can convert between KSEG_x and 0x40000000 where
diff -urN orig/include/asm-i386/bug.h linux/include/asm-i386/bug.h
--- orig/include/asm-i386/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-i386/bug.h	Tue Feb 26 13:19:26 2002
@@ -0,0 +1,27 @@
+#ifndef _I386_BUG_H
+#define _I386_BUG_H
+
+#include <linux/config.h>
+
+/*
+ * Tell the user there is some problem. Beep too, so we can
+ * see^H^H^Hhear bugs in early bootup as well!
+ * The offending file and line are encoded after the "officially
+ * undefined" opcode for parsing in the trap handler.
+ */
+
+#if 1	/* Set to zero for a slightly smaller kernel */
+#define BUG()				\
+ __asm__ __volatile__(	"ud2\n"		\
+			"\t.word %c0\n"	\
+			"\t.long %c1\n"	\
+			 : : "i" (__LINE__), "i" (__FILE__))
+#else
+#define BUG() __asm__ __volatile__("ud2\n")
+#endif
+
+#define PAGE_BUG(page) do { \
+	BUG(); \
+} while (0)
+
+#endif
diff -urN orig/include/asm-i386/page.h linux/include/asm-i386/page.h
--- orig/include/asm-i386/page.h	Sat Jul  6 17:36:36 2002
+++ linux/include/asm-i386/page.h	Sat Jun 22 01:04:04 2002
@@ -98,27 +98,6 @@
 #define __VMALLOC_RESERVE	(128 << 20)
 
 #ifndef __ASSEMBLY__
-
-/*
- * Tell the user there is some problem. Beep too, so we can
- * see^H^H^Hhear bugs in early bootup as well!
- * The offending file and line are encoded after the "officially
- * undefined" opcode for parsing in the trap handler.
- */
-
-#if 1	/* Set to zero for a slightly smaller kernel */
-#define BUG()				\
- __asm__ __volatile__(	"ud2\n"		\
-			"\t.word %c0\n"	\
-			"\t.long %c1\n"	\
-			 : : "i" (__LINE__), "i" (__FILE__))
-#else
-#define BUG() __asm__ __volatile__("ud2\n")
-#endif
-
-#define PAGE_BUG(page) do { \
-	BUG(); \
-} while (0)
 
 /* Pure 2^n version of get_order */
 static __inline__ int get_order(unsigned long size)
diff -urN orig/include/asm-ia64/bug.h linux/include/asm-ia64/bug.h
--- orig/include/asm-ia64/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-ia64/bug.h	Sun Jan  6 11:57:28 2002
@@ -0,0 +1,12 @@
+#ifndef _ASM_IA64_BUG_H
+#define _ASM_IA64_BUG_H
+
+#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
+# define ia64_abort()	__builtin_trap()
+#else
+# define ia64_abort()	(*(volatile int *) 0 = 0)
+#endif
+#define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); ia64_abort(); } while (0)
+#define PAGE_BUG(page) do { BUG(); } while (0)
+
+#endif
diff -urN orig/include/asm-ia64/page.h linux/include/asm-ia64/page.h
--- orig/include/asm-ia64/page.h	Wed May 29 21:40:41 2002
+++ linux/include/asm-ia64/page.h	Wed May 29 21:57:51 2002
@@ -124,14 +124,6 @@
 				 | (REGION_OFFSET(x) >> (HPAGE_SHIFT-PAGE_SHIFT)))
 # define HUGETLB_PAGE_ORDER	(HPAGE_SHIFT - PAGE_SHIFT)
 #endif
-
-#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
-# define ia64_abort()	__builtin_trap()
-#else
-# define ia64_abort()	(*(volatile int *) 0 = 0)
-#endif
-#define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); ia64_abort(); } while (0)
-#define PAGE_BUG(page) do { BUG(); } while (0)
 
 static __inline__ int
 get_order (unsigned long size)
diff -urN orig/include/asm-m68k/bug.h linux/include/asm-m68k/bug.h
--- orig/include/asm-m68k/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-m68k/bug.h	Thu Jul 25 20:17:16 2002
@@ -0,0 +1,28 @@
+#ifndef _M68K_BUG_H
+#define _M68K_BUG_H
+
+#include <linux/config.h>
+
+#ifdef CONFIG_DEBUG_BUGVERBOSE
+#ifndef CONFIG_SUN3
+#define BUG() do { \
+	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
+	asm volatile("illegal"); \
+} while (0)
+#else
+#define BUG() do { \
+	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
+	panic("BUG!"); \
+} while (0)
+#endif
+#else
+#define BUG() do { \
+	asm volatile("illegal"); \
+} while (0)
+#endif
+
+#define PAGE_BUG(page) do { \
+	BUG(); \
+} while (0)
+
+#endif
diff -urN orig/include/asm-m68k/page.h linux/include/asm-m68k/page.h
--- orig/include/asm-m68k/page.h	Thu Jul 25 20:13:52 2002
+++ linux/include/asm-m68k/page.h	Thu Jul 25 20:17:19 2002
@@ -177,28 +177,6 @@
 
 #define virt_addr_valid(kaddr)	((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
 #define pfn_valid(pfn)		virt_addr_valid(pfn_to_virt(pfn))
-
-#ifdef CONFIG_DEBUG_BUGVERBOSE
-#ifndef CONFIG_SUN3
-#define BUG() do { \
-	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
-	asm volatile("illegal"); \
-} while (0)
-#else
-#define BUG() do { \
-	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
-	panic("BUG!"); \
-} while (0)
-#endif
-#else
-#define BUG() do { \
-	asm volatile("illegal"); \
-} while (0)
-#endif
-
-#define PAGE_BUG(page) do { \
-	BUG(); \
-} while (0)
 
 #endif /* __ASSEMBLY__ */
 
diff -urN orig/include/asm-mips/bug.h linux/include/asm-mips/bug.h
--- orig/include/asm-mips/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-mips/bug.h	Sun Jan  6 11:57:49 2002
@@ -0,0 +1,8 @@
+/* $Id$ */
+#ifndef __ASM_BUG_H
+#define __ASM_BUG_H
+
+#define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0=0; } while (0)
+#define PAGE_BUG(page) do {  BUG(); } while (0)
+
+#endif
diff -urN orig/include/asm-mips/page.h linux/include/asm-mips/page.h
--- orig/include/asm-mips/page.h	Tue Mar  5 19:56:31 2002
+++ linux/include/asm-mips/page.h	Sun Feb 24 16:47:53 2002
@@ -20,9 +20,6 @@
 
 #ifndef _LANGUAGE_ASSEMBLY
 
-#define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0=0; } while (0)
-#define PAGE_BUG(page) do {  BUG(); } while (0)
-
 extern void (*_clear_page)(void * page);
 extern void (*_copy_page)(void * to, void * from);
 
diff -urN orig/include/asm-mips64/bug.h linux/include/asm-mips64/bug.h
--- orig/include/asm-mips64/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-mips64/bug.h	Sun Jan  6 11:51:12 2002
@@ -0,0 +1,7 @@
+#ifndef _ASM_BUG_H
+#define _ASM_BUG_H
+
+#define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0=0; } while (0)
+#define PAGE_BUG(page) do {  BUG(); } while (0)
+
+#endif
diff -urN orig/include/asm-mips64/page.h linux/include/asm-mips64/page.h
--- orig/include/asm-mips64/page.h	Tue Mar  5 19:56:31 2002
+++ linux/include/asm-mips64/page.h	Sun Feb 24 16:47:54 2002
@@ -20,9 +20,6 @@
 
 #ifndef _LANGUAGE_ASSEMBLY
 
-#define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0=0; } while (0)
-#define PAGE_BUG(page) do {  BUG(); } while (0)
-
 extern void (*_clear_page)(void * page);
 extern void (*_copy_page)(void * to, void * from);
 
diff -urN orig/include/asm-parisc/bug.h linux/include/asm-parisc/bug.h
--- orig/include/asm-parisc/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-parisc/bug.h	Sun Jan  6 11:51:59 2002
@@ -0,0 +1,18 @@
+#ifndef _PARISC_BUG_H
+#define _PARISC_BUG_H
+
+/*
+ * Tell the user there is some problem. Beep too, so we can
+ * see^H^H^Hhear bugs in early bootup as well!
+ *
+ * We don't beep yet.  prumpf
+ */
+#define BUG() do { \
+	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
+} while (0)
+
+#define PAGE_BUG(page) do { \
+	BUG(); \
+} while (0)
+
+#endif
diff -urN orig/include/asm-parisc/page.h linux/include/asm-parisc/page.h
--- orig/include/asm-parisc/page.h	Tue Mar  5 19:56:31 2002
+++ linux/include/asm-parisc/page.h	Sun Feb 24 16:47:54 2002
@@ -85,20 +85,6 @@
 
 /* to align the pointer to the (next) page boundary */
 #define PAGE_ALIGN(addr)	(((addr)+PAGE_SIZE-1)&PAGE_MASK)
-
-/*
- * Tell the user there is some problem. Beep too, so we can
- * see^H^H^Hhear bugs in early bootup as well!
- *
- * We don't beep yet.  prumpf
- */
-#define BUG() do { \
-	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
-} while (0)
-
-#define PAGE_BUG(page) do { \
-	BUG(); \
-} while (0)
 
 
 #define LINUX_GATEWAY_SPACE     0
diff -urN orig/include/asm-ppc/bug.h linux/include/asm-ppc/bug.h
--- orig/include/asm-ppc/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-ppc/bug.h	Sun Jan  6 11:58:18 2002
@@ -0,0 +1,21 @@
+#ifndef _PPC_BUG_H
+#define _PPC_BUG_H
+
+#include <linux/config.h>
+#include <asm/system.h> /* for xmon definition */
+
+#ifdef CONFIG_XMON
+extern void xmon(struct pt_regs *);
+#define BUG() do { \
+	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
+	xmon(0); \
+} while (0)
+#else
+#define BUG() do { \
+	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
+	__asm__ __volatile__(".long 0x0"); \
+} while (0)
+#endif
+#define PAGE_BUG(page) do { BUG(); } while (0)
+
+#endif
diff -urN orig/include/asm-ppc/processor.h linux/include/asm-ppc/processor.h
--- orig/include/asm-ppc/processor.h	Thu Jan  9 10:40:20 2003
+++ linux/include/asm-ppc/processor.h	Thu Jan 12 10:34:47 2003
@@ -718,19 +718,6 @@
 
 #define spin_lock_prefetch(x)	prefetchw(x)
 
-#ifdef CONFIG_XMON
-extern void xmon(struct pt_regs *);
-#define BUG() do { \
-	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
-	xmon(0); \
-} while (0)
-#else
-#define BUG() do { \
-	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
-	__asm__ __volatile__(".long 0x0"); \
-} while (0)
-#endif
-
 #endif /* !__ASSEMBLY__ */
 
 #endif /* __ASM_PPC_PROCESSOR_H */
diff -urN orig/include/asm-ppc/page.h linux/include/asm-ppc/page.h
--- orig/include/asm-ppc/page.h	Sun Jul  7 23:21:25 2002
+++ linux/include/asm-ppc/page.h	Sun Jul  7 17:42:14 2002
@@ -14,9 +14,6 @@
 #define KERNELBASE	PAGE_OFFSET
 
 #ifndef __ASSEMBLY__
-#include <asm/processor.h>	/* for BUG definition */
-
-#define PAGE_BUG(page) do { BUG(); } while (0)
 
 #define STRICT_MM_TYPECHECKS
 
diff -urN orig/include/asm-s390/bug.h linux/include/asm-s390/bug.h
--- orig/include/asm-s390/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-s390/bug.h	Sun Jan  6 11:53:36 2002
@@ -0,0 +1,13 @@
+#ifndef _S390_BUG_H
+#define _S390_BUG_H
+
+#define BUG() do { \
+        printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
+        __asm__ __volatile__(".long 0"); \
+} while (0)                                       
+
+#define PAGE_BUG(page) do { \
+        BUG(); \
+} while (0)                      
+
+#endif
diff -urN orig/include/asm-s390/page.h linux/include/asm-s390/page.h
--- orig/include/asm-s390/page.h	Sun Jun  9 16:01:59 2002
+++ linux/include/asm-s390/page.h	Sun Jun  9 11:45:59 2002
@@ -61,15 +61,6 @@
 
 #define clear_user_page(page, vaddr, pg)	clear_page(page)
 #define copy_user_page(to, from, vaddr, pg)	copy_page(to, from)
-
-#define BUG() do { \
-        printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
-        __asm__ __volatile__(".long 0"); \
-} while (0)                                       
-
-#define PAGE_BUG(page) do { \
-        BUG(); \
-} while (0)                      
 
 /* Pure 2^n version of get_order */
 extern __inline__ int get_order(unsigned long size)
diff -urN orig/include/asm-s390x/bug.h linux/include/asm-s390x/bug.h
--- orig/include/asm-s390x/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-s390x/bug.h	Sun Jan  6 11:54:13 2002
@@ -0,0 +1,13 @@
+#ifndef _S390_BUG_H
+#define _S390_BUG_H
+
+#define BUG() do { \
+        printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
+        __asm__ __volatile__(".long 0"); \
+} while (0)                                       
+
+#define PAGE_BUG(page) do { \
+        BUG(); \
+} while (0)                      
+
+#endif
diff -urN orig/include/asm-s390x/page.h linux/include/asm-s390x/page.h
--- orig/include/asm-s390x/page.h	Sun Jun  9 16:02:00 2002
+++ linux/include/asm-s390x/page.h	Sun Jun  9 11:46:26 2002
@@ -59,15 +59,6 @@
 
 #define clear_user_page(page, vaddr, pg)    clear_page(page)
 #define copy_user_page(to, from, vaddr, pg) copy_page(to, from)
-
-#define BUG() do { \
-        printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
-        __asm__ __volatile__(".long 0"); \
-} while (0)                                       
-
-#define PAGE_BUG(page) do { \
-        BUG(); \
-} while (0)                      
 
 /* Pure 2^n version of get_order */
 extern __inline__ int get_order(unsigned long size)
diff -urN orig/include/asm-sh/bug.h linux/include/asm-sh/bug.h
--- orig/include/asm-sh/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-sh/bug.h	Sun Jan  6 11:54:51 2002
@@ -0,0 +1,16 @@
+#ifndef __ASM_SH_BUG_H
+#define __ASM_SH_BUG_H
+
+/*
+ * Tell the user there is some problem.
+ */
+#define BUG() do { \
+	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
+	asm volatile("nop"); \
+} while (0)
+
+#define PAGE_BUG(page) do { \
+	BUG(); \
+} while (0)
+
+#endif
diff -urN orig/include/asm-sh/page.h linux/include/asm-sh/page.h
--- orig/include/asm-sh/page.h	Mon Oct  1 23:11:32 2001
+++ linux/include/asm-sh/page.h	Sun Jan  6 11:54:54 2002
@@ -89,18 +89,6 @@
 #define virt_to_page(kaddr)	phys_to_page(__pa(kaddr))
 
 #ifndef __ASSEMBLY__
-
-/*
- * Tell the user there is some problem.
- */
-#define BUG() do { \
-	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
-	asm volatile("nop"); \
-} while (0)
-
-#define PAGE_BUG(page) do { \
-	BUG(); \
-} while (0)
 
 /* Pure 2^n version of get_order */
 static __inline__ int get_order(unsigned long size)
diff -urN orig/include/asm-sparc/bug.h linux/include/asm-sparc/bug.h
--- orig/include/asm-sparc/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-sparc/bug.h	Sun Jan  6 11:58:47 2002
@@ -0,0 +1,25 @@
+/* $Id$ */
+#ifndef _SPARC_BUG_H
+#define _SPARC_BUG_H
+
+/*
+ * XXX I am hitting compiler bugs with __builtin_trap. This has
+ * hit me before and rusty was blaming his netfilter bugs on
+ * this so lets disable it. - Anton
+ */
+#if 0
+/* We need the mb()'s so we don't trigger a compiler bug - Anton */
+#define BUG() do { \
+	mb(); \
+	__builtin_trap(); \
+	mb(); \
+} while(0)
+#else
+#define BUG() do { \
+	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0=0; \
+} while (0)
+#endif
+
+#define PAGE_BUG(page)	BUG()
+
+#endif
diff -urN orig/include/asm-sparc/page.h linux/include/asm-sparc/page.h
--- orig/include/asm-sparc/page.h	Sun Jun  9 16:02:00 2002
+++ linux/include/asm-sparc/page.h	Sun Jun  9 11:27:41 2002
@@ -29,26 +29,6 @@
 
 #ifndef __ASSEMBLY__
 
-/*
- * XXX I am hitting compiler bugs with __builtin_trap. This has
- * hit me before and rusty was blaming his netfilter bugs on
- * this so lets disable it. - Anton
- */
-#if 0
-/* We need the mb()'s so we don't trigger a compiler bug - Anton */
-#define BUG() do { \
-	mb(); \
-	__builtin_trap(); \
-	mb(); \
-} while(0)
-#else
-#define BUG() do { \
-	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0=0; \
-} while (0)
-#endif
-
-#define PAGE_BUG(page)	BUG()
-
 #define clear_page(page)	 memset((void *)(page), 0, PAGE_SIZE)
 #define copy_page(to,from) 	memcpy((void *)(to), (void *)(from), PAGE_SIZE)
 #define clear_user_page(addr, vaddr, page)	clear_page(addr)
diff -urN orig/include/asm-sparc64/bug.h linux/include/asm-sparc64/bug.h
--- orig/include/asm-sparc64/bug.h	Thu Jan  1 01:00:00 1970
+++ linux/include/asm-sparc64/bug.h	Tue Jan 15 16:13:30 2002
@@ -0,0 +1,17 @@
+/* $Id$ */
+
+#ifndef _SPARC64_BUG_H
+#define _SPARC64_BUG_H
+
+#ifdef CONFIG_DEBUG_BUGVERBOSE
+extern void do_BUG(const char *file, int line);
+#define BUG() do {					\
+	do_BUG(__FILE__, __LINE__);			\
+	__builtin_trap();				\
+} while (0)
+#else
+#define BUG()		__builtin_trap()
+#endif
+
+
+#endif
diff -urN orig/include/asm-sparc64/page.h linux/include/asm-sparc64/page.h
--- orig/include/asm-sparc64/page.h	Sun Jun  9 16:02:01 2002
+++ linux/include/asm-sparc64/page.h	Sun Jun  9 11:27:41 2002
@@ -20,18 +20,6 @@
 
 #ifndef __ASSEMBLY__
 
-#ifdef CONFIG_DEBUG_BUGVERBOSE
-extern void do_BUG(const char *file, int line);
-#define BUG() do {					\
-	do_BUG(__FILE__, __LINE__);			\
-	__builtin_trap();				\
-} while (0)
-#else
-#define BUG()		__builtin_trap()
-#endif
-
-#define PAGE_BUG(page)	BUG()
-
 /* Sparc64 is slow at multiplication, we prefer to use some extra space. */
 #define WANT_PAGE_VIRTUAL 1
 
diff -urN orig/include/linux/dcache.h linux/include/linux/dcache.h
--- orig/include/linux/dcache.h	Sat May 25 23:13:52 2002
+++ linux/include/linux/dcache.h	Sat May 25 10:45:47 2002
@@ -7,7 +7,7 @@
 #include <linux/list.h>
 #include <linux/spinlock.h>
 #include <linux/cache.h>
-#include <asm/page.h>			/* for BUG() */
+#include <asm/bug.h>
 
 struct vfsmount;
 
diff -urN orig/include/linux/jbd.h linux/include/linux/jbd.h
--- orig/include/linux/jbd.h	Sat Oct 12 10:02:12 2002
+++ linux/include/linux/jbd.h	Sun Jan 12 11:43:31 2003
@@ -194,6 +194,7 @@
 
 #include <linux/fs.h>
 #include <linux/sched.h>
+#include <asm/bug.h>
 
 #define JBD_ASSERTIONS
 #ifdef JBD_ASSERTIONS
@@ -778,14 +779,6 @@
 {
 	handle->h_aborted = 1;
 }
-
-/* Not all architectures define BUG() */
-#ifndef BUG
- #define BUG() do { \
-        printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
-	* ((char *) 0) = 0; \
- } while (0)
-#endif /* BUG */
 
 #endif /* __KERNEL__   */
 
diff -urN orig/include/linux/kernel.h linux/include/linux/kernel.h
--- orig/include/linux/kernel.h	Mon Nov 18 09:52:20 2002
+++ linux/include/linux/kernel.h	Mon Nov 18 10:03:05 2002
@@ -13,6 +13,7 @@
 #include <linux/types.h>
 #include <linux/compiler.h>
 #include <asm/byteorder.h>
+#include <asm/bug.h>
 
 /* Optimization barrier */
 /* The "volatile" is due to gcc bugs */
diff -urN orig/include/linux/smp.h linux/include/linux/smp.h
--- orig/include/linux/smp.h	Thu Oct  3 12:45:28 2002
+++ linux/include/linux/smp.h	Mon Nov 18 10:00:26 2002
@@ -14,6 +14,7 @@
 #include <linux/compiler.h>
 #include <linux/threads.h>
 #include <asm/smp.h>
+#include <asm/bug.h>
 
 /*
  * main cross-CPU interfaces, handles INIT, TLB flush, STOP, etc.
@@ -86,7 +87,6 @@
 void smp_prepare_boot_cpu(void);
 
 #else /* !SMP */
-#include <asm/page.h> /* For BUG() */
 
 /*
  *	These macros fold the SMP functionality into a single CPU system

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] 2.5.56-bug
  2003-01-12 12:15 [PATCH] 2.5.56-bug Russell King
@ 2003-01-12 23:49 ` Ingo Oeser
  2003-01-13  9:18   ` Russell King
  0 siblings, 1 reply; 3+ messages in thread
From: Ingo Oeser @ 2003-01-12 23:49 UTC (permalink / raw)
  To: Russell King; +Cc: LKML

Hi Russell,
Hi LKML,

On Sun, Jan 12, 2003 at 12:15:29PM +0000, Russell King wrote:
> This patch appears not to be in 2.5.56, but applies cleanly.
> 
> This patch moves BUG() and PAGE_BUG() from asm/page.h into asm/bug.h.

While we are at it: BUG() expects the offending task to be killed
so implementations, which just do a printk() there are
non-conforming.

Code paths which contain BUG() or BUG_ON() usally expect this
code-path to end and just threat the opposite condition to be
true.

A conforming implementation is panic(), if faulting is not that
easy in these architectures, but printk() is just plain wrong.

Mind to get a patch on top of your doing exactly this
modification?

Regards

Ingo Oeser
-- 
Science is what we can tell a computer. Art is everything else. --- D.E.Knuth

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] 2.5.56-bug
  2003-01-12 23:49 ` Ingo Oeser
@ 2003-01-13  9:18   ` Russell King
  0 siblings, 0 replies; 3+ messages in thread
From: Russell King @ 2003-01-13  9:18 UTC (permalink / raw)
  To: Ingo Oeser; +Cc: LKML

On Mon, Jan 13, 2003 at 12:49:40AM +0100, Ingo Oeser wrote:
> Mind to get a patch on top of your doing exactly this
> modification?

That is something for the architecture people to sort out.  I, for
instance, don't know if an 'asm(".long 0");' will actually cause the
process to terminate.

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-01-13  9:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-12 12:15 [PATCH] 2.5.56-bug Russell King
2003-01-12 23:49 ` Ingo Oeser
2003-01-13  9:18   ` Russell King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox