67 Commits

Author SHA1 Message Date
Robert Moore
6f136bc1e6 Merge pull request #223 from zetalog/acpica-wsmt
Acpica wsmt
2017-03-07 08:47:42 -08:00
Lv Zheng
9b026c90c3 iasl: Add HMAT assembly/disassembly support
This patch adds HMAT assembly/disassembly support. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2017-03-07 15:52:20 +08:00
Lv Zheng
4f12387029 Tables: Add WSMT support
This patch adds WSMT support, the table can be found at Line [#1].
The support includes table structure definitions (ACPICA tables) and
assembly/disassembly (iasl) support. Lv Zheng.

Link: https://msdn.microsoft.com/windows/hardware/drivers/bringup/acpi-system-description-tables#wsmt [1]
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2017-03-06 17:09:29 +08:00
Robert Moore
72452261ae Update legal header in all source modules
Adds the dual GNU/BSD dual license to the existing Intel license.
Provides all licensing information in each source module.
Affects all ACPICA source modules.
2017-03-02 13:21:13 -08:00
Lv Zheng
80d0ad7366 iasl: Refine IORT template
In the current IORT template, ID array example is only prepared for the ITS
group node while it is defined in the spec that the ITS group node doesn't
contain the ID array:
  Table 11 ITS Group Format
    Number of ID mappings:
    This field has a value of 0. ITS groups do not have IDs.

In the refined IORT template, ID array(s) is deleted from the ITS group and
are prepared for all other nodes so that after we automatically resets
MappingOffset in the iasl IORT compilation code, MappingOffset can still be
properly set to the developer re-usable values. ACPICA BZ 1340, reported by
Alexei Fedorov, fixed by Lv Zheng.

Link: https://bugs.acpica.org/show_bug.cgi?id=1340
Reported-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
2017-02-24 15:16:12 +08:00
Robert Moore
16577e5265 Source tree: Update copyright notices to 2017
Affects all files.
2017-01-06 14:19:19 -08:00
Robert Moore
37131916c8 iASL/Table-compiler/Disassembler: Support for RASF table
Provides full support for RASF.
With assistance from Vikas Sajjan (ha.sajjan@hpe.com)
2016-06-02 07:32:41 -07:00
Robert Moore
de3ea7c322 ACPI 6.1: Support for new PCCT subtable
Additional subspace structure was added.
2016-04-11 12:31:08 -07:00
Al Stone
9f7c3e148f IORT: Add in support for the SMMUv3 subtable
The most recent version of the IORT specification adds in a definition
for a subtable to describe SMMUv3 devices; there is already a subtable
for SMMUv1/v2 devices.

Add in the definition of the subtable, add in the code to compile it,
and add in a template for it.

Signed-off-by: Al Stone <ahs3@redhat.com>
2016-03-01 07:59:59 -08:00
Robert Moore
7264968d69 Source tree: Update copyright notices to 2016
Affects all files.
2016-01-06 08:57:09 -08:00
Robert Moore
c404fc0cba iASL/Templates: Add support for multiple SSDTs in the same file
Extends multiple tables per file support. The number of SSDTs
can be specified on the command line.
2015-12-09 12:28:51 -08:00
Robert Moore
7a556fac92 iASL/Templates: Remove filename argument from DSDT and SSDT templates
This field is automatically derived from the input filename when
the template is compiled.

This makes it simpler to rename the ASL file as necessary.
2015-12-04 14:20:20 -08:00
Robert Moore
f849f5ebe7 Update source file permissions (2)
Reset user execute bit, set other permissions read-only.
2015-09-23 13:22:14 -07:00
Robert Moore
e33d51f822 Update source file permissions (1)
Set user execute bit to force git to commit the files.
2015-09-23 13:14:16 -07:00
Robert Moore
55fa9555c7 iASL: Add support for TCPA Server Table.
In addition to the existing support for the client table.
2015-07-02 07:07:43 -07:00
Robert Moore
3f1da79210 iASL-templates: Add support for OSDT template.
Override SDT table.
2015-06-03 07:40:22 -07:00
Robert Moore
e4e17ca361 ACPI 6.0: Add support for NFIT table.
NVDIMM Firmware Interface Table.
2015-05-15 14:59:35 -07:00
Robert Moore
5de82757ae ACPI 6.0: Add changes for IORT and DRTM tables.
Individual patch descriptions (8):

Using a minus number with ACPI_ADD_PTR() will cause compiler warnings, such
warnings cannot be eliminated by force casting an unsigned value to a
signed value. This patch thus introduces ACPI_SUB_PTR() to be used with
minus numbers. Lv Zheng.

In CSRT/DBG2, there is ACPI_DMT_BUFFER defined for the variable length
fields and the support around such variable length fields is broken:
1. CSRT cannot compile "ResourceInfo" buffer.
2. There is an extra empty line appended before such fields.
3. CSRT contains broken subtable length fields due to this variable length
   field.
4. Code in CSRT support doesn't manage "parent table", "sub-table"
   correctly.

This patch fixes CSRT/DBG2 table decompilation/compilation issues using new
ACPI_DMT_RAW_BUFFER. Since there is no user of the MultiLine parameter,
this patch also removes it from AcpiDmDumpBuffer(). Also this patch
enhances AcpiDmDumpBuffer() to allow small sized buffer to be dumped to the
same line as its header to ensure no user experience regression. Lv Zheng.

This patch adds support for IORT (IO Remapping Table) in iasl.

Note that some field names are modified to shrink their length or the
decompiled IORT ASL will contain fields with ugly ":" alignment.

This patch doesn't add inline table support for the SMMU interrupt fields
and memroy access properties fields. They will be added by seperate
patches. Lv Zheng.

The IORT contains field definitions around "Memory Access Properties".

This patch adds support to encode/decode it using inline table. Lv Zheng.

Some data tables reserve fields for future extension. So we need to compile
the higher versioning table's fields using generic compiling betwee the
known field names.

This patch adds support to allow optional fields insertion. Lv Zheng.

This patch implements OptionalPadding in a different way so that newer
versioned IORT can be written with the generic data types to generate the
"OptionalPadding" field. Lv Zheng.

This patch implements Padding in a different way so that users can specify
an offset in the "Offset to ID mappings" field to determine the length of
the "Padding" field. Lv Zheng.

This patch adds support for DRTM (Dynamic Root of Trust for Measurement
table) in iasl. Lv Zheng.
2015-05-01 13:08:14 -07:00
Robert Moore
02cbb41232 ACPI 6.0: Add changes for MADT table.
New subtable type. Some additions to existing subtables.
2015-04-24 09:50:33 -07:00
Robert Moore
d527908bb3 ACPI 6.0: Add changes for LPIT table.
Second subtable type was removed from the July 2014 LPIT
document.
2015-04-23 14:09:30 -07:00
Robert Moore
72b0b67419 ACPI 6.0: Add changes for FADT table.
One new 64-bit field at the end of the table.
FADT version is now 6.
2015-04-23 13:15:20 -07:00
Robert Moore
a6ccb4033b ACPI 6.0: Add support for WPBT table.
Windows Platform Binary Table.
2015-04-23 12:37:13 -07:00
Robert Moore
08c4197cf4 ACPI 6.0: Add support for XENV table.
Xen Environment table.
2015-04-16 13:50:36 -07:00
Robert Moore
532bf402a5 ACPI 6.0: Add support for STAO table.
_STA override table.
2015-04-16 09:47:16 -07:00
Robert Moore
a2c590ce9b iASL: Add support for MSDM ACPI table.
This is the Microsoft Data Management table.
2015-04-06 13:43:49 -07:00
David E. Box
8990e73ab2 Update Copyright headers to 2015. 2015-01-27 11:55:38 -08:00
David E. Box
6a13235548 Revert "source and test: update copyright notices to 2015"
This reverts commit 28a95326289ca5ee7cd95f8e8e809dc5564d9509.

Commit mistakenly changes file format to CRLF from default LF.
2015-01-27 11:39:30 -08:00
David E. Box
28a9532628 source and test: update copyright notices to 2015 2015-01-23 14:44:06 -08:00
Robert Moore
61cd52e566 ACPI 5.1/Disassembler: Add GICC affinity subtable to SRAT table.
Update template for SRAT.
Add ClockDomain to standard CPU affinity subtable.

Mostly by: Hanjun Guo <hanjun.guo@linaro.org>
2014-08-14 13:15:54 -07:00
Robert Moore
e48c284645 ACPI 5.1: Update for PCCT table changes.
One new subtable.
2014-07-23 14:02:13 -07:00
Robert Moore
378c7ccfba ACPI 5.1: Update for GTDT table changes.
New fields and new subtables. Tomasz Nowicki.
tomasz.nowicki@linaro.org
2014-07-23 12:46:32 -07:00
Robert Moore
260b051b05 ACPI 5.1: Update for MADT changes.
New subtables and changes to other subtables. Tomasz Nowicki.
tomasz.nowicki@linaro.org
2014-07-23 11:45:49 -07:00
Robert Moore
c54d9a6670 ACPI 5.1: Update for FADT changes.
Adds ARM flags and FADT minor revision. Graeme Gregory.
graeme.gregory@linaro.org
2014-07-23 09:48:04 -07:00
Robert Moore
97bee598cc iASL/Templates: Update LPIT template.
Update revision to 1.
Use zero-based unique IDs for subtables.
2014-04-09 12:19:01 -07:00
Robert Moore
6d8ce6539f Add support for LPIT table.
Adds header, disassembler, table compiler, and template support
for the Low Power Idle Table (LPIT).
2014-04-04 13:09:27 -07:00
Robert Moore
56bcdb6f2b iASL/Tables: For SPMI table, first reserved field must always be 1.
This change enforces a value of one for the first reserved field,
instead of zero. ACPICA BZ 1081.
2014-02-14 09:09:34 -08:00
Robert Moore
4ca0698cbb Update ACPICA copyrights to 2014.
Update ACPICA copyrights to 2014. Includes all source headers and
signons for the various tools.
2014-01-06 09:10:08 -08:00
Robert Moore
0affc4f031 iASL/Templates: Update FADT template to avoid GPE0 length warning.
The template contained a length mismatch between the 32-bit and
64-bit GPE0 definitions.
2013-12-17 09:50:40 -08:00
Robert Moore
6bc9b544cb iASL: Add full support for the PCCT table, update table definition.
Updates the PCCT table definition in the actbl3.h header.

Adds table compiler and template generator support.
2013-12-04 12:34:18 -08:00
Robert Moore
278cbb119f iASL: Add full support for the DBG2 table.
Adds full disassembler, table compiler, and template generator support
for the DBG2 table (Debug Port 2 table).
2013-12-04 08:35:15 -08:00
Robert Moore
a0ae650ff3 iASL: Update template for DMAR table.
Update some fields and checksum. Lv Zheng.
2013-06-05 13:30:54 -07:00
Robert Moore
b1c32b8b50 iASL/Disassembler: Add support for MTMR table.
MTMR table is used in the recent ACPI BIOS enabled Intel MID platforms.
The format of this table has been defined in the "Simple Firmware
Interface Specification" except it uses GAS instead of 64-bit values for
address fields.
This patch introduces MTMR table support into ACPICA.
Lv Zheng.
2013-01-22 11:32:47 -08:00
Robert Moore
17b0a51c0a iASL/Disassembler: Add support for VRTC table.
VRTC is used in Intel MID platforms as a replacement of the traditional
x86 RTC. VRTC table can be found in the recent ACPI BIOS enabled Intel
MID platforms. The format of this table has been defined in the "Simple
Firmware Interface Specification" except it uses GAS instead of 64-bit
values for address fields.
This patch introduces VRTC table support into ACPICA.
Lv Zheng.
2013-01-22 11:23:17 -08:00
Robert Moore
5b6ee00b56 Update ACPICA copyrights to 2013.
Includes all source headers and signons for the various tools.
2013-01-08 09:23:11 -08:00
Robert Moore
1f67b264b4 iASL: Finish support for the TPM2 table.
Add disassembler, table compiler, and template support.
2012-12-05 13:18:08 -08:00
Robert Moore
0ab6c47de3 iASL: Finish support for CSRT table.
Add intel-specific shared info subtable.
Add data table compiler and template support.
2012-12-05 12:46:40 -08:00
Robert Moore
85605310e4 iASL: Update template for MPST table.
Emit new template based upon recent header changes for MPST.
2012-10-18 10:02:45 -07:00
Robert Moore
2406636978 Small fix for standard Intel legal header.
Remove an extraneous space after a comma, for consistency.
2012-09-27 09:36:49 -07:00
Robert Moore
a28a14bc42 Remove extra spaces after periods in the Intel license.
For consistency with the rest of the source code.
2012-09-26 13:17:19 -07:00
Robert Moore
7db43032db Update ACPICA copyrights to 2012.
Standard ACPICA source modules only.
2012-01-03 14:08:42 -08:00