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)
This patch restores Intel compiler settings for ACPICA components.
And fixes its inclusion in acenv.h.
Reported-by: Stepan M Mishura <stepan.m.mishura@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
The previous fix only helps to restore release automation, but the
generated Linux upstream patch contains wrong formatted commit links. This
patch enhances the previous fix by splitting commit name from full commit
ID. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
This patch adds a demo EFI application for stdin/stdout testing. This
utility can be used to narrow down root causes of porting issues. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Following error can be seen in linuxize process:
error: short SHA1 07630ad9 is ambiguous.
error: short SHA1 07630ad9 is ambiguous.
fatal: ambiguous argument '07630ad9': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
Fixing this by stop cutting commit IDs into 8-digits.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Build environment has changed because of new improvements:
1. New files are split
2. New inclusion order
This patch updates MSVC project files accordingly.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
The following mechanisms are OSPM specific:
1. Redirect output destination to console: no file redirection will be
needed by an in-kernel debugger, there is even no file can be accessed
when the debugger is running in the kernel mode.
2. Output command prompts: programs other than acpiexec can have different
prompt characters and the prompt characters may be implemented as a
special character sequence to form a char device IO protocol.
3. Command ready/complete handshake: OSPM debugger may wait more conditions
to implement OSPM specific semantics (for example, FIFO full/empty
conditions for O_NONBLOCK or IO open/close conditions).
Leaving such OSPM specific stuffs in the ACPICA debugger core blocks
Linux debugger IO driver implementation.
Several new OSL APIs are provided by this patch:
1. AcpiOsInitializeDebugger: initialize debugger.
2. AcpiOsTerminateDebugger: reversal of AcpiOsInitializeDebugger.
3. AcpiOsWaitCommandReady: putting debugger task into wait state when a
command is not ready. OSPMs can terminate command loop by returning
AE_CTRL_TERMINATE from this API. Normally, wait_event() or
WaitForMultipleObject() may be used to implement this API.
4. AcpiOsNotifyCommandComplete: putting user task into running state when a
command has been completed. OSPMs can terminate command loop by
returning AE_CTRL_TERMINATE from this API. Normally, wake_up() or
SetEvent() may be used to implement this API.
This patch also converts current command signaling implementation into a
generic debugger layer (osgendbg.c) to be used by the existing OSPMs or
acpiexec, in return, Linux can have chance to implement its own command
handshake mechanism. This patch also implements acpiexec batch mode in a
multi-threading mode comaptible style as a demo (this can be confirmed by
configuring acpiexec into DEBUGGER_MULTI_THREADED mode where the batch mode
is still working). Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Several issues were found in recent cygwin/ubuntu distros:
1. Newer git implements "-c" with different meaning, removes it;
2. "tempfile" is mostly debian specific command, replaces it with
"mktemp -u", the latter is more portable.
Singed-off-by: Lv Zheng <lv.zheng@intel.com>
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
This patch adds necessary build files for EDK2 environment to build ACPICA
tools.
The command steps of building edk2 binaries are (if you are using gcc4.7):
# cd edk2
# . ./edksetup.sh
# ln -s <path to acpica> AcpiPkg
# AcpiPkg/generate/efi/edksetup.sh
# build -p AcpiPkg/AcpiPkg.dsc -t GCC47
Note the above build test was done in Linux, and the Windows hasn't been
tested when this patch is generated. For building edk2 binaries in the MSVC
environment, you need to modify acpidump.inf, adding necessary options when
they cannot pass the build in the following configure items:
MSFT:*_*_IA32_CC_FLAGS/MSFT:*_*_X64_CC_FLAGS. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
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>
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.
-iwithprefix include is required to include <stdarg.h> which contains
compiler specific implementation of vargs when -nostdinc is specified.
-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. Lv Zheng.
Link 1: http://www.ciselant.de/projects/gcc_printf/gcc_printf.html
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
MSVC9 project file for AslCompiler contains file specific configurations
which are either default (same as project wide configuraiton) or wrong:
1. DisableLanguageExtensions should always be true except for oswinxf.c;
2. No file should define ACPI_DEBUGGER separately.
This patch cleansup such file specific configurations.
Note that yacc/lex related file specific configurations are not changed in
this patch. Lv Zheng
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
MSVC9 project file for AcpiXtract contains a file specific
configuration which is default (same as project wide configuraiton).
This patch cleansup such file specific configuration. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
MSVC9 project file for AcpiSubsystem contains file specific configurations
which are either default (same as project wide configuraiton) or wrong:
1. DisableLanguageExtensions (only oswinxf.c should stop using /Za)
utmath.c/hwtimer.c: They should always use /Za.
2. ExcludeFromBuild
Some files originally were not built by the Linux kernel. The situation
has been changed recently because of the debugger porting. This patch
also updates build excludes in order to test Linux kernel builds in the
ACPICA development environment:
nsdump.c/rsdump.c/rsdumpinfo.c/exdump.c:
They are built by Linux kernel.
utclib.c/utprint.c/utuuid.c/dbfile.c:
They are not built by Linux kernel.
utdebug.c:
It should be built for debug version, shouldn't be built for release
version.
This patch cleansup such file specific configurations. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
MSVC9 project file for AcpiSrc contains a file specific configuration
which is default (same as project wide configuraiton).
This patch cleansup such file specific configuration. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
MSVC9 project file for AcpiNames contains file specific configurations
which are either default (same as project wide configuraiton) or wrong:
1. utmath.c/aeexec.c/aemain.c:
DisableLanguageExtensions should always be true except for oswinxf.c;
2. ACPI_DEBUGGER
ACPI_DEBUGGER needn't be specified as ACPI_EXEC_APP has already convered
this;
This patch cleansup such file specific configurations. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
MSVC9 project file for AcpiHelp contains file specific configurations which
are either default (same as project wide configuraiton) or wrong
(DisableLanguageExtensions should always be true except for oswinxf.c).
This patch cleansup such file specific configurations. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
MSVC9 project file for AcpiExec contains file specific configurations which
are either default (same as project wide configuraiton) or wrong:
1. utmath.c/aeexec.c/aemain.c:
DisableLanguageExtensions should always be true except for oswinxf.c;
2. ACPI_DEBUGGER
ACPI_DEBUGGER needn't be specified as ACPI_EXEC_APP has already convered
this;
This patch cleansup such file specific configurations. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
MSVC9 project file for AcpiDump contains a file specific configuration
which is default (same as project wide configuraiton).
This patch cleansup such file specific configuration. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
MSVC9 project file for AcpiBin contains file specific configurations which
are either default (same as project wide configuraiton) or wrong
(DisableLanguageExtensions should always be true except for oswinxf.c).
This patch cleansup such file specific configurations. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
We've been using SHARED=false to capture unported stuff. However it can be
captured using -no-undefined. This patch removes SHARED option and adds
-no-undefined. Original by Marcelo Ferreira <joamarcelo@gmail.com>,
Improved by Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Marcelo Ferreira <joamarcelo@gmail.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
The HARDWARE_NAME variable is only used to display some messages saying
whether a 32-bit or a 64-bit build was done, which is pretty
useless. This commit gets rid of this variable entirely.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This reverts commit 43fa9b91b4c4d74290664a98b54a3facb3434cd7.
Needs extra partitioning to handle the multiple "types" of
string-to-integer conversions defined in the ACPI spec.
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.
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>
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>