Patchwork sparc32 broke

login
register
mail settings
Submitter David Miller
Date Jan. 9, 2009, 12:48 a.m.
Message ID <20090108.164803.166517203.davem@davemloft.net>
Download mbox | patch
Permalink /patch/17448/
State Accepted
Delegated to: David Miller
Headers show

Comments

David Miller - Jan. 9, 2009, 12:48 a.m.
From: Robert Reif <reif@earthlink.net>

Date: Thu, 08 Jan 2009 19:32:21 -0500

> A compile of todays mainline produces this compile error:

> 

> arch/sparc/kernel/sun4d_smp.c:63: error: expected identifier or ‘(’ before ‘{’ token

> arch/sparc/kernel/sun4d_smp.c: In function ‘smp4d_callin’:

> arch/sparc/kernel/sun4d_smp.c:118: error: lvalue required as left operand of assignment

> arch/sparc/kernel/sun4d_smp.c:118: error: lvalue required as left operand of assignment


Thanks for the report, I've committed the fix below to sparc-2.6

> Prior to today, sparc32 has also failed to boot completely for the last few days.

> It boots but fails in the init scripts when it can't find the boot partition.

> 

> Ill try to bisect the boot problem but it will take a while.


Thanks, let us know if you need any help figuring something out.

sparc: Fix sun4d_irq.c build.

Reported by Robert Reif.

Fallout from 'swap' changes.

Signed-off-by: David S. Miller <davem@davemloft.net>

---
 arch/sparc/kernel/sun4d_smp.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

-- 
1.6.1.15.g159c88

Patch

diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c

index 16ab0cb..50afaed 100644

--- a/arch/sparc/kernel/sun4d_smp.c

+++ b/arch/sparc/kernel/sun4d_smp.c

@@ -60,7 +60,7 @@  extern int __smp4d_processor_id(void);

 #define SMP_PRINTK(x)
 #endif
 
-static inline unsigned long swap(volatile unsigned long *ptr, unsigned long val)

+static inline unsigned long sun4d_swap(volatile unsigned long *ptr, unsigned long val)

 {
 	__asm__ __volatile__("swap [%1], %0\n\t" :
 			     "=&r" (val), "=&r" (ptr) :
@@ -115,7 +115,7 @@  void __cpuinit smp4d_callin(void)

 	local_flush_tlb_all();
 
 	/* Allow master to continue. */
-	swap((unsigned long *)&cpu_callin_map[cpuid], 1);

+	sun4d_swap((unsigned long *)&cpu_callin_map[cpuid], 1);

 	local_flush_cache_all();
 	local_flush_tlb_all();