<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt, 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-02-23T21:01:28+00:00</updated>
<entry>
<title>ShellPkg: 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-03T19:26:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8472271daeed6ebb23b6992155b65c029aa42984'/>
<id>urn:sha1:8472271daeed6ebb23b6992155b65c029aa42984</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>ShellPkg: Acpiview: Add GICC field parsing</title>
<updated>2024-09-05T07:43:01+00:00</updated>
<author>
<name>Carsten Haitzler</name>
<email>carsten.haitzler@foss.arm.com</email>
</author>
<published>2024-07-23T09:05:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3151798123e1419e74ebef1df73e9d651f1fcd3e'/>
<id>urn:sha1:3151798123e1419e74ebef1df73e9d651f1fcd3e</id>
<content type='text'>
ACPI 6.5 adds mode flags that could do with
more human-readable display in Acpiview. This
adds support for displaying those flags.

Signed-off-by: Carsten Haitzler &lt;carsten.haitzler@foss.arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg/AcpiView: Update print-formatter prototype</title>
<updated>2024-08-01T17:20:10+00:00</updated>
<author>
<name>Rohit Mathew</name>
<email>Rohit.Mathew@arm.com</email>
</author>
<published>2023-08-22T13:32:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9e865f9579004b772e36f85ae4e76484bb93b484'/>
<id>urn:sha1:9e865f9579004b772e36f85ae4e76484bb93b484</id>
<content type='text'>
As of now, the print-formatter implemented by the FNPTR_PRINT_FORMATTER
function pointer takes two parameters, the format string and the pointer
to the field. For cases where the print-formatter has to have access to
the length of the field, there is no clean way to currently do it. In
order to resolve this, update the print-formatter's prototype to take
the length of the field as a third parameter. This change should improve
the overall robustness and flexibility of AcpiView.

Signed-off-by: Rohit Mathew &lt;Rohit.Mathew@arm.com&gt;
Cc: James Morse &lt;james.Morse@arm.com&gt;
Cc: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Cc: Thomas Abraham &lt;thomas.abraham@arm.com&gt;
Cc: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg/AcpiView: Update field-validator prototype</title>
<updated>2024-08-01T17:20:10+00:00</updated>
<author>
<name>Rohit Mathew</name>
<email>Rohit.Mathew@arm.com</email>
</author>
<published>2023-08-22T11:20:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=107d0c380009ad3b17a1730fce264eefdd027616'/>
<id>urn:sha1:107d0c380009ad3b17a1730fce264eefdd027616</id>
<content type='text'>
As of now, the field-validator implemented by FNPTR_FIELD_VALIDATOR
function pointer takes two parameters, the pointer to the field and a
context pointer. For cases where the validator has to have access to the
length of the field, there is no clean way to currently do it. In order
to resolve this, this commit updates the field-validator's prototype to
take the length of the field as an additional parameter.

This enhancement allows field validators to perform more comprehensive
validation, especially when the length of the field is critical to the
validation logic. This change should improve the overall robustness and
flexibility of AcpiView.

Signed-off-by: Rohit Mathew &lt;Rohit.Mathew@arm.com&gt;
Cc: James Morse &lt;james.Morse@arm.com&gt;
Cc: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Cc: Thomas Abraham &lt;thomas.abraham@arm.com&gt;
Cc: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Support parser of MADT for LoongArch64</title>
<updated>2024-07-24T08:00:05+00:00</updated>
<author>
<name>Dongyan Qian</name>
<email>qiandongyan@loongson.cn</email>
</author>
<published>2024-07-22T02:57:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d4ae23b1e6c5fe95205818fcae9d5561c20588d3'/>
<id>urn:sha1:d4ae23b1e6c5fe95205818fcae9d5561c20588d3</id>
<content type='text'>
Parse CORE_PIC, LIO_PIC, HT_PIC, EIO_PIC, MSI_PIC, BIO_PIC and LPC_PIC
tables in ACPI SPEC 6.5.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4306

Cc: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Cc: Chao Li &lt;lichao@loongson.cn&gt;
Signed-off-by: Dongyan Qian &lt;qiandongyan@loongson.cn&gt;
Co-authored-by: Jinwei Wang &lt;wangjinwei@loongson.cn&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Reviewed-by: Chao Li &lt;lichao@loongson.cn&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Acpiview: Update MADT parser for TRBE interrupt</title>
<updated>2023-10-30T12:16:56+00:00</updated>
<author>
<name>Sami Mujawar</name>
<email>sami.mujawar@arm.com</email>
</author>
<published>2023-09-22T14:35:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2b0d117b4b4ea44b213fc3b10c9e59fa96510c83'/>
<id>urn:sha1:2b0d117b4b4ea44b213fc3b10c9e59fa96510c83</id>
<content type='text'>
ACPI 6.5 introduces a new filed to the MADT GICC
structure to specify the TRBE interrupt. The TRBE
interrupt is a Processor Private interrupt (PPI)
and is used to specify a platform-specific
interrupt to signal TRBE events.

Therefore, update the MADT GICC structure parser
to parse the new TRBE interrupt field. Also, add
validations to check that the TRBE interrupt is
within the PPI interrupt range.

Signed-off-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Reviewed-by: Pierre Gondois  &lt;pierre.gondois@arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Adds Local APIC parser to AcpiView</title>
<updated>2022-08-31T01:57:58+00:00</updated>
<author>
<name>Abdul Lateef Attar</name>
<email>abdattar@amd.com</email>
</author>
<published>2022-08-09T06:49:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3c06953fd76ca2d1372ce5b0df14608de53cd148'/>
<id>urn:sha1:3c06953fd76ca2d1372ce5b0df14608de53cd148</id>
<content type='text'>
Parse Type 0 or Local APIC structure.
Also parse the Local APIC Flags as bitfields.

Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Signed-off-by: Abdul Lateef Attar &lt;abdattar@amd.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>Revert "ShellPkg: Adds Local APIC parser to AcpiView"</title>
<updated>2022-08-28T02:17:24+00:00</updated>
<author>
<name>Liming Gao</name>
<email>gaoliming@byosoft.com.cn</email>
</author>
<published>2022-08-26T02:06:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=166c49c212402610b4ae38dbc145db861359a2db'/>
<id>urn:sha1:166c49c212402610b4ae38dbc145db861359a2db</id>
<content type='text'>
This reverts commit d5fd86f256b9ab5b4e3aff70d3c177c18faea892 for tag202208.
This feature will be merged after stable tag 202208 is created.

Signed-off-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Acked-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Adds Local APIC parser to AcpiView</title>
<updated>2022-08-22T09:33:56+00:00</updated>
<author>
<name>Abdul Lateef Attar</name>
<email>abdattar@amd.com</email>
</author>
<published>2022-08-09T06:49:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d5fd86f256b9ab5b4e3aff70d3c177c18faea892'/>
<id>urn:sha1:d5fd86f256b9ab5b4e3aff70d3c177c18faea892</id>
<content type='text'>
Parse Type 0 or Local APIC structure.
Also parse the Local APIC Flags as bitfields.

Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Signed-off-by: Abdul Lateef Attar &lt;abdattar@amd.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: 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:54:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=47d20b54f9a65b08aa602a1866c1b59a69088dfc'/>
<id>urn:sha1:47d20b54f9a65b08aa602a1866c1b59a69088dfc</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the ShellPkg 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: Ray Ni &lt;ray.ni@intel.com&gt;
</content>
</entry>
</feed>
