Add _PSx names to the METHOD_NAME list.

Will be used by iASL.
iASL: Add error checking for proper use of _PSx power methods.

Check to ensure the following are true:

1) _PS0 - One of these must exist: _PS1, _PS2, _PS3
2) _PS1/_PS2/_PS3: A _PS0 must exist
Merge branch 'master' of ssh://ssh.github.com/acpica/acpica
iASL: Split ASCII support functions to a new file.

New file is aslascii.c
iASL: New file, aslascii.c

For ascii support routines.
iASL: Add error detection for illegal named references.

Check for an illegal reference to a named object:

1) References from one control method to another, non-parent
method are not allowed, they will fail at runtime.

2) Forward references within a control method are not allowed.
AML interpreters use a one-pass parse of control methods
so these forward references will fail at runtime.

ACPICA BZ 1008.
iASL: Split huge parser file into multiple subfiles. Uses M4.

Split the main aslcompiler.y file into a master file and 4 included
subfiles, using the M4 macro processor to perform the actual include,
since Bison does not provide this function.

Makefiles/project files updated.

M4 is typically included in the Bison package, for both Windows
and Unix.
iASL: Update file permissions.

644
Applications: Enable USE_NATIVE_ALLOCATE_ZEROED environment for all applications.

We now safe to enable USE_NATIVE_ALLOCATE_ZEROED for all applications as
there are implementations in oswinxf.c, osunixxf.c and osefixf.c. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
Clib: Add porting layer for print APIs.

This patch:
1. Adds AcpiUtVprintf()/AcpiUtPrintf() support.
2. Adds default stdout for AcpiUtFileVprintf()/AcpiUtFilePrintf().
3. Adds wrapper layer for AcpiUtSnprintf()/AcpiUtVsnprintf(),
   AcpiUtFileVprintf()/AcpiUtFilePrintf() and
   AcpiUtVprintf()/AcpiUtPrintf() and converts their usages into the
   invocations of the wrapper layer.
Note that this patch doesn't enable the print APIs for OSPMs that do not
have ACPI_USE_SYSTEM_CLIBRARY defined before fulling testing the
implementations. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
Applications: Fix a potential issue that help messages may be dumped to AcpiGbl_DebugFile.

There is an issue for usage macros, if an command line option changed
AcpiGbl_DebugFile, then the follow up usage may errornously dumped to the
debug file.
This is just a bug in theory, because currently AcpiGbl_DebugFile can only
be modified by acpibin and acpiexec. Currently this will not trigger such
issue because:
1. For acpibin, AcpiGbl_DebugFile will be modified by "-t" option and the
   program exit after processing this option without dumping help message
   or other error options.
2. For acpiexec, AcpiGbl_DebugFile will only be modified by the open
   command, which happens after parsing the command line options, so no
   help message will be dumped into the debug file.
But maintaining this logic is difficult, so this patch modifies
AcpiOsPrintf() into ACPI_PRINTF() for usage macros so that the help
messages are ensured to be dumped to the stdout. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
EFI: Add OSL supports for those can be empty.

This patch adds OSLs that can be empty under EFI environment. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
EFI: Fix build errors by adding component/module definitions.

There are build errors for ACPI_DEBUG_OUTPUT enabled tools. This is because
osefixf.c is lacking of component/module definitions. This patch fixes such
build errors by filling this gap. Yizhe Wang.

Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Clib: Add AcpiUtMemmove() to improve portability

This patch implements AcpiUtMemmove() as a native replacement of memmove.
This implementation has been roughly tested under unix. Yizhe Wang.

Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Clib: Add AcpiOsGetFileCharacter()/AcpiOsPutFileCharacter() to improve portability.

This patch added two new OSLs:
1. AcpiOsGetFileCharacter() as a replacement of fgetc()/getc().
2. AcpiOsPutFileCharacter() as a replacement of fputc()/putc().
For Unix/Windows environments, these 2 APIs are implemented using
fgetc()/fputc(). For EFI environment, they are implemented using
AcpiOsReadFile()/AcpiOsWriteFile().

Note in this patch, ACPI_FILE_IN is simply defined as NULL for EFI
environment. Its EFI support should be implemented by further patches.
Yizhe Wang.

Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Common: Modify string/memory/file libc invocations in AcpiOsGetLine() into c library wrappers to improve portability.

This patch cleans up AcpiOsGetLine() by replacing the following libc
invocations into the c library wrappers:
1. strlen -> ACPI_STRLEN
2. strcpy -> ACPI_STRCPY
3. strtoul -> ACPI_STRTOUL
4. strcpy -> ACPI_STRCPY
5. memmove -> ACPI_MEMMOVE
6. memset -> ACPI_MEMSET
7. fprintf -> ACPI_FPRINTF
8. putchar -> AcpiOsPutFileCharacter(ACPI_FILE_OUT)
9. getchar -> AcpiOsGetFileCharacter(ACPI_FILE_IN)
No functional changes for Unix/Windows environments. Yizhe Wang.

Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Clib: Introduce a new file open type - ACPI_FILE_APPENDING.

This patch introduced a new type ACPI_FILE_APPENDING so that "w+" can be
expressed as (ACPI_FILE_WRITING | ACPI_FILE_APPENDING). Yizhe Wang.

Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Debugger/Utilities: Replace stdio invocations with OSL APIs to improve portability

This patch improves portability by:
1. Replace fclose with AcpiOsCloseFile.
2. Replace fopen with AcpiOsOpenFile.
3. Replace perror and fprintf with AcpiLogError.
4. Replace type FILE with ACPI_FILE
5. Replace fseek with AcpiOsSetFileOffset.
6. Replace fread with AcpiOsReadFile.

Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
EFI: Add stubs for multi-threading OSLs to make acpiexec running.

This patch only adds stub supports for multi-threading OSLs to make
acpiexec running.
In order to fully support acpiexec in a non multi-threading environment,
ACPICA core itself need to be upgraded to contain full asynchrnous support.
Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
EFI: Add stubs for hardware access OSLs to make acpiexec running.

This patch adds the following OSLs for efi:
1. AcpiOsInstallInterruptHandler()/RemoveInterruptHandler().
2. AcpiOsReadPort()/AcpiOsWritePort().
3. AcpiOsReadMemory()/AcpiOsWriteMemory().
3. AcpiOsReadPciConfigration()/AcpiOsWritePciConfiguration().

Currently we will not support real hardware accesses in the EFI acpiexec,
so they can stay stubs. Yizhe Wang.

Signed-off-by: Yizhe Wang <yizhe.wang@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>