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 ---