<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/EmbeddedPkg/Include/Library/AcpiLib.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-06-18T13:03:24+00:00</updated>
<entry>
<title>EmbeddedPkg,MdeModulePkg,DynamicTablesPkg: Move ACPI helper macros</title>
<updated>2026-06-18T13:03:24+00:00</updated>
<author>
<name>VarshitPandya</name>
<email>varshit.pandya@arm.com</email>
</author>
<published>2026-05-29T10:57:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3b61f4d266ba8e8a4c320a06295637b01f098c2b'/>
<id>urn:sha1:3b61f4d266ba8e8a4c320a06295637b01f098c2b</id>
<content type='text'>
Move the ACPI table helper macros from EmbeddedPkg's AcpiLib.h to
MdeModulePkg's AcpiHelperMacros.h.

These macros describe ACPI data initializers and do not depend on the
AcpiLib library interface. Keeping them in AcpiLib.h forces users that
only need the macros to include the AcpiLib library header unnecessarily.

Place the macros in a common MdeModulePkg public header so ACPI table
producers can include the macro definitions directly without implying
use of AcpiLib.

The companion edk2-platforms change is:
"Global: Include AcpiHelperMacros.h for ACPI helper macros"

Tested:
  DynamicTablesPkg: X64/AARCH64 DEBUG/RELEASE/NOOPT
  MdeModulePkg: X64/AARCH64 DEBUG/RELEASE/NOOPT
  EmbeddedPkg: X64/AARCH64 DEBUG/RELEASE/NOOPT

Continuous-integration-options: PatchCheck.ignore-multi-package

Signed-off-by: Varshit Pandya &lt;varshit.pandya@arm.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg: 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-03T18:18:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=de527ff60653a3ed7cf0e313695267b53c120a09'/>
<id>urn:sha1:de527ff60653a3ed7cf0e313695267b53c120a09</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>
<entry>
<title>EmbeddedPkg/AcpiLib: Fix code formatting errors</title>
<updated>2022-10-03T18:22:03+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2022-09-03T00:52:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=51e059953696f1b41e7f65426e342badc2e6acaf'/>
<id>urn:sha1:51e059953696f1b41e7f65426e342badc2e6acaf</id>
<content type='text'>
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4046

This package did not have CI enabled so code changes were merged
that fail uncrustify formatting. This change updates those files
to include uncustify formatting.

Cc: Leif Lindholm &lt;quic_llindhol@quicinc.com&gt;
Cc: Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;
Cc: Abner Chang &lt;abner.chang@amd.com&gt;
Cc: Daniel Schaefer &lt;git@danielschaefer.me&gt;
Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
Reviewed-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Acked-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg/AcpiLib: Add more helper functions</title>
<updated>2021-12-17T15:53:06+00:00</updated>
<author>
<name>Nhi Pham</name>
<email>nhi@os.amperecomputing.com</email>
</author>
<published>2021-09-09T08:24:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=c63a10ecb7d66904f04fe65b0cef49c095ce49a6'/>
<id>urn:sha1:c63a10ecb7d66904f04fe65b0cef49c095ce49a6</id>
<content type='text'>
This adds more helper functions that assist in calculating the checksum,
locating an ACPI table by signature, and updating an AML integer object.

Cc: Ard Biesheuvel &lt;ardb+tianocore@kernel.org&gt;
Cc: Daniel Schaefer &lt;daniel.schaefer@hpe.com&gt;
Signed-off-by: Nhi Pham &lt;nhi@os.amperecomputing.com&gt;
Acked-by: Leif Lindholm &lt;leif@nuviainc.com&gt;
Reviewed-by: Abner Chang &lt;abner.chang@hpe.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg: Apply uncrustify changes</title>
<updated>2021-12-07T17:24:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2021-12-05T22:53:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=e7108d0e9655b1795c94ac372b0449f28dd907df'/>
<id>urn:sha1:e7108d0e9655b1795c94ac372b0449f28dd907df</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the EmbeddedPkg package

