summaryrefslogtreecommitdiff
path: root/source/compiler/aslutils.c
Commit message (Collapse)AuthorAgeFilesLines
* iASL: Use common error routine for DoConstant conversion errorsRobert Moore2017-08-251-1/+4
| | | | | Use AslCommonError because conversion errors are not in fact syntax errors. Prevents early abort of the compiler.
* Restructure/cleanup all string-to-integer conversion functionsRobert Moore2017-08-181-6/+7
| | | | | | | | | Improve adherence to ACPI spec for implicit and explicit conversions Adds octal support for constants in ASL code Adds integer overflow errors for constants during ASL compilation Eliminates most of the existing complex flags parameters Simplify support for implicit/explicit runtime conversions Adds one new file, utilities/utstrsuppt.c
* iASL: Implement line buffer managementRobert Moore2017-07-271-28/+39
| | | | | Realloc buffers as needed for very long input lines. Erik Schmauss.
* iASL: Cleanup calls to memory allocation functionsRobert Moore2017-04-041-5/+1
| | | | | | | Both UtLocalCalloc and UtStringCacheCalloc will abort the compiler on an allocation failure. Therefore, there is no need to check for a non-allocation after these calls. This change makes this consistent across the compiler.
* Update legal header in all source modulesRobert Moore2017-03-021-0/+36
| | | | | | Adds the dual GNU/BSD dual license to the existing Intel license. Provides all licensing information in each source module. Affects all ACPICA source modules.
* Tools: Update common signon, remove compilation bit widthRobert Moore2017-01-191-2/+2
| | | | | | | Remove the bit width of the compiler that generated the tool from the tool signon. This was confusing and unnecessary. Changed the iASL signon to add "disassembler" to the name.
* Source tree: Update copyright notices to 2017Robert Moore2017-01-061-1/+1
| | | | Affects all files.
* acpihelp: Split files and generate cleanupRobert Moore2016-12-081-1/+1
| | | | Split the AML and ASL decode into separate files.
* Cleanup for all string-to-integer conversionsRobert Moore2016-08-121-65/+2
| | | | | | | | Consolidate multiple versions of strtoul64 to one common version. limit possible bases to either 10 or 16. Handles both implicit and explicit conversions. Added a 2-character ascii-to-hex function for GPEs and buffers. Adds a new file, utsrttoul64.c
* Utilities: Update for strtoul64 mergerRobert Moore2016-03-081-1/+3
| | | | | | | | Fixes a problem with the merger of the two internal versions of this function. Make the maximum integer width (32-bit or 64-bit) a parameter to the function so that it no longer exclusively uses the integer width specified in the DSDT/SSDT. ACPICA BZ 1260
* iASL: Add support for option to create cross-reference fileRobert Moore2016-02-111-0/+2
| | | | | -lx option: creates a large, multiple cross-reference file. Intended mostly for BIOS developers.
* iASL: Move endian detection function to the utilities moduleRobert Moore2016-01-261-0/+27
| | | | Move from main module to utilities module.
* iASL: Update to use internal AcpiUtStrtoul64 functionRobert Moore2016-01-261-198/+3
| | | | | Was using a local Strtoul64, update to use the common AcpiUtStrtoul64 and remove the local Strtoul64.
* iASL: Fix some typos with the name strtoul64Robert Moore2016-01-251-3/+3
| | | | Was defined as stroul64 in some places.
* iASL: Remove a couple unused functionsRobert Moore2016-01-251-57/+59
| | | | Commented them out with an "OBSOLETE" flag.
* iASL: Update for parse tree debug outputRobert Moore2016-01-221-39/+0
| | | | | | 1) Cleanup output 2) Enhance output with additional data (namestrings, etc.) 3) Adds a new file: asldebug.c
* Source tree: Update copyright notices to 2016Robert Moore2016-01-061-1/+1
| | | | Affects all files.
* iASL/Templates: Add query for template file overwriteRobert Moore2015-12-101-1/+37
| | | | Do not blindly overwrite an existing file.
* iASL/Templates: Add support for multiple SSDTs in the same fileRobert Moore2015-12-091-2/+4
| | | | | Extends multiple tables per file support. The number of SSDTs can be specified on the command line.
* iASL: Update for code formatting, no functional changesRobert Moore2015-10-141-2/+2
| | | | | Mostly indentation inconsistencies across the code. Split some long lines, etc.
* Update source file permissions (2)Robert Moore2015-09-231-0/+0
| | | | Reset user execute bit, set other permissions read-only.
* Update source file permissions (1)Robert Moore2015-09-231-0/+0
| | | | Set user execute bit to force git to commit the files.
* Cleanup use of NEGATIVE and POSITIVE defines.Robert Moore2015-06-261-4/+4
| | | | | These were defined in two places. Changed to ACPI_SIGN* names and define them once in acmacros.h
* De-macroize calls to standard C library functions.Robert Moore2015-06-091-3/+3
| | | | | | Across all of ACPICA. Replace C library macros such as ACPI_STRLEN with the standard names such as strlen. The original purpose for these macros is long since obsolete.
* iASL: Preprocessor updates.Robert Moore2015-06-021-2/+2
| | | | | | | | 1) Create the .i file without any #line directives. These directives are passed to the compiler via the new .pre file. #line is used to keep the line numbers in sync with any include files. ACPICA BZ 1160. 2) Pass through the original comments in the code. ACPICA BZ 968.
* iASL: Add second preprocessor file, the user file (via -li)Robert Moore2015-05-201-7/+10
| | | | | | | The user preprocessor file (*.i) now contains only ASL text and no #line directives. A second preprocessor file (*.tmp) contains such directives which are used by the compiler to keep the line numbers correct across #include files. ACPICA BZ 1160.
* AcpiHelp: Add option to display all known/supported ACPI tables.Robert Moore2015-05-131-15/+7
| | | | -t option displays all ACPI tables.
* iASL: Enhancement for constant folding.Robert Moore2015-03-121-2/+7
| | | | | | | | | | | Add support to fold expressions with a target operand -- these are folded and converted to a Store operator: Add (4, 3, INT1) --> Store (7, INT1) Also supports ASL+ constructs: INT1 = 4 + 3 --> Store (7, INT1)
* Update Copyright headers to 2015.David E. Box2015-01-271-1/+1
|
* Revert "source and test: update copyright notices to 2015"David E. Box2015-01-271-1216/+1216
| | | | | | This reverts commit 28a95326289ca5ee7cd95f8e8e809dc5564d9509. Commit mistakenly changes file format to CRLF from default LF.
* source and test: update copyright notices to 2015David E. Box2015-01-231-1216/+1216
|
* iasl: fix capitalization errorDavid E. Box2014-12-271-2/+2
| | | | | | | | Fix for commit b707acdd0d3bf031c2c8d5ca7d0f275f95a4c5cf which was applied using a version of the patch that had a capitalization error. Signed-off-by: David E. Box <david.e.box@linux.intel.com>
* iasl: add better handling of string allocations larger than the max cache sizeDavid E. Box2014-12-241-6/+22
| | | | | | | | | | | A potential for a memory leak existed for string allocations greater than ASL_STRING_CACHE_SIZE in UtStringCacheCalloc. This patch allows these allocations to be added to the cache list as fully occupied caches without effecting the normal cache size management. ACPICA Bugzilla 1121. Fix by Dean Nelson <dnelson@redhat.com> Signed-off-by: David E. Box <david.e.box@linux.intel.com>
* Revert "iASL: Enhancement for constant folding."David E. Box2014-12-171-7/+2
| | | | | | This reverts commit aa3dbff9d25221619186e87657755840ee2acaf2. Implementation breaks test suite. Need to revisit.
* iASL: Enhancement for constant folding.Robert Moore2014-11-201-2/+7
| | | | | | | | | | | Add support to fold expressions with a target operand -- these are folded and converted to Store: Add (4, 3, INT1) --> Store (7, INT1) Also supports ASL+ constructs: INT1 = 4 + 3 --> Store (7, INT1)
* Standardize one blank line after copyright header, no functional change.Robert Moore2014-08-141-1/+0
| | | | | From acpisrc execution -- the utility now ensures that there is exactly one blank line after the header.
* iASL/TableCompiler: Add object caching, cleanup memory leaks.Robert Moore2014-08-141-5/+14
| | | | | Add object caches for the field and subtable objects, to improve performance and to simplify memory management.
* iASL: Improve cacheing, reduce memory leaks.Robert Moore2014-08-131-8/+44
| | | | | | | | Ensure that the parse tree is deleted for each compile. Fix other miscellaneous memory leaks per-compile. Consistently deploy the use of the string cache. Add tracking for multiple buffers within caches. Ensure the cache buffers are always deleted.
* AcpiHelp: Add UUID support, restructure some existing files, 3 new files.Robert Moore2014-07-181-36/+5
| | | | | | This adds a -u option to AcpiHelp to display all known ACPI UUIDs. Some existing files in the core code have been restructured. Three new files.
* Update comments for ACPICA name - no functional change.Robert Moore2014-02-191-1/+1
| | | | | Change all comments that contain the string "ACPI CA" to "ACPICA" so that the name is standard across the entire source base.
* Update ACPICA copyrights to 2014.Robert Moore2014-01-061-1/+1
| | | | | Update ACPICA copyrights to 2014. Includes all source headers and signons for the various tools.
* iASL: Ensure va_end is always called before function return.Robert Moore2013-05-211-2/+1
| | | | | | The ISO 9899:1990 7.8.1.3 specification states that undefined behaviour may occur if va_end is not invoked before return. Colin King <colin.king@canonical.com>.
* Standardize all switch() blocks.Robert Moore2013-04-231-0/+6
| | | | | | After many years, different formatting for switch() has crept in. This change makes every switch block identical. Chao Guan. ACPICA bugzilla 997.
* Update ACPICA copyrights to 2013.Robert Moore2013-01-081-1/+1
| | | | Includes all source headers and signons for the various tools.
* Eliminate some small unnecessary pathname functions.Robert Moore2012-11-151-1/+2
| | | | | Removed several small pathname functions to increase efficiency. Essentially, they replace a function call with a single compare.
* Deploy ACPI_MOVE_NAME across ACPICA source base.Robert Moore2012-10-121-1/+1
| | | | | | Replaces instances of strncpy(...,4) for ACPI_NAMEs. ACPI_MOVE_NAME optimizes these to a single 32-bit copy on machines that support misaligned transfers.
* Small fix for standard Intel legal header.Robert Moore2012-09-271-1/+1
| | | | Remove an extraneous space after a comma, for consistency.
* Remove extra spaces after periods in the Intel license.Robert Moore2012-09-261-11/+11
| | | | For consistency with the rest of the source code.
* Fix some typos in comments. No functional changes.Robert Moore2012-09-251-1/+1
| | | | Some small fixes within commments. Colin Ian King.
* iASL/Tools: Cleanup empty lines at file start and end.Robert Moore2012-09-211-1/+0
| | | | Maintenance for source code consistency.