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