16.12 Repository Directory Mapping

<< Click to Display Table of Contents >>

Navigation:  ASA-EMulatR Reference Guide > Introduction > Architecture Overview > Chapter 16 – Device Model & DMA >

16.12 Repository Directory Mapping

The device and DMA subsystem spans several library directories:

 

Directory

Key Files

Responsibility

mmioLib/

mmio_Manager.h, IDeviceEmulator.h, mmio_DeviceCatalog.h, mmio_deviceTemplate.h, mmio_DMACoherencyManager.h, ScsiControllerKzpba.h

MMIO dispatch, device interface contract, template system, DMA coherency, bus controllers

deviceLib/

ISCSIDevice.h, SCSIDisk.h, SCSITape.h, SCSIBus.h, SCSI_helpers.h

SCSI protocol types, virtual devices, bus abstraction

coreLib/

mmio_core.h, IRQPendingState.h, IPI_core.h, onIPLChanged_inl.h

Shared types (MMIOStatus, MMIOWindow, mmio_DeviceClass), IRQ system, IPI definitions

memoryLib/

GuestMemory.h, FirmwareDeviceManager.h

PA routing (RouteTarget::MMIOManager), firmware device management (~540 lines)

cpuCoreLib/

ReservationManager.h

LL/SC reservation invalidation on DMA writes

configLib/

global_EmulatorSettings.h, EMulatR.ini

Device configuration, storage paths, network endpoints

palLib_EV6/

PalService.h

PAL interrupt dispatch entry point, device control via HW_REI

 

Total device subsystem: Approximately 1,800 lines in the MMIO/device infrastructure headers, plus device-specific implementation in deviceLib/ (line counts vary by device emulator maturity). The coreLib/ IRQ components add approximately 400 lines of interrupt infrastructure.

 

See Also: Chapter 14 – Execution Domains (“Boxes”) (MBox, CBox interaction with devices); Chapter 15 – Memory System Implementation Details (GuestMemory routing); Chapter 17 – Address Translation, TLB, and PTE (VA->PA before MMIO dispatch); Chapter 18 – Fault Dispatcher & Precise Exceptions (MMIO fault delivery).