mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	arm: dynarmic: Cleanup icache op handling
This commit is contained in:
		@@ -88,22 +88,21 @@ public:
 | 
			
		||||
 | 
			
		||||
    void InstructionCacheOperationRaised(Dynarmic::A64::InstructionCacheOperation op,
 | 
			
		||||
                                         VAddr value) override {
 | 
			
		||||
        constexpr u64 ICACHE_LINE_SIZE = 64;
 | 
			
		||||
        u64 cache_line_start;
 | 
			
		||||
 | 
			
		||||
        switch (op) {
 | 
			
		||||
        case Dynarmic::A64::InstructionCacheOperation::InvalidateByVAToPoU:
 | 
			
		||||
            cache_line_start = value & ~(ICACHE_LINE_SIZE - 1);
 | 
			
		||||
            parent.InvalidateCacheRange(cache_line_start, ICACHE_LINE_SIZE);
 | 
			
		||||
            return;
 | 
			
		||||
        case Dynarmic::A64::InstructionCacheOperation::InvalidateByVAToPoU: {
 | 
			
		||||
            static constexpr u64 ICACHE_LINE_SIZE = 64;
 | 
			
		||||
 | 
			
		||||
            const u64 cache_line_start = value & ~(ICACHE_LINE_SIZE - 1);
 | 
			
		||||
            parent.InvalidateCacheRange(cache_line_start, ICACHE_LINE_SIZE);
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
        case Dynarmic::A64::InstructionCacheOperation::InvalidateAllToPoU:
 | 
			
		||||
            parent.ClearInstructionCache();
 | 
			
		||||
            return;
 | 
			
		||||
 | 
			
		||||
            break;
 | 
			
		||||
        case Dynarmic::A64::InstructionCacheOperation::InvalidateAllToPoUInnerSharable:
 | 
			
		||||
        default:
 | 
			
		||||
            LOG_DEBUG(Core_ARM, "Unprocesseed instruction cache operation");
 | 
			
		||||
            LOG_DEBUG(Core_ARM, "Unprocesseed instruction cache operation: {}", op);
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user