IntelSiliconPkg IntelVTdDxe: Signal AcpiNotificationFunc() initially
Signal AcpiNotificationFunc() initially for the case that DMAR table has been installed when creating event. Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
parent
c5fcec8c3f
commit
dcd39e09ff
@ -1,6 +1,6 @@
|
|||||||
/** @file
|
/** @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
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -473,7 +473,8 @@ InitializeDmaProtection (
|
|||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
EFI_EVENT ExitBootServicesEvent;
|
EFI_EVENT ExitBootServicesEvent;
|
||||||
EFI_EVENT LegacyBootEvent;
|
EFI_EVENT LegacyBootEvent;
|
||||||
EFI_EVENT Event;
|
EFI_EVENT EventAcpi10;
|
||||||
|
EFI_EVENT EventAcpi20;
|
||||||
|
|
||||||
Status = gBS->CreateEventEx (
|
Status = gBS->CreateEventEx (
|
||||||
EVT_NOTIFY_SIGNAL,
|
EVT_NOTIFY_SIGNAL,
|
||||||
@ -481,7 +482,7 @@ InitializeDmaProtection (
|
|||||||
AcpiNotificationFunc,
|
AcpiNotificationFunc,
|
||||||
NULL,
|
NULL,
|
||||||
&gEfiAcpi10TableGuid,
|
&gEfiAcpi10TableGuid,
|
||||||
&Event
|
&EventAcpi10
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
@ -491,10 +492,17 @@ InitializeDmaProtection (
|
|||||||
AcpiNotificationFunc,
|
AcpiNotificationFunc,
|
||||||
NULL,
|
NULL,
|
||||||
&gEfiAcpi20TableGuid,
|
&gEfiAcpi20TableGuid,
|
||||||
&Event
|
&EventAcpi20
|
||||||
);
|
);
|
||||||
ASSERT_EFI_ERROR (Status);
|
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 (
|
Status = gBS->CreateEventEx (
|
||||||
EVT_NOTIFY_SIGNAL,
|
EVT_NOTIFY_SIGNAL,
|
||||||
TPL_CALLBACK,
|
TPL_CALLBACK,
|
||||||
|
@ -1005,6 +1005,9 @@ GetDmarAcpiTable (
|
|||||||
&AcpiTable
|
&AcpiTable
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
return EFI_NOT_FOUND;
|
||||||
|
}
|
||||||
ASSERT (AcpiTable != NULL);
|
ASSERT (AcpiTable != NULL);
|
||||||
|
|
||||||
mAcpiDmarTable = FindAcpiPtr (
|
mAcpiDmarTable = FindAcpiPtr (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user