{"push_id":598150117,"size":1000,"distinct_size":894,"ref":"refs/heads/k-nakahara-msi-msix-proto3","head":"652ad2fae15f16c46e133930fa636535d1ffb726","before":"69a7431826b4b798f82f77602f83c19b8701a236","commits":[{"sha":"fb46ac12397683f4375ee23a0351e57ca053a581","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"----------------------------------------\n26 September 2014. Summary of changes for version 20140926:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the GPIO operation region handler interface (GeneralPurposeIo).\nIn order to support GPIO Connection objects with multiple pins, along\nwith the related Field objects, the following changes to the interface\nhave been made: The Address is now defined to be the offset in bits of\nthe field unit from the previous invocation of a Connection. It can be\nviewed as a \"Pin Number Index\" into the connection resource descriptor.\nThe BitWidth is the exact bit width of the field. It is usually one bit,\nbut not always. See the ACPICA reference guide (section 8.8.6.2.1) for\nadditional information and examples.\n\nGPE support: During ACPICA/GPE initialization, ensure that all GPEs with\ncorresponding _Lxx/_Exx methods are disabled (they may have been enabled\nby the firmware), so that they cannot fire until they are enabled via\nAcpiUpdateAllGpes. Rafael J. Wysocki.\n\nAdded a new return flag for the Event/GPE status interfaces --\nAcpiGetEventStatus and AcpiGetGpeStatus. The new\nACPI_EVENT_FLAGS_HAS_HANDLER flag is used to indicate that the event or\nGPE currently has a handler associated with it, and can thus actually\naffect the system. Lv Zheng.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  99.1K Code, 27.3K Data, 126.4K Total\n    Debug Version:     192.8K Code, 79.9K Data, 272.7K Total\n  Previous Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fixed a memory allocation/free regression introduced in 20140828\nthat could cause the compiler to crash. This was introduced inadvertently\nduring the effort to eliminate compiler memory leaks. ACPICA BZ 1111,\n1113.\n\niASL: Removed two error messages that have been found to create false\npositives, until they can be fixed and fully validated (ACPICA BZ 1112):\n1) Illegal forward reference within a method\n2) Illegal reference across two methods\n\niASL: Implemented a new option (-lm) to create a hardware mapping file\nthat summarizes all GPIO, I2C, SPI, and UART connections. This option\nworks for both the compiler and disassembler. See the iASL compiler user\nguide for additional information and examples (section 6.4.6).\n\nAcpiDump: Added support for the version 1 (ACPI 1.0) RSDP in addition to\nversion 2. This corrects the AE_BAD_HEADER exception seen on systems with\na version 1 RSDP. Lv Zheng ACPICA BZ 1097.\n\nAcpiExec: For Unix versions, don't attempt to put STDIN into raw mode\nunless STDIN is actually a terminal. Assists with batch-mode processing.\nACPICA BZ 1114.\n\nDisassembler/AcpiHelp: Added another large group of recognized _HID\nvalues.\n\n----------------------------------------\n28 August 2014. Summary of changes for version 20140828:\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a problem related to the internal use of the Timer() operator where\na 64-bit divide could cause an attempted link to a double-precision math\nlibrary. This divide is not actually necessary, so the code was\nrestructured to eliminate it. Lv Zheng.\n\nACPI 5.1: Added support for the runtime validation of the _DSD package\n(similar to the iASL support).\n\nACPI 5.1/Headers: Added support for the GICC affinity subtable to the\nSRAT table. Hanjun Guo <hanjun.guo@linaro.org>.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total1\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nAcpiExec: Fixed a problem on unix systems where the original terminal\nstate was not always properly restored upon exit. Seen when using the -v\noption. ACPICA BZ 1104.\n\niASL: Fixed a problem with the validation of the ranges/length within the\nMemory24 resource descriptor. There was a boundary condition when the\nrange was equal to the (length -1) caused by the fact that these values\nare defined in 256-byte blocks, not bytes. ACPICA BZ 1098\n\nDisassembler: Fixed a problem with the GpioInt descriptor interrupt\npolarity\nflags. The flags are actually 2 bits, not 1, and the \"ActiveBoth\" keyword\nis\nnow supported properly.\n\nACPI 5.1: Added the GICC affinity subtable to the SRAT table. Supported\nin the disassembler, data table compiler, and table template generator.\n\niASL: Added a requirement for Device() objects that one of either a _HID\nor _ADR must exist within the scope of a Device, as per the ACPI\nspecification. Remove a similar requirement that was incorrectly in place\nfor the _DSD object.\n\niASL: Added error detection for illegal named references within control\nmethods that would cause runtime failures. Now trapped as errors are: 1)\nReferences to objects within a non-parent control method. 2) Forward\nreferences (within a method) -- for control methods, AML interpreters use\na one-pass parse of control methods. ACPICA BZ 1008.\n\niASL: Added error checking for dependencies related to the _PSx power\nmethods. ACPICA BZ 1029.\n1) For _PS0, one of these must exist within the same scope: _PS1, _PS2,\n_PS3.\n2) For _PS1, _PS2, and PS3: A _PS0 object must exist within the same\nscope.\n\niASL and table compiler: Cleanup miscellaneous memory leaks by fully\ndeploying the existing object and string caches and adding new caches for\nthe table compiler.\n\niASL: Split the huge parser source file into multiple subfiles to improve\nmanageability. Generation now requires the M4 macro preprocessor, which\nis part of the Bison distribution on both unix and windows platforms.\n\nAcpiSrc: Fixed and removed all extraneous warnings generated during\nentire ACPICA source code scan and/or conversion.\n\n----------------------------------------\n\n24 July 2014. Summary of changes for version 20140724:\n\nThe ACPI 5.1 specification has been released and is available at:\nhttp://uefi.org/specs/access\n\n0) ACPI 5.1 support in ACPICA:\n\nACPI 5.1 is fully supported in ACPICA as of this release.\n\nNew predefined names. Support includes iASL and runtime ACPICA\nvalidation.\n    _CCA (Cache Coherency Attribute).\n    _DSD (Device-Specific Data). David Box.\n\nModifications to existing ACPI tables. Support includes headers, iASL\nData Table compiler, disassembler, and the template generator.\n    FADT - New fields and flags. Graeme Gregory.\n    GTDT - One new subtable and new fields. Tomasz Nowicki.\n    MADT - Two new subtables. Tomasz Nowicki.\n    PCCT - One new subtable.\n\nMiscellaneous.\n    New notification type for System Resource Affinity change events.\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a regression introduced in 20140627 where a fault can happen during\nthe deletion of Alias AML namespace objects. The problem affected both\nthe core ACPICA and the ACPICA tools including iASL and AcpiExec.\n\nImplemented a new GPE public interface, AcpiMarkGpeForWake. Provides a\nsimple mechanism to enable wake GPEs that have no associated handler or\ncontrol method. Rafael Wysocki.\n\nUpdated the AcpiEnableGpe interface to disallow the enable if there is no\nhandler or control method associated with the particular GPE. This will\nhelp avoid meaningless GPEs and even GPE floods. Rafael Wysocki.\n\nUpdated GPE handling and dispatch by disabling the GPE before clearing\nthe status bit for edge-triggered GPEs. Lv Zheng.\n\nAdded Timer() support to the AML Debug object. The current timer value is\nnow displayed with each invocation of (Store to) the debug object to\nenable simple generation of execution times for AML code (method\nexecution for example.) ACPICA BZ 1093.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nFixed an issue with the recently added local printf implementation,\nconcerning width/precision specifiers that could cause incorrect output.\nLv Zheng. ACPICA BZ 1094.\n\nDisassembler: Added support to detect buffers that contain UUIDs and\ndisassemble them to an invocation of the ToUUID operator. Also emit\ncommented descriptions of known ACPI-related UUIDs.\n\nAcpiHelp: Added support to display known ACPI-related UUIDs. New option,\n-u. Adds three new files.\n\niASL: Update table compiler and disassembler for DMAR table changes that\nwere introduced in September 2013. With assistance by David Woodhouse.\n\n----------------------------------------\n27 June 2014. Summary of changes for version 20140627:\n\n1) ACPICA kernel-resident subsystem:\n\nFormatted Output: Implemented local versions of standard formatted output\nutilities such as printf, etc. Over time, it has been discovered that\nthere are in fact many portability issues with printf, and the addition\nof this feature will fix/prevent these issues once and for all. Some\nknown issues are summarized below:\n\n1) Output of 64-bit values is not portable. For example, UINT64 is %ull\nfor the Linux kernel and is %uI64 for some MSVC versions.\n2) Invoking printf consistently in a manner that is portable across both\n32-bit and 64-bit platforms is difficult at best in many situations.\n3) The output format for pointers varies from system to system (leading\nzeros especially), and leads to inconsistent output from ACPICA across\nplatforms.\n4) Certain platform-specific printf formats may conflict with ACPICA use.\n5) If there is no local C library available, ACPICA now has local support\nfor printf.\n\n-- To address these printf issues in a complete manner, ACPICA now\ndirectly implements a small subset of printf format specifiers, only\nthose that it requires. Adds a new file, utilities/utprint.c. Lv Zheng.\n\nImplemented support for ACPICA generation within the EFI environment.\nInitially, the AcpiDump utility is supported in the UEFI shell\nenvironment. Lv Zheng.\n\nAdded a new external interface, AcpiLogError, to improve ACPICA\nportability. This allows the host to redirect error messages from the\nACPICA utilities. Lv Zheng.\n\nAdded and deployed new OSL file I/O interfaces to improve ACPICA\nportability:\n  AcpiOsOpenFile\n  AcpiOsCloseFile\n  AcpiOsReadFile\n  AcpiOsWriteFile\n  AcpiOsGetFileOffset\n  AcpiOsSetFileOffset\nThere are C library implementations of these functions in the new file\nservice_layers/oslibcfs.c -- however, the functions can be implemented by\nthe local host in any way necessary. Lv Zheng.\n\nImplemented a mechanism to disable/enable ACPI table checksum validation\nat runtime. This can be useful when loading tables very early during OS\ninitialization when it may not be possible to map the entire table in\norder to compute the checksum. Lv Zheng.\n\nFixed a buffer allocation issue for the Generic Serial Bus support.\nOriginally, a fixed buffer length was used. This change allows for\nvariable-length buffers based upon the protocol indicated by the field\naccess attributes. Reported by Lan Tianyu. Lv Zheng.\n\nFixed a problem where an object detached from a namespace node was not\nproperly terminated/cleared and could cause a circular list problem if\nreattached. ACPICA BZ 1063. David Box.\n\nFixed a possible recursive lock acquisition in hwregs.c. Rakib Mullick.\n\nFixed a possible memory leak in an error return path within the function\nAcpiUtCopyIobjectToIobject. ACPICA BZ 1087. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n  Previous Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Add dump of ASCII equivalent text within a comment at the\nend of each line of the output for the Buffer() ASL operator.\n\nAcpiDump: Miscellaneous changes:\n  Fixed repetitive table dump in -n mode.\n  For older EFI platforms, use the ACPI 1.0 GUID during RSDP search if\nthe ACPI 2.0 GUID fails.\n\niASL: Fixed a problem where the compiler could fault if incorrectly given\nan acpidump output file as input. ACPICA BZ 1088. David Box.\n\nAcpiExec/AcpiNames: Fixed a problem where these utilities could fault if\nthey are invoked without any arguments.\n\nDebugger: Fixed a possible memory leak in an error return path. ACPICA BZ\n1086. Colin Ian King.\n\nDisassembler: Cleaned up a block of code that extracts a parent Op\nobject. Added a comment that explains that the parent is guaranteed to be\nvalid in this case. ACPICA BZ 1069.\n\n----------------------------------------\n24 April 2014. Summary of changes for version 20140424:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented support to skip/ignore NULL address entries in the RSDT/XSDT.\nSome of these tables are known to contain a trailing NULL entry. Lv\nZheng.\n\nRemoved an extraneous error message for the case where there are a large\nnumber of system GPEs (> 124). This was the \"32-bit FADT register is too\nlong to convert to GAS struct\" message, which is irrelevant for GPEs\nsince the GPEx_BLK_LEN fields of the FADT are always used instead of the\n(limited capacity) GAS bit length. Also, several changes to ensure proper\nsupport for GPE numbers > 255, where some \"GPE number\" fields were 8-bits\ninternally.\n\nImplemented and deployed additional configuration support for the public\nACPICA external interfaces. Entire classes of interfaces can now be\neasily modified or configured out, replaced by stubbed inline functions\nby default. Lv Zheng.\n\nMoved all public ACPICA runtime configuration globals to the public\nACPICA external interface file for convenience. Also, removed some\nobsolete/unused globals. See the file acpixf.h. Lv Zheng.\n\nDocumentation: Added a new section to the ACPICA reference describing the\nmaximum number of GPEs that can be supported by the FADT-defined GPEs in\nblock zero and one. About 1200 total. See section 4.4.1 of the ACPICA\nreference.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL and disassembler: Add full support for the LPIT table (Low Power\nIdle Table). Includes support in the disassembler, data table compiler,\nand template generator.\n\nAcpiDump utility:\n1) Add option to force the use of the RSDT (over the XSDT).\n2) Improve validation of the RSDP signature (use 8 chars instead of 4).\n\niASL: Add check for predefined packages that are too large.  For\npredefined names that contain subpackages, check if each subpackage is\ntoo large. (Check for too small already exists.)\n\nDebugger: Updated the GPE command (which simulates a GPE by executing the\nGPE code paths in ACPICA). The GPE device is now optional, and defaults\nto the GPE 0/1 FADT-defined blocks.\n\nUnix application OSL: Update line-editing support. Add additional error\nchecking and take care not to reset terminal attributes on exit if they\nwere never set. This should help guarantee that the terminal is always\nleft in the previous state on program exit.\n\n----------------------------------------\n25 March 2014. Summary of changes for version 20140325:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the auto-serialize feature for control methods. This feature\nautomatically serializes all methods that create named objects in order\nto prevent runtime errors. The update adds support to ignore the\ncurrently executing AML SyncLevel when invoking such a method, in order\nto prevent disruption of any existing SyncLevel priorities that may exist\nin the AML code. Although the use of SyncLevels is relatively rare, this\nchange fixes a regression where an AE_AML_MUTEX_ORDER exception can\nappear on some machines starting with the 20140214 release.\n\nAdded a new external interface to allow the host to install ACPI tables\nvery early, before the namespace is even created. AcpiInstallTable gives\nthe host additional flexibility for ACPI table management. Tables can be\ninstalled directly by the host as if they had originally appeared in the\nXSDT/RSDT. Installed tables can be SSDTs or other ACPI data tables\n(anything except the DSDT and FACS). Adds a new file, tbdata.c, along\nwith additional internal restructuring and cleanup. See the ACPICA\nReference for interface details. Lv Zheng.\n\nAdded validation of the checksum for all incoming dynamically loaded\ntables (via external interfaces or via AML Load/LoadTable operators). Lv\nZheng.\n\nUpdated the use of the AcpiOsWaitEventsComplete interface during Notify\nand GPE handler removal. Restructured calls to eliminate possible race\nconditions. Lv Zheng.\n\nAdded a warning for the use/execution of the ASL/AML Unload (table)\noperator. This will help detect and identify machines that use this\noperator if and when it is ever used. This operator has never been seen\nin the field and the usage model and possible side-effects of the drastic\nruntime action of a full table removal are unknown.\n\nReverted the use of #pragma push/pop which was introduced in the 20140214\nrelease. It appears that push and pop are not implemented by enough\ncompilers to make the use of this feature feasible for ACPICA at this\ntime. However, these operators may be deployed in a future ACPICA\nrelease.\n\nAdded the missing EXPORT_SYMBOL macros for the install and remove SCI\nhandler interfaces.\n\nSource code generation:\n1) Disabled the use of the \"strchr\" macro for the gcc-specific\ngeneration. For some versions of gcc, this macro can periodically expose\na compiler bug which in turn causes compile-time error(s).\n2) Added support for PPC64 compilation. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Added several new features to improve the readability of\nthe resulting ASL code. Extra information is emitted within comment\nfields in the ASL code:\n1) Known _HID/_CID values are decoded to descriptive text.\n2) Standard values for the Notify() operator are decoded to descriptive\ntext.\n3) Target operands are expanded to full pathnames (in a comment) when\npossible.\n\nDisassembler: Miscellaneous updates for extern() handling:\n1) Abort compiler if file specified by -fe option does not exist.\n2) Silence unnecessary warnings about argument count mismatches.\n3) Update warning messages concerning unresolved method externals.\n4) Emit \"UnknownObj\" keyword for externals whose type cannot be\ndetermined.\n\nAcpiHelp utility:\n1) Added the -a option to display both the ASL syntax and the AML\nencoding for an input ASL operator. This effectively displays all known\ninformation about an ASL operator with one AcpiHelp invocation.\n2) Added substring match support (similar to a wildcard) for the -i\n(_HID/PNP IDs) option.\n\niASL/Disassembler: Since this tool does not yet support execution on big-\nendian machines, added detection of endianness and an error message if\nexecution is attempted on big-endian. Support for big-endian within iASL\nis a feature that is on the ACPICA to-be-done list.\n\nAcpiBin utility:\n1) Remove option to extract binary files from an acpidump; this function\nis made obsolete by the AcpiXtract utility.\n2) General cleanup of open files and allocated buffers.\n\n----------------------------------------\n14 February 2014. Summary of changes for version 20140214:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented a new mechanism to proactively prevent problems with ill-\nbehaved reentrant control methods that create named ACPI objects. This\nbehavior is illegal as per the ACPI specification, but is nonetheless\nfrequently seen in the field. Previously, this could lead to an\nAE_ALREADY_EXISTS exception if the method was actually entered by more\nthan one thread. This new mechanism detects such methods at table load\ntime and marks them \"serialized\" to prevent reentrancy. A new global\noption, AcpiGbl_AutoSerializeMethods, has been added to disable this\nfeature if desired. This mechanism and global option obsoletes and\nsupersedes the previous AcpiGbl_SerializeAllMethods option.\n\nAdded the \"Windows 2013\" string to the _OSI support. ACPICA will now\nrespond TRUE to _OSI queries with this string. It is the stated policy of\nACPICA to add new strings to the _OSI support as soon as possible after\nthey are defined. See the full ACPICA _OSI policy which has been added to\nthe utilities/utosi.c file.\n\nHardened/updated the _PRT return value auto-repair code:\n1) Do not abort the repair on a single subpackage failure, continue to\ncheck all subpackages.\n2) Add check for the minimum subpackage length (4).\n3) Properly handle extraneous NULL package elements.\n\nAdded support to avoid the possibility of infinite loops when traversing\nobject linked lists. Never allow an infinite loop, even in the face of\ncorrupted object lists.\n\nACPICA headers: Deployed the use of #pragma pack(push) and #pragma\npack(pop) directives to ensure that the ACPICA headers are independent of\ncompiler settings or other host headers.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n  Previous Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL/Table-compiler: Fixed a problem with support for the SPMI table. The\nfirst reserved field was incorrectly forced to have a value of zero. This\nchange correctly forces the field to have a value of one. ACPICA BZ 1081.\n\nDebugger: Added missing support for the \"Extra\" and \"Data\" subobjects\nwhen displaying object data.\n\nDebugger: Added support to display entire object linked lists when\ndisplaying object data.\n\niASL: Removed the obsolete -g option to obtain ACPI tables from the\nWindows registry. This feature has been superseded by the acpidump\nutility.\n\n----------------------------------------\n14 January 2014. Summary of changes for version 20140114:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated all ACPICA copyrights and signons to 2014. Added the 2014\ncopyright to all module headers and signons, including the standard Linux\nheader. This affects virtually every file in the ACPICA core subsystem,\niASL compiler, all ACPICA utilities, and the test suites.\n\nImproved parameter validation for AcpiInstallGpeBlock. Added the\nfollowing checks:\n1) The incoming device handle refers to type ACPI_TYPE_DEVICE.\n2) There is not already a GPE block attached to the device.\nLikewise, with AcpiRemoveGpeBlock, ensure that the incoming object is a\ndevice.\n\nCorrectly support \"references\" in the ACPI_OBJECT. This change fixes the\nsupport to allow references (namespace nodes) to be passed as arguments\nto control methods via the evaluate object interface. This is probably\nmost useful for testing purposes, however.\n\nImproved support for 32/64 bit physical addresses in printf()-like\noutput. This change improves the support for physical addresses in printf\ndebug statements and other output on both 32-bit and 64-bit hosts. It\nconsistently outputs the appropriate number of bytes for each host. The\n%p specifier is unsatisfactory since it does not emit uniform output on\nall hosts/clib implementations (on some, leading zeros are not supported,\nleading to difficult-to-read output).\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n  Previous Release:\n    Non-Debug Version:  96.1K Code, 27.0K Data, 123.1K Total\n    Debug Version:     185.6K Code, 77.3K Data, 262.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fix a possible fault when using the Connection() operator. Fixes a\nproblem if the parent Field definition for the Connection operator refers\nto an operation region that does not exist. ACPICA BZ 1064.\n\nAcpiExec: Load of local test tables is now optional. The utility has the\ncapability to load some various tables to test features of ACPICA.\nHowever, there are enough of them that the output of the utility became\nconfusing. With this change, only the required local tables are displayed\n(RSDP, XSDT, etc.) along with the actual tables loaded via the command\nline specification. This makes the default output simler and easier to\nunderstand. The -el command line option restores the original behavior\nfor testing purposes.\n\nAcpiExec: Added support for overlapping operation regions. This change\nexpands the simulation of operation regions by supporting regions that\noverlap within the given address space. Supports SystemMemory and\nSystemIO. ASLTS test suite updated also. David Box. ACPICA BZ 1031.\n\nAcpiExec: Added region handler support for PCI_Config and EC spaces. This\nallows AcpiExec to simulate these address spaces, similar to the current\nsupport for SystemMemory and SystemIO.\n\nDebugger: Added new command to read/write/compare all namespace objects.\nThe command \"test objects\" will exercise the entire namespace by writing\nnew values to each data object, and ensuring that the write was\nsuccessful. The original value is then restored and verified.\n\nDebugger: Added the \"test predefined\" command. This change makes this\ntest public and puts it under the new \"test\" command. The test executes\neach and every predefined name within the current namespace.","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/fb46ac12397683f4375ee23a0351e57ca053a581"},{"sha":"b3f97e9c9fcee167580799c0565ecc3148bf45fb","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"----------------------------------------\n26 September 2014. Summary of changes for version 20140926:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the GPIO operation region handler interface (GeneralPurposeIo).\nIn order to support GPIO Connection objects with multiple pins, along\nwith the related Field objects, the following changes to the interface\nhave been made: The Address is now defined to be the offset in bits of\nthe field unit from the previous invocation of a Connection. It can be\nviewed as a \"Pin Number Index\" into the connection resource descriptor.\nThe BitWidth is the exact bit width of the field. It is usually one bit,\nbut not always. See the ACPICA reference guide (section 8.8.6.2.1) for\nadditional information and examples.\n\nGPE support: During ACPICA/GPE initialization, ensure that all GPEs with\ncorresponding _Lxx/_Exx methods are disabled (they may have been enabled\nby the firmware), so that they cannot fire until they are enabled via\nAcpiUpdateAllGpes. Rafael J. Wysocki.\n\nAdded a new return flag for the Event/GPE status interfaces --\nAcpiGetEventStatus and AcpiGetGpeStatus. The new\nACPI_EVENT_FLAGS_HAS_HANDLER flag is used to indicate that the event or\nGPE currently has a handler associated with it, and can thus actually\naffect the system. Lv Zheng.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  99.1K Code, 27.3K Data, 126.4K Total\n    Debug Version:     192.8K Code, 79.9K Data, 272.7K Total\n  Previous Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fixed a memory allocation/free regression introduced in 20140828\nthat could cause the compiler to crash. This was introduced inadvertently\nduring the effort to eliminate compiler memory leaks. ACPICA BZ 1111,\n1113.\n\niASL: Removed two error messages that have been found to create false\npositives, until they can be fixed and fully validated (ACPICA BZ 1112):\n1) Illegal forward reference within a method\n2) Illegal reference across two methods\n\niASL: Implemented a new option (-lm) to create a hardware mapping file\nthat summarizes all GPIO, I2C, SPI, and UART connections. This option\nworks for both the compiler and disassembler. See the iASL compiler user\nguide for additional information and examples (section 6.4.6).\n\nAcpiDump: Added support for the version 1 (ACPI 1.0) RSDP in addition to\nversion 2. This corrects the AE_BAD_HEADER exception seen on systems with\na version 1 RSDP. Lv Zheng ACPICA BZ 1097.\n\nAcpiExec: For Unix versions, don't attempt to put STDIN into raw mode\nunless STDIN is actually a terminal. Assists with batch-mode processing.\nACPICA BZ 1114.\n\nDisassembler/AcpiHelp: Added another large group of recognized _HID\nvalues.\n\n----------------------------------------\n28 August 2014. Summary of changes for version 20140828:\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a problem related to the internal use of the Timer() operator where\na 64-bit divide could cause an attempted link to a double-precision math\nlibrary. This divide is not actually necessary, so the code was\nrestructured to eliminate it. Lv Zheng.\n\nACPI 5.1: Added support for the runtime validation of the _DSD package\n(similar to the iASL support).\n\nACPI 5.1/Headers: Added support for the GICC affinity subtable to the\nSRAT table. Hanjun Guo <hanjun.guo@linaro.org>.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total1\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nAcpiExec: Fixed a problem on unix systems where the original terminal\nstate was not always properly restored upon exit. Seen when using the -v\noption. ACPICA BZ 1104.\n\niASL: Fixed a problem with the validation of the ranges/length within the\nMemory24 resource descriptor. There was a boundary condition when the\nrange was equal to the (length -1) caused by the fact that these values\nare defined in 256-byte blocks, not bytes. ACPICA BZ 1098\n\nDisassembler: Fixed a problem with the GpioInt descriptor interrupt\npolarity\nflags. The flags are actually 2 bits, not 1, and the \"ActiveBoth\" keyword\nis\nnow supported properly.\n\nACPI 5.1: Added the GICC affinity subtable to the SRAT table. Supported\nin the disassembler, data table compiler, and table template generator.\n\niASL: Added a requirement for Device() objects that one of either a _HID\nor _ADR must exist within the scope of a Device, as per the ACPI\nspecification. Remove a similar requirement that was incorrectly in place\nfor the _DSD object.\n\niASL: Added error detection for illegal named references within control\nmethods that would cause runtime failures. Now trapped as errors are: 1)\nReferences to objects within a non-parent control method. 2) Forward\nreferences (within a method) -- for control methods, AML interpreters use\na one-pass parse of control methods. ACPICA BZ 1008.\n\niASL: Added error checking for dependencies related to the _PSx power\nmethods. ACPICA BZ 1029.\n1) For _PS0, one of these must exist within the same scope: _PS1, _PS2,\n_PS3.\n2) For _PS1, _PS2, and PS3: A _PS0 object must exist within the same\nscope.\n\niASL and table compiler: Cleanup miscellaneous memory leaks by fully\ndeploying the existing object and string caches and adding new caches for\nthe table compiler.\n\niASL: Split the huge parser source file into multiple subfiles to improve\nmanageability. Generation now requires the M4 macro preprocessor, which\nis part of the Bison distribution on both unix and windows platforms.\n\nAcpiSrc: Fixed and removed all extraneous warnings generated during\nentire ACPICA source code scan and/or conversion.\n\n----------------------------------------\n\n24 July 2014. Summary of changes for version 20140724:\n\nThe ACPI 5.1 specification has been released and is available at:\nhttp://uefi.org/specs/access\n\n0) ACPI 5.1 support in ACPICA:\n\nACPI 5.1 is fully supported in ACPICA as of this release.\n\nNew predefined names. Support includes iASL and runtime ACPICA\nvalidation.\n    _CCA (Cache Coherency Attribute).\n    _DSD (Device-Specific Data). David Box.\n\nModifications to existing ACPI tables. Support includes headers, iASL\nData Table compiler, disassembler, and the template generator.\n    FADT - New fields and flags. Graeme Gregory.\n    GTDT - One new subtable and new fields. Tomasz Nowicki.\n    MADT - Two new subtables. Tomasz Nowicki.\n    PCCT - One new subtable.\n\nMiscellaneous.\n    New notification type for System Resource Affinity change events.\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a regression introduced in 20140627 where a fault can happen during\nthe deletion of Alias AML namespace objects. The problem affected both\nthe core ACPICA and the ACPICA tools including iASL and AcpiExec.\n\nImplemented a new GPE public interface, AcpiMarkGpeForWake. Provides a\nsimple mechanism to enable wake GPEs that have no associated handler or\ncontrol method. Rafael Wysocki.\n\nUpdated the AcpiEnableGpe interface to disallow the enable if there is no\nhandler or control method associated with the particular GPE. This will\nhelp avoid meaningless GPEs and even GPE floods. Rafael Wysocki.\n\nUpdated GPE handling and dispatch by disabling the GPE before clearing\nthe status bit for edge-triggered GPEs. Lv Zheng.\n\nAdded Timer() support to the AML Debug object. The current timer value is\nnow displayed with each invocation of (Store to) the debug object to\nenable simple generation of execution times for AML code (method\nexecution for example.) ACPICA BZ 1093.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nFixed an issue with the recently added local printf implementation,\nconcerning width/precision specifiers that could cause incorrect output.\nLv Zheng. ACPICA BZ 1094.\n\nDisassembler: Added support to detect buffers that contain UUIDs and\ndisassemble them to an invocation of the ToUUID operator. Also emit\ncommented descriptions of known ACPI-related UUIDs.\n\nAcpiHelp: Added support to display known ACPI-related UUIDs. New option,\n-u. Adds three new files.\n\niASL: Update table compiler and disassembler for DMAR table changes that\nwere introduced in September 2013. With assistance by David Woodhouse.\n\n----------------------------------------\n27 June 2014. Summary of changes for version 20140627:\n\n1) ACPICA kernel-resident subsystem:\n\nFormatted Output: Implemented local versions of standard formatted output\nutilities such as printf, etc. Over time, it has been discovered that\nthere are in fact many portability issues with printf, and the addition\nof this feature will fix/prevent these issues once and for all. Some\nknown issues are summarized below:\n\n1) Output of 64-bit values is not portable. For example, UINT64 is %ull\nfor the Linux kernel and is %uI64 for some MSVC versions.\n2) Invoking printf consistently in a manner that is portable across both\n32-bit and 64-bit platforms is difficult at best in many situations.\n3) The output format for pointers varies from system to system (leading\nzeros especially), and leads to inconsistent output from ACPICA across\nplatforms.\n4) Certain platform-specific printf formats may conflict with ACPICA use.\n5) If there is no local C library available, ACPICA now has local support\nfor printf.\n\n-- To address these printf issues in a complete manner, ACPICA now\ndirectly implements a small subset of printf format specifiers, only\nthose that it requires. Adds a new file, utilities/utprint.c. Lv Zheng.\n\nImplemented support for ACPICA generation within the EFI environment.\nInitially, the AcpiDump utility is supported in the UEFI shell\nenvironment. Lv Zheng.\n\nAdded a new external interface, AcpiLogError, to improve ACPICA\nportability. This allows the host to redirect error messages from the\nACPICA utilities. Lv Zheng.\n\nAdded and deployed new OSL file I/O interfaces to improve ACPICA\nportability:\n  AcpiOsOpenFile\n  AcpiOsCloseFile\n  AcpiOsReadFile\n  AcpiOsWriteFile\n  AcpiOsGetFileOffset\n  AcpiOsSetFileOffset\nThere are C library implementations of these functions in the new file\nservice_layers/oslibcfs.c -- however, the functions can be implemented by\nthe local host in any way necessary. Lv Zheng.\n\nImplemented a mechanism to disable/enable ACPI table checksum validation\nat runtime. This can be useful when loading tables very early during OS\ninitialization when it may not be possible to map the entire table in\norder to compute the checksum. Lv Zheng.\n\nFixed a buffer allocation issue for the Generic Serial Bus support.\nOriginally, a fixed buffer length was used. This change allows for\nvariable-length buffers based upon the protocol indicated by the field\naccess attributes. Reported by Lan Tianyu. Lv Zheng.\n\nFixed a problem where an object detached from a namespace node was not\nproperly terminated/cleared and could cause a circular list problem if\nreattached. ACPICA BZ 1063. David Box.\n\nFixed a possible recursive lock acquisition in hwregs.c. Rakib Mullick.\n\nFixed a possible memory leak in an error return path within the function\nAcpiUtCopyIobjectToIobject. ACPICA BZ 1087. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n  Previous Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Add dump of ASCII equivalent text within a comment at the\nend of each line of the output for the Buffer() ASL operator.\n\nAcpiDump: Miscellaneous changes:\n  Fixed repetitive table dump in -n mode.\n  For older EFI platforms, use the ACPI 1.0 GUID during RSDP search if\nthe ACPI 2.0 GUID fails.\n\niASL: Fixed a problem where the compiler could fault if incorrectly given\nan acpidump output file as input. ACPICA BZ 1088. David Box.\n\nAcpiExec/AcpiNames: Fixed a problem where these utilities could fault if\nthey are invoked without any arguments.\n\nDebugger: Fixed a possible memory leak in an error return path. ACPICA BZ\n1086. Colin Ian King.\n\nDisassembler: Cleaned up a block of code that extracts a parent Op\nobject. Added a comment that explains that the parent is guaranteed to be\nvalid in this case. ACPICA BZ 1069.\n\n----------------------------------------\n24 April 2014. Summary of changes for version 20140424:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented support to skip/ignore NULL address entries in the RSDT/XSDT.\nSome of these tables are known to contain a trailing NULL entry. Lv\nZheng.\n\nRemoved an extraneous error message for the case where there are a large\nnumber of system GPEs (> 124). This was the \"32-bit FADT register is too\nlong to convert to GAS struct\" message, which is irrelevant for GPEs\nsince the GPEx_BLK_LEN fields of the FADT are always used instead of the\n(limited capacity) GAS bit length. Also, several changes to ensure proper\nsupport for GPE numbers > 255, where some \"GPE number\" fields were 8-bits\ninternally.\n\nImplemented and deployed additional configuration support for the public\nACPICA external interfaces. Entire classes of interfaces can now be\neasily modified or configured out, replaced by stubbed inline functions\nby default. Lv Zheng.\n\nMoved all public ACPICA runtime configuration globals to the public\nACPICA external interface file for convenience. Also, removed some\nobsolete/unused globals. See the file acpixf.h. Lv Zheng.\n\nDocumentation: Added a new section to the ACPICA reference describing the\nmaximum number of GPEs that can be supported by the FADT-defined GPEs in\nblock zero and one. About 1200 total. See section 4.4.1 of the ACPICA\nreference.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL and disassembler: Add full support for the LPIT table (Low Power\nIdle Table). Includes support in the disassembler, data table compiler,\nand template generator.\n\nAcpiDump utility:\n1) Add option to force the use of the RSDT (over the XSDT).\n2) Improve validation of the RSDP signature (use 8 chars instead of 4).\n\niASL: Add check for predefined packages that are too large.  For\npredefined names that contain subpackages, check if each subpackage is\ntoo large. (Check for too small already exists.)\n\nDebugger: Updated the GPE command (which simulates a GPE by executing the\nGPE code paths in ACPICA). The GPE device is now optional, and defaults\nto the GPE 0/1 FADT-defined blocks.\n\nUnix application OSL: Update line-editing support. Add additional error\nchecking and take care not to reset terminal attributes on exit if they\nwere never set. This should help guarantee that the terminal is always\nleft in the previous state on program exit.\n\n----------------------------------------\n25 March 2014. Summary of changes for version 20140325:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the auto-serialize feature for control methods. This feature\nautomatically serializes all methods that create named objects in order\nto prevent runtime errors. The update adds support to ignore the\ncurrently executing AML SyncLevel when invoking such a method, in order\nto prevent disruption of any existing SyncLevel priorities that may exist\nin the AML code. Although the use of SyncLevels is relatively rare, this\nchange fixes a regression where an AE_AML_MUTEX_ORDER exception can\nappear on some machines starting with the 20140214 release.\n\nAdded a new external interface to allow the host to install ACPI tables\nvery early, before the namespace is even created. AcpiInstallTable gives\nthe host additional flexibility for ACPI table management. Tables can be\ninstalled directly by the host as if they had originally appeared in the\nXSDT/RSDT. Installed tables can be SSDTs or other ACPI data tables\n(anything except the DSDT and FACS). Adds a new file, tbdata.c, along\nwith additional internal restructuring and cleanup. See the ACPICA\nReference for interface details. Lv Zheng.\n\nAdded validation of the checksum for all incoming dynamically loaded\ntables (via external interfaces or via AML Load/LoadTable operators). Lv\nZheng.\n\nUpdated the use of the AcpiOsWaitEventsComplete interface during Notify\nand GPE handler removal. Restructured calls to eliminate possible race\nconditions. Lv Zheng.\n\nAdded a warning for the use/execution of the ASL/AML Unload (table)\noperator. This will help detect and identify machines that use this\noperator if and when it is ever used. This operator has never been seen\nin the field and the usage model and possible side-effects of the drastic\nruntime action of a full table removal are unknown.\n\nReverted the use of #pragma push/pop which was introduced in the 20140214\nrelease. It appears that push and pop are not implemented by enough\ncompilers to make the use of this feature feasible for ACPICA at this\ntime. However, these operators may be deployed in a future ACPICA\nrelease.\n\nAdded the missing EXPORT_SYMBOL macros for the install and remove SCI\nhandler interfaces.\n\nSource code generation:\n1) Disabled the use of the \"strchr\" macro for the gcc-specific\ngeneration. For some versions of gcc, this macro can periodically expose\na compiler bug which in turn causes compile-time error(s).\n2) Added support for PPC64 compilation. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Added several new features to improve the readability of\nthe resulting ASL code. Extra information is emitted within comment\nfields in the ASL code:\n1) Known _HID/_CID values are decoded to descriptive text.\n2) Standard values for the Notify() operator are decoded to descriptive\ntext.\n3) Target operands are expanded to full pathnames (in a comment) when\npossible.\n\nDisassembler: Miscellaneous updates for extern() handling:\n1) Abort compiler if file specified by -fe option does not exist.\n2) Silence unnecessary warnings about argument count mismatches.\n3) Update warning messages concerning unresolved method externals.\n4) Emit \"UnknownObj\" keyword for externals whose type cannot be\ndetermined.\n\nAcpiHelp utility:\n1) Added the -a option to display both the ASL syntax and the AML\nencoding for an input ASL operator. This effectively displays all known\ninformation about an ASL operator with one AcpiHelp invocation.\n2) Added substring match support (similar to a wildcard) for the -i\n(_HID/PNP IDs) option.\n\niASL/Disassembler: Since this tool does not yet support execution on big-\nendian machines, added detection of endianness and an error message if\nexecution is attempted on big-endian. Support for big-endian within iASL\nis a feature that is on the ACPICA to-be-done list.\n\nAcpiBin utility:\n1) Remove option to extract binary files from an acpidump; this function\nis made obsolete by the AcpiXtract utility.\n2) General cleanup of open files and allocated buffers.\n\n----------------------------------------\n14 February 2014. Summary of changes for version 20140214:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented a new mechanism to proactively prevent problems with ill-\nbehaved reentrant control methods that create named ACPI objects. This\nbehavior is illegal as per the ACPI specification, but is nonetheless\nfrequently seen in the field. Previously, this could lead to an\nAE_ALREADY_EXISTS exception if the method was actually entered by more\nthan one thread. This new mechanism detects such methods at table load\ntime and marks them \"serialized\" to prevent reentrancy. A new global\noption, AcpiGbl_AutoSerializeMethods, has been added to disable this\nfeature if desired. This mechanism and global option obsoletes and\nsupersedes the previous AcpiGbl_SerializeAllMethods option.\n\nAdded the \"Windows 2013\" string to the _OSI support. ACPICA will now\nrespond TRUE to _OSI queries with this string. It is the stated policy of\nACPICA to add new strings to the _OSI support as soon as possible after\nthey are defined. See the full ACPICA _OSI policy which has been added to\nthe utilities/utosi.c file.\n\nHardened/updated the _PRT return value auto-repair code:\n1) Do not abort the repair on a single subpackage failure, continue to\ncheck all subpackages.\n2) Add check for the minimum subpackage length (4).\n3) Properly handle extraneous NULL package elements.\n\nAdded support to avoid the possibility of infinite loops when traversing\nobject linked lists. Never allow an infinite loop, even in the face of\ncorrupted object lists.\n\nACPICA headers: Deployed the use of #pragma pack(push) and #pragma\npack(pop) directives to ensure that the ACPICA headers are independent of\ncompiler settings or other host headers.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n  Previous Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL/Table-compiler: Fixed a problem with support for the SPMI table. The\nfirst reserved field was incorrectly forced to have a value of zero. This\nchange correctly forces the field to have a value of one. ACPICA BZ 1081.\n\nDebugger: Added missing support for the \"Extra\" and \"Data\" subobjects\nwhen displaying object data.\n\nDebugger: Added support to display entire object linked lists when\ndisplaying object data.\n\niASL: Removed the obsolete -g option to obtain ACPI tables from the\nWindows registry. This feature has been superseded by the acpidump\nutility.\n\n----------------------------------------\n14 January 2014. Summary of changes for version 20140114:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated all ACPICA copyrights and signons to 2014. Added the 2014\ncopyright to all module headers and signons, including the standard Linux\nheader. This affects virtually every file in the ACPICA core subsystem,\niASL compiler, all ACPICA utilities, and the test suites.\n\nImproved parameter validation for AcpiInstallGpeBlock. Added the\nfollowing checks:\n1) The incoming device handle refers to type ACPI_TYPE_DEVICE.\n2) There is not already a GPE block attached to the device.\nLikewise, with AcpiRemoveGpeBlock, ensure that the incoming object is a\ndevice.\n\nCorrectly support \"references\" in the ACPI_OBJECT. This change fixes the\nsupport to allow references (namespace nodes) to be passed as arguments\nto control methods via the evaluate object interface. This is probably\nmost useful for testing purposes, however.\n\nImproved support for 32/64 bit physical addresses in printf()-like\noutput. This change improves the support for physical addresses in printf\ndebug statements and other output on both 32-bit and 64-bit hosts. It\nconsistently outputs the appropriate number of bytes for each host. The\n%p specifier is unsatisfactory since it does not emit uniform output on\nall hosts/clib implementations (on some, leading zeros are not supported,\nleading to difficult-to-read output).\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n  Previous Release:\n    Non-Debug Version:  96.1K Code, 27.0K Data, 123.1K Total\n    Debug Version:     185.6K Code, 77.3K Data, 262.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fix a possible fault when using the Connection() operator. Fixes a\nproblem if the parent Field definition for the Connection operator refers\nto an operation region that does not exist. ACPICA BZ 1064.\n\nAcpiExec: Load of local test tables is now optional. The utility has the\ncapability to load some various tables to test features of ACPICA.\nHowever, there are enough of them that the output of the utility became\nconfusing. With this change, only the required local tables are displayed\n(RSDP, XSDT, etc.) along with the actual tables loaded via the command\nline specification. This makes the default output simler and easier to\nunderstand. The -el command line option restores the original behavior\nfor testing purposes.\n\nAcpiExec: Added support for overlapping operation regions. This change\nexpands the simulation of operation regions by supporting regions that\noverlap within the given address space. Supports SystemMemory and\nSystemIO. ASLTS test suite updated also. David Box. ACPICA BZ 1031.\n\nAcpiExec: Added region handler support for PCI_Config and EC spaces. This\nallows AcpiExec to simulate these address spaces, similar to the current\nsupport for SystemMemory and SystemIO.\n\nDebugger: Added new command to read/write/compare all namespace objects.\nThe command \"test objects\" will exercise the entire namespace by writing\nnew values to each data object, and ensuring that the write was\nsuccessful. The original value is then restored and verified.\n\nDebugger: Added the \"test predefined\" command. This change makes this\ntest public and puts it under the new \"test\" command. The test executes\neach and every predefined name within the current namespace.","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/b3f97e9c9fcee167580799c0565ecc3148bf45fb"},{"sha":"6d584f453180b8fec1a108f0556cde7e3fe7555e","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"----------------------------------------\n26 September 2014. Summary of changes for version 20140926:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the GPIO operation region handler interface (GeneralPurposeIo).\nIn order to support GPIO Connection objects with multiple pins, along\nwith the related Field objects, the following changes to the interface\nhave been made: The Address is now defined to be the offset in bits of\nthe field unit from the previous invocation of a Connection. It can be\nviewed as a \"Pin Number Index\" into the connection resource descriptor.\nThe BitWidth is the exact bit width of the field. It is usually one bit,\nbut not always. See the ACPICA reference guide (section 8.8.6.2.1) for\nadditional information and examples.\n\nGPE support: During ACPICA/GPE initialization, ensure that all GPEs with\ncorresponding _Lxx/_Exx methods are disabled (they may have been enabled\nby the firmware), so that they cannot fire until they are enabled via\nAcpiUpdateAllGpes. Rafael J. Wysocki.\n\nAdded a new return flag for the Event/GPE status interfaces --\nAcpiGetEventStatus and AcpiGetGpeStatus. The new\nACPI_EVENT_FLAGS_HAS_HANDLER flag is used to indicate that the event or\nGPE currently has a handler associated with it, and can thus actually\naffect the system. Lv Zheng.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  99.1K Code, 27.3K Data, 126.4K Total\n    Debug Version:     192.8K Code, 79.9K Data, 272.7K Total\n  Previous Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fixed a memory allocation/free regression introduced in 20140828\nthat could cause the compiler to crash. This was introduced inadvertently\nduring the effort to eliminate compiler memory leaks. ACPICA BZ 1111,\n1113.\n\niASL: Removed two error messages that have been found to create false\npositives, until they can be fixed and fully validated (ACPICA BZ 1112):\n1) Illegal forward reference within a method\n2) Illegal reference across two methods\n\niASL: Implemented a new option (-lm) to create a hardware mapping file\nthat summarizes all GPIO, I2C, SPI, and UART connections. This option\nworks for both the compiler and disassembler. See the iASL compiler user\nguide for additional information and examples (section 6.4.6).\n\nAcpiDump: Added support for the version 1 (ACPI 1.0) RSDP in addition to\nversion 2. This corrects the AE_BAD_HEADER exception seen on systems with\na version 1 RSDP. Lv Zheng ACPICA BZ 1097.\n\nAcpiExec: For Unix versions, don't attempt to put STDIN into raw mode\nunless STDIN is actually a terminal. Assists with batch-mode processing.\nACPICA BZ 1114.\n\nDisassembler/AcpiHelp: Added another large group of recognized _HID\nvalues.\n\n----------------------------------------\n28 August 2014. Summary of changes for version 20140828:\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a problem related to the internal use of the Timer() operator where\na 64-bit divide could cause an attempted link to a double-precision math\nlibrary. This divide is not actually necessary, so the code was\nrestructured to eliminate it. Lv Zheng.\n\nACPI 5.1: Added support for the runtime validation of the _DSD package\n(similar to the iASL support).\n\nACPI 5.1/Headers: Added support for the GICC affinity subtable to the\nSRAT table. Hanjun Guo <hanjun.guo@linaro.org>.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total1\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nAcpiExec: Fixed a problem on unix systems where the original terminal\nstate was not always properly restored upon exit. Seen when using the -v\noption. ACPICA BZ 1104.\n\niASL: Fixed a problem with the validation of the ranges/length within the\nMemory24 resource descriptor. There was a boundary condition when the\nrange was equal to the (length -1) caused by the fact that these values\nare defined in 256-byte blocks, not bytes. ACPICA BZ 1098\n\nDisassembler: Fixed a problem with the GpioInt descriptor interrupt\npolarity\nflags. The flags are actually 2 bits, not 1, and the \"ActiveBoth\" keyword\nis\nnow supported properly.\n\nACPI 5.1: Added the GICC affinity subtable to the SRAT table. Supported\nin the disassembler, data table compiler, and table template generator.\n\niASL: Added a requirement for Device() objects that one of either a _HID\nor _ADR must exist within the scope of a Device, as per the ACPI\nspecification. Remove a similar requirement that was incorrectly in place\nfor the _DSD object.\n\niASL: Added error detection for illegal named references within control\nmethods that would cause runtime failures. Now trapped as errors are: 1)\nReferences to objects within a non-parent control method. 2) Forward\nreferences (within a method) -- for control methods, AML interpreters use\na one-pass parse of control methods. ACPICA BZ 1008.\n\niASL: Added error checking for dependencies related to the _PSx power\nmethods. ACPICA BZ 1029.\n1) For _PS0, one of these must exist within the same scope: _PS1, _PS2,\n_PS3.\n2) For _PS1, _PS2, and PS3: A _PS0 object must exist within the same\nscope.\n\niASL and table compiler: Cleanup miscellaneous memory leaks by fully\ndeploying the existing object and string caches and adding new caches for\nthe table compiler.\n\niASL: Split the huge parser source file into multiple subfiles to improve\nmanageability. Generation now requires the M4 macro preprocessor, which\nis part of the Bison distribution on both unix and windows platforms.\n\nAcpiSrc: Fixed and removed all extraneous warnings generated during\nentire ACPICA source code scan and/or conversion.\n\n----------------------------------------\n\n24 July 2014. Summary of changes for version 20140724:\n\nThe ACPI 5.1 specification has been released and is available at:\nhttp://uefi.org/specs/access\n\n0) ACPI 5.1 support in ACPICA:\n\nACPI 5.1 is fully supported in ACPICA as of this release.\n\nNew predefined names. Support includes iASL and runtime ACPICA\nvalidation.\n    _CCA (Cache Coherency Attribute).\n    _DSD (Device-Specific Data). David Box.\n\nModifications to existing ACPI tables. Support includes headers, iASL\nData Table compiler, disassembler, and the template generator.\n    FADT - New fields and flags. Graeme Gregory.\n    GTDT - One new subtable and new fields. Tomasz Nowicki.\n    MADT - Two new subtables. Tomasz Nowicki.\n    PCCT - One new subtable.\n\nMiscellaneous.\n    New notification type for System Resource Affinity change events.\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a regression introduced in 20140627 where a fault can happen during\nthe deletion of Alias AML namespace objects. The problem affected both\nthe core ACPICA and the ACPICA tools including iASL and AcpiExec.\n\nImplemented a new GPE public interface, AcpiMarkGpeForWake. Provides a\nsimple mechanism to enable wake GPEs that have no associated handler or\ncontrol method. Rafael Wysocki.\n\nUpdated the AcpiEnableGpe interface to disallow the enable if there is no\nhandler or control method associated with the particular GPE. This will\nhelp avoid meaningless GPEs and even GPE floods. Rafael Wysocki.\n\nUpdated GPE handling and dispatch by disabling the GPE before clearing\nthe status bit for edge-triggered GPEs. Lv Zheng.\n\nAdded Timer() support to the AML Debug object. The current timer value is\nnow displayed with each invocation of (Store to) the debug object to\nenable simple generation of execution times for AML code (method\nexecution for example.) ACPICA BZ 1093.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nFixed an issue with the recently added local printf implementation,\nconcerning width/precision specifiers that could cause incorrect output.\nLv Zheng. ACPICA BZ 1094.\n\nDisassembler: Added support to detect buffers that contain UUIDs and\ndisassemble them to an invocation of the ToUUID operator. Also emit\ncommented descriptions of known ACPI-related UUIDs.\n\nAcpiHelp: Added support to display known ACPI-related UUIDs. New option,\n-u. Adds three new files.\n\niASL: Update table compiler and disassembler for DMAR table changes that\nwere introduced in September 2013. With assistance by David Woodhouse.\n\n----------------------------------------\n27 June 2014. Summary of changes for version 20140627:\n\n1) ACPICA kernel-resident subsystem:\n\nFormatted Output: Implemented local versions of standard formatted output\nutilities such as printf, etc. Over time, it has been discovered that\nthere are in fact many portability issues with printf, and the addition\nof this feature will fix/prevent these issues once and for all. Some\nknown issues are summarized below:\n\n1) Output of 64-bit values is not portable. For example, UINT64 is %ull\nfor the Linux kernel and is %uI64 for some MSVC versions.\n2) Invoking printf consistently in a manner that is portable across both\n32-bit and 64-bit platforms is difficult at best in many situations.\n3) The output format for pointers varies from system to system (leading\nzeros especially), and leads to inconsistent output from ACPICA across\nplatforms.\n4) Certain platform-specific printf formats may conflict with ACPICA use.\n5) If there is no local C library available, ACPICA now has local support\nfor printf.\n\n-- To address these printf issues in a complete manner, ACPICA now\ndirectly implements a small subset of printf format specifiers, only\nthose that it requires. Adds a new file, utilities/utprint.c. Lv Zheng.\n\nImplemented support for ACPICA generation within the EFI environment.\nInitially, the AcpiDump utility is supported in the UEFI shell\nenvironment. Lv Zheng.\n\nAdded a new external interface, AcpiLogError, to improve ACPICA\nportability. This allows the host to redirect error messages from the\nACPICA utilities. Lv Zheng.\n\nAdded and deployed new OSL file I/O interfaces to improve ACPICA\nportability:\n  AcpiOsOpenFile\n  AcpiOsCloseFile\n  AcpiOsReadFile\n  AcpiOsWriteFile\n  AcpiOsGetFileOffset\n  AcpiOsSetFileOffset\nThere are C library implementations of these functions in the new file\nservice_layers/oslibcfs.c -- however, the functions can be implemented by\nthe local host in any way necessary. Lv Zheng.\n\nImplemented a mechanism to disable/enable ACPI table checksum validation\nat runtime. This can be useful when loading tables very early during OS\ninitialization when it may not be possible to map the entire table in\norder to compute the checksum. Lv Zheng.\n\nFixed a buffer allocation issue for the Generic Serial Bus support.\nOriginally, a fixed buffer length was used. This change allows for\nvariable-length buffers based upon the protocol indicated by the field\naccess attributes. Reported by Lan Tianyu. Lv Zheng.\n\nFixed a problem where an object detached from a namespace node was not\nproperly terminated/cleared and could cause a circular list problem if\nreattached. ACPICA BZ 1063. David Box.\n\nFixed a possible recursive lock acquisition in hwregs.c. Rakib Mullick.\n\nFixed a possible memory leak in an error return path within the function\nAcpiUtCopyIobjectToIobject. ACPICA BZ 1087. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n  Previous Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Add dump of ASCII equivalent text within a comment at the\nend of each line of the output for the Buffer() ASL operator.\n\nAcpiDump: Miscellaneous changes:\n  Fixed repetitive table dump in -n mode.\n  For older EFI platforms, use the ACPI 1.0 GUID during RSDP search if\nthe ACPI 2.0 GUID fails.\n\niASL: Fixed a problem where the compiler could fault if incorrectly given\nan acpidump output file as input. ACPICA BZ 1088. David Box.\n\nAcpiExec/AcpiNames: Fixed a problem where these utilities could fault if\nthey are invoked without any arguments.\n\nDebugger: Fixed a possible memory leak in an error return path. ACPICA BZ\n1086. Colin Ian King.\n\nDisassembler: Cleaned up a block of code that extracts a parent Op\nobject. Added a comment that explains that the parent is guaranteed to be\nvalid in this case. ACPICA BZ 1069.\n\n----------------------------------------\n24 April 2014. Summary of changes for version 20140424:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented support to skip/ignore NULL address entries in the RSDT/XSDT.\nSome of these tables are known to contain a trailing NULL entry. Lv\nZheng.\n\nRemoved an extraneous error message for the case where there are a large\nnumber of system GPEs (> 124). This was the \"32-bit FADT register is too\nlong to convert to GAS struct\" message, which is irrelevant for GPEs\nsince the GPEx_BLK_LEN fields of the FADT are always used instead of the\n(limited capacity) GAS bit length. Also, several changes to ensure proper\nsupport for GPE numbers > 255, where some \"GPE number\" fields were 8-bits\ninternally.\n\nImplemented and deployed additional configuration support for the public\nACPICA external interfaces. Entire classes of interfaces can now be\neasily modified or configured out, replaced by stubbed inline functions\nby default. Lv Zheng.\n\nMoved all public ACPICA runtime configuration globals to the public\nACPICA external interface file for convenience. Also, removed some\nobsolete/unused globals. See the file acpixf.h. Lv Zheng.\n\nDocumentation: Added a new section to the ACPICA reference describing the\nmaximum number of GPEs that can be supported by the FADT-defined GPEs in\nblock zero and one. About 1200 total. See section 4.4.1 of the ACPICA\nreference.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL and disassembler: Add full support for the LPIT table (Low Power\nIdle Table). Includes support in the disassembler, data table compiler,\nand template generator.\n\nAcpiDump utility:\n1) Add option to force the use of the RSDT (over the XSDT).\n2) Improve validation of the RSDP signature (use 8 chars instead of 4).\n\niASL: Add check for predefined packages that are too large.  For\npredefined names that contain subpackages, check if each subpackage is\ntoo large. (Check for too small already exists.)\n\nDebugger: Updated the GPE command (which simulates a GPE by executing the\nGPE code paths in ACPICA). The GPE device is now optional, and defaults\nto the GPE 0/1 FADT-defined blocks.\n\nUnix application OSL: Update line-editing support. Add additional error\nchecking and take care not to reset terminal attributes on exit if they\nwere never set. This should help guarantee that the terminal is always\nleft in the previous state on program exit.\n\n----------------------------------------\n25 March 2014. Summary of changes for version 20140325:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the auto-serialize feature for control methods. This feature\nautomatically serializes all methods that create named objects in order\nto prevent runtime errors. The update adds support to ignore the\ncurrently executing AML SyncLevel when invoking such a method, in order\nto prevent disruption of any existing SyncLevel priorities that may exist\nin the AML code. Although the use of SyncLevels is relatively rare, this\nchange fixes a regression where an AE_AML_MUTEX_ORDER exception can\nappear on some machines starting with the 20140214 release.\n\nAdded a new external interface to allow the host to install ACPI tables\nvery early, before the namespace is even created. AcpiInstallTable gives\nthe host additional flexibility for ACPI table management. Tables can be\ninstalled directly by the host as if they had originally appeared in the\nXSDT/RSDT. Installed tables can be SSDTs or other ACPI data tables\n(anything except the DSDT and FACS). Adds a new file, tbdata.c, along\nwith additional internal restructuring and cleanup. See the ACPICA\nReference for interface details. Lv Zheng.\n\nAdded validation of the checksum for all incoming dynamically loaded\ntables (via external interfaces or via AML Load/LoadTable operators). Lv\nZheng.\n\nUpdated the use of the AcpiOsWaitEventsComplete interface during Notify\nand GPE handler removal. Restructured calls to eliminate possible race\nconditions. Lv Zheng.\n\nAdded a warning for the use/execution of the ASL/AML Unload (table)\noperator. This will help detect and identify machines that use this\noperator if and when it is ever used. This operator has never been seen\nin the field and the usage model and possible side-effects of the drastic\nruntime action of a full table removal are unknown.\n\nReverted the use of #pragma push/pop which was introduced in the 20140214\nrelease. It appears that push and pop are not implemented by enough\ncompilers to make the use of this feature feasible for ACPICA at this\ntime. However, these operators may be deployed in a future ACPICA\nrelease.\n\nAdded the missing EXPORT_SYMBOL macros for the install and remove SCI\nhandler interfaces.\n\nSource code generation:\n1) Disabled the use of the \"strchr\" macro for the gcc-specific\ngeneration. For some versions of gcc, this macro can periodically expose\na compiler bug which in turn causes compile-time error(s).\n2) Added support for PPC64 compilation. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Added several new features to improve the readability of\nthe resulting ASL code. Extra information is emitted within comment\nfields in the ASL code:\n1) Known _HID/_CID values are decoded to descriptive text.\n2) Standard values for the Notify() operator are decoded to descriptive\ntext.\n3) Target operands are expanded to full pathnames (in a comment) when\npossible.\n\nDisassembler: Miscellaneous updates for extern() handling:\n1) Abort compiler if file specified by -fe option does not exist.\n2) Silence unnecessary warnings about argument count mismatches.\n3) Update warning messages concerning unresolved method externals.\n4) Emit \"UnknownObj\" keyword for externals whose type cannot be\ndetermined.\n\nAcpiHelp utility:\n1) Added the -a option to display both the ASL syntax and the AML\nencoding for an input ASL operator. This effectively displays all known\ninformation about an ASL operator with one AcpiHelp invocation.\n2) Added substring match support (similar to a wildcard) for the -i\n(_HID/PNP IDs) option.\n\niASL/Disassembler: Since this tool does not yet support execution on big-\nendian machines, added detection of endianness and an error message if\nexecution is attempted on big-endian. Support for big-endian within iASL\nis a feature that is on the ACPICA to-be-done list.\n\nAcpiBin utility:\n1) Remove option to extract binary files from an acpidump; this function\nis made obsolete by the AcpiXtract utility.\n2) General cleanup of open files and allocated buffers.\n\n----------------------------------------\n14 February 2014. Summary of changes for version 20140214:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented a new mechanism to proactively prevent problems with ill-\nbehaved reentrant control methods that create named ACPI objects. This\nbehavior is illegal as per the ACPI specification, but is nonetheless\nfrequently seen in the field. Previously, this could lead to an\nAE_ALREADY_EXISTS exception if the method was actually entered by more\nthan one thread. This new mechanism detects such methods at table load\ntime and marks them \"serialized\" to prevent reentrancy. A new global\noption, AcpiGbl_AutoSerializeMethods, has been added to disable this\nfeature if desired. This mechanism and global option obsoletes and\nsupersedes the previous AcpiGbl_SerializeAllMethods option.\n\nAdded the \"Windows 2013\" string to the _OSI support. ACPICA will now\nrespond TRUE to _OSI queries with this string. It is the stated policy of\nACPICA to add new strings to the _OSI support as soon as possible after\nthey are defined. See the full ACPICA _OSI policy which has been added to\nthe utilities/utosi.c file.\n\nHardened/updated the _PRT return value auto-repair code:\n1) Do not abort the repair on a single subpackage failure, continue to\ncheck all subpackages.\n2) Add check for the minimum subpackage length (4).\n3) Properly handle extraneous NULL package elements.\n\nAdded support to avoid the possibility of infinite loops when traversing\nobject linked lists. Never allow an infinite loop, even in the face of\ncorrupted object lists.\n\nACPICA headers: Deployed the use of #pragma pack(push) and #pragma\npack(pop) directives to ensure that the ACPICA headers are independent of\ncompiler settings or other host headers.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n  Previous Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL/Table-compiler: Fixed a problem with support for the SPMI table. The\nfirst reserved field was incorrectly forced to have a value of zero. This\nchange correctly forces the field to have a value of one. ACPICA BZ 1081.\n\nDebugger: Added missing support for the \"Extra\" and \"Data\" subobjects\nwhen displaying object data.\n\nDebugger: Added support to display entire object linked lists when\ndisplaying object data.\n\niASL: Removed the obsolete -g option to obtain ACPI tables from the\nWindows registry. This feature has been superseded by the acpidump\nutility.\n\n----------------------------------------\n14 January 2014. Summary of changes for version 20140114:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated all ACPICA copyrights and signons to 2014. Added the 2014\ncopyright to all module headers and signons, including the standard Linux\nheader. This affects virtually every file in the ACPICA core subsystem,\niASL compiler, all ACPICA utilities, and the test suites.\n\nImproved parameter validation for AcpiInstallGpeBlock. Added the\nfollowing checks:\n1) The incoming device handle refers to type ACPI_TYPE_DEVICE.\n2) There is not already a GPE block attached to the device.\nLikewise, with AcpiRemoveGpeBlock, ensure that the incoming object is a\ndevice.\n\nCorrectly support \"references\" in the ACPI_OBJECT. This change fixes the\nsupport to allow references (namespace nodes) to be passed as arguments\nto control methods via the evaluate object interface. This is probably\nmost useful for testing purposes, however.\n\nImproved support for 32/64 bit physical addresses in printf()-like\noutput. This change improves the support for physical addresses in printf\ndebug statements and other output on both 32-bit and 64-bit hosts. It\nconsistently outputs the appropriate number of bytes for each host. The\n%p specifier is unsatisfactory since it does not emit uniform output on\nall hosts/clib implementations (on some, leading zeros are not supported,\nleading to difficult-to-read output).\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n  Previous Release:\n    Non-Debug Version:  96.1K Code, 27.0K Data, 123.1K Total\n    Debug Version:     185.6K Code, 77.3K Data, 262.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fix a possible fault when using the Connection() operator. Fixes a\nproblem if the parent Field definition for the Connection operator refers\nto an operation region that does not exist. ACPICA BZ 1064.\n\nAcpiExec: Load of local test tables is now optional. The utility has the\ncapability to load some various tables to test features of ACPICA.\nHowever, there are enough of them that the output of the utility became\nconfusing. With this change, only the required local tables are displayed\n(RSDP, XSDT, etc.) along with the actual tables loaded via the command\nline specification. This makes the default output simler and easier to\nunderstand. The -el command line option restores the original behavior\nfor testing purposes.\n\nAcpiExec: Added support for overlapping operation regions. This change\nexpands the simulation of operation regions by supporting regions that\noverlap within the given address space. Supports SystemMemory and\nSystemIO. ASLTS test suite updated also. David Box. ACPICA BZ 1031.\n\nAcpiExec: Added region handler support for PCI_Config and EC spaces. This\nallows AcpiExec to simulate these address spaces, similar to the current\nsupport for SystemMemory and SystemIO.\n\nDebugger: Added new command to read/write/compare all namespace objects.\nThe command \"test objects\" will exercise the entire namespace by writing\nnew values to each data object, and ensuring that the write was\nsuccessful. The original value is then restored and verified.\n\nDebugger: Added the \"test predefined\" command. This change makes this\ntest public and puts it under the new \"test\" command. The test executes\neach and every predefined name within the current namespace.","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/6d584f453180b8fec1a108f0556cde7e3fe7555e"},{"sha":"1ad354a5e614001d59813c65de83310e9a33d2ac","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"----------------------------------------\n26 September 2014. Summary of changes for version 20140926:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the GPIO operation region handler interface (GeneralPurposeIo).\nIn order to support GPIO Connection objects with multiple pins, along\nwith the related Field objects, the following changes to the interface\nhave been made: The Address is now defined to be the offset in bits of\nthe field unit from the previous invocation of a Connection. It can be\nviewed as a \"Pin Number Index\" into the connection resource descriptor.\nThe BitWidth is the exact bit width of the field. It is usually one bit,\nbut not always. See the ACPICA reference guide (section 8.8.6.2.1) for\nadditional information and examples.\n\nGPE support: During ACPICA/GPE initialization, ensure that all GPEs with\ncorresponding _Lxx/_Exx methods are disabled (they may have been enabled\nby the firmware), so that they cannot fire until they are enabled via\nAcpiUpdateAllGpes. Rafael J. Wysocki.\n\nAdded a new return flag for the Event/GPE status interfaces --\nAcpiGetEventStatus and AcpiGetGpeStatus. The new\nACPI_EVENT_FLAGS_HAS_HANDLER flag is used to indicate that the event or\nGPE currently has a handler associated with it, and can thus actually\naffect the system. Lv Zheng.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  99.1K Code, 27.3K Data, 126.4K Total\n    Debug Version:     192.8K Code, 79.9K Data, 272.7K Total\n  Previous Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fixed a memory allocation/free regression introduced in 20140828\nthat could cause the compiler to crash. This was introduced inadvertently\nduring the effort to eliminate compiler memory leaks. ACPICA BZ 1111,\n1113.\n\niASL: Removed two error messages that have been found to create false\npositives, until they can be fixed and fully validated (ACPICA BZ 1112):\n1) Illegal forward reference within a method\n2) Illegal reference across two methods\n\niASL: Implemented a new option (-lm) to create a hardware mapping file\nthat summarizes all GPIO, I2C, SPI, and UART connections. This option\nworks for both the compiler and disassembler. See the iASL compiler user\nguide for additional information and examples (section 6.4.6).\n\nAcpiDump: Added support for the version 1 (ACPI 1.0) RSDP in addition to\nversion 2. This corrects the AE_BAD_HEADER exception seen on systems with\na version 1 RSDP. Lv Zheng ACPICA BZ 1097.\n\nAcpiExec: For Unix versions, don't attempt to put STDIN into raw mode\nunless STDIN is actually a terminal. Assists with batch-mode processing.\nACPICA BZ 1114.\n\nDisassembler/AcpiHelp: Added another large group of recognized _HID\nvalues.\n\n----------------------------------------\n28 August 2014. Summary of changes for version 20140828:\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a problem related to the internal use of the Timer() operator where\na 64-bit divide could cause an attempted link to a double-precision math\nlibrary. This divide is not actually necessary, so the code was\nrestructured to eliminate it. Lv Zheng.\n\nACPI 5.1: Added support for the runtime validation of the _DSD package\n(similar to the iASL support).\n\nACPI 5.1/Headers: Added support for the GICC affinity subtable to the\nSRAT table. Hanjun Guo <hanjun.guo@linaro.org>.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total1\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nAcpiExec: Fixed a problem on unix systems where the original terminal\nstate was not always properly restored upon exit. Seen when using the -v\noption. ACPICA BZ 1104.\n\niASL: Fixed a problem with the validation of the ranges/length within the\nMemory24 resource descriptor. There was a boundary condition when the\nrange was equal to the (length -1) caused by the fact that these values\nare defined in 256-byte blocks, not bytes. ACPICA BZ 1098\n\nDisassembler: Fixed a problem with the GpioInt descriptor interrupt\npolarity\nflags. The flags are actually 2 bits, not 1, and the \"ActiveBoth\" keyword\nis\nnow supported properly.\n\nACPI 5.1: Added the GICC affinity subtable to the SRAT table. Supported\nin the disassembler, data table compiler, and table template generator.\n\niASL: Added a requirement for Device() objects that one of either a _HID\nor _ADR must exist within the scope of a Device, as per the ACPI\nspecification. Remove a similar requirement that was incorrectly in place\nfor the _DSD object.\n\niASL: Added error detection for illegal named references within control\nmethods that would cause runtime failures. Now trapped as errors are: 1)\nReferences to objects within a non-parent control method. 2) Forward\nreferences (within a method) -- for control methods, AML interpreters use\na one-pass parse of control methods. ACPICA BZ 1008.\n\niASL: Added error checking for dependencies related to the _PSx power\nmethods. ACPICA BZ 1029.\n1) For _PS0, one of these must exist within the same scope: _PS1, _PS2,\n_PS3.\n2) For _PS1, _PS2, and PS3: A _PS0 object must exist within the same\nscope.\n\niASL and table compiler: Cleanup miscellaneous memory leaks by fully\ndeploying the existing object and string caches and adding new caches for\nthe table compiler.\n\niASL: Split the huge parser source file into multiple subfiles to improve\nmanageability. Generation now requires the M4 macro preprocessor, which\nis part of the Bison distribution on both unix and windows platforms.\n\nAcpiSrc: Fixed and removed all extraneous warnings generated during\nentire ACPICA source code scan and/or conversion.\n\n----------------------------------------\n\n24 July 2014. Summary of changes for version 20140724:\n\nThe ACPI 5.1 specification has been released and is available at:\nhttp://uefi.org/specs/access\n\n0) ACPI 5.1 support in ACPICA:\n\nACPI 5.1 is fully supported in ACPICA as of this release.\n\nNew predefined names. Support includes iASL and runtime ACPICA\nvalidation.\n    _CCA (Cache Coherency Attribute).\n    _DSD (Device-Specific Data). David Box.\n\nModifications to existing ACPI tables. Support includes headers, iASL\nData Table compiler, disassembler, and the template generator.\n    FADT - New fields and flags. Graeme Gregory.\n    GTDT - One new subtable and new fields. Tomasz Nowicki.\n    MADT - Two new subtables. Tomasz Nowicki.\n    PCCT - One new subtable.\n\nMiscellaneous.\n    New notification type for System Resource Affinity change events.\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a regression introduced in 20140627 where a fault can happen during\nthe deletion of Alias AML namespace objects. The problem affected both\nthe core ACPICA and the ACPICA tools including iASL and AcpiExec.\n\nImplemented a new GPE public interface, AcpiMarkGpeForWake. Provides a\nsimple mechanism to enable wake GPEs that have no associated handler or\ncontrol method. Rafael Wysocki.\n\nUpdated the AcpiEnableGpe interface to disallow the enable if there is no\nhandler or control method associated with the particular GPE. This will\nhelp avoid meaningless GPEs and even GPE floods. Rafael Wysocki.\n\nUpdated GPE handling and dispatch by disabling the GPE before clearing\nthe status bit for edge-triggered GPEs. Lv Zheng.\n\nAdded Timer() support to the AML Debug object. The current timer value is\nnow displayed with each invocation of (Store to) the debug object to\nenable simple generation of execution times for AML code (method\nexecution for example.) ACPICA BZ 1093.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nFixed an issue with the recently added local printf implementation,\nconcerning width/precision specifiers that could cause incorrect output.\nLv Zheng. ACPICA BZ 1094.\n\nDisassembler: Added support to detect buffers that contain UUIDs and\ndisassemble them to an invocation of the ToUUID operator. Also emit\ncommented descriptions of known ACPI-related UUIDs.\n\nAcpiHelp: Added support to display known ACPI-related UUIDs. New option,\n-u. Adds three new files.\n\niASL: Update table compiler and disassembler for DMAR table changes that\nwere introduced in September 2013. With assistance by David Woodhouse.\n\n----------------------------------------\n27 June 2014. Summary of changes for version 20140627:\n\n1) ACPICA kernel-resident subsystem:\n\nFormatted Output: Implemented local versions of standard formatted output\nutilities such as printf, etc. Over time, it has been discovered that\nthere are in fact many portability issues with printf, and the addition\nof this feature will fix/prevent these issues once and for all. Some\nknown issues are summarized below:\n\n1) Output of 64-bit values is not portable. For example, UINT64 is %ull\nfor the Linux kernel and is %uI64 for some MSVC versions.\n2) Invoking printf consistently in a manner that is portable across both\n32-bit and 64-bit platforms is difficult at best in many situations.\n3) The output format for pointers varies from system to system (leading\nzeros especially), and leads to inconsistent output from ACPICA across\nplatforms.\n4) Certain platform-specific printf formats may conflict with ACPICA use.\n5) If there is no local C library available, ACPICA now has local support\nfor printf.\n\n-- To address these printf issues in a complete manner, ACPICA now\ndirectly implements a small subset of printf format specifiers, only\nthose that it requires. Adds a new file, utilities/utprint.c. Lv Zheng.\n\nImplemented support for ACPICA generation within the EFI environment.\nInitially, the AcpiDump utility is supported in the UEFI shell\nenvironment. Lv Zheng.\n\nAdded a new external interface, AcpiLogError, to improve ACPICA\nportability. This allows the host to redirect error messages from the\nACPICA utilities. Lv Zheng.\n\nAdded and deployed new OSL file I/O interfaces to improve ACPICA\nportability:\n  AcpiOsOpenFile\n  AcpiOsCloseFile\n  AcpiOsReadFile\n  AcpiOsWriteFile\n  AcpiOsGetFileOffset\n  AcpiOsSetFileOffset\nThere are C library implementations of these functions in the new file\nservice_layers/oslibcfs.c -- however, the functions can be implemented by\nthe local host in any way necessary. Lv Zheng.\n\nImplemented a mechanism to disable/enable ACPI table checksum validation\nat runtime. This can be useful when loading tables very early during OS\ninitialization when it may not be possible to map the entire table in\norder to compute the checksum. Lv Zheng.\n\nFixed a buffer allocation issue for the Generic Serial Bus support.\nOriginally, a fixed buffer length was used. This change allows for\nvariable-length buffers based upon the protocol indicated by the field\naccess attributes. Reported by Lan Tianyu. Lv Zheng.\n\nFixed a problem where an object detached from a namespace node was not\nproperly terminated/cleared and could cause a circular list problem if\nreattached. ACPICA BZ 1063. David Box.\n\nFixed a possible recursive lock acquisition in hwregs.c. Rakib Mullick.\n\nFixed a possible memory leak in an error return path within the function\nAcpiUtCopyIobjectToIobject. ACPICA BZ 1087. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n  Previous Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Add dump of ASCII equivalent text within a comment at the\nend of each line of the output for the Buffer() ASL operator.\n\nAcpiDump: Miscellaneous changes:\n  Fixed repetitive table dump in -n mode.\n  For older EFI platforms, use the ACPI 1.0 GUID during RSDP search if\nthe ACPI 2.0 GUID fails.\n\niASL: Fixed a problem where the compiler could fault if incorrectly given\nan acpidump output file as input. ACPICA BZ 1088. David Box.\n\nAcpiExec/AcpiNames: Fixed a problem where these utilities could fault if\nthey are invoked without any arguments.\n\nDebugger: Fixed a possible memory leak in an error return path. ACPICA BZ\n1086. Colin Ian King.\n\nDisassembler: Cleaned up a block of code that extracts a parent Op\nobject. Added a comment that explains that the parent is guaranteed to be\nvalid in this case. ACPICA BZ 1069.\n\n----------------------------------------\n24 April 2014. Summary of changes for version 20140424:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented support to skip/ignore NULL address entries in the RSDT/XSDT.\nSome of these tables are known to contain a trailing NULL entry. Lv\nZheng.\n\nRemoved an extraneous error message for the case where there are a large\nnumber of system GPEs (> 124). This was the \"32-bit FADT register is too\nlong to convert to GAS struct\" message, which is irrelevant for GPEs\nsince the GPEx_BLK_LEN fields of the FADT are always used instead of the\n(limited capacity) GAS bit length. Also, several changes to ensure proper\nsupport for GPE numbers > 255, where some \"GPE number\" fields were 8-bits\ninternally.\n\nImplemented and deployed additional configuration support for the public\nACPICA external interfaces. Entire classes of interfaces can now be\neasily modified or configured out, replaced by stubbed inline functions\nby default. Lv Zheng.\n\nMoved all public ACPICA runtime configuration globals to the public\nACPICA external interface file for convenience. Also, removed some\nobsolete/unused globals. See the file acpixf.h. Lv Zheng.\n\nDocumentation: Added a new section to the ACPICA reference describing the\nmaximum number of GPEs that can be supported by the FADT-defined GPEs in\nblock zero and one. About 1200 total. See section 4.4.1 of the ACPICA\nreference.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL and disassembler: Add full support for the LPIT table (Low Power\nIdle Table). Includes support in the disassembler, data table compiler,\nand template generator.\n\nAcpiDump utility:\n1) Add option to force the use of the RSDT (over the XSDT).\n2) Improve validation of the RSDP signature (use 8 chars instead of 4).\n\niASL: Add check for predefined packages that are too large.  For\npredefined names that contain subpackages, check if each subpackage is\ntoo large. (Check for too small already exists.)\n\nDebugger: Updated the GPE command (which simulates a GPE by executing the\nGPE code paths in ACPICA). The GPE device is now optional, and defaults\nto the GPE 0/1 FADT-defined blocks.\n\nUnix application OSL: Update line-editing support. Add additional error\nchecking and take care not to reset terminal attributes on exit if they\nwere never set. This should help guarantee that the terminal is always\nleft in the previous state on program exit.\n\n----------------------------------------\n25 March 2014. Summary of changes for version 20140325:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the auto-serialize feature for control methods. This feature\nautomatically serializes all methods that create named objects in order\nto prevent runtime errors. The update adds support to ignore the\ncurrently executing AML SyncLevel when invoking such a method, in order\nto prevent disruption of any existing SyncLevel priorities that may exist\nin the AML code. Although the use of SyncLevels is relatively rare, this\nchange fixes a regression where an AE_AML_MUTEX_ORDER exception can\nappear on some machines starting with the 20140214 release.\n\nAdded a new external interface to allow the host to install ACPI tables\nvery early, before the namespace is even created. AcpiInstallTable gives\nthe host additional flexibility for ACPI table management. Tables can be\ninstalled directly by the host as if they had originally appeared in the\nXSDT/RSDT. Installed tables can be SSDTs or other ACPI data tables\n(anything except the DSDT and FACS). Adds a new file, tbdata.c, along\nwith additional internal restructuring and cleanup. See the ACPICA\nReference for interface details. Lv Zheng.\n\nAdded validation of the checksum for all incoming dynamically loaded\ntables (via external interfaces or via AML Load/LoadTable operators). Lv\nZheng.\n\nUpdated the use of the AcpiOsWaitEventsComplete interface during Notify\nand GPE handler removal. Restructured calls to eliminate possible race\nconditions. Lv Zheng.\n\nAdded a warning for the use/execution of the ASL/AML Unload (table)\noperator. This will help detect and identify machines that use this\noperator if and when it is ever used. This operator has never been seen\nin the field and the usage model and possible side-effects of the drastic\nruntime action of a full table removal are unknown.\n\nReverted the use of #pragma push/pop which was introduced in the 20140214\nrelease. It appears that push and pop are not implemented by enough\ncompilers to make the use of this feature feasible for ACPICA at this\ntime. However, these operators may be deployed in a future ACPICA\nrelease.\n\nAdded the missing EXPORT_SYMBOL macros for the install and remove SCI\nhandler interfaces.\n\nSource code generation:\n1) Disabled the use of the \"strchr\" macro for the gcc-specific\ngeneration. For some versions of gcc, this macro can periodically expose\na compiler bug which in turn causes compile-time error(s).\n2) Added support for PPC64 compilation. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Added several new features to improve the readability of\nthe resulting ASL code. Extra information is emitted within comment\nfields in the ASL code:\n1) Known _HID/_CID values are decoded to descriptive text.\n2) Standard values for the Notify() operator are decoded to descriptive\ntext.\n3) Target operands are expanded to full pathnames (in a comment) when\npossible.\n\nDisassembler: Miscellaneous updates for extern() handling:\n1) Abort compiler if file specified by -fe option does not exist.\n2) Silence unnecessary warnings about argument count mismatches.\n3) Update warning messages concerning unresolved method externals.\n4) Emit \"UnknownObj\" keyword for externals whose type cannot be\ndetermined.\n\nAcpiHelp utility:\n1) Added the -a option to display both the ASL syntax and the AML\nencoding for an input ASL operator. This effectively displays all known\ninformation about an ASL operator with one AcpiHelp invocation.\n2) Added substring match support (similar to a wildcard) for the -i\n(_HID/PNP IDs) option.\n\niASL/Disassembler: Since this tool does not yet support execution on big-\nendian machines, added detection of endianness and an error message if\nexecution is attempted on big-endian. Support for big-endian within iASL\nis a feature that is on the ACPICA to-be-done list.\n\nAcpiBin utility:\n1) Remove option to extract binary files from an acpidump; this function\nis made obsolete by the AcpiXtract utility.\n2) General cleanup of open files and allocated buffers.\n\n----------------------------------------\n14 February 2014. Summary of changes for version 20140214:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented a new mechanism to proactively prevent problems with ill-\nbehaved reentrant control methods that create named ACPI objects. This\nbehavior is illegal as per the ACPI specification, but is nonetheless\nfrequently seen in the field. Previously, this could lead to an\nAE_ALREADY_EXISTS exception if the method was actually entered by more\nthan one thread. This new mechanism detects such methods at table load\ntime and marks them \"serialized\" to prevent reentrancy. A new global\noption, AcpiGbl_AutoSerializeMethods, has been added to disable this\nfeature if desired. This mechanism and global option obsoletes and\nsupersedes the previous AcpiGbl_SerializeAllMethods option.\n\nAdded the \"Windows 2013\" string to the _OSI support. ACPICA will now\nrespond TRUE to _OSI queries with this string. It is the stated policy of\nACPICA to add new strings to the _OSI support as soon as possible after\nthey are defined. See the full ACPICA _OSI policy which has been added to\nthe utilities/utosi.c file.\n\nHardened/updated the _PRT return value auto-repair code:\n1) Do not abort the repair on a single subpackage failure, continue to\ncheck all subpackages.\n2) Add check for the minimum subpackage length (4).\n3) Properly handle extraneous NULL package elements.\n\nAdded support to avoid the possibility of infinite loops when traversing\nobject linked lists. Never allow an infinite loop, even in the face of\ncorrupted object lists.\n\nACPICA headers: Deployed the use of #pragma pack(push) and #pragma\npack(pop) directives to ensure that the ACPICA headers are independent of\ncompiler settings or other host headers.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n  Previous Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL/Table-compiler: Fixed a problem with support for the SPMI table. The\nfirst reserved field was incorrectly forced to have a value of zero. This\nchange correctly forces the field to have a value of one. ACPICA BZ 1081.\n\nDebugger: Added missing support for the \"Extra\" and \"Data\" subobjects\nwhen displaying object data.\n\nDebugger: Added support to display entire object linked lists when\ndisplaying object data.\n\niASL: Removed the obsolete -g option to obtain ACPI tables from the\nWindows registry. This feature has been superseded by the acpidump\nutility.\n\n----------------------------------------\n14 January 2014. Summary of changes for version 20140114:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated all ACPICA copyrights and signons to 2014. Added the 2014\ncopyright to all module headers and signons, including the standard Linux\nheader. This affects virtually every file in the ACPICA core subsystem,\niASL compiler, all ACPICA utilities, and the test suites.\n\nImproved parameter validation for AcpiInstallGpeBlock. Added the\nfollowing checks:\n1) The incoming device handle refers to type ACPI_TYPE_DEVICE.\n2) There is not already a GPE block attached to the device.\nLikewise, with AcpiRemoveGpeBlock, ensure that the incoming object is a\ndevice.\n\nCorrectly support \"references\" in the ACPI_OBJECT. This change fixes the\nsupport to allow references (namespace nodes) to be passed as arguments\nto control methods via the evaluate object interface. This is probably\nmost useful for testing purposes, however.\n\nImproved support for 32/64 bit physical addresses in printf()-like\noutput. This change improves the support for physical addresses in printf\ndebug statements and other output on both 32-bit and 64-bit hosts. It\nconsistently outputs the appropriate number of bytes for each host. The\n%p specifier is unsatisfactory since it does not emit uniform output on\nall hosts/clib implementations (on some, leading zeros are not supported,\nleading to difficult-to-read output).\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n  Previous Release:\n    Non-Debug Version:  96.1K Code, 27.0K Data, 123.1K Total\n    Debug Version:     185.6K Code, 77.3K Data, 262.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fix a possible fault when using the Connection() operator. Fixes a\nproblem if the parent Field definition for the Connection operator refers\nto an operation region that does not exist. ACPICA BZ 1064.\n\nAcpiExec: Load of local test tables is now optional. The utility has the\ncapability to load some various tables to test features of ACPICA.\nHowever, there are enough of them that the output of the utility became\nconfusing. With this change, only the required local tables are displayed\n(RSDP, XSDT, etc.) along with the actual tables loaded via the command\nline specification. This makes the default output simler and easier to\nunderstand. The -el command line option restores the original behavior\nfor testing purposes.\n\nAcpiExec: Added support for overlapping operation regions. This change\nexpands the simulation of operation regions by supporting regions that\noverlap within the given address space. Supports SystemMemory and\nSystemIO. ASLTS test suite updated also. David Box. ACPICA BZ 1031.\n\nAcpiExec: Added region handler support for PCI_Config and EC spaces. This\nallows AcpiExec to simulate these address spaces, similar to the current\nsupport for SystemMemory and SystemIO.\n\nDebugger: Added new command to read/write/compare all namespace objects.\nThe command \"test objects\" will exercise the entire namespace by writing\nnew values to each data object, and ensuring that the write was\nsuccessful. The original value is then restored and verified.\n\nDebugger: Added the \"test predefined\" command. This change makes this\ntest public and puts it under the new \"test\" command. The test executes\neach and every predefined name within the current namespace.","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/1ad354a5e614001d59813c65de83310e9a33d2ac"},{"sha":"0a23c339fa76b98733e63d06918d18dc060962c0","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"----------------------------------------\n26 September 2014. Summary of changes for version 20140926:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the GPIO operation region handler interface (GeneralPurposeIo).\nIn order to support GPIO Connection objects with multiple pins, along\nwith the related Field objects, the following changes to the interface\nhave been made: The Address is now defined to be the offset in bits of\nthe field unit from the previous invocation of a Connection. It can be\nviewed as a \"Pin Number Index\" into the connection resource descriptor.\nThe BitWidth is the exact bit width of the field. It is usually one bit,\nbut not always. See the ACPICA reference guide (section 8.8.6.2.1) for\nadditional information and examples.\n\nGPE support: During ACPICA/GPE initialization, ensure that all GPEs with\ncorresponding _Lxx/_Exx methods are disabled (they may have been enabled\nby the firmware), so that they cannot fire until they are enabled via\nAcpiUpdateAllGpes. Rafael J. Wysocki.\n\nAdded a new return flag for the Event/GPE status interfaces --\nAcpiGetEventStatus and AcpiGetGpeStatus. The new\nACPI_EVENT_FLAGS_HAS_HANDLER flag is used to indicate that the event or\nGPE currently has a handler associated with it, and can thus actually\naffect the system. Lv Zheng.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  99.1K Code, 27.3K Data, 126.4K Total\n    Debug Version:     192.8K Code, 79.9K Data, 272.7K Total\n  Previous Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fixed a memory allocation/free regression introduced in 20140828\nthat could cause the compiler to crash. This was introduced inadvertently\nduring the effort to eliminate compiler memory leaks. ACPICA BZ 1111,\n1113.\n\niASL: Removed two error messages that have been found to create false\npositives, until they can be fixed and fully validated (ACPICA BZ 1112):\n1) Illegal forward reference within a method\n2) Illegal reference across two methods\n\niASL: Implemented a new option (-lm) to create a hardware mapping file\nthat summarizes all GPIO, I2C, SPI, and UART connections. This option\nworks for both the compiler and disassembler. See the iASL compiler user\nguide for additional information and examples (section 6.4.6).\n\nAcpiDump: Added support for the version 1 (ACPI 1.0) RSDP in addition to\nversion 2. This corrects the AE_BAD_HEADER exception seen on systems with\na version 1 RSDP. Lv Zheng ACPICA BZ 1097.\n\nAcpiExec: For Unix versions, don't attempt to put STDIN into raw mode\nunless STDIN is actually a terminal. Assists with batch-mode processing.\nACPICA BZ 1114.\n\nDisassembler/AcpiHelp: Added another large group of recognized _HID\nvalues.\n\n----------------------------------------\n28 August 2014. Summary of changes for version 20140828:\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a problem related to the internal use of the Timer() operator where\na 64-bit divide could cause an attempted link to a double-precision math\nlibrary. This divide is not actually necessary, so the code was\nrestructured to eliminate it. Lv Zheng.\n\nACPI 5.1: Added support for the runtime validation of the _DSD package\n(similar to the iASL support).\n\nACPI 5.1/Headers: Added support for the GICC affinity subtable to the\nSRAT table. Hanjun Guo <hanjun.guo@linaro.org>.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total1\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nAcpiExec: Fixed a problem on unix systems where the original terminal\nstate was not always properly restored upon exit. Seen when using the -v\noption. ACPICA BZ 1104.\n\niASL: Fixed a problem with the validation of the ranges/length within the\nMemory24 resource descriptor. There was a boundary condition when the\nrange was equal to the (length -1) caused by the fact that these values\nare defined in 256-byte blocks, not bytes. ACPICA BZ 1098\n\nDisassembler: Fixed a problem with the GpioInt descriptor interrupt\npolarity\nflags. The flags are actually 2 bits, not 1, and the \"ActiveBoth\" keyword\nis\nnow supported properly.\n\nACPI 5.1: Added the GICC affinity subtable to the SRAT table. Supported\nin the disassembler, data table compiler, and table template generator.\n\niASL: Added a requirement for Device() objects that one of either a _HID\nor _ADR must exist within the scope of a Device, as per the ACPI\nspecification. Remove a similar requirement that was incorrectly in place\nfor the _DSD object.\n\niASL: Added error detection for illegal named references within control\nmethods that would cause runtime failures. Now trapped as errors are: 1)\nReferences to objects within a non-parent control method. 2) Forward\nreferences (within a method) -- for control methods, AML interpreters use\na one-pass parse of control methods. ACPICA BZ 1008.\n\niASL: Added error checking for dependencies related to the _PSx power\nmethods. ACPICA BZ 1029.\n1) For _PS0, one of these must exist within the same scope: _PS1, _PS2,\n_PS3.\n2) For _PS1, _PS2, and PS3: A _PS0 object must exist within the same\nscope.\n\niASL and table compiler: Cleanup miscellaneous memory leaks by fully\ndeploying the existing object and string caches and adding new caches for\nthe table compiler.\n\niASL: Split the huge parser source file into multiple subfiles to improve\nmanageability. Generation now requires the M4 macro preprocessor, which\nis part of the Bison distribution on both unix and windows platforms.\n\nAcpiSrc: Fixed and removed all extraneous warnings generated during\nentire ACPICA source code scan and/or conversion.\n\n----------------------------------------\n\n24 July 2014. Summary of changes for version 20140724:\n\nThe ACPI 5.1 specification has been released and is available at:\nhttp://uefi.org/specs/access\n\n0) ACPI 5.1 support in ACPICA:\n\nACPI 5.1 is fully supported in ACPICA as of this release.\n\nNew predefined names. Support includes iASL and runtime ACPICA\nvalidation.\n    _CCA (Cache Coherency Attribute).\n    _DSD (Device-Specific Data). David Box.\n\nModifications to existing ACPI tables. Support includes headers, iASL\nData Table compiler, disassembler, and the template generator.\n    FADT - New fields and flags. Graeme Gregory.\n    GTDT - One new subtable and new fields. Tomasz Nowicki.\n    MADT - Two new subtables. Tomasz Nowicki.\n    PCCT - One new subtable.\n\nMiscellaneous.\n    New notification type for System Resource Affinity change events.\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a regression introduced in 20140627 where a fault can happen during\nthe deletion of Alias AML namespace objects. The problem affected both\nthe core ACPICA and the ACPICA tools including iASL and AcpiExec.\n\nImplemented a new GPE public interface, AcpiMarkGpeForWake. Provides a\nsimple mechanism to enable wake GPEs that have no associated handler or\ncontrol method. Rafael Wysocki.\n\nUpdated the AcpiEnableGpe interface to disallow the enable if there is no\nhandler or control method associated with the particular GPE. This will\nhelp avoid meaningless GPEs and even GPE floods. Rafael Wysocki.\n\nUpdated GPE handling and dispatch by disabling the GPE before clearing\nthe status bit for edge-triggered GPEs. Lv Zheng.\n\nAdded Timer() support to the AML Debug object. The current timer value is\nnow displayed with each invocation of (Store to) the debug object to\nenable simple generation of execution times for AML code (method\nexecution for example.) ACPICA BZ 1093.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nFixed an issue with the recently added local printf implementation,\nconcerning width/precision specifiers that could cause incorrect output.\nLv Zheng. ACPICA BZ 1094.\n\nDisassembler: Added support to detect buffers that contain UUIDs and\ndisassemble them to an invocation of the ToUUID operator. Also emit\ncommented descriptions of known ACPI-related UUIDs.\n\nAcpiHelp: Added support to display known ACPI-related UUIDs. New option,\n-u. Adds three new files.\n\niASL: Update table compiler and disassembler for DMAR table changes that\nwere introduced in September 2013. With assistance by David Woodhouse.\n\n----------------------------------------\n27 June 2014. Summary of changes for version 20140627:\n\n1) ACPICA kernel-resident subsystem:\n\nFormatted Output: Implemented local versions of standard formatted output\nutilities such as printf, etc. Over time, it has been discovered that\nthere are in fact many portability issues with printf, and the addition\nof this feature will fix/prevent these issues once and for all. Some\nknown issues are summarized below:\n\n1) Output of 64-bit values is not portable. For example, UINT64 is %ull\nfor the Linux kernel and is %uI64 for some MSVC versions.\n2) Invoking printf consistently in a manner that is portable across both\n32-bit and 64-bit platforms is difficult at best in many situations.\n3) The output format for pointers varies from system to system (leading\nzeros especially), and leads to inconsistent output from ACPICA across\nplatforms.\n4) Certain platform-specific printf formats may conflict with ACPICA use.\n5) If there is no local C library available, ACPICA now has local support\nfor printf.\n\n-- To address these printf issues in a complete manner, ACPICA now\ndirectly implements a small subset of printf format specifiers, only\nthose that it requires. Adds a new file, utilities/utprint.c. Lv Zheng.\n\nImplemented support for ACPICA generation within the EFI environment.\nInitially, the AcpiDump utility is supported in the UEFI shell\nenvironment. Lv Zheng.\n\nAdded a new external interface, AcpiLogError, to improve ACPICA\nportability. This allows the host to redirect error messages from the\nACPICA utilities. Lv Zheng.\n\nAdded and deployed new OSL file I/O interfaces to improve ACPICA\nportability:\n  AcpiOsOpenFile\n  AcpiOsCloseFile\n  AcpiOsReadFile\n  AcpiOsWriteFile\n  AcpiOsGetFileOffset\n  AcpiOsSetFileOffset\nThere are C library implementations of these functions in the new file\nservice_layers/oslibcfs.c -- however, the functions can be implemented by\nthe local host in any way necessary. Lv Zheng.\n\nImplemented a mechanism to disable/enable ACPI table checksum validation\nat runtime. This can be useful when loading tables very early during OS\ninitialization when it may not be possible to map the entire table in\norder to compute the checksum. Lv Zheng.\n\nFixed a buffer allocation issue for the Generic Serial Bus support.\nOriginally, a fixed buffer length was used. This change allows for\nvariable-length buffers based upon the protocol indicated by the field\naccess attributes. Reported by Lan Tianyu. Lv Zheng.\n\nFixed a problem where an object detached from a namespace node was not\nproperly terminated/cleared and could cause a circular list problem if\nreattached. ACPICA BZ 1063. David Box.\n\nFixed a possible recursive lock acquisition in hwregs.c. Rakib Mullick.\n\nFixed a possible memory leak in an error return path within the function\nAcpiUtCopyIobjectToIobject. ACPICA BZ 1087. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n  Previous Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Add dump of ASCII equivalent text within a comment at the\nend of each line of the output for the Buffer() ASL operator.\n\nAcpiDump: Miscellaneous changes:\n  Fixed repetitive table dump in -n mode.\n  For older EFI platforms, use the ACPI 1.0 GUID during RSDP search if\nthe ACPI 2.0 GUID fails.\n\niASL: Fixed a problem where the compiler could fault if incorrectly given\nan acpidump output file as input. ACPICA BZ 1088. David Box.\n\nAcpiExec/AcpiNames: Fixed a problem where these utilities could fault if\nthey are invoked without any arguments.\n\nDebugger: Fixed a possible memory leak in an error return path. ACPICA BZ\n1086. Colin Ian King.\n\nDisassembler: Cleaned up a block of code that extracts a parent Op\nobject. Added a comment that explains that the parent is guaranteed to be\nvalid in this case. ACPICA BZ 1069.\n\n----------------------------------------\n24 April 2014. Summary of changes for version 20140424:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented support to skip/ignore NULL address entries in the RSDT/XSDT.\nSome of these tables are known to contain a trailing NULL entry. Lv\nZheng.\n\nRemoved an extraneous error message for the case where there are a large\nnumber of system GPEs (> 124). This was the \"32-bit FADT register is too\nlong to convert to GAS struct\" message, which is irrelevant for GPEs\nsince the GPEx_BLK_LEN fields of the FADT are always used instead of the\n(limited capacity) GAS bit length. Also, several changes to ensure proper\nsupport for GPE numbers > 255, where some \"GPE number\" fields were 8-bits\ninternally.\n\nImplemented and deployed additional configuration support for the public\nACPICA external interfaces. Entire classes of interfaces can now be\neasily modified or configured out, replaced by stubbed inline functions\nby default. Lv Zheng.\n\nMoved all public ACPICA runtime configuration globals to the public\nACPICA external interface file for convenience. Also, removed some\nobsolete/unused globals. See the file acpixf.h. Lv Zheng.\n\nDocumentation: Added a new section to the ACPICA reference describing the\nmaximum number of GPEs that can be supported by the FADT-defined GPEs in\nblock zero and one. About 1200 total. See section 4.4.1 of the ACPICA\nreference.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL and disassembler: Add full support for the LPIT table (Low Power\nIdle Table). Includes support in the disassembler, data table compiler,\nand template generator.\n\nAcpiDump utility:\n1) Add option to force the use of the RSDT (over the XSDT).\n2) Improve validation of the RSDP signature (use 8 chars instead of 4).\n\niASL: Add check for predefined packages that are too large.  For\npredefined names that contain subpackages, check if each subpackage is\ntoo large. (Check for too small already exists.)\n\nDebugger: Updated the GPE command (which simulates a GPE by executing the\nGPE code paths in ACPICA). The GPE device is now optional, and defaults\nto the GPE 0/1 FADT-defined blocks.\n\nUnix application OSL: Update line-editing support. Add additional error\nchecking and take care not to reset terminal attributes on exit if they\nwere never set. This should help guarantee that the terminal is always\nleft in the previous state on program exit.\n\n----------------------------------------\n25 March 2014. Summary of changes for version 20140325:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the auto-serialize feature for control methods. This feature\nautomatically serializes all methods that create named objects in order\nto prevent runtime errors. The update adds support to ignore the\ncurrently executing AML SyncLevel when invoking such a method, in order\nto prevent disruption of any existing SyncLevel priorities that may exist\nin the AML code. Although the use of SyncLevels is relatively rare, this\nchange fixes a regression where an AE_AML_MUTEX_ORDER exception can\nappear on some machines starting with the 20140214 release.\n\nAdded a new external interface to allow the host to install ACPI tables\nvery early, before the namespace is even created. AcpiInstallTable gives\nthe host additional flexibility for ACPI table management. Tables can be\ninstalled directly by the host as if they had originally appeared in the\nXSDT/RSDT. Installed tables can be SSDTs or other ACPI data tables\n(anything except the DSDT and FACS). Adds a new file, tbdata.c, along\nwith additional internal restructuring and cleanup. See the ACPICA\nReference for interface details. Lv Zheng.\n\nAdded validation of the checksum for all incoming dynamically loaded\ntables (via external interfaces or via AML Load/LoadTable operators). Lv\nZheng.\n\nUpdated the use of the AcpiOsWaitEventsComplete interface during Notify\nand GPE handler removal. Restructured calls to eliminate possible race\nconditions. Lv Zheng.\n\nAdded a warning for the use/execution of the ASL/AML Unload (table)\noperator. This will help detect and identify machines that use this\noperator if and when it is ever used. This operator has never been seen\nin the field and the usage model and possible side-effects of the drastic\nruntime action of a full table removal are unknown.\n\nReverted the use of #pragma push/pop which was introduced in the 20140214\nrelease. It appears that push and pop are not implemented by enough\ncompilers to make the use of this feature feasible for ACPICA at this\ntime. However, these operators may be deployed in a future ACPICA\nrelease.\n\nAdded the missing EXPORT_SYMBOL macros for the install and remove SCI\nhandler interfaces.\n\nSource code generation:\n1) Disabled the use of the \"strchr\" macro for the gcc-specific\ngeneration. For some versions of gcc, this macro can periodically expose\na compiler bug which in turn causes compile-time error(s).\n2) Added support for PPC64 compilation. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Added several new features to improve the readability of\nthe resulting ASL code. Extra information is emitted within comment\nfields in the ASL code:\n1) Known _HID/_CID values are decoded to descriptive text.\n2) Standard values for the Notify() operator are decoded to descriptive\ntext.\n3) Target operands are expanded to full pathnames (in a comment) when\npossible.\n\nDisassembler: Miscellaneous updates for extern() handling:\n1) Abort compiler if file specified by -fe option does not exist.\n2) Silence unnecessary warnings about argument count mismatches.\n3) Update warning messages concerning unresolved method externals.\n4) Emit \"UnknownObj\" keyword for externals whose type cannot be\ndetermined.\n\nAcpiHelp utility:\n1) Added the -a option to display both the ASL syntax and the AML\nencoding for an input ASL operator. This effectively displays all known\ninformation about an ASL operator with one AcpiHelp invocation.\n2) Added substring match support (similar to a wildcard) for the -i\n(_HID/PNP IDs) option.\n\niASL/Disassembler: Since this tool does not yet support execution on big-\nendian machines, added detection of endianness and an error message if\nexecution is attempted on big-endian. Support for big-endian within iASL\nis a feature that is on the ACPICA to-be-done list.\n\nAcpiBin utility:\n1) Remove option to extract binary files from an acpidump; this function\nis made obsolete by the AcpiXtract utility.\n2) General cleanup of open files and allocated buffers.\n\n----------------------------------------\n14 February 2014. Summary of changes for version 20140214:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented a new mechanism to proactively prevent problems with ill-\nbehaved reentrant control methods that create named ACPI objects. This\nbehavior is illegal as per the ACPI specification, but is nonetheless\nfrequently seen in the field. Previously, this could lead to an\nAE_ALREADY_EXISTS exception if the method was actually entered by more\nthan one thread. This new mechanism detects such methods at table load\ntime and marks them \"serialized\" to prevent reentrancy. A new global\noption, AcpiGbl_AutoSerializeMethods, has been added to disable this\nfeature if desired. This mechanism and global option obsoletes and\nsupersedes the previous AcpiGbl_SerializeAllMethods option.\n\nAdded the \"Windows 2013\" string to the _OSI support. ACPICA will now\nrespond TRUE to _OSI queries with this string. It is the stated policy of\nACPICA to add new strings to the _OSI support as soon as possible after\nthey are defined. See the full ACPICA _OSI policy which has been added to\nthe utilities/utosi.c file.\n\nHardened/updated the _PRT return value auto-repair code:\n1) Do not abort the repair on a single subpackage failure, continue to\ncheck all subpackages.\n2) Add check for the minimum subpackage length (4).\n3) Properly handle extraneous NULL package elements.\n\nAdded support to avoid the possibility of infinite loops when traversing\nobject linked lists. Never allow an infinite loop, even in the face of\ncorrupted object lists.\n\nACPICA headers: Deployed the use of #pragma pack(push) and #pragma\npack(pop) directives to ensure that the ACPICA headers are independent of\ncompiler settings or other host headers.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n  Previous Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL/Table-compiler: Fixed a problem with support for the SPMI table. The\nfirst reserved field was incorrectly forced to have a value of zero. This\nchange correctly forces the field to have a value of one. ACPICA BZ 1081.\n\nDebugger: Added missing support for the \"Extra\" and \"Data\" subobjects\nwhen displaying object data.\n\nDebugger: Added support to display entire object linked lists when\ndisplaying object data.\n\niASL: Removed the obsolete -g option to obtain ACPI tables from the\nWindows registry. This feature has been superseded by the acpidump\nutility.\n\n----------------------------------------\n14 January 2014. Summary of changes for version 20140114:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated all ACPICA copyrights and signons to 2014. Added the 2014\ncopyright to all module headers and signons, including the standard Linux\nheader. This affects virtually every file in the ACPICA core subsystem,\niASL compiler, all ACPICA utilities, and the test suites.\n\nImproved parameter validation for AcpiInstallGpeBlock. Added the\nfollowing checks:\n1) The incoming device handle refers to type ACPI_TYPE_DEVICE.\n2) There is not already a GPE block attached to the device.\nLikewise, with AcpiRemoveGpeBlock, ensure that the incoming object is a\ndevice.\n\nCorrectly support \"references\" in the ACPI_OBJECT. This change fixes the\nsupport to allow references (namespace nodes) to be passed as arguments\nto control methods via the evaluate object interface. This is probably\nmost useful for testing purposes, however.\n\nImproved support for 32/64 bit physical addresses in printf()-like\noutput. This change improves the support for physical addresses in printf\ndebug statements and other output on both 32-bit and 64-bit hosts. It\nconsistently outputs the appropriate number of bytes for each host. The\n%p specifier is unsatisfactory since it does not emit uniform output on\nall hosts/clib implementations (on some, leading zeros are not supported,\nleading to difficult-to-read output).\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n  Previous Release:\n    Non-Debug Version:  96.1K Code, 27.0K Data, 123.1K Total\n    Debug Version:     185.6K Code, 77.3K Data, 262.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fix a possible fault when using the Connection() operator. Fixes a\nproblem if the parent Field definition for the Connection operator refers\nto an operation region that does not exist. ACPICA BZ 1064.\n\nAcpiExec: Load of local test tables is now optional. The utility has the\ncapability to load some various tables to test features of ACPICA.\nHowever, there are enough of them that the output of the utility became\nconfusing. With this change, only the required local tables are displayed\n(RSDP, XSDT, etc.) along with the actual tables loaded via the command\nline specification. This makes the default output simler and easier to\nunderstand. The -el command line option restores the original behavior\nfor testing purposes.\n\nAcpiExec: Added support for overlapping operation regions. This change\nexpands the simulation of operation regions by supporting regions that\noverlap within the given address space. Supports SystemMemory and\nSystemIO. ASLTS test suite updated also. David Box. ACPICA BZ 1031.\n\nAcpiExec: Added region handler support for PCI_Config and EC spaces. This\nallows AcpiExec to simulate these address spaces, similar to the current\nsupport for SystemMemory and SystemIO.\n\nDebugger: Added new command to read/write/compare all namespace objects.\nThe command \"test objects\" will exercise the entire namespace by writing\nnew values to each data object, and ensuring that the write was\nsuccessful. The original value is then restored and verified.\n\nDebugger: Added the \"test predefined\" command. This change makes this\ntest public and puts it under the new \"test\" command. The test executes\neach and every predefined name within the current namespace.","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/0a23c339fa76b98733e63d06918d18dc060962c0"},{"sha":"55cf9237704fcb1821c834ce19bca47068fd7414","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"----------------------------------------\n26 September 2014. Summary of changes for version 20140926:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the GPIO operation region handler interface (GeneralPurposeIo).\nIn order to support GPIO Connection objects with multiple pins, along\nwith the related Field objects, the following changes to the interface\nhave been made: The Address is now defined to be the offset in bits of\nthe field unit from the previous invocation of a Connection. It can be\nviewed as a \"Pin Number Index\" into the connection resource descriptor.\nThe BitWidth is the exact bit width of the field. It is usually one bit,\nbut not always. See the ACPICA reference guide (section 8.8.6.2.1) for\nadditional information and examples.\n\nGPE support: During ACPICA/GPE initialization, ensure that all GPEs with\ncorresponding _Lxx/_Exx methods are disabled (they may have been enabled\nby the firmware), so that they cannot fire until they are enabled via\nAcpiUpdateAllGpes. Rafael J. Wysocki.\n\nAdded a new return flag for the Event/GPE status interfaces --\nAcpiGetEventStatus and AcpiGetGpeStatus. The new\nACPI_EVENT_FLAGS_HAS_HANDLER flag is used to indicate that the event or\nGPE currently has a handler associated with it, and can thus actually\naffect the system. Lv Zheng.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  99.1K Code, 27.3K Data, 126.4K Total\n    Debug Version:     192.8K Code, 79.9K Data, 272.7K Total\n  Previous Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fixed a memory allocation/free regression introduced in 20140828\nthat could cause the compiler to crash. This was introduced inadvertently\nduring the effort to eliminate compiler memory leaks. ACPICA BZ 1111,\n1113.\n\niASL: Removed two error messages that have been found to create false\npositives, until they can be fixed and fully validated (ACPICA BZ 1112):\n1) Illegal forward reference within a method\n2) Illegal reference across two methods\n\niASL: Implemented a new option (-lm) to create a hardware mapping file\nthat summarizes all GPIO, I2C, SPI, and UART connections. This option\nworks for both the compiler and disassembler. See the iASL compiler user\nguide for additional information and examples (section 6.4.6).\n\nAcpiDump: Added support for the version 1 (ACPI 1.0) RSDP in addition to\nversion 2. This corrects the AE_BAD_HEADER exception seen on systems with\na version 1 RSDP. Lv Zheng ACPICA BZ 1097.\n\nAcpiExec: For Unix versions, don't attempt to put STDIN into raw mode\nunless STDIN is actually a terminal. Assists with batch-mode processing.\nACPICA BZ 1114.\n\nDisassembler/AcpiHelp: Added another large group of recognized _HID\nvalues.\n\n----------------------------------------\n28 August 2014. Summary of changes for version 20140828:\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a problem related to the internal use of the Timer() operator where\na 64-bit divide could cause an attempted link to a double-precision math\nlibrary. This divide is not actually necessary, so the code was\nrestructured to eliminate it. Lv Zheng.\n\nACPI 5.1: Added support for the runtime validation of the _DSD package\n(similar to the iASL support).\n\nACPI 5.1/Headers: Added support for the GICC affinity subtable to the\nSRAT table. Hanjun Guo <hanjun.guo@linaro.org>.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total1\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nAcpiExec: Fixed a problem on unix systems where the original terminal\nstate was not always properly restored upon exit. Seen when using the -v\noption. ACPICA BZ 1104.\n\niASL: Fixed a problem with the validation of the ranges/length within the\nMemory24 resource descriptor. There was a boundary condition when the\nrange was equal to the (length -1) caused by the fact that these values\nare defined in 256-byte blocks, not bytes. ACPICA BZ 1098\n\nDisassembler: Fixed a problem with the GpioInt descriptor interrupt\npolarity\nflags. The flags are actually 2 bits, not 1, and the \"ActiveBoth\" keyword\nis\nnow supported properly.\n\nACPI 5.1: Added the GICC affinity subtable to the SRAT table. Supported\nin the disassembler, data table compiler, and table template generator.\n\niASL: Added a requirement for Device() objects that one of either a _HID\nor _ADR must exist within the scope of a Device, as per the ACPI\nspecification. Remove a similar requirement that was incorrectly in place\nfor the _DSD object.\n\niASL: Added error detection for illegal named references within control\nmethods that would cause runtime failures. Now trapped as errors are: 1)\nReferences to objects within a non-parent control method. 2) Forward\nreferences (within a method) -- for control methods, AML interpreters use\na one-pass parse of control methods. ACPICA BZ 1008.\n\niASL: Added error checking for dependencies related to the _PSx power\nmethods. ACPICA BZ 1029.\n1) For _PS0, one of these must exist within the same scope: _PS1, _PS2,\n_PS3.\n2) For _PS1, _PS2, and PS3: A _PS0 object must exist within the same\nscope.\n\niASL and table compiler: Cleanup miscellaneous memory leaks by fully\ndeploying the existing object and string caches and adding new caches for\nthe table compiler.\n\niASL: Split the huge parser source file into multiple subfiles to improve\nmanageability. Generation now requires the M4 macro preprocessor, which\nis part of the Bison distribution on both unix and windows platforms.\n\nAcpiSrc: Fixed and removed all extraneous warnings generated during\nentire ACPICA source code scan and/or conversion.\n\n----------------------------------------\n\n24 July 2014. Summary of changes for version 20140724:\n\nThe ACPI 5.1 specification has been released and is available at:\nhttp://uefi.org/specs/access\n\n0) ACPI 5.1 support in ACPICA:\n\nACPI 5.1 is fully supported in ACPICA as of this release.\n\nNew predefined names. Support includes iASL and runtime ACPICA\nvalidation.\n    _CCA (Cache Coherency Attribute).\n    _DSD (Device-Specific Data). David Box.\n\nModifications to existing ACPI tables. Support includes headers, iASL\nData Table compiler, disassembler, and the template generator.\n    FADT - New fields and flags. Graeme Gregory.\n    GTDT - One new subtable and new fields. Tomasz Nowicki.\n    MADT - Two new subtables. Tomasz Nowicki.\n    PCCT - One new subtable.\n\nMiscellaneous.\n    New notification type for System Resource Affinity change events.\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a regression introduced in 20140627 where a fault can happen during\nthe deletion of Alias AML namespace objects. The problem affected both\nthe core ACPICA and the ACPICA tools including iASL and AcpiExec.\n\nImplemented a new GPE public interface, AcpiMarkGpeForWake. Provides a\nsimple mechanism to enable wake GPEs that have no associated handler or\ncontrol method. Rafael Wysocki.\n\nUpdated the AcpiEnableGpe interface to disallow the enable if there is no\nhandler or control method associated with the particular GPE. This will\nhelp avoid meaningless GPEs and even GPE floods. Rafael Wysocki.\n\nUpdated GPE handling and dispatch by disabling the GPE before clearing\nthe status bit for edge-triggered GPEs. Lv Zheng.\n\nAdded Timer() support to the AML Debug object. The current timer value is\nnow displayed with each invocation of (Store to) the debug object to\nenable simple generation of execution times for AML code (method\nexecution for example.) ACPICA BZ 1093.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nFixed an issue with the recently added local printf implementation,\nconcerning width/precision specifiers that could cause incorrect output.\nLv Zheng. ACPICA BZ 1094.\n\nDisassembler: Added support to detect buffers that contain UUIDs and\ndisassemble them to an invocation of the ToUUID operator. Also emit\ncommented descriptions of known ACPI-related UUIDs.\n\nAcpiHelp: Added support to display known ACPI-related UUIDs. New option,\n-u. Adds three new files.\n\niASL: Update table compiler and disassembler for DMAR table changes that\nwere introduced in September 2013. With assistance by David Woodhouse.\n\n----------------------------------------\n27 June 2014. Summary of changes for version 20140627:\n\n1) ACPICA kernel-resident subsystem:\n\nFormatted Output: Implemented local versions of standard formatted output\nutilities such as printf, etc. Over time, it has been discovered that\nthere are in fact many portability issues with printf, and the addition\nof this feature will fix/prevent these issues once and for all. Some\nknown issues are summarized below:\n\n1) Output of 64-bit values is not portable. For example, UINT64 is %ull\nfor the Linux kernel and is %uI64 for some MSVC versions.\n2) Invoking printf consistently in a manner that is portable across both\n32-bit and 64-bit platforms is difficult at best in many situations.\n3) The output format for pointers varies from system to system (leading\nzeros especially), and leads to inconsistent output from ACPICA across\nplatforms.\n4) Certain platform-specific printf formats may conflict with ACPICA use.\n5) If there is no local C library available, ACPICA now has local support\nfor printf.\n\n-- To address these printf issues in a complete manner, ACPICA now\ndirectly implements a small subset of printf format specifiers, only\nthose that it requires. Adds a new file, utilities/utprint.c. Lv Zheng.\n\nImplemented support for ACPICA generation within the EFI environment.\nInitially, the AcpiDump utility is supported in the UEFI shell\nenvironment. Lv Zheng.\n\nAdded a new external interface, AcpiLogError, to improve ACPICA\nportability. This allows the host to redirect error messages from the\nACPICA utilities. Lv Zheng.\n\nAdded and deployed new OSL file I/O interfaces to improve ACPICA\nportability:\n  AcpiOsOpenFile\n  AcpiOsCloseFile\n  AcpiOsReadFile\n  AcpiOsWriteFile\n  AcpiOsGetFileOffset\n  AcpiOsSetFileOffset\nThere are C library implementations of these functions in the new file\nservice_layers/oslibcfs.c -- however, the functions can be implemented by\nthe local host in any way necessary. Lv Zheng.\n\nImplemented a mechanism to disable/enable ACPI table checksum validation\nat runtime. This can be useful when loading tables very early during OS\ninitialization when it may not be possible to map the entire table in\norder to compute the checksum. Lv Zheng.\n\nFixed a buffer allocation issue for the Generic Serial Bus support.\nOriginally, a fixed buffer length was used. This change allows for\nvariable-length buffers based upon the protocol indicated by the field\naccess attributes. Reported by Lan Tianyu. Lv Zheng.\n\nFixed a problem where an object detached from a namespace node was not\nproperly terminated/cleared and could cause a circular list problem if\nreattached. ACPICA BZ 1063. David Box.\n\nFixed a possible recursive lock acquisition in hwregs.c. Rakib Mullick.\n\nFixed a possible memory leak in an error return path within the function\nAcpiUtCopyIobjectToIobject. ACPICA BZ 1087. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n  Previous Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Add dump of ASCII equivalent text within a comment at the\nend of each line of the output for the Buffer() ASL operator.\n\nAcpiDump: Miscellaneous changes:\n  Fixed repetitive table dump in -n mode.\n  For older EFI platforms, use the ACPI 1.0 GUID during RSDP search if\nthe ACPI 2.0 GUID fails.\n\niASL: Fixed a problem where the compiler could fault if incorrectly given\nan acpidump output file as input. ACPICA BZ 1088. David Box.\n\nAcpiExec/AcpiNames: Fixed a problem where these utilities could fault if\nthey are invoked without any arguments.\n\nDebugger: Fixed a possible memory leak in an error return path. ACPICA BZ\n1086. Colin Ian King.\n\nDisassembler: Cleaned up a block of code that extracts a parent Op\nobject. Added a comment that explains that the parent is guaranteed to be\nvalid in this case. ACPICA BZ 1069.\n\n----------------------------------------\n24 April 2014. Summary of changes for version 20140424:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented support to skip/ignore NULL address entries in the RSDT/XSDT.\nSome of these tables are known to contain a trailing NULL entry. Lv\nZheng.\n\nRemoved an extraneous error message for the case where there are a large\nnumber of system GPEs (> 124). This was the \"32-bit FADT register is too\nlong to convert to GAS struct\" message, which is irrelevant for GPEs\nsince the GPEx_BLK_LEN fields of the FADT are always used instead of the\n(limited capacity) GAS bit length. Also, several changes to ensure proper\nsupport for GPE numbers > 255, where some \"GPE number\" fields were 8-bits\ninternally.\n\nImplemented and deployed additional configuration support for the public\nACPICA external interfaces. Entire classes of interfaces can now be\neasily modified or configured out, replaced by stubbed inline functions\nby default. Lv Zheng.\n\nMoved all public ACPICA runtime configuration globals to the public\nACPICA external interface file for convenience. Also, removed some\nobsolete/unused globals. See the file acpixf.h. Lv Zheng.\n\nDocumentation: Added a new section to the ACPICA reference describing the\nmaximum number of GPEs that can be supported by the FADT-defined GPEs in\nblock zero and one. About 1200 total. See section 4.4.1 of the ACPICA\nreference.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL and disassembler: Add full support for the LPIT table (Low Power\nIdle Table). Includes support in the disassembler, data table compiler,\nand template generator.\n\nAcpiDump utility:\n1) Add option to force the use of the RSDT (over the XSDT).\n2) Improve validation of the RSDP signature (use 8 chars instead of 4).\n\niASL: Add check for predefined packages that are too large.  For\npredefined names that contain subpackages, check if each subpackage is\ntoo large. (Check for too small already exists.)\n\nDebugger: Updated the GPE command (which simulates a GPE by executing the\nGPE code paths in ACPICA). The GPE device is now optional, and defaults\nto the GPE 0/1 FADT-defined blocks.\n\nUnix application OSL: Update line-editing support. Add additional error\nchecking and take care not to reset terminal attributes on exit if they\nwere never set. This should help guarantee that the terminal is always\nleft in the previous state on program exit.\n\n----------------------------------------\n25 March 2014. Summary of changes for version 20140325:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the auto-serialize feature for control methods. This feature\nautomatically serializes all methods that create named objects in order\nto prevent runtime errors. The update adds support to ignore the\ncurrently executing AML SyncLevel when invoking such a method, in order\nto prevent disruption of any existing SyncLevel priorities that may exist\nin the AML code. Although the use of SyncLevels is relatively rare, this\nchange fixes a regression where an AE_AML_MUTEX_ORDER exception can\nappear on some machines starting with the 20140214 release.\n\nAdded a new external interface to allow the host to install ACPI tables\nvery early, before the namespace is even created. AcpiInstallTable gives\nthe host additional flexibility for ACPI table management. Tables can be\ninstalled directly by the host as if they had originally appeared in the\nXSDT/RSDT. Installed tables can be SSDTs or other ACPI data tables\n(anything except the DSDT and FACS). Adds a new file, tbdata.c, along\nwith additional internal restructuring and cleanup. See the ACPICA\nReference for interface details. Lv Zheng.\n\nAdded validation of the checksum for all incoming dynamically loaded\ntables (via external interfaces or via AML Load/LoadTable operators). Lv\nZheng.\n\nUpdated the use of the AcpiOsWaitEventsComplete interface during Notify\nand GPE handler removal. Restructured calls to eliminate possible race\nconditions. Lv Zheng.\n\nAdded a warning for the use/execution of the ASL/AML Unload (table)\noperator. This will help detect and identify machines that use this\noperator if and when it is ever used. This operator has never been seen\nin the field and the usage model and possible side-effects of the drastic\nruntime action of a full table removal are unknown.\n\nReverted the use of #pragma push/pop which was introduced in the 20140214\nrelease. It appears that push and pop are not implemented by enough\ncompilers to make the use of this feature feasible for ACPICA at this\ntime. However, these operators may be deployed in a future ACPICA\nrelease.\n\nAdded the missing EXPORT_SYMBOL macros for the install and remove SCI\nhandler interfaces.\n\nSource code generation:\n1) Disabled the use of the \"strchr\" macro for the gcc-specific\ngeneration. For some versions of gcc, this macro can periodically expose\na compiler bug which in turn causes compile-time error(s).\n2) Added support for PPC64 compilation. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Added several new features to improve the readability of\nthe resulting ASL code. Extra information is emitted within comment\nfields in the ASL code:\n1) Known _HID/_CID values are decoded to descriptive text.\n2) Standard values for the Notify() operator are decoded to descriptive\ntext.\n3) Target operands are expanded to full pathnames (in a comment) when\npossible.\n\nDisassembler: Miscellaneous updates for extern() handling:\n1) Abort compiler if file specified by -fe option does not exist.\n2) Silence unnecessary warnings about argument count mismatches.\n3) Update warning messages concerning unresolved method externals.\n4) Emit \"UnknownObj\" keyword for externals whose type cannot be\ndetermined.\n\nAcpiHelp utility:\n1) Added the -a option to display both the ASL syntax and the AML\nencoding for an input ASL operator. This effectively displays all known\ninformation about an ASL operator with one AcpiHelp invocation.\n2) Added substring match support (similar to a wildcard) for the -i\n(_HID/PNP IDs) option.\n\niASL/Disassembler: Since this tool does not yet support execution on big-\nendian machines, added detection of endianness and an error message if\nexecution is attempted on big-endian. Support for big-endian within iASL\nis a feature that is on the ACPICA to-be-done list.\n\nAcpiBin utility:\n1) Remove option to extract binary files from an acpidump; this function\nis made obsolete by the AcpiXtract utility.\n2) General cleanup of open files and allocated buffers.\n\n----------------------------------------\n14 February 2014. Summary of changes for version 20140214:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented a new mechanism to proactively prevent problems with ill-\nbehaved reentrant control methods that create named ACPI objects. This\nbehavior is illegal as per the ACPI specification, but is nonetheless\nfrequently seen in the field. Previously, this could lead to an\nAE_ALREADY_EXISTS exception if the method was actually entered by more\nthan one thread. This new mechanism detects such methods at table load\ntime and marks them \"serialized\" to prevent reentrancy. A new global\noption, AcpiGbl_AutoSerializeMethods, has been added to disable this\nfeature if desired. This mechanism and global option obsoletes and\nsupersedes the previous AcpiGbl_SerializeAllMethods option.\n\nAdded the \"Windows 2013\" string to the _OSI support. ACPICA will now\nrespond TRUE to _OSI queries with this string. It is the stated policy of\nACPICA to add new strings to the _OSI support as soon as possible after\nthey are defined. See the full ACPICA _OSI policy which has been added to\nthe utilities/utosi.c file.\n\nHardened/updated the _PRT return value auto-repair code:\n1) Do not abort the repair on a single subpackage failure, continue to\ncheck all subpackages.\n2) Add check for the minimum subpackage length (4).\n3) Properly handle extraneous NULL package elements.\n\nAdded support to avoid the possibility of infinite loops when traversing\nobject linked lists. Never allow an infinite loop, even in the face of\ncorrupted object lists.\n\nACPICA headers: Deployed the use of #pragma pack(push) and #pragma\npack(pop) directives to ensure that the ACPICA headers are independent of\ncompiler settings or other host headers.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n  Previous Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL/Table-compiler: Fixed a problem with support for the SPMI table. The\nfirst reserved field was incorrectly forced to have a value of zero. This\nchange correctly forces the field to have a value of one. ACPICA BZ 1081.\n\nDebugger: Added missing support for the \"Extra\" and \"Data\" subobjects\nwhen displaying object data.\n\nDebugger: Added support to display entire object linked lists when\ndisplaying object data.\n\niASL: Removed the obsolete -g option to obtain ACPI tables from the\nWindows registry. This feature has been superseded by the acpidump\nutility.\n\n----------------------------------------\n14 January 2014. Summary of changes for version 20140114:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated all ACPICA copyrights and signons to 2014. Added the 2014\ncopyright to all module headers and signons, including the standard Linux\nheader. This affects virtually every file in the ACPICA core subsystem,\niASL compiler, all ACPICA utilities, and the test suites.\n\nImproved parameter validation for AcpiInstallGpeBlock. Added the\nfollowing checks:\n1) The incoming device handle refers to type ACPI_TYPE_DEVICE.\n2) There is not already a GPE block attached to the device.\nLikewise, with AcpiRemoveGpeBlock, ensure that the incoming object is a\ndevice.\n\nCorrectly support \"references\" in the ACPI_OBJECT. This change fixes the\nsupport to allow references (namespace nodes) to be passed as arguments\nto control methods via the evaluate object interface. This is probably\nmost useful for testing purposes, however.\n\nImproved support for 32/64 bit physical addresses in printf()-like\noutput. This change improves the support for physical addresses in printf\ndebug statements and other output on both 32-bit and 64-bit hosts. It\nconsistently outputs the appropriate number of bytes for each host. The\n%p specifier is unsatisfactory since it does not emit uniform output on\nall hosts/clib implementations (on some, leading zeros are not supported,\nleading to difficult-to-read output).\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n  Previous Release:\n    Non-Debug Version:  96.1K Code, 27.0K Data, 123.1K Total\n    Debug Version:     185.6K Code, 77.3K Data, 262.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fix a possible fault when using the Connection() operator. Fixes a\nproblem if the parent Field definition for the Connection operator refers\nto an operation region that does not exist. ACPICA BZ 1064.\n\nAcpiExec: Load of local test tables is now optional. The utility has the\ncapability to load some various tables to test features of ACPICA.\nHowever, there are enough of them that the output of the utility became\nconfusing. With this change, only the required local tables are displayed\n(RSDP, XSDT, etc.) along with the actual tables loaded via the command\nline specification. This makes the default output simler and easier to\nunderstand. The -el command line option restores the original behavior\nfor testing purposes.\n\nAcpiExec: Added support for overlapping operation regions. This change\nexpands the simulation of operation regions by supporting regions that\noverlap within the given address space. Supports SystemMemory and\nSystemIO. ASLTS test suite updated also. David Box. ACPICA BZ 1031.\n\nAcpiExec: Added region handler support for PCI_Config and EC spaces. This\nallows AcpiExec to simulate these address spaces, similar to the current\nsupport for SystemMemory and SystemIO.\n\nDebugger: Added new command to read/write/compare all namespace objects.\nThe command \"test objects\" will exercise the entire namespace by writing\nnew values to each data object, and ensuring that the write was\nsuccessful. The original value is then restored and verified.\n\nDebugger: Added the \"test predefined\" command. This change makes this\ntest public and puts it under the new \"test\" command. The test executes\neach and every predefined name within the current namespace.","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/55cf9237704fcb1821c834ce19bca47068fd7414"},{"sha":"2ca9bc8222925c3e86d1738b7939a760b1a82ea0","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"----------------------------------------\n26 September 2014. Summary of changes for version 20140926:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the GPIO operation region handler interface (GeneralPurposeIo).\nIn order to support GPIO Connection objects with multiple pins, along\nwith the related Field objects, the following changes to the interface\nhave been made: The Address is now defined to be the offset in bits of\nthe field unit from the previous invocation of a Connection. It can be\nviewed as a \"Pin Number Index\" into the connection resource descriptor.\nThe BitWidth is the exact bit width of the field. It is usually one bit,\nbut not always. See the ACPICA reference guide (section 8.8.6.2.1) for\nadditional information and examples.\n\nGPE support: During ACPICA/GPE initialization, ensure that all GPEs with\ncorresponding _Lxx/_Exx methods are disabled (they may have been enabled\nby the firmware), so that they cannot fire until they are enabled via\nAcpiUpdateAllGpes. Rafael J. Wysocki.\n\nAdded a new return flag for the Event/GPE status interfaces --\nAcpiGetEventStatus and AcpiGetGpeStatus. The new\nACPI_EVENT_FLAGS_HAS_HANDLER flag is used to indicate that the event or\nGPE currently has a handler associated with it, and can thus actually\naffect the system. Lv Zheng.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  99.1K Code, 27.3K Data, 126.4K Total\n    Debug Version:     192.8K Code, 79.9K Data, 272.7K Total\n  Previous Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fixed a memory allocation/free regression introduced in 20140828\nthat could cause the compiler to crash. This was introduced inadvertently\nduring the effort to eliminate compiler memory leaks. ACPICA BZ 1111,\n1113.\n\niASL: Removed two error messages that have been found to create false\npositives, until they can be fixed and fully validated (ACPICA BZ 1112):\n1) Illegal forward reference within a method\n2) Illegal reference across two methods\n\niASL: Implemented a new option (-lm) to create a hardware mapping file\nthat summarizes all GPIO, I2C, SPI, and UART connections. This option\nworks for both the compiler and disassembler. See the iASL compiler user\nguide for additional information and examples (section 6.4.6).\n\nAcpiDump: Added support for the version 1 (ACPI 1.0) RSDP in addition to\nversion 2. This corrects the AE_BAD_HEADER exception seen on systems with\na version 1 RSDP. Lv Zheng ACPICA BZ 1097.\n\nAcpiExec: For Unix versions, don't attempt to put STDIN into raw mode\nunless STDIN is actually a terminal. Assists with batch-mode processing.\nACPICA BZ 1114.\n\nDisassembler/AcpiHelp: Added another large group of recognized _HID\nvalues.\n\n----------------------------------------\n28 August 2014. Summary of changes for version 20140828:\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a problem related to the internal use of the Timer() operator where\na 64-bit divide could cause an attempted link to a double-precision math\nlibrary. This divide is not actually necessary, so the code was\nrestructured to eliminate it. Lv Zheng.\n\nACPI 5.1: Added support for the runtime validation of the _DSD package\n(similar to the iASL support).\n\nACPI 5.1/Headers: Added support for the GICC affinity subtable to the\nSRAT table. Hanjun Guo <hanjun.guo@linaro.org>.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.8K Code, 27.3K Data, 126.1K Total\n    Debug Version:     192.1K Code, 79.8K Data, 271.9K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total1\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nAcpiExec: Fixed a problem on unix systems where the original terminal\nstate was not always properly restored upon exit. Seen when using the -v\noption. ACPICA BZ 1104.\n\niASL: Fixed a problem with the validation of the ranges/length within the\nMemory24 resource descriptor. There was a boundary condition when the\nrange was equal to the (length -1) caused by the fact that these values\nare defined in 256-byte blocks, not bytes. ACPICA BZ 1098\n\nDisassembler: Fixed a problem with the GpioInt descriptor interrupt\npolarity\nflags. The flags are actually 2 bits, not 1, and the \"ActiveBoth\" keyword\nis\nnow supported properly.\n\nACPI 5.1: Added the GICC affinity subtable to the SRAT table. Supported\nin the disassembler, data table compiler, and table template generator.\n\niASL: Added a requirement for Device() objects that one of either a _HID\nor _ADR must exist within the scope of a Device, as per the ACPI\nspecification. Remove a similar requirement that was incorrectly in place\nfor the _DSD object.\n\niASL: Added error detection for illegal named references within control\nmethods that would cause runtime failures. Now trapped as errors are: 1)\nReferences to objects within a non-parent control method. 2) Forward\nreferences (within a method) -- for control methods, AML interpreters use\na one-pass parse of control methods. ACPICA BZ 1008.\n\niASL: Added error checking for dependencies related to the _PSx power\nmethods. ACPICA BZ 1029.\n1) For _PS0, one of these must exist within the same scope: _PS1, _PS2,\n_PS3.\n2) For _PS1, _PS2, and PS3: A _PS0 object must exist within the same\nscope.\n\niASL and table compiler: Cleanup miscellaneous memory leaks by fully\ndeploying the existing object and string caches and adding new caches for\nthe table compiler.\n\niASL: Split the huge parser source file into multiple subfiles to improve\nmanageability. Generation now requires the M4 macro preprocessor, which\nis part of the Bison distribution on both unix and windows platforms.\n\nAcpiSrc: Fixed and removed all extraneous warnings generated during\nentire ACPICA source code scan and/or conversion.\n\n----------------------------------------\n\n24 July 2014. Summary of changes for version 20140724:\n\nThe ACPI 5.1 specification has been released and is available at:\nhttp://uefi.org/specs/access\n\n0) ACPI 5.1 support in ACPICA:\n\nACPI 5.1 is fully supported in ACPICA as of this release.\n\nNew predefined names. Support includes iASL and runtime ACPICA\nvalidation.\n    _CCA (Cache Coherency Attribute).\n    _DSD (Device-Specific Data). David Box.\n\nModifications to existing ACPI tables. Support includes headers, iASL\nData Table compiler, disassembler, and the template generator.\n    FADT - New fields and flags. Graeme Gregory.\n    GTDT - One new subtable and new fields. Tomasz Nowicki.\n    MADT - Two new subtables. Tomasz Nowicki.\n    PCCT - One new subtable.\n\nMiscellaneous.\n    New notification type for System Resource Affinity change events.\n\n1) ACPICA kernel-resident subsystem:\n\nFixed a regression introduced in 20140627 where a fault can happen during\nthe deletion of Alias AML namespace objects. The problem affected both\nthe core ACPICA and the ACPICA tools including iASL and AcpiExec.\n\nImplemented a new GPE public interface, AcpiMarkGpeForWake. Provides a\nsimple mechanism to enable wake GPEs that have no associated handler or\ncontrol method. Rafael Wysocki.\n\nUpdated the AcpiEnableGpe interface to disallow the enable if there is no\nhandler or control method associated with the particular GPE. This will\nhelp avoid meaningless GPEs and even GPE floods. Rafael Wysocki.\n\nUpdated GPE handling and dispatch by disabling the GPE before clearing\nthe status bit for edge-triggered GPEs. Lv Zheng.\n\nAdded Timer() support to the AML Debug object. The current timer value is\nnow displayed with each invocation of (Store to) the debug object to\nenable simple generation of execution times for AML code (method\nexecution for example.) ACPICA BZ 1093.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.3K Data, 126.0K Total\n    Debug Version:     192.0K Code, 79.7K Data, 271.7K Total\n  Previous Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nFixed an issue with the recently added local printf implementation,\nconcerning width/precision specifiers that could cause incorrect output.\nLv Zheng. ACPICA BZ 1094.\n\nDisassembler: Added support to detect buffers that contain UUIDs and\ndisassemble them to an invocation of the ToUUID operator. Also emit\ncommented descriptions of known ACPI-related UUIDs.\n\nAcpiHelp: Added support to display known ACPI-related UUIDs. New option,\n-u. Adds three new files.\n\niASL: Update table compiler and disassembler for DMAR table changes that\nwere introduced in September 2013. With assistance by David Woodhouse.\n\n----------------------------------------\n27 June 2014. Summary of changes for version 20140627:\n\n1) ACPICA kernel-resident subsystem:\n\nFormatted Output: Implemented local versions of standard formatted output\nutilities such as printf, etc. Over time, it has been discovered that\nthere are in fact many portability issues with printf, and the addition\nof this feature will fix/prevent these issues once and for all. Some\nknown issues are summarized below:\n\n1) Output of 64-bit values is not portable. For example, UINT64 is %ull\nfor the Linux kernel and is %uI64 for some MSVC versions.\n2) Invoking printf consistently in a manner that is portable across both\n32-bit and 64-bit platforms is difficult at best in many situations.\n3) The output format for pointers varies from system to system (leading\nzeros especially), and leads to inconsistent output from ACPICA across\nplatforms.\n4) Certain platform-specific printf formats may conflict with ACPICA use.\n5) If there is no local C library available, ACPICA now has local support\nfor printf.\n\n-- To address these printf issues in a complete manner, ACPICA now\ndirectly implements a small subset of printf format specifiers, only\nthose that it requires. Adds a new file, utilities/utprint.c. Lv Zheng.\n\nImplemented support for ACPICA generation within the EFI environment.\nInitially, the AcpiDump utility is supported in the UEFI shell\nenvironment. Lv Zheng.\n\nAdded a new external interface, AcpiLogError, to improve ACPICA\nportability. This allows the host to redirect error messages from the\nACPICA utilities. Lv Zheng.\n\nAdded and deployed new OSL file I/O interfaces to improve ACPICA\nportability:\n  AcpiOsOpenFile\n  AcpiOsCloseFile\n  AcpiOsReadFile\n  AcpiOsWriteFile\n  AcpiOsGetFileOffset\n  AcpiOsSetFileOffset\nThere are C library implementations of these functions in the new file\nservice_layers/oslibcfs.c -- however, the functions can be implemented by\nthe local host in any way necessary. Lv Zheng.\n\nImplemented a mechanism to disable/enable ACPI table checksum validation\nat runtime. This can be useful when loading tables very early during OS\ninitialization when it may not be possible to map the entire table in\norder to compute the checksum. Lv Zheng.\n\nFixed a buffer allocation issue for the Generic Serial Bus support.\nOriginally, a fixed buffer length was used. This change allows for\nvariable-length buffers based upon the protocol indicated by the field\naccess attributes. Reported by Lan Tianyu. Lv Zheng.\n\nFixed a problem where an object detached from a namespace node was not\nproperly terminated/cleared and could cause a circular list problem if\nreattached. ACPICA BZ 1063. David Box.\n\nFixed a possible recursive lock acquisition in hwregs.c. Rakib Mullick.\n\nFixed a possible memory leak in an error return path within the function\nAcpiUtCopyIobjectToIobject. ACPICA BZ 1087. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  98.7K Code, 27.2K Data, 125.9K Total\n    Debug Version:     191.7K Code, 79.6K Data, 271.3K Total\n  Previous Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Add dump of ASCII equivalent text within a comment at the\nend of each line of the output for the Buffer() ASL operator.\n\nAcpiDump: Miscellaneous changes:\n  Fixed repetitive table dump in -n mode.\n  For older EFI platforms, use the ACPI 1.0 GUID during RSDP search if\nthe ACPI 2.0 GUID fails.\n\niASL: Fixed a problem where the compiler could fault if incorrectly given\nan acpidump output file as input. ACPICA BZ 1088. David Box.\n\nAcpiExec/AcpiNames: Fixed a problem where these utilities could fault if\nthey are invoked without any arguments.\n\nDebugger: Fixed a possible memory leak in an error return path. ACPICA BZ\n1086. Colin Ian King.\n\nDisassembler: Cleaned up a block of code that extracts a parent Op\nobject. Added a comment that explains that the parent is guaranteed to be\nvalid in this case. ACPICA BZ 1069.\n\n----------------------------------------\n24 April 2014. Summary of changes for version 20140424:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented support to skip/ignore NULL address entries in the RSDT/XSDT.\nSome of these tables are known to contain a trailing NULL entry. Lv\nZheng.\n\nRemoved an extraneous error message for the case where there are a large\nnumber of system GPEs (> 124). This was the \"32-bit FADT register is too\nlong to convert to GAS struct\" message, which is irrelevant for GPEs\nsince the GPEx_BLK_LEN fields of the FADT are always used instead of the\n(limited capacity) GAS bit length. Also, several changes to ensure proper\nsupport for GPE numbers > 255, where some \"GPE number\" fields were 8-bits\ninternally.\n\nImplemented and deployed additional configuration support for the public\nACPICA external interfaces. Entire classes of interfaces can now be\neasily modified or configured out, replaced by stubbed inline functions\nby default. Lv Zheng.\n\nMoved all public ACPICA runtime configuration globals to the public\nACPICA external interface file for convenience. Also, removed some\nobsolete/unused globals. See the file acpixf.h. Lv Zheng.\n\nDocumentation: Added a new section to the ACPICA reference describing the\nmaximum number of GPEs that can be supported by the FADT-defined GPEs in\nblock zero and one. About 1200 total. See section 4.4.1 of the ACPICA\nreference.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.8K Code, 27.2K Data, 124.0K Total\n    Debug Version:     189.5K Code, 79.7K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL and disassembler: Add full support for the LPIT table (Low Power\nIdle Table). Includes support in the disassembler, data table compiler,\nand template generator.\n\nAcpiDump utility:\n1) Add option to force the use of the RSDT (over the XSDT).\n2) Improve validation of the RSDP signature (use 8 chars instead of 4).\n\niASL: Add check for predefined packages that are too large.  For\npredefined names that contain subpackages, check if each subpackage is\ntoo large. (Check for too small already exists.)\n\nDebugger: Updated the GPE command (which simulates a GPE by executing the\nGPE code paths in ACPICA). The GPE device is now optional, and defaults\nto the GPE 0/1 FADT-defined blocks.\n\nUnix application OSL: Update line-editing support. Add additional error\nchecking and take care not to reset terminal attributes on exit if they\nwere never set. This should help guarantee that the terminal is always\nleft in the previous state on program exit.\n\n----------------------------------------\n25 March 2014. Summary of changes for version 20140325:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated the auto-serialize feature for control methods. This feature\nautomatically serializes all methods that create named objects in order\nto prevent runtime errors. The update adds support to ignore the\ncurrently executing AML SyncLevel when invoking such a method, in order\nto prevent disruption of any existing SyncLevel priorities that may exist\nin the AML code. Although the use of SyncLevels is relatively rare, this\nchange fixes a regression where an AE_AML_MUTEX_ORDER exception can\nappear on some machines starting with the 20140214 release.\n\nAdded a new external interface to allow the host to install ACPI tables\nvery early, before the namespace is even created. AcpiInstallTable gives\nthe host additional flexibility for ACPI table management. Tables can be\ninstalled directly by the host as if they had originally appeared in the\nXSDT/RSDT. Installed tables can be SSDTs or other ACPI data tables\n(anything except the DSDT and FACS). Adds a new file, tbdata.c, along\nwith additional internal restructuring and cleanup. See the ACPICA\nReference for interface details. Lv Zheng.\n\nAdded validation of the checksum for all incoming dynamically loaded\ntables (via external interfaces or via AML Load/LoadTable operators). Lv\nZheng.\n\nUpdated the use of the AcpiOsWaitEventsComplete interface during Notify\nand GPE handler removal. Restructured calls to eliminate possible race\nconditions. Lv Zheng.\n\nAdded a warning for the use/execution of the ASL/AML Unload (table)\noperator. This will help detect and identify machines that use this\noperator if and when it is ever used. This operator has never been seen\nin the field and the usage model and possible side-effects of the drastic\nruntime action of a full table removal are unknown.\n\nReverted the use of #pragma push/pop which was introduced in the 20140214\nrelease. It appears that push and pop are not implemented by enough\ncompilers to make the use of this feature feasible for ACPICA at this\ntime. However, these operators may be deployed in a future ACPICA\nrelease.\n\nAdded the missing EXPORT_SYMBOL macros for the install and remove SCI\nhandler interfaces.\n\nSource code generation:\n1) Disabled the use of the \"strchr\" macro for the gcc-specific\ngeneration. For some versions of gcc, this macro can periodically expose\na compiler bug which in turn causes compile-time error(s).\n2) Added support for PPC64 compilation. Colin Ian King.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  97.0K Code, 27.2K Data, 124.2K Total\n    Debug Version:     189.7K Code, 79.5K Data, 269.2K Total\n  Previous Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\nDisassembler: Added several new features to improve the readability of\nthe resulting ASL code. Extra information is emitted within comment\nfields in the ASL code:\n1) Known _HID/_CID values are decoded to descriptive text.\n2) Standard values for the Notify() operator are decoded to descriptive\ntext.\n3) Target operands are expanded to full pathnames (in a comment) when\npossible.\n\nDisassembler: Miscellaneous updates for extern() handling:\n1) Abort compiler if file specified by -fe option does not exist.\n2) Silence unnecessary warnings about argument count mismatches.\n3) Update warning messages concerning unresolved method externals.\n4) Emit \"UnknownObj\" keyword for externals whose type cannot be\ndetermined.\n\nAcpiHelp utility:\n1) Added the -a option to display both the ASL syntax and the AML\nencoding for an input ASL operator. This effectively displays all known\ninformation about an ASL operator with one AcpiHelp invocation.\n2) Added substring match support (similar to a wildcard) for the -i\n(_HID/PNP IDs) option.\n\niASL/Disassembler: Since this tool does not yet support execution on big-\nendian machines, added detection of endianness and an error message if\nexecution is attempted on big-endian. Support for big-endian within iASL\nis a feature that is on the ACPICA to-be-done list.\n\nAcpiBin utility:\n1) Remove option to extract binary files from an acpidump; this function\nis made obsolete by the AcpiXtract utility.\n2) General cleanup of open files and allocated buffers.\n\n----------------------------------------\n14 February 2014. Summary of changes for version 20140214:\n\n1) ACPICA kernel-resident subsystem:\n\nImplemented a new mechanism to proactively prevent problems with ill-\nbehaved reentrant control methods that create named ACPI objects. This\nbehavior is illegal as per the ACPI specification, but is nonetheless\nfrequently seen in the field. Previously, this could lead to an\nAE_ALREADY_EXISTS exception if the method was actually entered by more\nthan one thread. This new mechanism detects such methods at table load\ntime and marks them \"serialized\" to prevent reentrancy. A new global\noption, AcpiGbl_AutoSerializeMethods, has been added to disable this\nfeature if desired. This mechanism and global option obsoletes and\nsupersedes the previous AcpiGbl_SerializeAllMethods option.\n\nAdded the \"Windows 2013\" string to the _OSI support. ACPICA will now\nrespond TRUE to _OSI queries with this string. It is the stated policy of\nACPICA to add new strings to the _OSI support as soon as possible after\nthey are defined. See the full ACPICA _OSI policy which has been added to\nthe utilities/utosi.c file.\n\nHardened/updated the _PRT return value auto-repair code:\n1) Do not abort the repair on a single subpackage failure, continue to\ncheck all subpackages.\n2) Add check for the minimum subpackage length (4).\n3) Properly handle extraneous NULL package elements.\n\nAdded support to avoid the possibility of infinite loops when traversing\nobject linked lists. Never allow an infinite loop, even in the face of\ncorrupted object lists.\n\nACPICA headers: Deployed the use of #pragma pack(push) and #pragma\npack(pop) directives to ensure that the ACPICA headers are independent of\ncompiler settings or other host headers.\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.5K Code, 27.2K Data, 123.7K Total\n    Debug Version:     188.6K Code, 79.0K Data, 267.6K Total\n  Previous Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL/Table-compiler: Fixed a problem with support for the SPMI table. The\nfirst reserved field was incorrectly forced to have a value of zero. This\nchange correctly forces the field to have a value of one. ACPICA BZ 1081.\n\nDebugger: Added missing support for the \"Extra\" and \"Data\" subobjects\nwhen displaying object data.\n\nDebugger: Added support to display entire object linked lists when\ndisplaying object data.\n\niASL: Removed the obsolete -g option to obtain ACPI tables from the\nWindows registry. This feature has been superseded by the acpidump\nutility.\n\n----------------------------------------\n14 January 2014. Summary of changes for version 20140114:\n\n1) ACPICA kernel-resident subsystem:\n\nUpdated all ACPICA copyrights and signons to 2014. Added the 2014\ncopyright to all module headers and signons, including the standard Linux\nheader. This affects virtually every file in the ACPICA core subsystem,\niASL compiler, all ACPICA utilities, and the test suites.\n\nImproved parameter validation for AcpiInstallGpeBlock. Added the\nfollowing checks:\n1) The incoming device handle refers to type ACPI_TYPE_DEVICE.\n2) There is not already a GPE block attached to the device.\nLikewise, with AcpiRemoveGpeBlock, ensure that the incoming object is a\ndevice.\n\nCorrectly support \"references\" in the ACPI_OBJECT. This change fixes the\nsupport to allow references (namespace nodes) to be passed as arguments\nto control methods via the evaluate object interface. This is probably\nmost useful for testing purposes, however.\n\nImproved support for 32/64 bit physical addresses in printf()-like\noutput. This change improves the support for physical addresses in printf\ndebug statements and other output on both 32-bit and 64-bit hosts. It\nconsistently outputs the appropriate number of bytes for each host. The\n%p specifier is unsatisfactory since it does not emit uniform output on\nall hosts/clib implementations (on some, leading zeros are not supported,\nleading to difficult-to-read output).\n\nExample Code and Data Size: These are the sizes for the OS-independent\nacpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The\ndebug version of the code includes the debug output trace mechanism and\nhas a much larger code and data size.\n\n  Current Release:\n    Non-Debug Version:  96.2K Code, 27.0K Data, 123.2K Total\n    Debug Version:     187.5K Code, 78.3K Data, 265.8K Total\n  Previous Release:\n    Non-Debug Version:  96.1K Code, 27.0K Data, 123.1K Total\n    Debug Version:     185.6K Code, 77.3K Data, 262.9K Total\n\n2) iASL Compiler/Disassembler and Tools:\n\niASL: Fix a possible fault when using the Connection() operator. Fixes a\nproblem if the parent Field definition for the Connection operator refers\nto an operation region that does not exist. ACPICA BZ 1064.\n\nAcpiExec: Load of local test tables is now optional. The utility has the\ncapability to load some various tables to test features of ACPICA.\nHowever, there are enough of them that the output of the utility became\nconfusing. With this change, only the required local tables are displayed\n(RSDP, XSDT, etc.) along with the actual tables loaded via the command\nline specification. This makes the default output simler and easier to\nunderstand. The -el command line option restores the original behavior\nfor testing purposes.\n\nAcpiExec: Added support for overlapping operation regions. This change\nexpands the simulation of operation regions by supporting regions that\noverlap within the given address space. Supports SystemMemory and\nSystemIO. ASLTS test suite updated also. David Box. ACPICA BZ 1031.\n\nAcpiExec: Added region handler support for PCI_Config and EC spaces. This\nallows AcpiExec to simulate these address spaces, similar to the current\nsupport for SystemMemory and SystemIO.\n\nDebugger: Added new command to read/write/compare all namespace objects.\nThe command \"test objects\" will exercise the entire namespace by writing\nnew values to each data object, and ensuring that the write was\nsuccessful. The original value is then restored and verified.\n\nDebugger: Added the \"test predefined\" command. This change makes this\ntest public and puts it under the new \"test\" command. The test executes\neach and every predefined name within the current namespace.","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/2ca9bc8222925c3e86d1738b7939a760b1a82ea0"},{"sha":"95f8f96105d73e3f541c616205604db3226e93ec","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"merge conflicts","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/95f8f96105d73e3f541c616205604db3226e93ec"},{"sha":"fbe3b6b6ada4dc45d6260d13c6eb750e0be26a4c","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"adjust for newer acpica","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/fbe3b6b6ada4dc45d6260d13c6eb750e0be26a4c"},{"sha":"955c27d2155f277523f2c0f406a89c44898f38ed","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"adjust to new acpica","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/955c27d2155f277523f2c0f406a89c44898f38ed"},{"sha":"b13dfdc672fcf155407e7977c4094bec617b8e48","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"new acpica","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/b13dfdc672fcf155407e7977c4094bec617b8e48"},{"sha":"0a3c896b65c40f96a771aede4f5b8a1d0923915a","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"fix rcsids.","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/0a3c896b65c40f96a771aede4f5b8a1d0923915a"},{"sha":"b589f33f06064e28a20e859981d3b9c43207a1b0","author":{"email":"10cad9f60717a5f868e560659a56b6d6400f8562@netbsd.org","name":"mlelstv"},"message":"fix logic that handles command line arguments. Now you can:\n\nfsck /mnt/point\nfsck dkX\nfsck rdkX\nfsck /dev/dkX\nfsck /dev/rdkX\nfsck NAME=wedge","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/b589f33f06064e28a20e859981d3b9c43207a1b0"},{"sha":"715c07bd67af9aea15784fec14b6ccf5737a3be0","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"Define UVMDEBUG for expensive debugging operations. Idea from chuq.","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/715c07bd67af9aea15784fec14b6ccf5737a3be0"},{"sha":"e09aa22aa9a3625f743608584134d0817a0111d5","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"PR/49317: Henning Petersen: Fix prototypes inman page.","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/e09aa22aa9a3625f743608584134d0817a0111d5"},{"sha":"ecd6df615ee1926506d4b3e5faceebc597618c0c","author":{"email":"d3c7bb3198b7584c884122a22ce9f5f7483235f0@netbsd.org","name":"jmcneill"},"message":"when enabling IRQ, compare channel type to the channel type, not the type (string) passed in from the caller -- unbreaks A10/A20 audio after awindma split","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/ecd6df615ee1926506d4b3e5faceebc597618c0c"},{"sha":"f7fb16dee2fe177a4f4264254536e1ab3c800426","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"dtrace expects a globally accessible syscall symbol.","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/f7fb16dee2fe177a4f4264254536e1ab3c800426"},{"sha":"b745fda979302102fb544037d483985bb2ccb63a","author":{"email":"28d52ccc67a38a0cc89b0627b1175cf65490a0ef@netbsd.org","name":"christos"},"message":"don't pay attention to special characters if they don't come from the command\nline (from jmcneill)","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/b745fda979302102fb544037d483985bb2ccb63a"},{"sha":"10107a1bf8a99eecde3c663348f767c013bf3c04","author":{"email":"54669547a225ff20cba8b75a4adca540eef25858@netbsd.org","name":"martin"},"message":"Greatly simplify ioctl handling by fully relying on ether_ioctl and a\nifflags-change callback, together with a shadow copy of the last active\ninterface flags.\nFix ALLMULTI vs. PROMISC handling.\nFix mac hash filter calculation by reversing the crc bits (pointed out\nby Jared).","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/10107a1bf8a99eecde3c663348f767c013bf3c04"},{"sha":"7757ffbfe46b735143bf8405bdb63d06740035ee","author":{"email":"440f99372de5cc3dcf9e55512482fad06ce50ba1@iij.ad.jp","name":"Kengo NAKAHARA"},"message":"Merge branch 'master' of https://github.com/IIJ-NetBSD/netbsd-src\n\nConflicts:\n\tdoc/3RDPARTY\n\tdoc/CHANGES\n\tsys/dev/ic/dwc_gmac.c","distinct":false,"url":"https://api.github.com/repos/knakahara/netbsd-src/commits/7757ffbfe46b735143bf8405bdb63d06740035ee"}]}