Permalink
Browse files

One more time in the right place...

----------------------------------------
19 January 2017. Summary of changes for version 20170119:

This release is available at https://acpica.org/downloads

1) General ACPICA software:

Entire source code base: Added the 2017 copyright to all source code
legal/licensing module headers and utility/tool signons. This includes
the standard Linux dual-license header. This affects virtually every file
in the ACPICA core subsystem, iASL compiler, all ACPICA utilities, and
the ACPICA test suite.


2) iASL Compiler/Disassembler and Tools:

iASL: Removed/fixed an inadvertent remark when a method argument
containing a reference is used as a target operand within the method (and
never used as a simple argument), as in the example below. Jeffrey Hugo.

    dsdt.asl   1507:    Store(0x1, Arg0)
    Remark   2146 -                ^ Method Argument is never used (Arg0)

All tools: Removed the bit width of the compiler that generated the tool
from the common signon for all user space tools. This proved to be
confusing and unnecessary. This includes similar removal of HARDWARE_NAME
from the generic makefiles (Thomas Petazzoni). Example below.

    Old:
    ASL+ Optimizing Compiler version 20170119-32
    ASL+ Optimizing Compiler version 20170119-64

    New:
    ASL+ Optimizing Compiler version 20170119

----------------------------------------
22 December 2016. Summary of changes for version 20161222:


1) ACPICA kernel-resident subsystem:

AML Debugger: Implemented a new mechanism to simplify and enhance
debugger integration into all environments, including kernel debuggers
and user-space utilities, as well as remote debug services. This
mechanism essentially consists of new OSL interfaces to support debugger
initialization/termination, as well as wait/notify interfaces to perform
the debugger handshake with the host. Lv Zheng.

    New OSL interfaces:
        AcpiOsInitializeDebugger (void)
        AcpiOsTerminateDebugger (void)
        AcpiOsWaitCommandReady (void)
        AcpiOsNotifyCommandComplete (void)

    New OS services layer:
        osgendbg.c -- Example implementation, and used for AcpiExec

Update for Generic Address Space (GAS) support: Although the AccessWidth
and/or BitOffset fields of the GAS are not often used, this change now
fully supports these fields. This affects the internal support for FADT
registers, registers in other ACPI data tables, and the AcpiRead and
AcpiWrite public interfaces. Lv Zheng.

Sleep support: In order to simplify integration of ACPI sleep for the
various host operating systems, a new OSL interface has been introduced.
AcpiOsEnterSleep allows the host to perform any required operations
before the final write to the sleep control register(s) is performed by
ACPICA. Lv Zheng.

    New OSL interface:
        AcpiOsEnterSleep(SleepState, RegisterAValue, RegisterBValue)

    Called from these internal interfaces:
        AcpiHwLegacySleep
        AcpiHwExtendedSleep

EFI support: Added a very small EFI/ACPICA example application. Provides
a simple demo for EFI integration, as well as assisting with resolution
of issues related to customer ACPICA/EFI integration. Lv Zheng. See:

    source/tools/efihello/efihello.c

Local C library: Implemented several new functions to enhance ACPICA
portability, for environments where these clib functions are not
available (such as EFI). Lv Zheng:
    putchar
    getchar
    strpbrk
    strtok
    memmove

Fixed a regression where occasionally a valid resource descriptor was
incorrectly detected as invalid at runtime, and a
AE_AML_NO_RESOURCE_END_TAG was returned.

Fixed a problem with the recently implemented support that enables
control method invocations as Target operands to many ASL operators.
Warnings of this form: "Needed type [Reference], found [Processor]" were
seen at runtime for some method invocations.

Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.

  Current Release:
    Non-Debug Version: 141.5K Code, 58.5K Data, 200.0K Total
    Debug Version:     201.7K Code, 82.7K Data, 284.4K Total
  Previous Release:
    Non-Debug Version: 140.5K Code, 58.5K Data, 198.9K Total
    Debug Version:     201.3K Code, 82.7K Data, 284.0K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Enhanced output by adding the capability to detect and
