]> git.proxmox.com Git - mirror_edk2.git/commit
OvmfPkg: Use NestedInterruptTplLib in nested interrupt handlers
authorMichael Brown <mcb30@ipxe.org>
Fri, 9 Dec 2022 10:20:27 +0000 (10:20 +0000)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 23 Dec 2022 14:44:48 +0000 (14:44 +0000)
commita086f4a63bc0295b0b02f8ee76381c6b437122bf
tree0b29dd5164aca8a8ce35803c0cc16b077e6f6780
parenta24fbd6061254ca74d6c6ed953dec6f796a45c76
OvmfPkg: Use NestedInterruptTplLib in nested interrupt handlers

Prevent stack underrun in the event of a timer interrupt storm in
LocalApicTimerDxe and 8254TimerDxe interrupt handlers by using the
helper functions provided by NestedInterruptTplLib.

This fixes the same problem as addressed in commit 239b50a86
("OvmfPkg: End timer interrupt later to avoid stack overflow under
load"), but does so without breaking nested timer interrupts.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2815
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4162
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Acked-by: Laszlo Ersek <lersek@redhat.com>
12 files changed:
OvmfPkg/8254TimerDxe/8254Timer.inf
OvmfPkg/8254TimerDxe/Timer.c
OvmfPkg/AmdSev/AmdSevX64.dsc
OvmfPkg/CloudHv/CloudHvX64.dsc
OvmfPkg/IntelTdx/IntelTdxX64.dsc
OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.c
OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
OvmfPkg/Microvm/MicrovmX64.dsc
OvmfPkg/OvmfPkgIa32.dsc
OvmfPkg/OvmfPkgIa32X64.dsc
OvmfPkg/OvmfPkgX64.dsc
OvmfPkg/OvmfXen.dsc