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.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Michael D Kinney <michael.d.kinney@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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-