disassemble ASL Switch/Case statements back to the original ASL source
code instead of if/else blocks. David Box.

AcpiHelp: Split a large file into separate files based upon
functionality/purpose. New files are:
    ahaml.c
    ahasl.c

----------------------------------------
17 November 2016. Summary of changes for version 20161117:


1) ACPICA kernel-resident subsystem:

Table Manager: Fixed a regression introduced in 20160729, "FADT support
cleanup". This was an attempt to remove all references in the source to
the FADT version 2, which never was a legal version number. It was
skipped because it was an early version of 64-bit support that was
eventually abandoned for the current 64-bit support.

Interpreter: Fixed a problem where runtime implicit conversion was
incorrectly disabled for the ASL operators below. This brings the
behavior into compliance with the ACPI specification:
    FromBCD
    ToBCD
    ToDecimalString
    ToHexString
    ToInteger
    ToBuffer

Table Manager: Added a new public interface, AcpiPutTable, used to
release and free an ACPI table returned by AcpiGetTable and related
interfaces. Lv Zheng.

Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.

  Current Release:
    Non-Debug Version: 140.5K Code, 58.5K Data, 198.9K Total
    Debug Version:     201.3K Code, 82.7K Data, 284.0K Total
  Previous Release:
    Non-Debug Version: 140.4K Code, 58.1K Data, 198.5K Total
    Debug Version:     200.7K Code, 82.1K Data, 282.8K Total


2) iASL Compiler/Disassembler and Tools:

Disassembler: Fixed a regression for disassembly of Resource Template.
Detection of templates in the AML stream missed some types of templates.

iASL: Fixed a problem where an Access Size error was returned for the PCC
address space when the AccessSize of the GAS register is greater than a
DWORD. Hoan Tran.

iASL: Implemented several grammar changes for the operators below. These
changes are slated for the next version of the ACPI specification:
    RefOf        - Disallow method invocation as an operand
    CondRefOf    - Disallow method invocation as an operand
    DerefOf      - Disallow operands that use the result from operators
that
                   do not return a reference (Changed TermArg to
SuperName).

iASL: Control method invocations are now allowed for Target operands, as
per the ACPI specification. Removed error for using a control method
invocation as a Target operand.

Disassembler: Improved detection of Resource Templates, Unicode, and
Strings within Buffer objects. These subtypes do not contain a specific
opcode to indicate the originating ASL code, and they must be detected by
other means within the disassembler.

iASL: Implemented an optimization improvement for 32-bit ACPI tables
(DSDT/SSDT). For the 32-bit case only, compute the optimum integer opcode
only after 64-bit to 32-bit truncation. A truncation warning message is
still emitted, however.

AcpiXtract: Implemented handling for both types of line terminators (LF
or CR/LF) so that it can accept AcpiDump output files from any system.
Peter Wu.

AcpiBin: Added two new options for comparing AML files:
    -a: compare and display ALL mismatches
    -o: start compare at this offset into the second file
  • Loading branch information...
