Commit Graph

757 Commits

Author SHA1 Message Date
Robert Moore badd47cbd3 Revert "Update for local 64-bit version of strtoul"
This reverts commit 43fa9b91b4.
Needs extra partitioning to handle the multiple "types" of
string-to-integer conversions defined in the ACPI spec.
2016-06-30 12:17:37 -07:00
Robert Moore 43fa9b91b4 Update for local 64-bit version of strtoul
Update function AcpiUtStrtoul64:
Remove dead code.
Restructure to eliminate support for all numeric bases, only
base 16 and base 10 are needed.
Split off the base 10 and base 16 support into separate functions.
Added new exception for overflow during conversion.
Improved error detection and handling.
2016-06-30 08:19:21 -07:00
Robert Moore 135865a19d AcpiHelp: Add support for AML flags values and other grammar
All flags values, name grammar, package length encoding, etc.
Adds a new startup option, -g
2016-06-24 09:49:55 -07:00
Robert Moore d776c9ee6e Revert "Efi edk2" 2016-06-15 10:51:12 -07:00
Robert Moore 8aac0be3c8 Merge pull request #143 from zetalog/efi-edk2
Efi edk2
2016-06-15 10:33:47 -07:00
Robert Moore e62fd48444 iASL: update makefile
Don't use new bison file (internal file for now).
2016-06-10 18:42:24 -07:00
Robert Moore 5eb659ffbb iASL: Split some of the ASL parse rules files.
Broken into more logical groups of rules.i
2016-06-10 10:34:08 -07:00
Lv Zheng 4de4519bb6 EFI/acpiexec: Add EFI support for acpiexec
This patch enables acpiexec for EFI environment. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2016-06-06 12:58:34 +08:00
Lv Zheng a33ba9f856 Clib: Eliminate AcpiOsXXXFile()/AcpiLogError and link clibrary fxxx()/errno/perror() instead
This patch follows new ACPICA design, eliminates old portable OSLs, and
implements fopen/fread/fwrite/fclose/fseek/ftell for GNU EFI
environment. This patch also eliminates AcpiLogError(), convering them
into fprintf(stderr)/perror(). Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2016-06-06 12:58:29 +08:00
Lv Zheng 70e4161656 Clib: Add -nostdinc support for EFI layer
This patch adds sprintf()/snprintf()/vsnprintf()/printf()/vfprintf()
support for OSPMs that have ACPI_USE_SYSTEM_CLIBRARY defined but do not
have ACPI_USE_STANDARD_HEADERS defined.

This patch also converts the entire EFI porting layer to use the standard
system Clibrary and implements GNU EFI specific standard Clibrary stdio
operations.

-fno-builtin is required for GCC to avoid optimization performed printf().
This optimization cannot be automatically disabled by specifying -nostdlib.
Please refer to the Link 1 for the details.
-iwithprefix include is required to include <stdarg.h> which contains
compiler specific implementation of vargs. It is unclear why there is the
vargs macros defined for OSPMs that do not have ACPI_USE_SYSTEM_CLIBRARY
defined. After applying this patch, this special vargs implementation
should also get deleted.

Standard C header files shouldn't be included here and there throughout the
entire ACPICA code base. This patch corrects some of them. Lv Zheng.

Link 1: http://www.ciselant.de/projects/gcc_printf/gcc_printf.html
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2016-06-06 12:58:28 +08:00
Lv Zheng 3a81e13d16 EFI: Add a missing object file which is split recently
This patch adds utnonansi.o linkage to EFI builds. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2016-06-06 12:58:26 +08:00
Robert Moore 702b3e3fdb Update ACPICA build/release instructions
Some changes for the recent website changes.
2016-04-22 08:26:15 -07:00
Robert Moore 2cf7a84384 Update makefiles/project-files for new source file
New file is utascii.c
2016-04-19 10:10:04 -07:00
Robert Moore 9527e15d9e MSVC Project files: dependency update
Update dependencies for iASL generation.
2016-03-31 09:50:33 -07:00
Robert Moore 9a785aad2c Merge pull request #127 from juikim/master
Improve compatibility with POSIX yacc.
2016-03-29 14:28:05 -07:00
Lv Zheng b2294cae77 Divergence: remove unwanted spaces for typedef
This patch removes unwanted spaces for typedef. This solution doesn't cover
function types.

