mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-22 12:21:18 +00:00
kernel_ldr: bring initial cache flush in line with Nintendo
This commit is contained in:
parent
6ad3219656
commit
10ed579c38
1 changed files with 2 additions and 0 deletions
|
@ -384,11 +384,13 @@ namespace ams::kern::arch::arm64::cpu {
|
||||||
/* Store cache from L1 up to (level of coherence - 1). */
|
/* Store cache from L1 up to (level of coherence - 1). */
|
||||||
for (int level = 0; level < levels_of_coherency - 1; ++level) {
|
for (int level = 0; level < levels_of_coherency - 1; ++level) {
|
||||||
PerformCacheOperationBySetWayImpl<true>(level, StoreDataCacheLineBySetWayImpl);
|
PerformCacheOperationBySetWayImpl<true>(level, StoreDataCacheLineBySetWayImpl);
|
||||||
|
DataSynchronizationBarrier();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Flush cache from (level of coherence - 1) down to L0. */
|
/* Flush cache from (level of coherence - 1) down to L0. */
|
||||||
for (int level = levels_of_coherency; level > 0; --level) {
|
for (int level = levels_of_coherency; level > 0; --level) {
|
||||||
PerformCacheOperationBySetWayImpl<true>(level - 1, FlushDataCacheLineBySetWayImpl);
|
PerformCacheOperationBySetWayImpl<true>(level - 1, FlushDataCacheLineBySetWayImpl);
|
||||||
|
DataSynchronizationBarrier();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue