[PATCH] Remove nested feature sections
authorDavid Gibson <david@gibson.dropbear.id.au>
Wed, 27 Jul 2005 05:47:23 +0000 (15:47 +1000)
committerPaul Mackerras <paulus@samba.org>
Tue, 30 Aug 2005 03:52:12 +0000 (13:52 +1000)
The {BEGIN,END}_FTR_SECTION asm macros used in ppc64 to nop out
sections of code at runtime cannot be nested.  However, we do nest
them in hash_low.S.  We get away with it there, because there is
nothing between the BEGIN markers for each section.  However, that's
confusing to someone reading the code.

This patch removes the nested ifset and ifclr feature sections,
replacing them with a single feature section in the full mask/value
form.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/ppc64/mm/hash_low.S

index fbff248..35eb49e 100644 (file)
@@ -128,13 +128,11 @@ _GLOBAL(__hash_page)
        /* We eventually do the icache sync here (maybe inline that
         * code rather than call a C function...) 
         */
-BEGIN_FTR_SECTION
 BEGIN_FTR_SECTION
        mr      r4,r30
        mr      r5,r7
        bl      .hash_page_do_lazy_icache
-END_FTR_SECTION_IFSET(CPU_FTR_NOEXECUTE)
-END_FTR_SECTION_IFCLR(CPU_FTR_COHERENT_ICACHE)
+END_FTR_SECTION(CPU_FTR_NOEXECUTE|CPU_FTR_COHERENT_ICACHE, CPU_FTR_NOEXECUTE)
 
        /* At this point, r3 contains new PP bits, save them in
         * place of "access" in the param area (sic)