Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jun 2012 09:44:08 -0700
From:      Sean Bruno <seanbru@yahoo-inc.com>
To:        "sbruno@freebsd.org" <sbruno@freebsd.org>
Cc:        "freebsd-acpi@freebsd.org" <freebsd-acpi@freebsd.org>
Subject:   Re: [CFT] Sparse Cstate Support -- Its possible, that I don't know what I'm doing.
Message-ID:  <1340210648.2858.9.camel@powernoodle.corp.yahoo.com>
In-Reply-To: <1340121728.5203.8.camel@powernoodle>
References:  <1340121728.5203.8.camel@powernoodle>

next in thread | previous in thread | raw e-mail | index | archive | help
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);





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1340210648.2858.9.camel>