|
<< Click to Display Table of Contents >> Navigation: ASA-EMulatR Reference Guide > Introduction > Architecture Overview > Chapter 20 – Boot Sequence, PAL, and SRM Integration > 20.11 Repository Directory Mapping |
The PAL emulation subsystem spans the following directories:
Directory |
Key Files |
Responsibility |
|---|---|---|
PalBoxLib/ |
PalBoxBase.h (~2,122 lines, 175 execute methods) |
PalBox execution domain: CALL_PAL dispatch, HW_MFPR/HW_MTPR, enterPal, HW_REI, exception routing, shadow register management |
palLib_EV6/ |
Pal_Service.h, PAL_core.h, Pal_core_inl.h, PalVectorId_refined.h, PalVectorTable_final.h |
PAL service implementations, PAL constants, PalEntryReason, PAL vector IDs and table |
cpuCoreLib/ |
AlphaCPU.h (enterPalMode, executeREI, checkInterrupts) |
CPU-level PAL mode entry/exit, interrupt polling |
coreLib/ |
HWPCB_core.h, IPRStorage_Hot.h, IPRStorage_Cold.h |
HWPCB context block, IPR storage for HW_MFPR/HW_MTPR targets |
grainFactoryLib/ |
GrainMaster.tsv (616 entries, ~80 PALcode entries) |
Master opcode table: PAL function registration in InstructionGrainRegistry |
Total PAL subsystem: PalBoxBase.h at ~2,122 lines is the largest single file, containing 175 execute methods covering the full Tru64 UNIX PAL call set. The palLib_EV6/ directory adds the PalService implementation, vector table, and PAL constants. Supporting files in cpuCoreLib/ and iprLib/ provide the CPU-level entry/exit sequences and IPR/HWPCB storage.
See Also: Chapter 14 – Execution Domains (“Boxes”) (PalBox in box architecture); Chapter 15 – Memory System Implementation Details (GuestMemory routing for PAL/SRM regions); Chapter 18 – Fault Dispatcher & Precise Exceptions (fault delivery to PAL); Chapter 19 – Interrupt Architecture & IPI (interrupt delivery through PAL).