From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id A50CF740039 for ; Tue, 23 Jan 2024 15:31:14 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=cl0ibpKPJBobyLFFm5XGbQqYGcz3EZgrqulCkeMK1Kc=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:Feedback-ID:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1706023873; v=1; b=GZraXquHhhoAZOcCUOFHDKBDwV6n357kNRd3xwQj7pdDNgmI66dd1knYI4OikeO2ZCEKkD/L o4ZobalG/VC66B6kDJ5Cs0jH5wgnt649PJ8QztWe6nix+AkOz0XdhMw5Wd4aAuTR9+vootPjNWg Jlfca8qAvnKfWxrM3XuEiL2U= X-Received: by 127.0.0.2 with SMTP id 775RYY7687511xlYTMrmVtMH; Tue, 23 Jan 2024 07:31:13 -0800 X-Received: from a7-20.smtp-out.eu-west-1.amazonses.com (a7-20.smtp-out.eu-west-1.amazonses.com [54.240.7.20]) by mx.groups.io with SMTP id smtpd.web11.15650.1706023871929543121 for ; Tue, 23 Jan 2024 07:31:12 -0800 From: "Michael Brown" To: devel@edk2.groups.io Cc: Ray Ni , Gerd Hoffmann , Laszlo Ersek , Michael Brown Subject: [edk2-devel] [PATCH v3 0/5] MdeModulePkg: Move NestedInterruptTplLib to MdeModulePkg Date: Tue, 23 Jan 2024 15:31:10 +0000 Message-ID: <0102018d36f25e72-b10e7a30-b15d-452b-8d03-4d3e97f93ed3-000000@eu-west-1.amazonses.com> In-Reply-To: <17ACFF3FDD20CD9A.13754@groups.io> References: <17ACFF3FDD20CD9A.13754@groups.io> MIME-Version: 1.0 X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on blyat.fensystems.co.uk Feedback-ID: 1.eu-west-1.fspj4M/5bzJ9NLRzJP0PaxRwxrpZqiDQJ1IF94CF2TA=:AmazonSES X-SES-Outgoing: 2024.01.23-54.240.7.20 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mcb30@ipxe.org List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: aliSEVWDgkpOGieMGrHFxYvjx7686176AA= Content-Transfer-Encoding: 8bit X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=GZraXquH; dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io 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, adding a self-test capability and support for Arm CPUs. Changes since v1: - Add missing Iret.h to NestedInterruptTplLib sources list Changes since v2: - Remove obsolete dependency of LocalApicTimerDxe on OvmfPkg - Add to MdeModulePkg.dsc for build coverage - Add self-tests - Add support for Arm CPUs Michael Brown (5): MdeModulePkg: Move NestedInterruptTplLib to MdeModulePkg MdeModulePkg: Add missing Iret.h to NestedInterruptTplLib sources list MdeModulePkg: Do nothing on NestedInterruptRestoreTPL(TPL_HIGH_LEVEL) MdeModulePkg: Add self-tests for NestedInterruptTplLib MdeModulePkg: Extend NestedInterruptTplLib to support Arm CPUs MdeModulePkg/MdeModulePkg.dec | 8 + OvmfPkg/OvmfPkg.dec | 4 - MdeModulePkg/MdeModulePkg.dsc | 1 + 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 +- .../NestedInterruptTplLib.inf | 9 +- .../LocalApicTimerDxe/LocalApicTimerDxe.inf | 2 +- .../Include/Library/NestedInterruptTplLib.h | 4 + .../Library/NestedInterruptTplLib/Iret.h | 0 .../Library/NestedInterruptTplLib/Iret.c | 18 +++ .../Library/NestedInterruptTplLib/Tpl.c | 142 ++++++++++++++++++ 18 files changed, 191 insertions(+), 15 deletions(-) rename {OvmfPkg => MdeModulePkg}/Library/NestedInterruptTplLib/NestedInterruptTplLib.inf (78%) rename {OvmfPkg => MdeModulePkg}/Include/Library/NestedInterruptTplLib.h (94%) rename {OvmfPkg => MdeModulePkg}/Library/NestedInterruptTplLib/Iret.h (100%) rename {OvmfPkg => MdeModulePkg}/Library/NestedInterruptTplLib/Iret.c (72%) rename {OvmfPkg => MdeModulePkg}/Library/NestedInterruptTplLib/Tpl.c (64%) -- 2.43.0 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#114206): https://edk2.groups.io/g/devel/message/114206 Mute This Topic: https://groups.io/mt/103911600/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-