acpi_cpu_idle: cpu with no corresponding acpi cpu

Andriy Gapon avg at FreeBSD.org
Sun Jul 15 19:43:22 UTC 2012


I have a question about the following block in acpi_cpu_idle:
    /*
     * Look up our CPU id to get our softc.  If it's NULL, we'll use C1
     * since there is no ACPI processor object for this CPU.  This occurs
     * for logical CPUs in the HTT case.
     */
    sc = cpu_softc[PCPU_GET(cpuid)];
    if (sc == NULL) {
	acpi_cpu_c1();
	return;
    }

I believe that a part of the comment that singles out HTT is certainly incorrect
for modern and non-buggy ACPI tables.
But in general, should we expect (and support) ACPI platforms where some real
CPUs (which have to be advertised via ACPI [modulo non-MADT, mptable-only
systems]) do not have corresponding Processor objects in DSDT?
Does acpi_pcpu_get_id provide such support?
Or can the code in question be just replaced with KASSERT?

Thank you in advance.
-- 
Andriy Gapon



More information about the freebsd-acpi mailing list