powerpc: Consolidate feature fixup macros for 64/32 bit

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Tuesday, July 15, 2008 - 8:12 pm

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1137c...
Commit:     c1137c37a9370f510dc022e6e95fff036ccb90be
Parent:     c5157e587b33b1185cf73207fc53760cf1351430
Author:     Michael Ellerman <michael@ellerman.id.au>
AuthorDate: Tue Jun 24 11:32:48 2008 +1000
Committer:  Paul Mackerras <paulus@samba.org>
CommitDate: Tue Jul 1 11:28:26 2008 +1000

    powerpc: Consolidate feature fixup macros for 64/32 bit
    
    Currently we have three versions of MAKE_FTR_SECTION_ENTRY(), the macro that
    generates a feature section entry.  There is 64bit version, a 32bit version
    and version for 32bit code built with a 64bit kernel.
    
    Rather than triplicating (?) the MAKE_FTR_SECTION_ENTRY() logic, we can
    move the 64bit/32bit differences into separate macros, and then only have
    one version of MAKE_FTR_SECTION_ENTRY().
    
    Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
    Acked-by: Kumar Gala <galak@kernel.crashing.org>
    Signed-off-by: Paul Mackerras <paulus@samba.org>
---
 include/asm-powerpc/feature-fixups.h |   54 ++++++++-------------------------
 1 files changed, 13 insertions(+), 41 deletions(-)

diff --git a/include/asm-powerpc/feature-fixups.h b/include/asm-powerpc/feature-fixups.h
index 8597212..35f9278 100644
--- a/include/asm-powerpc/feature-fixups.h
+++ b/include/asm-powerpc/feature-fixups.h
@@ -19,55 +19,27 @@
  * that values will be negative, that is, the fixup table has to be
  * located after the code it fixes up.
  */
-#ifdef CONFIG_PPC64
-
-#ifdef __powerpc64__
-
-/* 64 bits kernel, 64 bits code */
-#define MAKE_FTR_SECTION_ENTRY(msk, val, label, sect)	\
-99:							\
-	.section sect,"a";				\
-	.align 3;					\
-98:						       	\
-	.llong msk;					\
-	.llong val;					\
-	.llong label##b-98b;				\
-	.llong 99b-98b;		 			\
-	.previous
-
-#else /* __powerpc64__ */
-
+#if defined(CONFIG_PPC64) && !defined(__powerpc64__)
 /* 64 bits kernel, 32 bits code (ie. vdso32) */
+#define FTR_ENTRY_LONG		.llong
+#define FTR_ENTRY_OFFSET	.long 0xffffffff; .long
+#else
+/* 64 bit kernel 64 bit code, or 32 bit kernel 32 bit code */
+#define FTR_ENTRY_LONG		PPC_LONG
+#define FTR_ENTRY_OFFSET	PPC_LONG
+#endif
+
 #define MAKE_FTR_SECTION_ENTRY(msk, val, label, sect)	\
 99:							\
 	.section sect,"a";				\
 	.align 3;					\
 98:						       	\
-	.llong msk;					\
-	.llong val;					\
-	.long 0xffffffff;      				\
-	.long label##b-98b;				\
-	.long 0xffffffff;	       			\
-	.long 99b-98b;		 			\
-	.previous
-
-#endif /* !__powerpc64__ */
-
-#else /* CONFIG_PPC64 */
-
-/* 32 bits kernel, 32 bits code */
-#define MAKE_FTR_SECTION_ENTRY(msk, val, label, sect)	\
-99:						       	\
-	.section sect,"a";			       	\
-	.align 2;				       	\
-98:						       	\
-	.long msk;				       	\
-	.long val;				       	\
-	.long label##b-98b;			       	\
-	.long 99b-98b;				       	\
+	FTR_ENTRY_LONG msk;				\
+	FTR_ENTRY_LONG val;				\
+	FTR_ENTRY_OFFSET label##b-98b;			\
+	FTR_ENTRY_OFFSET 99b-98b;		 	\
 	.previous
 
-#endif /* !CONFIG_PPC64 */
 
 
 /* CPU feature dependent sections */
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
powerpc: Consolidate feature fixup macros for 64/32 bit, Linux Kernel Mailing ..., (Tue Jul 15, 8:12 pm)