diff options
Diffstat (limited to 'arch/sparc64/kernel/smp.c')
-rw-r--r-- | arch/sparc64/kernel/smp.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index 0e7552546d36..16b8eca9754e 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c | |||
@@ -424,7 +424,7 @@ static __inline__ void spitfire_xcall_deliver(u64 data0, u64 data1, u64 data2, c | |||
424 | static void cheetah_xcall_deliver(u64 data0, u64 data1, u64 data2, cpumask_t mask) | 424 | static void cheetah_xcall_deliver(u64 data0, u64 data1, u64 data2, cpumask_t mask) |
425 | { | 425 | { |
426 | u64 pstate, ver; | 426 | u64 pstate, ver; |
427 | int nack_busy_id, is_jalapeno; | 427 | int nack_busy_id, is_jbus; |
428 | 428 | ||
429 | if (cpus_empty(mask)) | 429 | if (cpus_empty(mask)) |
430 | return; | 430 | return; |
@@ -434,7 +434,8 @@ static void cheetah_xcall_deliver(u64 data0, u64 data1, u64 data2, cpumask_t mas | |||
434 | * derivative processor. | 434 | * derivative processor. |
435 | */ | 435 | */ |
436 | __asm__ ("rdpr %%ver, %0" : "=r" (ver)); | 436 | __asm__ ("rdpr %%ver, %0" : "=r" (ver)); |
437 | is_jalapeno = ((ver >> 32) == 0x003e0016); | 437 | is_jbus = ((ver >> 32) == __JALAPENO_ID || |
438 | (ver >> 32) == __SERRANO_ID); | ||
438 | 439 | ||
439 | __asm__ __volatile__("rdpr %%pstate, %0" : "=r" (pstate)); | 440 | __asm__ __volatile__("rdpr %%pstate, %0" : "=r" (pstate)); |
440 | 441 | ||
@@ -459,7 +460,7 @@ retry: | |||
459 | for_each_cpu_mask(i, mask) { | 460 | for_each_cpu_mask(i, mask) { |
460 | u64 target = (i << 14) | 0x70; | 461 | u64 target = (i << 14) | 0x70; |
461 | 462 | ||
462 | if (!is_jalapeno) | 463 | if (!is_jbus) |
463 | target |= (nack_busy_id << 24); | 464 | target |= (nack_busy_id << 24); |
464 | __asm__ __volatile__( | 465 | __asm__ __volatile__( |
465 | "stxa %%g0, [%0] %1\n\t" | 466 | "stxa %%g0, [%0] %1\n\t" |
@@ -512,7 +513,7 @@ retry: | |||
512 | for_each_cpu_mask(i, mask) { | 513 | for_each_cpu_mask(i, mask) { |
513 | u64 check_mask; | 514 | u64 check_mask; |
514 | 515 | ||
515 | if (is_jalapeno) | 516 | if (is_jbus) |
516 | check_mask = (0x2UL << (2*i)); | 517 | check_mask = (0x2UL << (2*i)); |
517 | else | 518 | else |
518 | check_mask = (0x2UL << | 519 | check_mask = (0x2UL << |