NestedInterruptTplLib provides a way for timer interrupt handlers (which must support nested interrupts) to prevent unbounded stack consumption.
The underlying issue was first observed in OvmfPkg, since interrupt storms can arise more easily in virtual machines due to CPU starvation. However, careful investigation shows that the unbounded stack consumption can also occur in physical machines. Move NestedInterruptTplLib from OvmfPkg to MdeModulePkg so that it can more easily be consumed by drivers outside of OvmfPkg. Changes since v1: - Add missing Iret.h to NestedInterruptTplLib sources list Cc: Ray Ni <ray...@intel.com> Cc: Laszlo Ersek <ler...@redhat.com> Cc: Gerd Hoffmann <kra...@redhat.com> Cc: Michael D Kinney <michael.d.kin...@intel.com> Michael Brown (2): MdeModulePkg: Move NestedInterruptTplLib to MdeModulePkg MdeModulePkg: Add missing Iret.h to NestedInterruptTplLib sources list MdeModulePkg/MdeModulePkg.dec | 4 ++++ OvmfPkg/OvmfPkg.dec | 4 ---- OvmfPkg/AmdSev/AmdSevX64.dsc | 2 +- OvmfPkg/CloudHv/CloudHvX64.dsc | 2 +- OvmfPkg/IntelTdx/IntelTdxX64.dsc | 2 +- OvmfPkg/Microvm/MicrovmX64.dsc | 2 +- OvmfPkg/OvmfPkgIa32.dsc | 2 +- OvmfPkg/OvmfPkgIa32X64.dsc | 2 +- OvmfPkg/OvmfPkgX64.dsc | 2 +- OvmfPkg/OvmfXen.dsc | 2 +- UefiPayloadPkg/UefiPayloadPkg.dsc | 2 +- .../Library/NestedInterruptTplLib/NestedInterruptTplLib.inf | 3 ++- OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf | 1 + .../Include/Library/NestedInterruptTplLib.h | 0 .../Library/NestedInterruptTplLib/Iret.h | 0 .../Library/NestedInterruptTplLib/Iret.c | 0 {OvmfPkg => MdeModulePkg}/Library/NestedInterruptTplLib/Tpl.c | 0 17 files changed, 16 insertions(+), 14 deletions(-) rename {OvmfPkg => MdeModulePkg}/Library/NestedInterruptTplLib/NestedInterruptTplLib.inf (90%) rename {OvmfPkg => MdeModulePkg}/Include/Library/NestedInterruptTplLib.h (100%) rename {OvmfPkg => MdeModulePkg}/Library/NestedInterruptTplLib/Iret.h (100%) rename {OvmfPkg => MdeModulePkg}/Library/NestedInterruptTplLib/Iret.c (100%) rename {OvmfPkg => MdeModulePkg}/Library/NestedInterruptTplLib/Tpl.c (100%) -- 2.43.0 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#114119): https://edk2.groups.io/g/devel/message/114119 Mute This Topic: https://groups.io/mt/103852899/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-