First import (compiles, seems to run correctly) Taken from FreeBSD r222544:218590 (patch applied), not from acpica repository. One problem shown (no more reproducible, skew build?): in bootverbose mode 'domain0 misses processors, should be 2, got 1' sysctl shows hw.acpi.cpu0 only, other cpus are missing; seems an error in evaluating C009 Method in aml code... TODO: * iasl compiler Makefile has to be reworked because of specific YASL flags for new files dtparser.[yl] * 'EVENTHANDLER_INVOKE(power_suspend)' to be integrated in acpi.c * atomic_load_acq_64 isn't implemented (used in acpi_hpet.c) * sc->tc.tc_quality isn't available; to be investigated * acpi_timer_test() improved implementation not integrated * ACPI_CAP_SMP_C3_NATIVE and CPI_CAP_PX_HW_COORD in acpivar.h left out, as FreeBSD don't use it either
resource: Per-CPU hardware resources support, step 3 of many - Add cpuid parameter to bus_set_resource() and bus_set_resource DEVMETHOD; Pass this parameter to resource_list_add() - Obtain interrupt resource's owner CPU, i.e. target CPU, from MachIntrABI and pass it to bus_set_resource(), so that the owner CPU of the interrupt resource could be correctly setup - Rest of types of resources, e.g. IOPORT, MEMORY and DRQ, are shared across CPUs, so their cpuids are set to -1
acpi: Skip \_SB_ and \_TZ_ only for devices. Obtained-from: FreeBSD (r214765 jkim@freebsd.org) Adjust a comment to clarify why \_SB_ and \_TZ_ are defined as device type in ACPICA. Reshuffle the code a bit to make sure this kludge only applies to these two specical cases and to make it cleaner.
Some minor changes * use AcpiUpdateAllGpes() (from FreeBSD 8.0) * ACPI_THREAD_ID type is no longer configurable * sync AcpiOsReadPciConfiguration with FreeBSD 8.0 (and simplify bitmasking) * because of AcpiOsDerivePciId() API removal, acpi_bus_number() is no longer needed
acpi: sync GPE with FreeBSD 8.0 (and according the acpi api) * use AcpiSetGpeWakeMask(), as AcpiEnableGpe() is already done in embedded controller initialization code. AcpiSetGpeWakeMask() is needed anyway to mark the gpe as wakable. (AcpiEnableGpe() enableas automatically only runtime GPEs now) * using AcpiFinishGpe() in EcGpeQueryHandler() (as fbsd does) seems to make the system reactive as it should (was sensibly slowly without that)