[CFT] Sparse Cstate Support -- Its possible, that I don't know what I'm doing.

Sean Bruno seanbru at yahoo-inc.com
Wed Jun 20 16:44:47 UTC 2012


On Tue, 2012-06-19 at 09:02 -0700, Sean Bruno wrote:
> http://people.freebsd.org/~sbruno/acpi_cpu_cstate_sparse.txt

also, I wanted to point out that I'm returning BUS_PROBE_GENERIC here.

I want to emulate the Intel acpi_idle code that exists in linux-land and
I *thought* that I could setup an acpi_cpu_idle module that would come
in at a higher priority on Intel cpus, however there's some SYSINIT()
hackery going on that I don't know how to handle gracefully.  I'm not
sure how to proceed with a different idle module here.  thoughts?

e.g.

static void
acpi_cpu_postattach(void *unused __unused)
{
    device_t *devices;
    int err;
    int i, n;

    err = devclass_get_devices(acpi_cpu_devclass, &devices, &n);
    if (err != 0) {
        printf("devclass_get_devices(acpi_cpu_devclass) failed\n");
        return;
    }
    for (i = 0; i < n; i++)
        bus_generic_probe(devices[i]);
    for (i = 0; i < n; i++)
        bus_generic_attach(devices[i]);
    free(devices, M_TEMP);
}

SYSINIT(acpi_cpu, SI_SUB_CONFIGURE, SI_ORDER_MIDDLE,
    acpi_cpu_postattach, NULL);




More information about the freebsd-acpi mailing list