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

Reply via email to