Issue cache flush before FWU reset in Shell
Since the commit below was reverted
24f5aa59b5
. The cache flush
need to be moved into the place where data consistency
across warm reset is required. The patch added the WBINVD
to flush the cache before "fwupdate" command issues warm
reset.
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
This commit is contained in:
parent
50e5c23594
commit
9aa774f635
|
@ -178,6 +178,7 @@ ShellCommandFwUpdateFunc (
|
|||
//
|
||||
PlatformService = (PLATFORM_SERVICE *) GetServiceBySignature (PLATFORM_SERVICE_SIGNATURE);
|
||||
if (PlatformService != NULL && PlatformService->ResetSystem != NULL) {
|
||||
AsmWbinvd ();
|
||||
PlatformService->ResetSystem(EfiResetWarm);
|
||||
}
|
||||
|
||||
|
|
|
@ -78,6 +78,7 @@ ShellCommandFwUpdateFunc (
|
|||
//
|
||||
PlatformService = (PLATFORM_SERVICE *) GetServiceBySignature (PLATFORM_SERVICE_SIGNATURE);
|
||||
if (PlatformService != NULL && PlatformService->ResetSystem != NULL) {
|
||||
AsmWbinvd ();
|
||||
PlatformService->ResetSystem(EfiResetWarm);
|
||||
}
|
||||
|
||||
|
|
|
@ -78,6 +78,7 @@ ShellCommandFwUpdateFunc (
|
|||
//
|
||||
PlatformService = (PLATFORM_SERVICE *) GetServiceBySignature (PLATFORM_SERVICE_SIGNATURE);
|
||||
if (PlatformService != NULL && PlatformService->ResetSystem != NULL) {
|
||||
AsmWbinvd ();
|
||||
PlatformService->ResetSystem(EfiResetWarm);
|
||||
}
|
||||
|
||||
|
|
|
@ -78,6 +78,7 @@ ShellCommandFwUpdateFunc (
|
|||
//
|
||||
PlatformService = (PLATFORM_SERVICE *) GetServiceBySignature (PLATFORM_SERVICE_SIGNATURE);
|
||||
if (PlatformService != NULL && PlatformService->ResetSystem != NULL) {
|
||||
AsmWbinvd ();
|
||||
PlatformService->ResetSystem(EfiResetWarm);
|
||||
}
|
||||
|
||||
|
|
|
@ -75,6 +75,7 @@ ShellCommandFwUpdateFunc (
|
|||
//
|
||||
PlatformService = (PLATFORM_SERVICE *) GetServiceBySignature (PLATFORM_SERVICE_SIGNATURE);
|
||||
if (PlatformService != NULL && PlatformService->ResetSystem != NULL) {
|
||||
AsmWbinvd ();
|
||||
PlatformService->ResetSystem(EfiResetWarm);
|
||||
}
|
||||
|
||||
|
|
|
@ -78,6 +78,7 @@ ShellCommandFwUpdateFunc (
|
|||
//
|
||||
PlatformService = (PLATFORM_SERVICE *) GetServiceBySignature (PLATFORM_SERVICE_SIGNATURE);
|
||||
if (PlatformService != NULL && PlatformService->ResetSystem != NULL) {
|
||||
AsmWbinvd ();
|
||||
PlatformService->ResetSystem(EfiResetWarm);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue