Skip to content

Commit

Permalink
powerpc: Enable MMU feature sections for inline asm
Browse files Browse the repository at this point in the history
powerpc: Enable MMU feature sections for inline asm

This adds the ability to do MMU feature sections for inline asm.

Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  • Loading branch information
Milton Miller authored and Benjamin Herrenschmidt committed May 21, 2009
1 parent dfb432c commit af20aeb
Showing 1 changed file with 20 additions and 5 deletions.
25 changes: 20 additions & 5 deletions arch/powerpc/include/asm/feature-fixups.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
* 2 of the License, or (at your option) any later version.
*/

#ifdef __ASSEMBLY__

/*
* Feature section common macros
*
Expand All @@ -23,10 +21,12 @@
/* 64 bits kernel, 32 bits code (ie. vdso32) */
#define FTR_ENTRY_LONG .llong
#define FTR_ENTRY_OFFSET .long 0xffffffff; .long
#elif defined(CONFIG_PPC64)
#define FTR_ENTRY_LONG .llong
#define FTR_ENTRY_OFFSET .llong
#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
#define FTR_ENTRY_LONG .long
#define FTR_ENTRY_OFFSET .long
#endif

#define START_FTR_SECTION(label) label##1:
Expand Down Expand Up @@ -141,6 +141,21 @@ label##5: \
#define ALT_FW_FTR_SECTION_END_IFCLR(msk) \
ALT_FW_FTR_SECTION_END_NESTED_IFCLR(msk, 97)

#ifndef __ASSEMBLY__

#define ASM_MMU_FTR_IF(section_if, section_else, msk, val) \
stringify_in_c(BEGIN_MMU_FTR_SECTION) \
section_if "; " \
stringify_in_c(MMU_FTR_SECTION_ELSE) \
section_else "; " \
stringify_in_c(ALT_MMU_FTR_SECTION_END((msk), (val)))

#define ASM_MMU_FTR_IFSET(section_if, section_else, msk) \
ASM_MMU_FTR_IF(section_if, section_else, (msk), (msk))

#define ASM_MMU_FTR_IFCLR(section_if, section_else, msk) \
ASM_MMU_FTR_IF(section_if, section_else, (msk), 0)

#endif /* __ASSEMBLY__ */

/* LWSYNC feature sections */
Expand Down

0 comments on commit af20aeb

Please sign in to comment.