diff options
| author | Abdul Lateef Attar <AbdulLateef.Attar@amd.com> | 2025-12-07 09:57:29 +0300 |
|---|---|---|
| committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2025-12-11 13:37:26 +0300 |
| commit | 14aa197f71cc7bc7bb7ecd8184dfb062fd581d03 (patch) | |
| tree | 3c6c090e8239b32b1a505aa350abfd8e38dcf1fd /DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c | |
| parent | d2cbaefc082294eadaa30a3d5f0fa8ba264a574a (diff) | |
| download | edk2-14aa197f71cc7bc7bb7ecd8184dfb062fd581d03.tar.xz | |
DynamicTablesPkg/AmlLib: Remove invalid ASSERT for IRQ macro generation
The ACPI specification does not require legacy IRQs (x86) to be
ActiveLow when EdgeTriggered or vice-versa.
Hence the ASSERT checking for ActiveLow when EdgeTriggered is
removed for IRQ macro generation non-ARM architecture.
The IRQNoFlags macro defaults to EdgeTrigger and ActiveHigh
configuration, demonstrating that this combination is valid.
Reference: ACPI Specification 6.5
- Section 19.6.66: IRQ (Interrupt Resource Descriptor Macro)
- Section 19.6.67: IRQNoFlags (Interrupt Resource Descriptor Macro)
Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
Diffstat (limited to 'DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c')
| -rw-r--r-- | DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c index 8be5eabf3a..2984a65ad8 100644 --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c @@ -1724,6 +1724,7 @@ AmlCodeGenRdIrq ( return EFI_INVALID_PARAMETER;
}
+ #if defined (MDE_CPU_ARM) || defined (MDE_CPU_AARCH64)
if ((IsEdgeTriggered && !IsActiveLow) ||
(!IsEdgeTriggered && IsActiveLow))
{
@@ -1731,6 +1732,8 @@ AmlCodeGenRdIrq ( return EFI_INVALID_PARAMETER;
}
+ #endif
+
if ((IrqList == NULL) || (IrqCount == 0) || (IrqCount > 16)) {
ASSERT_EFI_ERROR (EFI_INVALID_PARAMETER);
return EFI_INVALID_PARAMETER;
|
