830 Commits

Author SHA1 Message Date
Robert Moore
b28401bfae Remove parts of the MSVC2017 build that are temp files
.vs subdirectory.
2019-07-10 13:48:36 -07:00
Robert Moore
8fd3088aa9 Update msvc2017 project file for iASL compiler
Fixes a reference to "msvc" instead of "msvc2017".
2019-07-10 13:32:04 -07:00
Robert Moore
945c9c2196 Tools: update project files to msvc2017
Note: this change deprecates the project files found in
msvc9.
2019-07-03 09:34:34 -07:00
Erik Schmauss
ff5a9c5437 Trivial: fix spelling mistakes
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
2019-02-14 15:14:57 -08:00
Robert Moore
9104715b26 Build instructions
Small update.
2019-01-15 08:08:08 -08:00
Erik Schmauss
feca5d3bd1 iASL: Makefile: support parent directories with spaces
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
2019-01-09 16:42:31 -08:00
Robert Moore
80ccda56bd Split large interpreter file
New file: exserial.c
2018-09-07 13:32:52 -07:00
Robert Moore
44cd14f169 VC project files: Update for acpiexec
Add source/tools/acpiexec to the include file search path.
2018-08-08 08:43:49 -07:00
Robert Moore
1f78b218f4 Update ACPICA build instructions
Release build instruction file.
2018-06-07 07:13:08 -07:00
Robert Moore
17ec2f46a6 Update for ACPICA build/release instructions
some small changes.
2018-02-14 13:57:06 -08:00
Erik Schmauss
b527d868b8 Linuxize script: ignore actbinfo.h 2018-01-25 09:56:13 -08:00
Robert Moore
a025731aec Restructure ACPI table files
Split/restructure:
Table headers (actbl1*.h)
disassembler table info files (dmtbinfo*.c)
disassembler table dump files (dmtbdump*.c)

Adds 6 new files.
2018-01-05 14:09:54 -08:00
Robert Moore
64ad9c69a1 Create and deploy safe version of strncpy. No functional change
AcpiUtSafeStrncpy - copy and terminate string. Strncpy is not
guaranteed to terminate the copied string if the input is longer
than the length of the target.
2017-12-08 07:35:29 -08:00
Erik Schmauss
0f64a8b94c Makefile: allow support for compilers other than gcc via CC environment variable
Patch credited to Nikolai SAOUKH

Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
2017-11-07 08:49:53 -08:00
Robert Moore
ecf9a5ea08 acpiexec: Split 2 large files, no functional change
New files: aeinstall.c aetests.c
2017-10-20 14:09:53 -07:00
Lv Zheng
dfebc3a7a4 EFI: Fix missing utstrsuppt.o build
The following commit added utstrsuppt.c but didn't update EFI build
files, and hence triggered build problems:
 Commit: 610046d444ad781cc36673bf1f030abe50cbc61f
 Subject: Restructure/cleanup all string-to-integer conversion functions
The following patch adds utstrsuppt.c build support to fix the issue.
Reported by Li, ZhijianX and Li, Philip, fixed by Lv Zheng.

Link: https://jira01.devtools.intel.com/browse/OLT-1390
Reported-and-tested-by: Li, ZhijianX <zhijianx.li@intel.com>
Reported-by: Philip Li <philip.li@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2017-09-20 12:42:46 +08:00
Robert Moore
391096bf3d acpiexec: Add hwtimer.c to the utility
This module was not being included in any ACPICA tool, and thus
not even built until it was included in a kernel.

Also add a few small tests in acpiexec that invoke the timer
interfaces in hwtimer.
2017-09-06 09:48:38 -07:00
Robert Moore
0d3a7f1d96 iASL: Move all allocation functions to new modules
Memory allocation functions are in aslallocate.c
Cache functions are in aslcache.c
2017-09-01 10:38:59 -07:00
Robert Moore
610046d444 Restructure/cleanup all string-to-integer conversion functions
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
2017-08-18 12:40:31 -07:00
Robert Moore
6cd1ba2619 Merge pull request #288 from zetalog/efi-stdlib
Edk2 stdlib/windows
2017-07-27 14:28:48 -07:00
Robert Moore
0c08790c56 Implement deferred resolution of reference package elements
This change defers the resolution of package elements that
are named references until after the entire namespace has been
loaded from the definition block. This allows such references
to be in fact forward references for both module level code
and control methods.
2017-07-27 13:22:15 -07:00
Lv Zheng
a7c6d65a5d EFI/EDK2: Enable /WX for MSVC builds
/WX turns warning into fatal erros for MSVC builds. We need /WX- during
EDK2 porting to allow agile development.

Now it is time to enable /WX. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2017-07-13 14:32:15 +08:00
Shao, Ming
f9450316d8 EFI/EDK2: Add support to compile acpidump.efi with StdLib
This patch ports acpidump EDKII build to the environment where EDKII
internal C-library StdLib is used. Shao Ming.

Signed-off-by: "Shao, Ming" <smbest163@163.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2017-07-13 14:21:48 +08:00
Lv Zheng
4683013633 EFI/EDK2: Allow StdLib target to use different inf/dsc files
This patch adds support in edksetup.sh to allow StdLib build target to
use different inf/dsc files. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2017-07-13 14:14:26 +08:00
Shao Ming
43ff22215f EFI/EDK2: Add support to compile acpidump.efi on Windows
Several changes are needed to compile EDK-II port of acpidump on
Windows:
1. sort acpi.h inclusion: va_list is used before it's definition, we
   only need to ensure order of acenv.h/acenvex.h/actypes.h.
