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 277EFD8080A for ; Tue, 10 Oct 2023 00:19:05 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=uCfls2JEkAjMZbH36VSzbVIkBMid0N1G9aLd3EeAyrU=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version: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=1696897143; v=1; b=mnttFYwSNzSnEWmSJjLZ1sWFHK1bYK8v8LRUDT1xEbkUbMkvYkeMbbclVD8Dx7Ze2SdFbJZe yl9RZJj1tkjngJ/bFsqJurw/3LoIa9iVJyV39SGOP2XL2olhLNGS4NpEtnXPuqLjyaYwWTFYtqv sMUoDNFJlHNg7DZuMjRR8/cA= X-Received: by 127.0.0.2 with SMTP id wpywYY7687511x2uTNMyFfOS; Mon, 09 Oct 2023 17:19:03 -0700 X-Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by mx.groups.io with SMTP id smtpd.web11.79650.1696897143077884638 for ; Mon, 09 Oct 2023 17:19:03 -0700 X-Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-1c5ff5f858dso33816525ad.2 for ; Mon, 09 Oct 2023 17:19:03 -0700 (PDT) X-Gm-Message-State: N6leYEKCJMuT3rajzgkaTVRJx7686176AA= X-Google-Smtp-Source: AGHT+IGJY/l3YNuV1uTcrEYxOKpJhGgj788e6PAnDfR5opzKNiyYoJ7+M1lc0m2elq528TcLbppPJg== X-Received: by 2002:a17:902:f68f:b0:1c4:2b87:76f0 with SMTP id l15-20020a170902f68f00b001c42b8776f0mr15579722plg.47.1696897142347; Mon, 09 Oct 2023 17:19:02 -0700 (PDT) X-Received: from MININT-0U7P5GU.redmond.corp.microsoft.com ([2001:4898:80e8:3:ad0d:fa50:c6ca:fefc]) by smtp.gmail.com with ESMTPSA id a12-20020a170902ee8c00b001acae9734c0sm10214809pld.266.2023.10.09.17.19.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Oct 2023 17:19:01 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Mike Turner Subject: [edk2-devel] [PATCH v2 2/4] MdePkg: DelayedDispatch: Added WaitOnEvent interface Date: Mon, 9 Oct 2023 17:18:53 -0700 Message-ID: <20231010001856.1567-3-kuqin12@gmail.com> In-Reply-To: <20231010001856.1567-1-kuqin12@gmail.com> References: <20231010001856.1567-1-kuqin12@gmail.com> MIME-Version: 1.0 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,kuqin12@gmail.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=mnttFYwS; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=gmail.com (policy=none) REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4496 This change adds a new interface for the delayed dispatch PPI. This new addition allows functional components relying on delayed dispatch callbacks to be managed/dispatched with definitive order. The full defintion has been added into PI spec. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Co-authored-by: Mike Turner Signed-off-by: Kun Qin --- Notes: v2: - Fixed PI spec version number to v1.8 [Liming] MdePkg/Include/Ppi/DelayedDispatch.h | 26 ++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/MdePkg/Include/Ppi/DelayedDispatch.h b/MdePkg/Include/Ppi/Dela= yedDispatch.h index 098d57758551..0efcfdbfced6 100644 --- a/MdePkg/Include/Ppi/DelayedDispatch.h +++ b/MdePkg/Include/Ppi/DelayedDispatch.h @@ -1,5 +1,5 @@ /** @file=0D - EFI Delayed Dispatch PPI as defined in the PI 1.7 Specification=0D + EFI Delayed Dispatch PPI as defined in the PI 1.8 Specification=0D =0D Provide timed event service in PEI=0D =0D @@ -50,6 +50,7 @@ This service is the single member function of the EFI_DEL= AYED_DISPATCH_PPI @param[in] This Pointer to the EFI_DELAYED_DISPATCH_PPI instan= ce=0D @param[in] Function Function to call back=0D @param[in] Context Context data=0D + @param[in] UniqueId GUID for this Delayed Dispatch request.=0D @param[in] Delay Delay interval=0D =0D @retval EFI_SUCCESS Function successfully loaded=0D @@ -63,9 +64,29 @@ EFI_STATUS IN EFI_DELAYED_DISPATCH_PPI *This,=0D IN EFI_DELAYED_DISPATCH_FUNCTION Function,=0D IN UINT64 Context,=0D + IN EFI_GUID *UniqueId OPTIONAL,=0D IN UINT32 Delay=0D );=0D =0D +/**=0D + Wait on a registered Delayed Dispatch unit that has a UniqueId. Continu= e=0D + to dispatch all registered delayed dispatch entries until *ALL* entries = with=0D + UniqueId have completed.=0D +=0D + @param[in] This The Delayed Dispatch PPI pointer.=0D + @param[in] UniqueId UniqueId of delayed dispatch entry.=0D +=0D + @retval EFI_SUCCESS The operation succeeds.=0D + @retval EFI_INVALID_PARAMETER The parameters are invalid.=0D +=0D +**/=0D +typedef=0D +EFI_STATUS=0D +(EFIAPI *EFI_DELAYED_DISPATCH_WAIT_ON_EVENT)(=0D + IN EFI_DELAYED_DISPATCH_PPI *This,=0D + IN EFI_GUID *UniqueId=0D + );=0D +=0D ///=0D /// This PPI is a pointer to the Delayed Dispatch Service.=0D /// This service will be published by the Pei Foundation. The PEI Foundati= on=0D @@ -73,7 +94,8 @@ EFI_STATUS /// execution.=0D ///=0D struct _EFI_DELAYED_DISPATCH_PPI {=0D - EFI_DELAYED_DISPATCH_REGISTER Register;=0D + EFI_DELAYED_DISPATCH_REGISTER Register;=0D + EFI_DELAYED_DISPATCH_WAIT_ON_EVENT WaitOnEvent;=0D };=0D =0D extern EFI_GUID gEfiPeiDelayedDispatchPpiGuid;=0D --=20 2.42.0.windows.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109468): https://edk2.groups.io/g/devel/message/109468 Mute This Topic: https://groups.io/mt/101865809/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-