1 parent bce8748 commit ef9e452b7802bd5bc78b9897f75a5271de364b2d christos committed Jan 25, 2017
Showing 412 changed files with 5,369 additions and 2,893 deletions.
@@ -1,4 +1,207 @@
----------------------------------------
+19 January 2017. Summary of changes for version 20170119:
+
+This release is available at https://acpica.org/downloads
+
+1) General ACPICA software:
+
+Entire source code base: Added the 2017 copyright to all source code
+legal/licensing module headers and utility/tool signons. This includes
+the standard Linux dual-license header. This affects virtually every file
+in the ACPICA core subsystem, iASL compiler, all ACPICA utilities, and
+the ACPICA test suite.
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Removed/fixed an inadvertent remark when a method argument
+containing a reference is used as a target operand within the method (and
+never used as a simple argument), as in the example below. Jeffrey Hugo.
+
+ dsdt.asl 1507: Store(0x1, Arg0)
+ Remark 2146 - ^ Method Argument is never used (Arg0)
+
+All tools: Removed the bit width of the compiler that generated the tool
+from the common signon for all user space tools. This proved to be
+confusing and unnecessary. This includes similar removal of HARDWARE_NAME
+from the generic makefiles (Thomas Petazzoni). Example below.
+
+ Old:
+ ASL+ Optimizing Compiler version 20170119-32
+ ASL+ Optimizing Compiler version 20170119-64
+
+ New:
+ ASL+ Optimizing Compiler version 20170119
+
+----------------------------------------
+22 December 2016. Summary of changes for version 20161222:
+
+
+1) ACPICA kernel-resident subsystem:
+
+AML Debugger: Implemented a new mechanism to simplify and enhance
+debugger integration into all environments, including kernel debuggers
+and user-space utilities, as well as remote debug services. This
+mechanism essentially consists of new OSL interfaces to support debugger
+initialization/termination, as well as wait/notify interfaces to perform
+the debugger handshake with the host. Lv Zheng.
+
+ New OSL interfaces:
+ AcpiOsInitializeDebugger (void)
+ AcpiOsTerminateDebugger (void)
+ AcpiOsWaitCommandReady (void)
+ AcpiOsNotifyCommandComplete (void)
+
+ New OS services layer:
+ osgendbg.c -- Example implementation, and used for AcpiExec
+
+Update for Generic Address Space (GAS) support: Although the AccessWidth
+and/or BitOffset fields of the GAS are not often used, this change now
+fully supports these fields. This affects the internal support for FADT
+registers, registers in other ACPI data tables, and the AcpiRead and
+AcpiWrite public interfaces. Lv Zheng.
+
+Sleep support: In order to simplify integration of ACPI sleep for the
+various host operating systems, a new OSL interface has been introduced.
+AcpiOsEnterSleep allows the host to perform any required operations
+before the final write to the sleep control register(s) is performed by
+ACPICA. Lv Zheng.
+
+ New OSL interface:
+ AcpiOsEnterSleep(SleepState, RegisterAValue, RegisterBValue)
+
+ Called from these internal interfaces:
+ AcpiHwLegacySleep
+ AcpiHwExtendedSleep
+
+EFI support: Added a very small EFI/ACPICA example application. Provides
+a simple demo for EFI integration, as well as assisting with resolution
+of issues related to customer ACPICA/EFI integration. Lv Zheng. See:
+
+ source/tools/efihello/efihello.c
+
+Local C library: Implemented several new functions to enhance ACPICA
+portability, for environments where these clib functions are not
+available (such as EFI). Lv Zheng:
+ putchar
+ getchar
+ strpbrk
+ strtok
+ memmove
+
+Fixed a regression where occasionally a valid resource descriptor was
+incorrectly detected as invalid at runtime, and a
+AE_AML_NO_RESOURCE_END_TAG was returned.
+
+Fixed a problem with the recently implemented support that enables
+control method invocations as Target operands to many ASL operators.
+Warnings of this form: "Needed type [Reference], found [Processor]" were
+seen at runtime for some method invocations.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and
+has a much larger code and data size.
+
+ Current Release:
+ Non-Debug Version: 141.5K Code, 58.5K Data, 200.0K Total
+ Debug Version: 201.7K Code, 82.7K Data, 284.4K Total
+ Previous Release:
+ Non-Debug Version: 140.5K Code, 58.5K Data, 198.9K Total
+ Debug Version: 201.3K Code, 82.7K Data, 284.0K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Enhanced output by adding the capability to detect and
+disassemble ASL Switch/Case statements back to the original ASL source
+code instead of if/else blocks. David Box.
+
+AcpiHelp: Split a large file into separate files based upon
+functionality/purpose. New files are:
+ ahaml.c
+ ahasl.c
+
+----------------------------------------
+17 November 2016. Summary of changes for version 20161117:
+
+
+1) ACPICA kernel-resident subsystem:
+
+Table Manager: Fixed a regression introduced in 20160729, "FADT support
+cleanup". This was an attempt to remove all references in the source to
+the FADT version 2, which never was a legal version number. It was
+skipped because it was an early version of 64-bit support that was
+eventually abandoned for the current 64-bit support.
+
+Interpreter: Fixed a problem where runtime implicit conversion was
+incorrectly disabled for the ASL operators below. This brings the
+behavior into compliance with the ACPI specification:
+ FromBCD
+ ToBCD
+ ToDecimalString
+ ToHexString
+ ToInteger
+ ToBuffer
+
+Table Manager: Added a new public interface, AcpiPutTable, used to
+release and free an ACPI table returned by AcpiGetTable and related
+interfaces. Lv Zheng.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and
+has a much larger code and data size.
+
+ Current Release:
+ Non-Debug Version: 140.5K Code, 58.5K Data, 198.9K Total
+ Debug Version: 201.3K Code, 82.7K Data, 284.0K Total
+ Previous Release:
+ Non-Debug Version: 140.4K Code, 58.1K Data, 198.5K Total
+ Debug Version: 200.7K Code, 82.1K Data, 282.8K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Fixed a regression for disassembly of Resource Template.
+Detection of templates in the AML stream missed some types of templates.
+
+iASL: Fixed a problem where an Access Size error was returned for the PCC
+address space when the AccessSize of the GAS register is greater than a
+DWORD. Hoan Tran.
+
+iASL: Implemented several grammar changes for the operators below. These
+changes are slated for the next version of the ACPI specification:
+ RefOf - Disallow method invocation as an operand
+ CondRefOf - Disallow method invocation as an operand
+ DerefOf - Disallow operands that use the result from operators
+that
+ do not return a reference (Changed TermArg to
+SuperName).
+
+iASL: Control method invocations are now allowed for Target operands, as
+per the ACPI specification. Removed error for using a control method
+invocation as a Target operand.
+
+Disassembler: Improved detection of Resource Templates, Unicode, and
+Strings within Buffer objects. These subtypes do not contain a specific
+opcode to indicate the originating ASL code, and they must be detected by
+other means within the disassembler.
+
+iASL: Implemented an optimization improvement for 32-bit ACPI tables
+(DSDT/SSDT). For the 32-bit case only, compute the optimum integer opcode
+only after 64-bit to 32-bit truncation. A truncation warning message is
+still emitted, however.
+
+AcpiXtract: Implemented handling for both types of line terminators (LF
+or CR/LF) so that it can accept AcpiDump output files from any system.
+Peter Wu.
+
+AcpiBin: Added two new options for comparing AML files:
+ -a: compare and display ALL mismatches
+ -o: start compare at this offset into the second file
+
+----------------------------------------
30 September 2016. Summary of changes for version 20160930:
@@ -5,7 +5,7 @@
*****************************************************************************/
/*
- * Copyright (C) 2000 - 2016, Intel Corp.
+ * Copyright (C) 2000 - 2017, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -112,7 +112,7 @@ AcGetAllTablesFromFile (
if (FileSize == ACPI_UINT32_MAX)
{
Status = AE_ERROR;
- goto ErrorExit;
+ goto Exit;
}
fprintf (stderr,
@@ -124,7 +124,7 @@ AcGetAllTablesFromFile (
if (FileSize < sizeof (ACPI_TABLE_HEADER))
{
Status = AE_BAD_HEADER;
- goto ErrorExit;
+ goto Exit;
}
/* Check for an non-binary file */
@@ -134,7 +134,8 @@ AcGetAllTablesFromFile (
fprintf (stderr,
" %s: File does not appear to contain a valid AML table\n",
Filename);
- return (AE_TYPE);
+ Status = AE_TYPE;
+ goto Exit;
}
/* Read all tables within the file */
@@ -153,23 +154,31 @@ AcGetAllTablesFromFile (
}
else if (Status == AE_TYPE)
{
- return (AE_OK);
+ Status = AE_OK;
+ goto Exit;
}
else if (ACPI_FAILURE (Status))
{
- goto ErrorExit;
+ goto Exit;
}
/* Print table header for iASL/disassembler only */
#ifdef ACPI_ASL_COMPILER
- AcpiTbPrintTableHeader (0, Table);
+ AcpiTbPrintTableHeader (0, Table);
#endif
/* Allocate and link a table descriptor */
TableDesc = AcpiOsAllocate (sizeof (ACPI_NEW_TABLE_DESC));
+ if (!TableDesc)
+ {
+ AcpiOsFree (Table);
+ Status = AE_NO_MEMORY;
+ goto Exit;
+ }
+
TableDesc->Table = Table;
TableDesc->Next = NULL;
@@ -204,7 +213,7 @@ AcGetAllTablesFromFile (
*ReturnListHead = ListHead;
}
-ErrorExit:
+Exit:
fclose(File);
return (Status);
}
@@ -262,7 +271,6 @@ AcGetOneTableFromFile (
return (Status);
}
-
if (GetOnlyAmlTables)
{
/*
@@ -395,7 +403,7 @@ AcValidateTableHeader (
UINT32 i;
- ACPI_FUNCTION_TRACE ("AcValidateTableHeader");
+ ACPI_FUNCTION_TRACE (AcValidateTableHeader);
/* Read a potential table header */
@@ -5,7 +5,7 @@
*****************************************************************************/
/*
- * Copyright (C) 2000 - 2016, Intel Corp.
+ * Copyright (C) 2000 - 2017, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -5,7 +5,7 @@
*****************************************************************************/
/*
- * Copyright (C) 2000 - 2016, Intel Corp.
+ * Copyright (C) 2000 - 2017, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -5,7 +5,7 @@
*****************************************************************************/
/*
- * Copyright (C) 2000 - 2016, Intel Corp.
+ * Copyright (C) 2000 - 2017, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -5,7 +5,7 @@
*****************************************************************************/
/*
- * Copyright (C) 2000 - 2016, Intel Corp.
+ * Copyright (C) 2000 - 2017, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -5,7 +5,7 @@
*****************************************************************************/
/*
- * Copyright (C) 2000 - 2016, Intel Corp.
+ * Copyright (C) 2000 - 2017, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -5,7 +5,7 @@
*****************************************************************************/
/*
- * Copyright (C) 2000 - 2016, Intel Corp.
+ * Copyright (C) 2000 - 2017, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -5,7 +5,7 @@
*****************************************************************************/
/*
- * Copyright (C) 2000 - 2016, Intel Corp.
+ * Copyright (C) 2000 - 2017, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -51,7 +51,7 @@ const AH_TABLE *
AcpiAhGetTableInfo (
char *Signature);
-extern const AH_TABLE AcpiSupportedTables[];
+extern const AH_TABLE Gbl_AcpiSupportedTables[];
/*******************************************************************************
@@ -73,7 +73,7 @@ AcpiAhGetTableInfo (
const AH_TABLE *Info;
- for (Info = AcpiSupportedTables; Info->Signature; Info++)
+ for (Info = Gbl_AcpiSupportedTables; Info->Signature; Info++)
{
if (ACPI_COMPARE_NAME (Signature, Info->Signature))
{
@@ -89,7 +89,7 @@ AcpiAhGetTableInfo (
* Note: Any tables added here should be duplicated within AcpiDmTableData
* in the file common/dmtable.c
*/
-const AH_TABLE AcpiSupportedTables[] =
+const AH_TABLE Gbl_AcpiSupportedTables[] =
{
{ACPI_SIG_ASF, "Alert Standard Format table"},
{ACPI_SIG_BERT, "Boot Error Record Table"},
Oops, something went wrong.

0 comments on commit ef9e452

Please sign in to comment.