2. /GL-: enabling global optimization causes memset() to be linked by
   MSVC builds.
3. /DUSE_MS_ABI: to enable simpler uefi_call_wrapper().
4. /D__x86_64__|__i386__: they are strictly required by ACPICA headers,
   but not defined by MSVC.

Signed-off-by: "Shao, Ming" <smbest163@163.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2017-07-13 14:14:16 +08:00
Alex James
e79e1133a9 Unix makefiles: Add OPT_LDFLAGS and edit NOOPT parsing
Add OPT_LDFLAGS to be specified during compilation for custom linker
flags. Disable optimization (adding -O0) when NOOPT is set to true.
2017-07-11 08:54:58 -05:00
Robert Moore
5b16148558 iASL: Resolve some naming inconsistencies
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.
2017-06-02 10:26:16 -07:00
Robert Moore
8fef392bf2 acpiexec: Split exception/signal handlers to new file
new file is aeexception.c
2017-05-24 13:35:34 -07:00
Robert Moore
cd816f3948 Merge pull request #255 from zetalog/acpica-1703
Acpica 1703
2017-04-27 14:45:05 -07:00
Lv Zheng
e30ebbb92f acpisrc: Fix linuxize conversion of converter structures
Converter related structures are released to Linux kernel while they
are not correctly linuxized. This patch fixes this issue. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2017-04-27 17:23:47 +08:00
Robert Moore
00906ae0af Split resource descriptor decode strings to a new file
There are enough of these strings to justify a separate file.
Also, these strings are only used for the disassembler and
the debugger. Thus, this change improves ACPICA modularity.
2017-04-14 09:16:27 -07:00
Robert Moore
335d5198f4 Makefiles: Add "make status" rule
Also some cleanup of output
2017-03-15 08:39:01 -07:00
David E. Box
3c36625def disassembler: improve Switch support
Changes the resource descriptor parse tree walk to a general
preprocessing walk and calls the Switch conversion code from here.
Move Switch code to new dmswitch.c file. Also improves algorithm to
handle multiple levels of Switch statements and perform legacy
disassembly for older or otherwise non-spec compliant Switch
implementations.

Signed-off-by: David E. Box <david.e.box@linux.intel.com>
2017-03-09 14:07:52 -08:00
Robert Moore
243bde6fb3 Reduce verbosity of the standard makefiles
Eliminate output of compile switches, etc. for every compiled file.
Cleans up output. Switches are almost always the same anyway,
2017-03-09 13:41:18 -08:00
Erik Schmauss
7dae4d8797 Makefile: enable compilation of ACPICA tools as 32-bit programs
This is to facilitate compiling ACPICA tools as 32-bit programs on 64-bit machines.

To build as 32 bit programs, set the M32 variable to true when running make

Example: make M32=TRUE

Note: if the above results in a compilation error, there is a possibility
that 32-bit libraries may not be installed. If this is the case, run the
following command (on Ubuntu compiling with gcc)

    sudo apt-get install g++-multilib libc6-dev-i386

and run make again.

Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
2017-03-01 14:43:48 -08:00
Robert Moore
78904f89e5 Generate: Add batch file to setup MSVC environment
Executes MS batch file to setup environment variables.
Used for the size.bat execution.
2017-02-28 09:51:29 -08:00
Robert Moore
c04d310039 iASL: add ASL conversion tool
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)
2017-02-24 14:47:30 -08:00
Lv Zheng
b59347d0b8 Linuxize: Restore and fix intel compiler build
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>
2017-01-23 16:58:44 +08:00
Robert Moore
7cd8e96f08 Merge pull request #152 from tpetazzoni/remove-hardware-name
generate/unix/Makefile.common: remove HARDWARE_NAME
2017-01-18 14:48:51 -08:00
Lv Zheng
36884941bd Linuxize: Refine commit ID handling
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>
2016-12-27 15:46:27 +08:00
Robert Moore
9e63bf92de Merge pull request #195 from zetalog/efi-hello
Efi hello
2016-12-20 07:26:32 -08:00
Robert Moore
86c2065d7d Merge pull request #194 from zetalog/acpica-linuxize
Acpica linuxize
2016-12-19 13:48:23 -08:00
Lv Zheng
3fcc59f475 EFI: Add efihello demo application.
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>
2016-12-14 16:33:22 +08:00
Lv Zheng
bfb70f26ce linuxize: cut commit ID now has conflicts breaking linuxize process
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>
2016-12-09 16:02:37 +08:00
Robert Moore
c62ca6b514 Project files: restructuring and cleanup
ease-of-use changes; abort on file copy errors.
2016-12-08 10:19:05 -08:00
Robert Moore
1fb3cbc7dc Merge branch 'master' of ssh://ssh.github.com/acpica/acpica 2016-12-08 09:02:16 -08:00
Robert Moore
28b6c0813d acpihelp: Update makefiles for new files
Added ahasl.c and ahaml.c
2016-12-08 08:58:20 -08:00
Lv Zheng
fa0680030a MSVC: Fix MSVC6 build issues
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>
2016-12-05 16:24:03 +08:00
Lv Zheng
e76eb8b36a Debugger: Convert some mechanisms to OSPM specific
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>
2016-11-03 01:17:13 +08:00
Lv Zheng
e97f20f3d6 Fix ACPICA release issues for recent distros
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>
2016-10-14 22:09:39 +08:00