Cc: Andrew Fish &lt;afish@apple.com&gt;
Cc: Leif Lindholm &lt;leif@nuviainc.com&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
Reviewed-by: Andrew Fish &lt;afish@apple.com&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg/AcpiLib: add GICC table init macro for ACPI 6.3</title>
<updated>2020-03-30T14:48:59+00:00</updated>
<author>
<name>Pete Batard</name>
<email>pete@akeo.ie</email>
</author>
<published>2020-03-27T13:01:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6c1fb56802d57e2de968bc11eefd5449e668eebc'/>
<id>urn:sha1:6c1fb56802d57e2de968bc11eefd5449e668eebc</id>
<content type='text'>
ACPI 6.3 added a 16-bit SPE overflow Interrupt field, replacing
2 of the 3 reserved bytes that are defined at the end of the
GICC structure for 6.0.

Add a new macro to initialise the new field.

Signed-off-by: Pete Batard &lt;pete@akeo.ie&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg: Replace BSD License with BSD+Patent License</title>
<updated>2019-04-09T17:57:58+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2019-04-03T23:03:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=878b807a435eefbb1d76f9bdec30cb3526521a5e'/>
<id>urn:sha1:878b807a435eefbb1d76f9bdec30cb3526521a5e</id>
<content type='text'>
https://bugzilla.tianocore.org/show_bug.cgi?id=1373

Replace BSD 2-Clause License with BSD+Patent License.  This change is
based on the following emails:

  https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
  https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:

  V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
  V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
  V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Reviewed-by: Leif Lindholm &lt;leif.lindholm@linaro.org&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg/AcpiLib: add GICC table init macro for ACPI 6.0</title>
<updated>2016-07-06T08:51:38+00:00</updated>
<author>
<name>Graeme Gregory</name>
<email>graeme.gregory@linaro.org</email>
</author>
<published>2016-07-05T20:15:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6ff71a134f5b974549bf991aa594986bc5f873ee'/>
<id>urn:sha1:6ff71a134f5b974549bf991aa594986bc5f873ee</id>
<content type='text'>
ACPI 6.0 added a processor efficiency field and 3 reserved bytes at the
end of the GICC structure so add a new macro to initialise the new
field.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Graeme Gregory &lt;graeme.gregory@linaro.org&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg/AcpiLib: add GICD table init macro for ACPI 6.0</title>
<updated>2016-04-14T10:56:34+00:00</updated>
<author>
<name>Heyi Guo</name>
<email>heyi.guo@linaro.org</email>
</author>
<published>2016-04-06T15:15:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d354963f0dc350771167fa5d3c28b9de8d632d9c'/>
<id>urn:sha1:d354963f0dc350771167fa5d3c28b9de8d632d9c</id>
<content type='text'>
Add macro to help initialize GICD structure in MADT table according
to ACPI 6.0.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Heyi Guo &lt;heyi.guo@linaro.org&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
</content>
</entry>
<entry>
<title>EmbeddedPkg/AcpiLib: fix SBSA Generic Watchdog helper definition</title>
<updated>2016-04-01T15:04:12+00:00</updated>
<author>
<name>Sami Mujawar</name>
<email>sami.mujawar@arm.com</email>
</author>
<published>2016-03-04T13:46:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d51949806737c214f8df7dc6a70fedf9c2558dd5'/>
<id>urn:sha1:d51949806737c214f8df7dc6a70fedf9c2558dd5</id>
<content type='text'>
The Reserved field in the SBSA Generic Watchdog Structure is 1 byte in
length. Refer Table 5-123 in the ACPI 5.1 Specification Errata A.

The EFI_ACPI_5_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT() helper
macro was initializing this field as EFI_ACPI_RESERVED_WORD instead of
EFI_ACPI_RESERVED_BYTE.

Although this does not cause any functional issue; it does not comply
with the specification.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Evan Lloyd &lt;evan.lloyd@arm.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
</content>
</entry>
</feed>
