diff options
author | Jack Steiner <steiner@sgi.com> | 2006-04-27 21:01:05 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2006-06-28 12:56:55 -0400 |
commit | 9d56d878ae12dbb9af744cec2858ed35dffde2b2 (patch) | |
tree | 4dd6d1709219d16e5ab04bfbb0a9a3f98f3b3ae0 /arch/ia64 | |
parent | f1206641ef4a8cb7a7b15b75e8cfdc7c6bfaf213 (diff) |
[IA64-SGI] - Pass OS logical cpu number to the SN prom (bios)
Pass the OS logical cpu number to the PROM. This allows PROM
to log the OS logical cpu number in error records viewed thru POD.
Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/sn/kernel/setup.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c index 93577abae36d..97579348a549 100644 --- a/arch/ia64/sn/kernel/setup.c +++ b/arch/ia64/sn/kernel/setup.c | |||
@@ -577,7 +577,8 @@ void __init sn_cpu_init(void) | |||
577 | int i; | 577 | int i; |
578 | static int wars_have_been_checked; | 578 | static int wars_have_been_checked; |
579 | 579 | ||
580 | if (smp_processor_id() == 0 && IS_MEDUSA()) { | 580 | cpuid = smp_processor_id(); |
581 | if (cpuid == 0 && IS_MEDUSA()) { | ||
581 | if (ia64_sn_is_fake_prom()) | 582 | if (ia64_sn_is_fake_prom()) |
582 | sn_prom_type = 2; | 583 | sn_prom_type = 2; |
583 | else | 584 | else |
@@ -597,6 +598,12 @@ void __init sn_cpu_init(void) | |||
597 | sn_hub_info->as_shift = sn_hub_info->nasid_shift - 2; | 598 | sn_hub_info->as_shift = sn_hub_info->nasid_shift - 2; |
598 | 599 | ||
599 | /* | 600 | /* |
601 | * Don't check status. The SAL call is not supported on all PROMs | ||
602 | * but a failure is harmless. | ||
603 | */ | ||
604 | (void) ia64_sn_set_cpu_number(cpuid); | ||
605 | |||
606 | /* | ||
600 | * The boot cpu makes this call again after platform initialization is | 607 | * The boot cpu makes this call again after platform initialization is |
601 | * complete. | 608 | * complete. |
602 | */ | 609 | */ |
@@ -607,7 +614,6 @@ void __init sn_cpu_init(void) | |||
607 | if (ia64_sn_get_prom_feature_set(i, &sn_prom_features[i]) != 0) | 614 | if (ia64_sn_get_prom_feature_set(i, &sn_prom_features[i]) != 0) |
608 | break; | 615 | break; |
609 | 616 | ||
610 | cpuid = smp_processor_id(); | ||
611 | cpuphyid = get_sapicid(); | 617 | cpuphyid = get_sapicid(); |
612 | 618 | ||
613 | if (ia64_sn_get_sapic_info(cpuphyid, &nasid, &subnode, &slice)) | 619 | if (ia64_sn_get_sapic_info(cpuphyid, &nasid, &subnode, &slice)) |