<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/DynamicTablesPkg/Include/AcpiTableGenerator.h, branch master</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-09-18T17:22:49+00:00</updated>
<entry>
<title>DynamicTablesPkg: Add ACPI ERST table generator</title>
<updated>2026-09-18T17:22:49+00:00</updated>
<author>
<name>Amrathesh</name>
<email>amrathesh@arm.com</email>
</author>
<published>2026-08-31T04:49:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=774bcdbf94d07993ef38602969f589219a336dba'/>
<id>urn:sha1:774bcdbf94d07993ef38602969f589219a336dba</id>
<content type='text'>
Add a common Error Record Serialization Table (ERST) generator based on
the ACPI 6.6 definition. Introduce an architecture-common Configuration
Manager object to provide serialization instruction entries.

Validate actions, instructions, flags, register masks, action grouping,
and GOTO targets before generating the table.

Signed-off-by: Amrathesh &lt;amrathesh@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: Add ACPI BERT table generator</title>
<updated>2026-09-17T14:29:08+00:00</updated>
<author>
<name>Amrathesh</name>
<email>amrathesh@arm.com</email>
</author>
<published>2026-08-26T05:22:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=96341752cef63f3626d64d0b19f60202367627cf'/>
<id>urn:sha1:96341752cef63f3626d64d0b19f60202367627cf</id>
<content type='text'>
Add a common Boot Error Record Table (BERT) generator based on the
ACPI 6.6 definition. Introduce an architecture-common Configuration
Manager object that provides the boot error region address and length.

Signed-off-by: Amrathesh &lt;amrathesh@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: Generalize the CMN SSDT generator</title>
<updated>2026-09-10T16:37:02+00:00</updated>
<author>
<name>Varshit Pandya</name>
<email>varshit.pandya@arm.com</email>
</author>
<published>2026-08-17T15:00:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7469449514426406e7c3dcad9df6f5b98fd5c183'/>
<id>urn:sha1:7469449514426406e7c3dcad9df6f5b98fd5c183</id>
<content type='text'>
Extend the CMN Configuration Manager object with an implementation type
and optional root-node region length.

Map the implementation type to the ACPI hardware IDs for CMN-600,
CMN-650, CMN-700 and CMN-S3. Apply CMN-600-specific address restrictions
only when the CMN-600 implementation type is selected.

Rename the CMN-600 generator, identifiers and files to reflect support
for multiple CMN implementations.

Signed-off-by: Varshit Pandya &lt;varshit.pandya@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: Rename the DMC 620 PMU generator</title>
<updated>2026-09-09T20:11:31+00:00</updated>
<author>
<name>VarshitPandya</name>
<email>varshit.pandya@arm.com</email>
</author>
<published>2026-07-24T09:39:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6033c4e89134680191773389e1bef8426fc5495b'/>
<id>urn:sha1:6033c4e89134680191773389e1bef8426fc5495b</id>
<content type='text'>
Rename the DMC-620 PMU generator and its Configuration Manager objects
to remove the DMC-620-specific naming.

Update the generator ID, library paths, parser definitions and associated
documentation to use generic DMC PMU terminology.

Signed-off-by: Varshit Pandya &lt;Varshit.Pandya@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: Add ACPI MSCT table generator</title>
<updated>2026-08-31T11:48:08+00:00</updated>
<author>
<name>Abdul Lateef Attar</name>
<email>AbdulLateef.Attar@amd.com</email>
</author>
<published>2026-07-24T07:26:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c5745468c419daeab57c0cfef1a5e077528be5f3'/>
<id>urn:sha1:c5745468c419daeab57c0cfef1a5e077528be5f3</id>
<content type='text'>
Add MSCT table ID to the ESTD_ACPI_TABLE_ID enumeration.

Introduces an ACPI MSCT (Maximum System Characteristics Table)
generator library that retrieves the following information from the
configuration manager:
 - Maximum physical address
 - Processor proximity information
 - Memory proximity information
 - Clock proximity information

The generator calculates:
 - Maximum memory length per memory domain
 - Maximum contiguous processor domain
 - Maximum memory and processor domain combination

Signed-off-by: Abdul Lateef Attar &lt;AbdulLateef.Attar@amd.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: add APMT generator</title>
<updated>2026-08-27T08:04:16+00:00</updated>
<author>
<name>Yeoreum Yun</name>
<email>yeoreum.yun@arm.com</email>
</author>
<published>2026-08-10T11:07:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=32c6128b1e62cd08298e5a8346dc6b2d14260433'/>
<id>urn:sha1:32c6128b1e62cd08298e5a8346dc6b2d14260433</id>
<content type='text'>
Add Arm Performance Monitoring Unit Table (APMT) generator.