Note that the linuxize result of this commit is very giant and should have
many conflicts against the current Linux upstream. Thus it is required to
modify the linuxize result of this commit and the commits around it
manually in order to have them merged to the Linux upstream. Since this is
very costy, we should do this only once, and if we can't ensure to do this
only once, we need to revert the Linux code to the wrong indentation result
before merging the linuxize result of this commit. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2016-03-29 13:20:49 +08:00
Jung-uk Kim 680c010ed1 Do not use "-o" option at all.
"-o" option is an extension for GNU Bison.  Although many modern POSIX yacc
implementations have this extension now, POSIX itself does not support it.

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/yacc.html
2016-03-23 18:13:58 -04:00
Lv Zheng 330027799a Linuxize: Remove useless platform headers
Some platform headers are leaked to Linux during release cycle.
This patch removes them. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2016-03-23 10:56:18 +08:00
Jung-uk Kim 7d891a44ee Work around a Berkeley Yacc (byacc) bug, simplify, and clean up.
- byacc has a bug in "-o" option parsing.  Prefix may not be set properly
if its argument contains ".c" somewhere before the actual output file name.
With "byacc -ofoo.cXXXXX/foo.c -d foo.y", for example, it generates "foo.h"
instead of "foo.cXXXXX/foo.h" because ".cXXXXX/foo.c" is replaced with ".h".
- Prefer a GNU make built-in function, suffix(), rather than a series of
complex variable substitutions, to improve readability.
- Use symbol prefix for output file name to reduce external command uses.
- Exit with a meaningful exit status to make it more like a real function.
2016-03-22 18:06:03 -04:00
Will Miles 37a1dec239 Add support for QNX 6.6 platform. 2016-03-08 08:15:33 -08:00
Robert Moore 0af0f9092d Headers: Update generation of the ACPICA library
For windows only, ensure that debug output is disabled for
the "release" (non-debug) case.
2016-03-04 12:30:41 -08:00
Robert Moore 87775ec51c iASL: Split support for ToPLD macro to a new file
Adds aslpld.c
2016-03-03 10:53:45 -08:00
Robert Moore 60d9cfd403 Intepreter: Add object extensions to Concatenate operand
Allows all object types to be used with Concatenate. Objects
other than Int/Str/Buf are convert to a string that contains
the type of the object. Improves the utility of the Printf
and Fprintf macros.

