Reviewed-by: jiewen....@intel.com

> -----Original Message-----
> From: Zeng, Star
> Sent: Thursday, January 4, 2018 11:31 AM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star <star.z...@intel.com>; Yao, Jiewen <jiewen....@intel.com>
> Subject: [PATCH] IntelSiliconPkg IntelVTdDxe: Signal AcpiNotificationFunc()
> initially
> 
> Signal AcpiNotificationFunc() initially for the case that
> DMAR table has been installed when creating event.
> 
> Cc: Jiewen Yao <jiewen....@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Star Zeng <star.z...@intel.com>
> ---
>  IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.c | 16
> ++++++++++++----
>  IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmarAcpiTable.c |  3 +++
>  2 files changed, 15 insertions(+), 4 deletions(-)
> 
> diff --git a/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.c
> b/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.c
> index 37b3b19bce90..648f64c20b77 100644
> --- a/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.c
> +++ b/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.c
> @@ -1,6 +1,6 @@
>  /** @file
> 
> -  Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR>
>    This program and the accompanying materials
>    are licensed and made available under the terms and conditions of the BSD
> License
>    which accompanies this distribution.  The full text of the license may be
> found at
> @@ -473,7 +473,8 @@ InitializeDmaProtection (
>    EFI_STATUS  Status;
>    EFI_EVENT   ExitBootServicesEvent;
>    EFI_EVENT   LegacyBootEvent;
> -  EFI_EVENT   Event;
> +  EFI_EVENT   EventAcpi10;
> +  EFI_EVENT   EventAcpi20;
> 
>    Status = gBS->CreateEventEx (
>                    EVT_NOTIFY_SIGNAL,
> @@ -481,7 +482,7 @@ InitializeDmaProtection (
>                    AcpiNotificationFunc,
>                    NULL,
>                    &gEfiAcpi10TableGuid,
> -                  &Event
> +                  &EventAcpi10
>                    );
>    ASSERT_EFI_ERROR (Status);
> 
> @@ -491,10 +492,17 @@ InitializeDmaProtection (
>                    AcpiNotificationFunc,
>                    NULL,
>                    &gEfiAcpi20TableGuid,
> -                  &Event
> +                  &EventAcpi20
>                    );
>    ASSERT_EFI_ERROR (Status);
> 
> +  //
> +  // Signal the events initially for the case
> +  // that DMAR table has been installed.
> +  //
> +  gBS->SignalEvent (EventAcpi20);
> +  gBS->SignalEvent (EventAcpi10);
> +
>    Status = gBS->CreateEventEx (
>                    EVT_NOTIFY_SIGNAL,
>                    TPL_CALLBACK,
> diff --git a/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmarAcpiTable.c
> b/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmarAcpiTable.c
> index ce350bafbe3f..b16bd93d53f1 100644
> --- a/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmarAcpiTable.c
> +++ b/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmarAcpiTable.c
> @@ -1005,6 +1005,9 @@ GetDmarAcpiTable (
>                 &AcpiTable
>                 );
>    }
> +  if (EFI_ERROR (Status)) {
> +    return EFI_NOT_FOUND;
> +  }
>    ASSERT (AcpiTable != NULL);
> 
>    mAcpiDmarTable = FindAcpiPtr (
> --
> 2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to