Signed-off-by: Yeoreum Yun &lt;yeoreum.yun@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: Add HMAT generator</title>
<updated>2026-07-06T07:39:54+00:00</updated>
<author>
<name>Oleksandr Tymoshenko</name>
<email>ovt@google.com</email>
</author>
<published>2026-05-18T23:25:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9782df45fe5eed9ee5d36319917e86f6a88f0ce8'/>
<id>urn:sha1:9782df45fe5eed9ee5d36319917e86f6a88f0ce8</id>
<content type='text'>
- Generate HMAT table from ConfigurationManager objects.

Co-authored-by: Ryan Heise &lt;heiserya@google.com&gt;
Co-authored-by: Sophia Wang &lt;yodagump@google.com&gt;
Signed-off-by: Oleksandr Tymoshenko &lt;ovt@google.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: Adds ACPI EINJ Table generation support</title>
<updated>2026-05-27T09:15:46+00:00</updated>
<author>
<name>Glen Yeldho</name>
<email>glen.yeldho@arm.com</email>
</author>
<published>2025-08-22T12:55:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=932a2e2fee49b579f3162c9d7d96162cc6433b4f'/>
<id>urn:sha1:932a2e2fee49b579f3162c9d7d96162cc6433b4f</id>
<content type='text'>
Add an ACPI Error Injection (EINJ) table generator that uses the
Configuration Manager to obtain the platform error-injection
instruction entries.

Ref: ACPI Specification, Section 18.6 (Error Injection—EINJ table).

Co-authored-by: Varshit Pandya &lt;varshit.pandya@arm.com&gt;
Signed-off-by: Varshit Pandya &lt;varshit.pandya@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: add Hest table generator</title>
<updated>2026-04-30T10:31:01+00:00</updated>
<author>
<name>Yeoreum Yun</name>
<email>yeoreum.yun@arm.com</email>
</author>
<published>2026-03-01T12:44:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d8b163508842d80041d2037e640127473c0b7cf9'/>
<id>urn:sha1:d8b163508842d80041d2037e640127473c0b7cf9</id>
<content type='text'>
Add ACPI Hardware Error Source Table (HEST) generator.

Signed-off-by: Yeoreum Yun &lt;yeoreum.yun@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: Replace include guards with #pragma once</title>
<updated>2026-02-23T21:01:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-02-03T17:36:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=01f75b3927b8d98fa0a6fbfb6a79420985f107f0'/>
<id>urn:sha1:01f75b3927b8d98fa0a6fbfb6a79420985f107f0</id>
<content type='text'>
Replace traditional `#ifndef`/`#define`/`#endif` include guards with
`#pragma` once.

`#pragma once` is a widely supported preprocessor directive that
prevents header files from being included multiple times. It is
supported by all toolchains used to build edk2: GCC, Clang/LLVM, and
MSVC.

Compared to macro-based include guards, `#pragma once`:

- Eliminates the risk of macro name collisions or copy/paste errors
  where two headers inadvertently use the same guard macro.
- Eliminate inconsistency in the way include guard macros are named
  (e.g., some files use `__FILE_H__`, others use `FILE_H_`, etc.).
- Reduces boilerplate (three lines replaced by one).
- Avoids polluting the macro namespace with guard symbols.
- Can improve build times as the preprocessor can skip re-opening the
  file entirely, rather than re-reading it to find the matching
  `#endif` ("multiple-include optimization").
  - Note that some compilers may already optimize traditional include
    guards, by recognzining the idiomatic pattern.

This change is made acknowledging that overall portability of the
code will technically be reduced, as `#pragma once` is not part of the
C/C++ standards.

However, this is considered acceptable given:

1. edk2 already defines a subset of supported compilers in
   BaseTools/Conf/tools_def.template, all of which have supported
   `#pragma once` for over two decades.
2. There have been concerns raised to the project about inconsistent
   include guard naming and potential macro collisions.

Approximate compiler support dates:

- MSVC: Supported since Visual C++ 4.2 (1996)
- GCC: Supported since 3.4 (2004)
  (http://gnu.ist.utl.pt/software/gcc/gcc-3.4/changes.html)
- Clang (LLVM based): Since initial release in 2007

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
</feed>
