| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Copyright updates to 2023.
|
|
|
|
| |
Affects all source modules and utility signons.
|
|
|
|
| |
modules.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each type of iASL error is associate with a 4-digit error ID. This is
done in order to ignore or expect entire classes of remarks/warnings/errors.
However, there is a desire to expect these compiler messages on a
line-based granularity. This allows finer-grained testing of iASL
compiler messages.
The following example illustrates the use of this feature:
DefinitionBlock ("", "DSDT", 2, "", "", 0x1)
{
Device (ABCD)
{
}
}
Compiling the above code will result in a warning like this:
dsdt.asl 3: Device (ABCD)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
The following tells iASL to expect error code 3141 on line 3:
DefinitionBlock ("", "DSDT", 2, "", "", 0x1)
{
Device (ABCD) __EXPECT__(3141)
{
}
}
Compiling this will expect the warning to be raised and result in a
successful compilation:
ASL Input: dsdt.asl - 97 bytes 1 keywords 9 source lines
AML Output: dsdt.aml - 43 bytes 0 opcodes 1 named objects
Compilation successful. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
However, if the warning does not appear, compilation will result in
an error. This code snippet does not exhibit warning 3141 but still
expects this error code on line 3:
DefinitionBlock ("", "DSDT", 2, "", "", 0x1)
{
Device (ABCD) __EXPECT__(3141)
{
Name (_ADR, 0x12345678)
}
}
This code will result in the following compiler error because error
code 3141 was not generated during compilation.
dsdt.asl 3: Device (ABCD) __EXPECT__(3141)
Error 6149 - ^ Expected remark, warning, or error did not occur. Message ID: (3141)
ASL Input: dsdt.asl - 129 bytes 2 keywords 10 source lines
Compilation failed. 1 Errors, 0 Warnings, 0 Remarks
Telling iASL about expected errors inline as a part of ASL code
allows us to contain all expected error information as a part of the
ASL codebase rather than requiring -vx flags to be placed inside of
makefiles.
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
|
|
|
|
| |
Including tool signons.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As of now, iASL does not keep track of parameter counts for external
declarations of methods. In order to determine the parameter count of
external control methods, iASL looks at the first method and saves
the parameter count in AML. However, this information is not present
during namespace cross reference.
This allows code like this to compile without errors:
DefinitionBlock ("", "DSDT", 2, "", "", 0x01)
{
External (DS01, MethodObj)
DS01(0x2,0x2) // DS01 is called with 2 parameters
DS01() // DS01 is called with 0 parameters
}
This change saves the parameter count of the first method call and
uses it to analyze subsequent method calls. This ensure that a method
that is declared external is called with the same amount of
parameters each time.
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|
|
|
|
|
|
| |
Macro was not being used across all "printf-like" functions.
Also, cleanup all calls to such functions now that they are
analyzed by the compiler (gcc). Both in 32-bit mode and 64-bit
mode.
|
|
|
|
| |
Mostly with arg types within printf format strings.
|
|
|
|
|
|
| |
_WAK, _PTS, _TTS, and _Sx in any other scope will not be invoked by OS.
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Performing parse tree analysis on all definition blocks
simultaneously results in more effective namespace cross-reference.
This enables iASL static analysis to determine unresolved external
declarations and namespace collisions during compilation.
In order to take advantage of this, compile definition blocks
with the following command:
iasl dsdt.asl ssdt1.asl ssdt2.asl ...
*** Changes related to multiple files:
Keep track of all files in a global list that is persistent
throughout compilation of both files. This is done in order to
compile multiple ASL files in the same namespace and parse tree.
This also resulted in moving the file handle assignment for the -vi
option during file initialization rather than commandline processing.
As each definition block is parsed, it is connected as a sibling node
to the previous definiton block.
*** Changes related to iASL error reporting:
Also, more error messages were added by replacing the fprintf to
stderr with AslError. By doing so, an error can be logged properly
and AML output files will be cleaned if there is a compiler error.
Adds the ability to print the correct source line by logging the .src
filename in each error node. This is necessary for errors that point
to an include file.
New iASL error: emitting an error when compiling duplicate files.
Ignore max error count when compiling with -f because
compilation needs to continue.
Fix parser error path to correctly abort compilation rather
than trying to proceed with more compilation.
*** Changes related to codegen behavior:
Seek to the end of the AML output file after codegen in case multiple
definition blocks need to be encoded in the same AML file. This makes
other parts of the codebase a little more convinent since it doesn't
have to seek to the correct place in the AML.
*** Misc changes:
Remove a call to ACPI_FREE. We should never be calling ACPI_FREE in
memory allocated in caches.
Display compilation summaries for multiple input files. Files that
have parser errors are reported as having parser errors. The summary
is based on the global file list.
Encapsulate global variables in global file nodes used for summary
reporting.
Final cleanup functions for iASL has been consolidated to the main()
function for simplicity.
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|
|
|
| |
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|
|
|
| |
including tool signons.
|
|
|
|
| |
For consistency, all iASL global names forced to AslGbl*
|
|
|
|
| |
including tool signons.
|
|
|
|
| |
Add a new subtable to the NFIT table.
|
|
|
|
|
|
|
|
|
| |
Fix some confusion between "parse op" and "parse node".
Adds a new file, aslparseop.c
Consistently use "parse op" to describe the elements of the
parse tree data structure.
An "Op" is the primary data structure element, even though
it sounds odd.
|
|
|
|
| |
Bump to 6.2
|
|
|
|
|
| |
Handle SIGSEGV in addition to SIGINT.
Handle unknown signals.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
The key feature of this utility is that the original comments within
the input ASL files are preserved during the conversion process, and
included within the converted ASL+ file -- thus creating a transparent
conversion of existing ASL files to ASL+ (ASL 2.0)
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Affects all files.
|
|
|
|
|
|
|
| |
Small changes:
1) A couple new predefined names
2) New _HID values
3) New subtable for HEST
|
|
|
|
|
|
| |
Caused by essentially a duplicate #define.
Reported by Colin Ian King.
ACPICA BZ 1241.
|
|
|
|
|
|
| |
1) Cleanup output
2) Enhance output with additional data (namestrings, etc.)
3) Adds a new file: asldebug.c
|
|
|
|
| |
Affects all files.
|
|
|
|
|
| |
Improve and cleanup verification of ACPI tables within input files.
Share more code between the disassembler and AcpiExec.
|
|
|
|
| |
Reset user execute bit, set other permissions read-only.
|
|
|
|
| |
Set user execute bit to force git to commit the files.
|
|
|
|
| |
Removed some extraneous defines, reordered others.
|
|
|
|
|
| |
Had two trailing blanks in the suffix, causing problems on
some systems.
|
|
|
|
|
| |
Symbol would be of use for iASL-specific ASL code or preprocessor
directives.
|
|
|
|
|
| |
These were defined in two places. Changed to ACPI_SIGN* names
and define them once in acmacros.h
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
ACPI specification 6.0, April 2015.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows uses a value of 2, and has no plans to ever change this. So, _REV is
essentially useless for its primary purpose.
Worse, some BIOS vendors have used the difference in _REV values between
Windows and ACPICA to indicate which one is running.
It has been decided by the ACPI community to deprecate this method, and return
1 for ACPI 1.0 (32-bit integers) and 2 for ACPI 2.0 and greater (both 32-bit
and 64-bit integers.
ACPICA is changed to reflect this.
|
| |
|
|
|
|
|
|
| |
This reverts commit 28a95326289ca5ee7cd95f8e8e809dc5564d9509.
Commit mistakenly changes file format to CRLF from default LF.
|
| |
|
|
|
|
| |
Add support for C-style operators (ASL+)
|
|
|
|
|
| |
Adds support for both iASL and the disassembler to create a hardware
and connection summary mapfile (via the -lm option.)
|
|
|
|
|
| |
From acpisrc execution -- the utility now ensures that there is
exactly one blank line after the header.
|
|
|
|
|
| |
Add object caches for the field and subtable objects, to improve
performance and to simplify memory management.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Emitted for compiler signon.
|
|
|
|
|
| |
Update ACPICA copyrights to 2014. Includes all source headers and
signons for the various tools.
|
|
|
|
|
|
| |
ACPI 5.0A is dated November 13, 2013 (released December 9, 2013).
No known changes required to support the new specification, it is errata
only.
|
|
|
|
|
|
| |
The -so option will create a C table containing offsets of various
named objects so that BIOS code can modifiy them easily at boot
time. Simplifies BIOS code and provides greater reliability.
|
|
|
|
|
|
|
| |
Detect a binary file with a valid ACPI table header and invoke
the disassembler automatically. Ease-of-use feature.
Also fixes a problem where the -dc option (disassemble and then
compile) was broken.
|