Revert "Sync ACPICA with Intel's version 20151218." This reverts commit 2762423991074ed996c5c4488491cb3ef18c25ea. It caused a panic on one box and enabling module-level code grouping again didn't fix that, so it needs further investigation first.
Sync ACPICA with Intel's version 20151218. * Execute "module-level code" as ACPI tables are loaded into the namespace during initialization and install the default operation region handlers for the SystemMemory, SystemIO and PCI_Config address spaces before any ACPI tables are loaded (in order to enable module-level code to access these address spaces). Also, several changes to the internal _REG support and to utilities in conjunction with these changes. * Various other fixes and features. For a more detailed list, please see sys/contrib/dev/acpica/changes.txt.
Sync ACPICA with Intel's version 20150930. * Various fixes in the debugger. * Improved run-time and compile-time typechecking in the interpreter and compiler along with options to enable/disable. * Fix a bit polarity issue of one flag in the NFIT table. * Add ASL+ support for the ASL Index operator (Index(PKG1, 3) can now be written as PKG1[3]). * In IASL, fixed the file suffix for the preprocesser output file (.i). For a more detailed list, please see sys/contrib/dev/acpica/changes.txt.
Sync ACPICA with Intel's version 20150818. * Disassembler and debugger are now standalone components without cross-component dependencies. * Various fixes: BZ 1186, BZ 1192, BZ 1135, BZ 1015, BZ 794, BZ 1176, BZ 1185, BZ 1184, BZ 1188, BZ 1190, BZ 1187, BZ 1189, BZ 1191. * More small fixes without BZ IDs. * In the debugger, "objects" without arguments now displays a summary of the current namespace objects. * In acpinames(8), the new -x option can be used to set the debug level, just like in acpiexec(8). * aapits test has been removed.
Sync ACPICA with Intel's version 20150619. * Replace various macros like ACPI_STRLEN with the standard C library functions across the tree. * Add support for OSDT table, to override existing namespace objects from DSDT/SSDTs. * Handle systems with two FACS tables better. * Add a feature to allow for systems that do not contain an FACS. * Fix wrong GUID strings for NFIT tables. * Support for _CLS in AcpiGetObjectInfo(). * Update TCPA and TPM2 table definitions to a more recent TCG ACPI spec. * Add definitions for the ACPI 6.0 GIC version field in MADT. * Various fixes and enhancements in the tools. For a more detailed list, please see sys/contrib/dev/acpica/changes.txt.
Sync ACPICA with Intel's version 20150408. General changes: * First part of upstream DragonFly support. acdragonfly.h and acdragonflyex.h are now in the upstream repo. Various needed patches to hook them in should be in the next Intel release. * _REV now permanently returns 2 (as in other ACPI implementations). * Windows 2015 (aka Windows 10) _OSI string added. * Various printf issue fixes. iasl(8) specific changes: * Constant folding enhanced. * SLIC table support updated according to Microsoft's latest spec. It dumps as hex data block now (proprietary data). This issue was actually found by our sephe on his Compaq CQ45. * MSDM table support added (handled as proprietary data, just like SLIC). * -Pn option implemented for the table compiler (was only implemented for the ASL compiler). * Better data table disassembly comments. * -df option to force the disassembler to assume the table contains AML. * Some fixes in the EFI version of the tools. * Small miscellaneous fixes. For a more detailed list, please see sys/contrib/dev/acpica/changes.txt.
Sync ACPICA with Intel's version 20150204. * A raw gpe handling mechanism was created to allow better handling of GPE storms that aren't easily managed by the normal handler. The raw handler allows disabling/renabling of the the GPE so that interrupt storms can be avoided in cases where events cannot be timely serviced. * Always modify GPE registers under the GPE lock. * Various small bug fixes. * Update copyrights.
Sync ACPICA with Intel's version 20141107. * Support ASL+, which is an extension to ASL supporting C-style operators and expressions. Legacy ASL: If (LOr (LOr (LEqual (And (R510, 0x03FB), 0x02E0), LEqual ( And (R520, 0x03FB), 0x02E0)), LOr (LEqual (And (R530, 0x03FB), 0x02E0), LEqual (And (R540, 0x03FB), 0x02E0)))) { ... } ASL+: If (((R510 & 0x03FB) == 0x02E0) || ((R520 & 0x03FB) == 0x02E0) || ((R530 & 0x03FB) == 0x02E0) || ((R540 & 0x03FB) == 0x02E0)) { ... } * Updates of the GPIO operation region handler interface. * Various other changes. For a more detailed list, please see sys/contrib/dev/acpica/changes.txt.
Sync ACPICA with Intel's version 20140828. * Add support for runtime validation of the _DSD package. * Add the GICC affinity subtable to the SRAT table. * Add error detection for illegally named references within control methods that would cause runtime failures. * Add error checking for dependencies related to the _PSx power methods. * Various improvements, bug fixes and cleanups. For a more detailed list, please see sys/contrib/dev/acpica/changes.txt.
kernel: Sync ACPICA with Intel's version 20140627. * Various bug fixes and enhancements (see changes.txt). * Use new local printf() like functions for the utilities. * Use new AcpiLogError for portability. This that are also changed/new but it don't affect DragonFly so far: * Support for ACPICA generation within the EFI environment. * New OSL file I/O interface. * New global AcpiGbl_VerifyTableChecksum. For a more detailed list, please see sys/contrib/dev/acpica/changes.txt.
kernel: Sync ACPICA with Intel's version 20140325. As far as I can see, the most important change is a fix for the auto- serialization of control methods so that the currently executing AML SyncLevel is ignored when invoking such a method. This fixes an issue seen in some systems showing AE_AML_MUTEX exceptions since 20140214 which had to set hw.acpi.auto_serialize_methods to 0 to work around the issue. This was actually reported for DragonFly by Andrey Oktyabrskiy (see http://lists.dragonflybsd.org/pipermail/users/2014-February/109376.html). See sys/contrib/dev/acpica/changes.txt for a complete list of all changes.
kernel: Sync ACPICA with Intel's version 20140214. Module changes: * Implemented a new mechanism to proactively prevent problems with ill-behaved reentrant control methods that create named ACPI objects. It should allow serialization of methods without leading to AE_ALREADY_EXISTS exceptions if the method was actually entered by more than one thread. * Added the "Windows 2013" string to the _OSI support. * Hardened/updated the _PRT return value auto-repair code. * Added support to avoid the possibility of infinite loops when traversing object linked lists. * Add #pragma pack({push,pop}) to ensure that ACPICA headers are independent of compiler settings or host headers. Utilities changes: * iasl(8): Fix a problem with support for the SPMI table. The first reserved field was incorrectly forced to have a value of zero instead of one. * iasl(8): Removed the obsolete -g option. * acpiexec(8): Added missing support for "Extra" and "Data" subobjects and for diplaying entire object linked lists. For a more detailed list, see sys/contrib/dev/acpica/changes.txt. As of this commit, the hw.acpi.serialize_methods tunable (0 by default) is replaced with hw.acpi.auto_serialize_methods (1 by default). Users with the former tunable set to 1 in their loader.conf should therefore not experience any differences.
kernel: Sync ACPICA with Intel's version 20140114. Module changes: * Improved validation for AcpiInstallGpeBlock. * Support "references" in ACPI_OBJECT (mainly for testing purposes). * Improve support for 32/64 bit physical addresses in printf()-like output. Utilities changes: * iasl(8): Fix a fault when using Connection(). * acpiexec(8): Loading local test tables is now optional. * acpiexec(8): Support for overlapping operation regions. * acpiexec(8): Add region handler support for PCI_Config and EC spaces. * acpiexec(8): New "test" command. * Update the copyrights for 2014. For a more detailed list, see sys/contrib/dev/acpica/changes.txt.
sys/acpi: Bring in Intel's acpica-unix2-20131218 verbatim. On acpica.org, -unix is the version with an Intel license and -unix2 is the BSD/GPL dual licensed version. I didn't want to call the directory acpica-unix2 instead of our acpica-unix so I settled on simply acpica. Further updates would be done in-place in that directory.