[PATCH] PPC64: Abolish broken nested feature sections

David Gibson david at gibson.dropbear.id.au
Tue Aug 30 12:54:07 EST 2005


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 at au1.ibm.com>
---

 arch/ppc64/mm/hash_low.S |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Index: working-2.6/arch/ppc64/mm/hash_low.S
===================================================================
--- working-2.6.orig/arch/ppc64/mm/hash_low.S	2005-07-26 10:36:48.000000000 +1000
+++ working-2.6/arch/ppc64/mm/hash_low.S	2005-07-26 17:35:49.000000000 +1000
@@ -129,12 +129,10 @@
 	 * 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)



More information about the Linuxppc64-dev mailing list