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 using System;
8 using Antmicro.Renode.Logging.Profiling;
9 
10 namespace Antmicro.Renode.Peripherals.CPU
11 {
12     public interface ICPUWithMemoryAccessHooks : ICPU
13     {
14         // The arguments to a hook have the following meaning:
15         // <ulong virtualPC, MemoryOperation operation, ulong virtualAddress, ulong physicalAddress, ulong value>
SetHookAtMemoryAccess(Action<ulong, MemoryOperation, ulong, ulong, ulong> hook)16         void SetHookAtMemoryAccess(Action<ulong, MemoryOperation, ulong, ulong, ulong> hook);
17     }
18 }
19 
20