audk/DynamicTablesPkg/Library/FdtHwInfoParserLib
Ard Biesheuvel a6f1433e95 DynamicTablesPkg/ArmGicCParser: Parse VGIC interrupt for all CPUs
There are two issues in the GIC FDT parsing code:
- the GICC Flags 'Enabled' bit is overwritten when parsing the VGIC
  Maintenance Interrupt, whose trigger type occupies another bit in the
  same field;
- only the first CPU's Flags field is updated.

This breaks both SMP boot and KVM support on Linux, given that the boot
CPU is disabled in the MADT, and the VGIC maintenance interrupt is set
to 0x0 on all others.

Fix this, by OR'ing the trigger type into the field, and by iterating
over all discovered CPUs.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2024-11-23 16:39:46 +01:00
..
Arm DynamicTablesPkg/ArmGicCParser: Parse VGIC interrupt for all CPUs 2024-11-23 16:39:46 +01:00
Pci DynamicTablesPkg/FdtHwInfoParserLib: add missing resolutions/includes 2024-09-27 07:40:06 +00:00
Serial DynamicTablesPkg/FdtHwInfoParserLib: add missing resolutions/includes 2024-09-27 07:40:06 +00:00
CmObjectDescUtility.c DynamicTablesPkg: Move Cm Reference object to Arch Common 2024-07-29 13:44:55 +00:00
CmObjectDescUtility.h DynamicTablesPkg: Move Cm Reference object to Arch Common 2024-07-29 13:44:55 +00:00
FdtHwInfoParser.c DynamicTablesPkg: FdtHwInfoParserLib: Refactor to prepare for other archs 2024-07-29 13:44:55 +00:00
FdtHwInfoParser.h DynamicTablesPkg: FdtHwInfoParserLib: Refactor to prepare for other archs 2024-07-29 13:44:55 +00:00
FdtHwInfoParserInclude.h DynamicTablesPkg: FdtHwInfoParserLib: Move ArmLib.h to ArmGicCParser.c 2024-07-29 13:44:55 +00:00
FdtHwInfoParserLib.inf DynamicTablesPkg/FdtHwInfoParserLib: add missing resolutions/includes 2024-09-27 07:40:06 +00:00
FdtUtility.c DynamicTablesPkg/FdtHwInfoParserLib: add missing resolutions/includes 2024-09-27 07:40:06 +00:00
FdtUtility.h DynamicTablesPkg: FdtHwInfoParserLib: Create wrapper to get INTC addr cells 2024-07-29 13:44:55 +00:00