On 9 November 2015 at 13:43, Leif Lindholm <[email protected]> wrote: > OK, so revisiting this after deciding ARM9 has already been broken for > months (at least, possibly always) without anyone complaining. > > On Tue, Nov 03, 2015 at 11:16:25AM +0100, Ard Biesheuvel wrote: >> This is a followup to the single patch I sent out yesterday. Of course, it >> was just the tip of the iceberg, and you know what happens when you make a >> clean spot :-) >> >> Anyway, this is a first pass at cleaning up the cache maintenance in the >> various ARM packages. >> >> Patch #1 is Mark Rutland's patch he sent out yesterday as well, I only >> cleaned up the commitlog to refer to ArmPkg rather than ArmVirtPkg, and >> mention AArch64 explicitly. >> >> Patch #2 fixes a typo 'ArmDataSyncronizationBarrier' across all the >> packages where it occurred. >> >> Patch #3 removes the ARM9 version of ArmLib. There are no users, nor are >> there likely to be new ones since ARM9 is so old. > > Can you roll in the deletion of ArmPkg/Include/Chipset/ARM926EJ-S.h > into this one? Also, can you move this one before #2, so we don't get > the state with ArmDataSyncronizationBarrier misspelt in ArmLib/Arm9 > but fixed elsewhere? > >> Patch #4 removes the 'clean to PoU by set/way' routines. >> >> Patch #5 removes the ARM_CACHE_INFO routines that mostly infer cache geometry >> from CCSIDR which is explicitly forbidden by the architecture. Since there >> are >> no users anyway, I just removed all of it. > > Previous objections I raised on this was on the differing CTR format > between pre-v7 and v7+. Since we now no longer support pre-v7, I'm > happy with this. > >> Patch #6 fixes another illegal use of CCSIDR: cache maintenance by virtual >> address needs to use the stride reported in CTR not CCSIDR >> >> Patch #7 is based on the patch 'ArmPkg/ArmLib: remove pointless sync barriers >> after each cache op' I sent out yesterday. As Mark Rutland and Leif pointed >> out, >> the MVA outer loop (unlike the set/way outer loop) did not have the barriers >> yet >> at the end, so this version adds those as well, and updates the ARMv7 side >> too. >> >> Patch #8 updates the ArmCacheMaintenanceLib whole-cache maintenance routines >> to >> ASSERT() rather than silently invoke the data cache maintenance by set/way >> routines which we know are not appropriate at runtime. >> >> Patch #9 and #10 remove some other uses of ArmInvalidateDataCache() at >> startup >> time which are not appropriate at the UEFI firmware level. >> >> Ard Biesheuvel (9): >> ArmPkg BeagleBoardPkg Omap35xxPkg: fix typo >> 'ArmDataSyncronizationBarrier' >> ArmPkg/ArmLib: remove unused ARM9 support >> ArmPkg/ArmLib: remove unused ArmCleanDataCacheToPoU() >> ArmPkg/ArmLib: remove CCSIDR based cache info routines >> ArmPkg/ArmLib: retrieve cache line length from CTR not CCSIDR >> ArmPkg/ArmLib: move cache maintenance sync barriers out of loop >> ArmCacheMaintenanceLib: disallow whole D-cache maintenance operations >> ArmVirtPkg/PrePi: do not invalidate the entire data cache at startup >> ArmPlatformPkg: do not invalidate the entire data cache at startup > > With the above addressed, for the series: > Reviewed-by: Leif Lindholm <[email protected]> >
Thanks. I addressed your comments, and committed the series as SVN r18748 .. r18759 -- Ard. _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

