|
<< Click to Display Table of Contents >> Navigation: ASA-EMulatR Reference Guide > Introduction > Architecture Overview > Chapter 15 – Memory System Implementation Details > 15.14 Repository Directory Mapping |
All memory system source code is located in the repository at https://github.com/timothyPeer/EmulatRAppUni.git, organized as follows:
memoryLib/
├── GuestMemory.h (~286 lines) PA router class
├── GuestMemory.cpp (~431 lines) Routing implementation
├── SafeMemory.h (~253 lines) Offset-based RAM interface
├── SafeMemory.cpp (~424 lines) Storage implementation
├── SparseMemoryBacking.h (~507 lines) On-demand 64 KB page allocator
├── WriteBufferManager.h (~218 lines) Per-CPU write buffers
├── WriteBufferManager.cpp (~272 lines) Drain / enqueue / dequeue
├── MemoryBarrierCoordinator.h (~278 lines) SMP barrier coordination
├── MemorySpan.h (~121 lines) Safe buffer span
├── memory_core.h (~412 lines) MEM_STATUS, PlatformAddressMap, Aperture
├── SrmRomLoader.h / .cpp (~392 lines) SRM firmware decompression
├── FirmwareDeviceManager.h (~540 lines) Firmware device management
├── global_GuestMemory.h / .cpp (~91 lines) Singleton accessor
├── global_writeBufferManager.h/cpp (~171 lines) Singleton accessor
└── global_MemoryBarrierCoordinator.h (~30 lines) Inline singleton accessor
cpuCoreLib/
└── ReservationManager.h (~153 lines) LL/SC reservation tracking
coreLib/
└── WriteBufferEntry.h (~67 lines) Write buffer entry structure
See Also: Chapter 14 – Execution Domains (“Boxes”) (MBox, CBox interaction with memory system); Chapter 17 – Address Translation, TLB, and PTE (Ev6SiliconTLB); Chapter 18 – Fault Dispatcher & Precise Exceptions (FaultDispatcher).