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