|
@@ -434,30 +434,34 @@ static inline int cpu_has_feature(unsigned long feature)
|
|
|
|
|
|
#ifdef __ASSEMBLY__
|
|
|
|
|
|
-#define BEGIN_FTR_SECTION 98:
|
|
|
+#define BEGIN_FTR_SECTION_NESTED(label) label:
|
|
|
+#define BEGIN_FTR_SECTION BEGIN_FTR_SECTION_NESTED(98)
|
|
|
|
|
|
#ifndef __powerpc64__
|
|
|
-#define END_FTR_SECTION(msk, val) \
|
|
|
+#define END_FTR_SECTION_NESTED(msk, val, label) \
|
|
|
99: \
|
|
|
.section __ftr_fixup,"a"; \
|
|
|
.align 2; \
|
|
|
.long msk; \
|
|
|
.long val; \
|
|
|
- .long 98b; \
|
|
|
+ .long label##b; \
|
|
|
.long 99b; \
|
|
|
.previous
|
|
|
#else /* __powerpc64__ */
|
|
|
-#define END_FTR_SECTION(msk, val) \
|
|
|
+#define END_FTR_SECTION_NESTED(msk, val, label) \
|
|
|
99: \
|
|
|
.section __ftr_fixup,"a"; \
|
|
|
.align 3; \
|
|
|
.llong msk; \
|
|
|
.llong val; \
|
|
|
- .llong 98b; \
|
|
|
+ .llong label##b; \
|
|
|
.llong 99b; \
|
|
|
.previous
|
|
|
#endif /* __powerpc64__ */
|
|
|
|
|
|
+#define END_FTR_SECTION(msk, val) \
|
|
|
+ END_FTR_SECTION_NESTED(msk, val, 98)
|
|
|
+
|
|
|
#define END_FTR_SECTION_IFSET(msk) END_FTR_SECTION((msk), (msk))
|
|
|
#define END_FTR_SECTION_IFCLR(msk) END_FTR_SECTION((msk), 0)
|
|
|
#endif /* __ASSEMBLY__ */
|