<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Gtdt, 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>2024-08-01T17:20:10+00:00</updated>
<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: 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>
<entry>
<title>ShellPkg: Update Acpiview GTDT parser to ACPI 6.4</title>
<updated>2021-10-05T16:04:44+00:00</updated>
<author>
<name>Chris Jones</name>
<email>christopher.jones@arm.com</email>
</author>
<published>2021-08-16T14:52:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=942c9bd357d87cc6eed7c8250c213eff218d674e'/>
<id>urn:sha1:942c9bd357d87cc6eed7c8250c213eff218d674e</id>
<content type='text'>
Bugzilla: 3565 (https://bugzilla.tianocore.org/show_bug.cgi?id=3565)

Update the Acpiview GTDT parser to use Acpi64.h and as such rename all
occurences of "SBSA Generic Watchdog" to "Arm Generic Watchdog".

Signed-off-by: Chris Jones &lt;christopher.jones@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg/AcpiView: Refactor configuration</title>
<updated>2020-06-30T01:39:50+00:00</updated>
<author>
<name>Tomas Pilar</name>
<email>Tomas.Pilar@arm.com</email>
</author>
<published>2020-06-19T11:59:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=e18ac66d84e68387dbbe4fd8761b8f3a889534a9'/>
<id>urn:sha1:e18ac66d84e68387dbbe4fd8761b8f3a889534a9</id>
<content type='text'>
A new file and header (AcpiViewConfig.[ch]) is created
that houses the user configuration. This declutters the
core code and improves modularity of the design.

The module level symbols for verbosity, table selection, and
highlighting are refactored into the new file.

Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Cc: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Signed-off-by: Tomas Pilar &lt;tomas.pilar@arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: acpiview: Prevent infinite loop if structure length is 0</title>
<updated>2020-02-20T09:27:00+00:00</updated>
<author>
<name>Krzysztof Koch</name>
<email>krzysztof.koch@arm.com</email>
</author>
<published>2020-02-19T10:23:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b85048261aa5dc0b8fd98ddc4431d8c2a6389b25'/>
<id>urn:sha1:b85048261aa5dc0b8fd98ddc4431d8c2a6389b25</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2534

Extend validation of ACPI structure lengths which are read from the
ACPI table being parsed. Additionally check if the structure 'Length'
field value is positive. If not, stop parsing the faulting table.

Some ACPI tables define internal structures of variable size. The
'Length' field inside the substructure is used to update a pointer used
for table traversal. If the byte-length of the structure is equal to 0,
acpiview can enter an infinite loop. This condition can occur if, for
example, the zero-allocated ACPI table buffer is not fully populated.
This is typically a bug on the ACPI table writer side.

In short, this method helps acpiview recover gracefully from a
zero-valued ACPI structure length.

Signed-off-by: Krzysztof Koch &lt;krzysztof.koch@arm.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: acpiview: GTDT: Validate global pointers before use</title>
<updated>2020-02-11T02:12:45+00:00</updated>
<author>
<name>Krzysztof Koch</name>
<email>krzysztof.koch@arm.com</email>
</author>
<published>2020-01-20T11:13:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=214bc6e20613369453959f1ffd19eda12de41c52'/>
<id>urn:sha1:214bc6e20613369453959f1ffd19eda12de41c52</id>
<content type='text'>
Check if global (in the scope of the GTDT parser) pointers have been
successfully updated before they are used for further table parsing.

Signed-off-by: Krzysztof Koch &lt;krzysztof.koch@arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: acpiview: GTDT: Prevent buffer overruns</title>
<updated>2019-08-12T17:13:46+00:00</updated>
<author>
<name>Krzysztof Koch</name>
<email>krzysztof.koch@arm.com</email>
</author>
<published>2019-08-01T23:44:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1d12f0e671550b7a1ac8f2ce282779069b94073c'/>
<id>urn:sha1:1d12f0e671550b7a1ac8f2ce282779069b94073c</id>
<content type='text'>
Modify the GTDT table parsing logic to prevent reading past the ACPI
buffer lengths provided and to make it consistent with other table
parsers. This includes converting the do-while loop in ParseAcpiGtdt()
into a while loop.

Remove a check which ensures that the entire Platform GT Block
Structure buffer has been parsed. The ACPI specification does not ban
from defining buffers which are larger than the size indicated by the
count and sizes of substructures which constitute it.

Change the data type of the Length parameter to the DumpGTBlock()
function to reflect the width of the respective ACPI structure's
field.

References:
- ACPI 6.3, January 2019, Table 5-124

Signed-off-by: Krzysztof Koch &lt;krzysztof.koch@arm.com&gt;
Reviewed-by: Alexei Fedorov &lt;Alexei.Fedorov@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@inte.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: acpiview: GTDT: Remove redundant forward declarations</title>
<updated>2019-07-19T15:33:03+00:00</updated>
<author>
<name>Krzysztof Koch</name>
<email>krzysztof.koch@arm.com</email>
</author>
<published>2019-07-19T01:05:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2a219e196d7cf6d6df5a6e8856549607e9c0e5ef'/>
<id>urn:sha1:2a219e196d7cf6d6df5a6e8856549607e9c0e5ef</id>
<content type='text'>
Remove redundant forward function declarations by repositioning
blocks of code. This way the code structure is consistent across
ACPI table parsers and the code becomes more concise.

Replace multple use of literal values for GT Block Timer Frame
count/number validation with a macro definition.

Signed-off-by: Krzysztof Koch &lt;krzysztof.koch@arm.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Reviewed-by: Alexei Fedorov &lt;Alexei.Fedorov@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg/acpiview: GTDT updates for ACPI 6.3</title>
<updated>2019-06-10T18:54:04+00:00</updated>
<author>
<name>Pierre Gondois</name>
<email>pierre.gondois@arm.com</email>
</author>
<published>2019-03-19T16:58:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=98f98eb440d65fbe9828bac2968a7cf7e749118c'/>
<id>urn:sha1:98f98eb440d65fbe9828bac2968a7cf7e749118c</id>
<content type='text'>
The ACPI 6.3 specification introduces support to describe
the ARMv8.1 virtual EL2 timers. This patch updates the GTDT parser
of acpiview to decode the EL2 virtual timer fields.

Signed-off-by: Pierre Gondois &lt;pierre.gondois@arm.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Reviewed-by: Alexei Fedorov &lt;Alexei.Fedorov@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: acpiview: Add GT Frame Number validation to GTDT parser</title>
<updated>2019-05-17T15:09:21+00:00</updated>
<author>
<name>Krzysztof Koch</name>
<email>krzysztof.koch@arm.com</email>
</author>
<published>2019-05-16T08:43:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8da8daafc9055ce83804fcc65d0f4cf01b2ca6fe'/>
<id>urn:sha1:8da8daafc9055ce83804fcc65d0f4cf01b2ca6fe</id>
<content type='text'>
The ACPI 6.2 specification mandates that the Generic Timer (GT) Block
Timer Structures must have a frame number in the range 0-7.

Update the GTDT parser to warn if this condition is violated.

Signed-off-by: Krzysztof Koch &lt;krzysztof.koch@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
</content>
</entry>
</feed>
