1 // 2 // Copyright (c) 2010-2024 Antmicro 3 // 4 // This file is licensed under the MIT License. 5 // Full license text is available in 'licenses/MIT.txt'. 6 // 7 8 using Antmicro.Renode.Core; 9 10 using Range = Antmicro.Renode.Core.Range; 11 12 namespace Antmicro.Renode.Peripherals.CPU 13 { 14 public interface ICPUWithMappedMemory: ICPU 15 { MapMemory(IMappedSegment segment)16 void MapMemory(IMappedSegment segment); RegisterAccessFlags(ulong startAddress, ulong size, bool isIoMemory = false)17 void RegisterAccessFlags(ulong startAddress, ulong size, bool isIoMemory = false); SetMappedMemoryEnabled(Range range, bool enabled)18 void SetMappedMemoryEnabled(Range range, bool enabled); UnmapMemory(Range range)19 void UnmapMemory(Range range); SetPageAccessViaIo(ulong address)20 void SetPageAccessViaIo(ulong address); ClearPageAccessViaIo(ulong address)21 void ClearPageAccessViaIo(ulong address); SetBroadcastDirty(bool enable)22 void SetBroadcastDirty(bool enable); 23 } 24 } 25 26