mp_platform_common.c (2917a9c9) | mp_platform_common.c (5cff7825) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 635 unchanged lines hidden (view full) --- 644 madt_size = acpi_mapic_dtp->Length; 645 madt_seen = sizeof (*acpi_mapic_dtp); 646 647 while (madt_seen < madt_size) { 648 switch (ap->Type) { 649 case APIC_PROCESSOR: 650 mpa = (MADT_PROCESSOR_APIC *) ap; 651 if (mpa->ProcessorEnabled) { | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 635 unchanged lines hidden (view full) --- 644 madt_size = acpi_mapic_dtp->Length; 645 madt_seen = sizeof (*acpi_mapic_dtp); 646 647 while (madt_seen < madt_size) { 648 switch (ap->Type) { 649 case APIC_PROCESSOR: 650 mpa = (MADT_PROCESSOR_APIC *) ap; 651 if (mpa->ProcessorEnabled) { |
652 if (mpa->LocalApicId == local_ids[0]) | 652 if (mpa->LocalApicId == local_ids[0]) { |
653 proc_ids[0] = mpa->ProcessorId; | 653 proc_ids[0] = mpa->ProcessorId; |
654 else if (apic_nproc < NCPU) { | 654 acpica_map_cpu(0, mpa); 655 } else if (apic_nproc < NCPU) { |
655 local_ids[index] = mpa->LocalApicId; 656 proc_ids[index] = mpa->ProcessorId; 657 CPUSET_ADD(apic_cpumask, index); | 656 local_ids[index] = mpa->LocalApicId; 657 proc_ids[index] = mpa->ProcessorId; 658 CPUSET_ADD(apic_cpumask, index); |
659 acpica_map_cpu(index, mpa); |
|
658 index++; 659 apic_nproc++; 660 } else 661 cmn_err(CE_WARN, "%s: exceeded " 662 "maximum no. of CPUs (= %d)", 663 psm_name, NCPU); 664 } 665 break; --- 141 unchanged lines hidden (view full) --- 807 * Now call acpi_init() to generate namespaces 808 * If this fails, we don't attempt to use ACPI 809 * even if we were able to get a MADT above 810 */ 811 if (acpica_init() != AE_OK) 812 goto cleanup; 813 814 /* | 660 index++; 661 apic_nproc++; 662 } else 663 cmn_err(CE_WARN, "%s: exceeded " 664 "maximum no. of CPUs (= %d)", 665 psm_name, NCPU); 666 } 667 break; --- 141 unchanged lines hidden (view full) --- 809 * Now call acpi_init() to generate namespaces 810 * If this fails, we don't attempt to use ACPI 811 * even if we were able to get a MADT above 812 */ 813 if (acpica_init() != AE_OK) 814 goto cleanup; 815 816 /* |
817 * Call acpica_build_processor_map() now that we have 818 * ACPI namesspace access 819 */ 820 acpica_build_processor_map(); 821 822 /* |
|
815 * Squirrel away the SCI and flags for later on 816 * in apic_picinit() when we're ready 817 */ 818 apic_sci_vect = sci; 819 apic_sci_flags = sci_flags; 820 821 if (apic_verbose & APIC_VERBOSE_IRQ_FLAG) 822 acpi_verboseflags |= PSM_VERBOSE_IRQ_FLAG; --- 3156 unchanged lines hidden --- | 823 * Squirrel away the SCI and flags for later on 824 * in apic_picinit() when we're ready 825 */ 826 apic_sci_vect = sci; 827 apic_sci_flags = sci_flags; 828 829 if (apic_verbose & APIC_VERBOSE_IRQ_FLAG) 830 acpi_verboseflags |= PSM_VERBOSE_IRQ_FLAG; --- 3156 unchanged lines hidden --- |