lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 07 Mar 2007 10:22:09 +0900
From:	Tsutomu OWA <tsutomu.owa@...hiba.co.jp>
To:	mingo@...e.hu
Cc:	linuxppc-dev@...abs.org, linux-kernel@...r.kernel.org,
	tsutomu.owa@...hiba.co.jp
Subject: [patch 7/7 -rt] powerpc 2.6.20-rt8: fix compile error (hw_irq.h)


  To fix the following compile error by changing local_irq_restore()
to raw_local_irq_restore().

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
include/asm-powerpc/hw_irq.h
In file included from include/asm/system.h:9,
		 from include/linux/list.h:9,
		 from include/linux/signal.h:8,
		 from arch/powerpc/kernel/asm-offsets.c:16:
include/asm/hw_irq.h: In function 'local_get_flags':
include/asm/hw_irq.h:23: error: expected expression before '<<' token
include/asm/hw_irq.h:24: error: expected expression before '<<' token
include/asm/hw_irq.h:25: error: expected expression before ':' token
include/asm/hw_irq.h:25: error: expected statement before ')' token
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

Signed-off-by: Tsutomu Owa <tsutomu.owa@...hiba.co.jp>
-- owa

diff -rup linux-rt8/include/asm-powerpc/hw_irq.h rt/include/asm-powerpc/hw_irq.h
--- linux-rt8/include/asm-powerpc/hw_irq.h	2007-02-20 14:30:40.000000000 +0900
+++ rt/include/asm-powerpc/hw_irq.h	2007-03-05 10:39:22.000000000 +0900
@@ -16,18 +16,18 @@ extern void timer_interrupt(struct pt_re
 #ifdef CONFIG_PPC64
 #include <asm/paca.h>
 
-static inline unsigned long local_get_flags(void)
+static inline unsigned long raw_local_get_flags(void)
 {
 	unsigned long flags;
 
-<<<<<<< delete extern unsigned long local_get_flags(void);
-<<<<<<< delete extern unsigned long local_irq_disable(void);
+	__asm__ __volatile__("lbz %0,%1(13)"
+	: "=r" (flags)
 	: "i" (offsetof(struct paca_struct, soft_enabled)));
 
 	return flags;
 }
 
-static inline unsigned long local_irq_disable(void)
+static inline unsigned long raw_local_irq_disable(void)
 {
 	unsigned long flags, zero;
 
@@ -39,32 +39,28 @@ static inline unsigned long local_irq_di
 	return flags;
 }
 
-extern void iseries_handle_interrupts(void);
-extern unsigned long raw_local_get_flags(void);
-extern unsigned long raw_local_irq_disable(void);
 extern void raw_local_irq_restore(unsigned long);
+extern void iseries_handle_interrupts(void);
 
-#define raw_local_irq_enable()	raw_local_irq_restore(1)
+#define raw_local_irq_enable()		raw_local_irq_restore(1)
 #define raw_local_save_flags(flags)	((flags) = raw_local_get_flags())
 #define raw_local_irq_save(flags)	((flags) = raw_local_irq_disable())
 
-#define raw_irqs_disabled()			(raw_local_get_flags() == 0)
+#define raw_irqs_disabled()		(raw_local_get_flags() == 0)
 #define raw_irqs_disabled_flags(flags)	((flags) == 0)
 
-#define hard_irq_enable()	__mtmsrd(mfmsr() | MSR_EE, 1)
-#define hard_irq_disable()	__mtmsrd(mfmsr() & ~MSR_EE, 1)
+#define hard_irq_enable()		__mtmsrd(mfmsr() | MSR_EE, 1)
+#define hard_irq_disable()		__mtmsrd(mfmsr() & ~MSR_EE, 1)
 
-#else
+#else /* CONFIG_PPC64 */
 
 #if defined(CONFIG_BOOKE)
 #define SET_MSR_EE(x)	mtmsr(x)
 #define raw_local_irq_restore(flags)	__asm__ __volatile__("wrtee %0" : : "r" (flags) : "memory")
-<<<<<<< delete #define local_irq_restore(flags) do { \
-#define raw_local_irq_restore(flags) do { \
 #else
 #define SET_MSR_EE(x)	mtmsr(x)
 #define raw_local_irq_restore(flags)	mtmsr(flags)
-#endif
+#endif /* CONFIG_BOOKE */
 
 static inline void raw_local_irq_disable(void)
 {
diff -rup linux-rt8/arch/powerpc/kernel/irq.c rt/arch/powerpc/kernel/irq.c
--- linux-rt8/arch/powerpc/kernel/irq.c	2007-02-20 14:30:38.000000000 +0900
+++ rt/arch/powerpc/kernel/irq.c	2007-02-20 15:44:11.000000000 +0900
@@ -111,7 +111,7 @@ static inline void set_soft_enabled(unsi
 	: : "r" (enable), "i" (offsetof(struct paca_struct, soft_enabled)));
 }
 
-void local_irq_restore(unsigned long en)
+void raw_local_irq_restore(unsigned long en)
 {
 	/*
 	 * get_paca()->soft_enabled = en;
diff -rup linux-rt8/arch/powerpc/kernel/head_64.S rt/arch/powerpc/kernel/head_64.S
--- linux-rt8/arch/powerpc/kernel/head_64.S	2007-02-20 09:38:52.000000000 +0900
+++ rt/arch/powerpc/kernel/head_64.S	2007-02-20 15:42:25.000000000 +0900
@@ -1385,7 +1385,7 @@ END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISER
 	 * handles any interrupts pending at this point.
 	 */
 	ld	r3,SOFTE(r1)
-	bl	.local_irq_restore
+	bl	.raw_local_irq_restore
 	b	11f
 
 /* Here we have a page fault that hash_page can't handle. */
diff -rup linux-rt8/arch/powerpc/kernel/ppc_ksyms.c rt/arch/powerpc/kernel/ppc_ksyms.c
--- linux-rt8/arch/powerpc/kernel/ppc_ksyms.c	2007-02-20 14:30:38.000000000 +0900
+++ rt/arch/powerpc/kernel/ppc_ksyms.c	2007-02-20 15:44:34.000000000 +0900
@@ -49,7 +49,7 @@
 #endif
 
 #ifdef CONFIG_PPC64
-EXPORT_SYMBOL(local_irq_restore);
+EXPORT_SYMBOL(raw_local_irq_restore);
 #endif
 
 #ifdef CONFIG_PPC32

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