Please don't remove this functionality. At times we do want to use this library to turn off the cache in preparation for going to another environment (say, loading an OS) and this is useful.
Eugene -----Original Message----- From: edk2-devel [mailto:[email protected]] On Behalf Of Ard Biesheuvel Sent: Tuesday, November 03, 2015 3:17 AM To: [email protected]; [email protected]; [email protected] Cc: [email protected]; Ard Biesheuvel <[email protected]> Subject: [edk2] [PATCH 08/10] ArmCacheMaintenanceLib: disallow whole D-cache maintenance operations The ARM architecture provides no reliable way to clean or invalidate the entire data cache at runtime. The reason is that such maintenance requires the use of set/way maintenance operations, which are suitable only for the kind of maintenance that is carried out when the cache is taken offline entirely. So ASSERT () when any of the CacheMaintenanceLib whole data cache routines are invoked rather than pretending we can do anything meaningful here. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <[email protected]> --- ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c b/ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c index 175d29496c32..8cc1990b3266 100644 --- a/ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c +++ b/ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c @@ -14,6 +14,7 @@ **/ #include <Base.h> #include <Library/ArmLib.h> +#include <Library/DebugLib.h> #include <Library/PcdLib.h> VOID @@ -44,7 +45,6 @@ InvalidateInstructionCache ( VOID ) { - ArmCleanDataCache(); ArmInvalidateInstructionCache(); } @@ -54,7 +54,7 @@ InvalidateDataCache ( VOID ) { - ArmInvalidateDataCache(); + ASSERT (FALSE); } VOID * @@ -76,7 +76,7 @@ WriteBackInvalidateDataCache ( VOID ) { - ArmCleanInvalidateDataCache(); + ASSERT (FALSE); } VOID * @@ -96,7 +96,7 @@ WriteBackDataCache ( VOID ) { - ArmCleanDataCache(); + ASSERT (FALSE); } VOID * -- 1.9.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