Adds a new file, exconcat.c
2016-02-19 10:12:50 -08:00
Robert Moore 3de60f9ece iASL: Add support for option to create cross-reference file
-lx option: creates a large, multiple cross-reference file.
Intended mostly for BIOS developers.
2016-02-11 12:47:31 -08:00
Robert Moore 882892feea ACPI 6.0/iASL: Add support for the External AML opcode
Support for both the compiler and disassembler.
Also, the interpreter will ignore this opcode if it
is ever encountered (should not happen).
David Box.
2016-01-29 14:13:20 -08:00
Robert Moore f7e3c37134 iASL: Update for parse tree debug output
1) Cleanup output
2) Enhance output with additional data (namestrings, etc.)
3) Adds a new file: asldebug.c
2016-01-22 14:34:03 -08:00
Lv Zheng 4c4f6b1a62 MSVC: Update MSVC project files
This patch updates MSVC project files due to recent changes. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2015-12-04 11:14:03 +08:00
Robert Moore 5fc7bf31f4 Project Files: Fix a filename case issue for acpinames
Update project file to elimate uppercase letters in filename.
2015-11-30 10:12:25 -08:00
Robert Moore 5be7dc4d0d Disassembler/tools: Support for multiple ACPI tables in one file
Matches the support in iASL and AcpiExec.
2015-11-05 14:17:15 -08:00
Robert Moore d6a3fb0b2e Update makefiles/project-files for new acpixtract files
New files: acpixtract.h, axutils.c
2015-10-23 10:16:38 -07:00
Robert Moore 60c0240238 iASL: Split large data table compiler file into three files
dttable.c -> dttable, dttable1, dttable2
2015-10-16 13:51:19 -07:00
Robert Moore a3f85a7d26 Split interpreter tracing functions to a new file
Split out functions from exdebug.c to extrace.c
2015-10-13 14:24:41 -07:00
Robert Moore 5f6afb3a6e Makefiles: Do not use -Woverride-init on some systems
Not available on FreeBSD or Apple.
2015-09-25 12:54:43 -07:00
Lv Zheng bc2d3daa4b Linuxize: Export debugger files to Linux
This patch exports debugger files to Linux.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2015-09-25 10:11:40 +08:00
Robert Moore 0f343f0d1a iASL: Additional restructuring of main parser rule files.
Adds aslresources.y
2015-08-20 14:08:24 -07:00
Robert Moore 68f468dbb5 iASL: Split rules for symbolic operators to a new file.
Adds aslcstyle.y
2015-08-20 09:22:26 -07:00
Robert Moore 114cc42e3e MSVC Project files: additional update.
For ACPICA library.
2015-08-18 13:08:45 -07:00
Robert Moore 1881564d5d MSVC Project files: Update debug switches for the ACPICA library.
Ensure full debug is enabled for the debug version of the library.
2015-08-18 12:51:48 -07:00
Robert Moore 5328907922 MS Project files: Update for deprecated AAPITS test suite.
Removes this suite from the master project.
2015-08-14 12:38:14 -07:00
Robert Moore 75182cef8b Merge pull request #92 from juikim/master
iASL: Support POSIX yacc again.
2015-08-14 08:43:30 -07:00
Robert Moore 89cfe111fe Update MSVC project files for debugger/disassembler directives.
Define the global directives in the project files to improlve
the MSVC editor handling of the files.
2015-08-13 12:44:11 -07:00
Jung-uk Kim 531a1d71b5 Set a variable before use. No functional change. 2015-08-06 16:33:33 -04:00
Robert Moore 0ecf5b5a41 acpinames: Add new options and wildcard support.
- Add wilcard support for input filenames.
- Add -l option to load tables and exit, no display. This is
useful for validation of the namespace during BIOS generation.
- Add -x option for specifying debug level.
2015-08-05 09:03:39 -07:00
Lv Zheng 4ad67b2e2d MSVC: Change debugger objects according to recent update.
The dmobject.o is replaced by the dbobject.o. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2015-08-03 12:45:58 +08:00
Jung-uk Kim 01d2adb9b3 iASL: Support POSIX yacc again. 2015-07-20 15:11:39 -04:00
Robert Moore 626bc3d522 Project files: Update library project for new files.
Several missing files.
2015-07-16 14:39:43 -07:00
Robert Moore 2ee68eb961 Makefiles: For "clean", add generic removal of *.o files.
This ensures that all object files are deleted. This is especially
important for files that have been made obsolete by makefile
changes.
2015-07-16 07:52:08 -07:00
Robert Moore 2931380418 Makefile/iASL: Remove obsolete dmobject.c file.
This file no longer exists.
2015-07-15 12:39:42 -07:00
Robert Moore b9677e9108 MSVC Project files: Update for new file.
dmobject.c was renamed to dbobject.c
2015-07-10 13:17:36 -07:00
Robert Moore 7dca7e02d1 Merge pull request #78 from zetalog/acpica-debug
Acpica debugger
2015-07-10 12:56:35 -07:00