20.11 Repository Directory Mapping

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