]> git.proxmox.com Git - mirror_edk2.git/commit - ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c
ArmCacheMaintenanceLib: disallow whole D-cache maintenance operations
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Mon, 9 Nov 2015 13:27:36 +0000 (13:27 +0000)
committerabiesheuvel <abiesheuvel@Edk2>
Mon, 9 Nov 2015 13:27:36 +0000 (13:27 +0000)
commitf977e6500a3c8d0d9d986c1b5be0cf495edc5500
tree3fcfbbe894dbdc7555fc430fde02577ce84b00c4
parentc722289324223c472fcf920f860dc4b49314dedf
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 <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18756 6f19259b-4bc3-4df7-8a09-765794883524
ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c