/// <summary> /// MemoryRange ctor /// </summary> /// <param name="baseAddress">base address of memory range</param> /// <param name="mask">memory address mask</param> /// <param name="readDelegate">delegate to call on memory read</param> /// <param name="writeDelegate">delegate to call on memory write</param> public MemoryRange(uint baseAddress, uint mask, pluginMemoryAccessReadEventHandler readDelegate, pluginMemoryAccessWriteEventHandler writeDelegate) { _baseAddress = baseAddress; _mask = mask; _readDelegate = readDelegate; _writeDelegate = writeDelegate; }
/// <summary> /// A plugin is requesting a range of memory be reserved for itself. Simply add it to the /// memoryMaps list. If the list does not exist, create it. /// </summary> /// <param name="baseAddress">base address of memory block</param> /// <param name="mask">the mask to apply for test</param> /// <param name="readDelegate">delegate of read function to execute on memory read</param> /// <param name="writeDelegate">delegate of write function to execute on memory write</param> void IARMHost.RequestMemoryBlock(uint baseAddress, uint mask, pluginMemoryAccessReadEventHandler readDelegate, pluginMemoryAccessWriteEventHandler writeDelegate) { mMemoryMaps.Add(new MemoryRange(baseAddress, mask, readDelegate, writeDelegate)); }