From: Laszlo Ersek <lersek@redhat.com>
To: Jiaxin Wu <jiaxin.wu@intel.com>, edk2-devel@ml01.01.org
Cc: Ye Ting <ting.ye@intel.com>, Fu Siyuan <siyuan.fu@intel.com>,
Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [Patch] NetworkPkg/HttpBootDxe: Request HTTP token notify as a DPC at TPL_CALLBACK
Date: Wed, 15 Feb 2017 13:59:02 +0100 [thread overview]
Message-ID: <eeb432f3-701f-8081-a9bc-add957e34a90@redhat.com> (raw)
In-Reply-To: <1487061740-225728-1-git-send-email-jiaxin.wu@intel.com>
Hi,
this patch breaks the GCC build in two places:
On 02/14/17 09:42, Jiaxin Wu wrote:
> This patch is to update the HTTP token notify as a DPC at
> TPL_CALLBACK to align with UEFI Spec.
>
> Cc: Hegde Nagaraj P <nagaraj-p.hegde@hpe.com>
> Cc: Ye Ting <ting.ye@intel.com>
> Cc: Fu Siyuan <siyuan.fu@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
> ---
> NetworkPkg/HttpBootDxe/HttpBootDxe.h | 3 ++-
> NetworkPkg/HttpBootDxe/HttpBootDxe.inf | 1 +
> NetworkPkg/HttpBootDxe/HttpBootSupport.c | 37 ++++++++++++++++++++++++++++++--
> 3 files changed, 38 insertions(+), 3 deletions(-)
>
> diff --git a/NetworkPkg/HttpBootDxe/HttpBootDxe.h b/NetworkPkg/HttpBootDxe/HttpBootDxe.h
> index 7e8cd9d..2814594 100644
> --- a/NetworkPkg/HttpBootDxe/HttpBootDxe.h
> +++ b/NetworkPkg/HttpBootDxe/HttpBootDxe.h
> @@ -1,9 +1,9 @@
> /** @file
> UEFI HTTP boot driver's private data structure and interfaces declaration.
>
> -Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
> (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> This program and the accompanying materials are licensed and made available under
> the terms and conditions of the BSD License that accompanies this distribution.
> The full text of the license may be found at
> http://opensource.org/licenses/bsd-license.php.
> @@ -34,10 +34,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> #include <Library/DebugLib.h>
> #include <Library/NetLib.h>
> #include <Library/HttpLib.h>
> #include <Library/HiiLib.h>
> #include <Library/PrintLib.h>
> +#include <Library/DpcLib.h>
>
> //
> // UEFI Driver Model Protocols
> //
> #include <Protocol/DriverBinding.h>
> diff --git a/NetworkPkg/HttpBootDxe/HttpBootDxe.inf b/NetworkPkg/HttpBootDxe/HttpBootDxe.inf
> index 982e6b4..ec983ba 100644
> --- a/NetworkPkg/HttpBootDxe/HttpBootDxe.inf
> +++ b/NetworkPkg/HttpBootDxe/HttpBootDxe.inf
> @@ -58,10 +58,11 @@
> DebugLib
> NetLib
> HttpLib
> HiiLib
> PrintLib
> + DpcLib
> UefiHiiServicesLib
> UefiBootManagerLib
>
> [Protocols]
> ## TO_START
> diff --git a/NetworkPkg/HttpBootDxe/HttpBootSupport.c b/NetworkPkg/HttpBootDxe/HttpBootSupport.c
> index 69b129f..d786d72 100644
> --- a/NetworkPkg/HttpBootDxe/HttpBootSupport.c
> +++ b/NetworkPkg/HttpBootDxe/HttpBootSupport.c
> @@ -623,10 +623,43 @@ HttpBootSetHeader (
>
> return EFI_SUCCESS;
> }
>
> /**
> + Notify the callback function when an event is triggered.
> +
> + @param[in] Context The opaque parameter to the function.
> +
> +**/
> +VOID
> +HttpIoNotifyDpc (
> + IN VOID *Context
> + )
> +{
> + *((BOOLEAN *) Context) = TRUE;
> +}
This function definition missed EFIAPI:
typedef
VOID
(EFIAPI *EFI_DPC_PROCEDURE)(
IN VOID *DpcContext
);
> +
> +/**
> + Request HttpIoNotifyDpc as a DPC at TPL_CALLBACK.
> +
> + @param[in] Event The event signaled.
> + @param[in] Context The opaque parameter to the function.
> +
> +**/
> +VOID
> +HttpIoNotify (
> + IN EFI_EVENT Event,
> + IN VOID *Context
> + )
> +{
> + //
> + // Request HttpIoNotifyDpc as a DPC at TPL_CALLBACK
> + //
> + QueueDpc (TPL_CALLBACK, HttpIoNotifyDpc, Context);
> +}
This function also missed EFIAPI:
typedef
VOID
(EFIAPI *EFI_EVENT_NOTIFY)(
IN EFI_EVENT Event,
IN VOID *Context
);
Found by Gerd's Jenkins CI build env.
Thanks
Laszlo
> +
> +/**
> Create a HTTP_IO to access the HTTP service. It will create and configure
> a HTTP child handle.
>
> @param[in] Image The handle of the driver image.
> @param[in] Controller The handle of the controller.
> @@ -728,11 +761,11 @@ HttpIoCreateIo (
> // Create events for variuos asynchronous operations.
> //
> Status = gBS->CreateEvent (
> EVT_NOTIFY_SIGNAL,
> TPL_NOTIFY,
> - HttpBootCommonNotify,
> + HttpIoNotify,
> &HttpIo->IsTxDone,
> &Event
> );
> if (EFI_ERROR (Status)) {
> goto ON_ERROR;
> @@ -741,11 +774,11 @@ HttpIoCreateIo (
> HttpIo->ReqToken.Message = &HttpIo->ReqMessage;
>
> Status = gBS->CreateEvent (
> EVT_NOTIFY_SIGNAL,
> TPL_NOTIFY,
> - HttpBootCommonNotify,
> + HttpIoNotify,
> &HttpIo->IsRxDone,
> &Event
> );
> if (EFI_ERROR (Status)) {
> goto ON_ERROR;
>
next prev parent reply other threads:[~2017-02-15 12:59 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-14 8:42 [Patch] NetworkPkg/HttpBootDxe: Request HTTP token notify as a DPC at TPL_CALLBACK Jiaxin Wu
2017-02-15 2:05 ` Ye, Ting
2017-02-15 2:39 ` Fu, Siyuan
2017-02-15 2:59 ` Subramanian, Sriram
2017-02-15 4:45 ` Hegde, Nagaraj P
2017-02-15 12:59 ` Laszlo Ersek [this message]
2017-02-16 0:30 ` Wu, Jiaxin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=eeb432f3-701f-8081-a9bc-add957e34a90@redhat.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox