summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/FirmwareStorageFormat/Common.py
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2025-01-28 11:26:04 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2025-01-30 13:07:05 +0000
commitfb7497cbf9dc6c1b20976dd0abe724166c463a56 (patch)
treed2d774ac2c85d9afb9a2c48821a297a11813414a /BaseTools/Source/Python/FirmwareStorageFormat/Common.py
parent0422dd0669b9e6f50c4d07e3496a2173b8eb611f (diff)
downloadedk2-fb7497cbf9dc6c1b20976dd0abe724166c463a56.tar.gz
edk2-fb7497cbf9dc6c1b20976dd0abe724166c463a56.tar.bz2
edk2-fb7497cbf9dc6c1b20976dd0abe724166c463a56.zip
ArmPkg/CpuDxe: Replace DEPEX on h/w protocol with event notification
Currently, ArmPkg's CpuDxe DEPEXes on the hardware interrupt protocol, to ensure that it is not dispatched before the GIC driver. This way, the CpuDxe driver is guaranteed not to enable interrupts on the CPU side before the GIC driver has had the opportunity to configure the interrupts on the distribution side. However, this prevents the GIC driver from using any of the CPU arch protocol interfaces, such as mapping memory, which it may need to do on platforms where the GIC MMIO regions are not mapped yet when the driver is started. So instead, use a protocol notification on the hardware interrupt protocol, which is installed by the GIC driver (as well as other existing interrupt controller drivers for platforms that do not implement a GIC) after it starts up and deasserts and disables all incoming interrupts. Manipulate the interrupt state as usual only after this notification has been received. Before that, keep track of the caller's intent regarding the interrupt enabled state in a shadow variable, but do not actually enable interrupt delivery to the CPU just yet. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'BaseTools/Source/Python/FirmwareStorageFormat/Common.py')
0 files changed, 0 insertions, 0 deletions