yuzu-emu
/
yuzu-android
Archived
1
0
Fork 0

arm: dynarmic: Cleanup icache op handling

This commit is contained in:
jam1garner 2021-11-21 21:24:07 -05:00
parent c8a67a725d
commit 4d9c9e567e
1 changed files with 9 additions and 10 deletions

View File

@ -88,22 +88,21 @@ public:
void InstructionCacheOperationRaised(Dynarmic::A64::InstructionCacheOperation op, void InstructionCacheOperationRaised(Dynarmic::A64::InstructionCacheOperation op,
VAddr value) override { VAddr value) override {
constexpr u64 ICACHE_LINE_SIZE = 64;
u64 cache_line_start;
switch (op) { switch (op) {
case Dynarmic::A64::InstructionCacheOperation::InvalidateByVAToPoU: case Dynarmic::A64::InstructionCacheOperation::InvalidateByVAToPoU: {
cache_line_start = value & ~(ICACHE_LINE_SIZE - 1); static constexpr u64 ICACHE_LINE_SIZE = 64;
parent.InvalidateCacheRange(cache_line_start, ICACHE_LINE_SIZE);
return;
const u64 cache_line_start = value & ~(ICACHE_LINE_SIZE - 1);
parent.InvalidateCacheRange(cache_line_start, ICACHE_LINE_SIZE);
break;
}
case Dynarmic::A64::InstructionCacheOperation::InvalidateAllToPoU: case Dynarmic::A64::InstructionCacheOperation::InvalidateAllToPoU:
parent.ClearInstructionCache(); parent.ClearInstructionCache();
return; break;
case Dynarmic::A64::InstructionCacheOperation::InvalidateAllToPoUInnerSharable: case Dynarmic::A64::InstructionCacheOperation::InvalidateAllToPoUInnerSharable:
default: default:
LOG_DEBUG(Core_ARM, "Unprocesseed instruction cache operation"); LOG_DEBUG(Core_ARM, "Unprocesseed instruction cache operation: {}", op);
break;
} }
} }