Exemple #1
0
        /// <summary>
        /// Create a new tracking structure for the given "physical" memory block,
        /// with a given "virtual" memory manager that will provide mappings and virtual memory protection.
        /// </summary>
        /// <param name="memoryManager">Virtual memory manager</param>
        /// <param name="block">Physical memory block</param>
        /// <param name="pageSize">Page size of the virtual memory space</param>
        public MemoryTracking(IVirtualMemoryManager memoryManager, int pageSize)
        {
            _memoryManager = memoryManager;
            _pageSize      = pageSize;

            _virtualRegions = new NonOverlappingRangeList <VirtualRegion>();
        }
Exemple #2
0
        /// <summary>
        /// Create a new tracking structure for the given "physical" memory block,
        /// with a given "virtual" memory manager that will provide mappings and virtual memory protection.
        /// </summary>
        /// <param name="memoryManager">Virtual memory manager</param>
        /// <param name="block">Physical memory block</param>
        /// <param name="pageSize">Page size of the virtual memory space</param>
        public MemoryTracking(IVirtualMemoryManager memoryManager, int pageSize, InvalidAccessHandler invalidAccessHandler = null)
        {
            _memoryManager        = memoryManager;
            _pageSize             = pageSize;
            _invalidAccessHandler = invalidAccessHandler;

            _virtualRegions = new NonOverlappingRangeList <VirtualRegion>();
        }
Exemple #3
0
        /// <summary>
        /// Create a new tracking structure for the given "physical" memory block,
        /// with a given "virtual" memory manager that will provide mappings and virtual memory protection.
        /// </summary>
        /// <param name="memoryManager">Virtual memory manager</param>
        /// <param name="block">Physical memory block</param>
        /// <param name="pageSize">Page size of the virtual memory space</param>
        public MemoryTracking(IVirtualMemoryManager memoryManager, MemoryBlock block, int pageSize)
        {
            _memoryManager = memoryManager;
            _block         = block;
            _pageSize      = pageSize;

            _virtualRegions  = new NonOverlappingRangeList <VirtualRegion>();
            _physicalRegions = new NonOverlappingRangeList <PhysicalRegion>();
        }