15.14 Repository Directory Mapping

<< 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).