Unit ARMGIC

From Ultibo.org
Jump to: navigation, search

Return to Unit Reference


Description


ARM Generic Interrupt Controller Driver unit

Constants



[Expand]
ARM GIC specific constants ARM_GIC_*


[Expand]
ARM GIC distributor registers ARM_GICD_*


[Expand]
ARM GIC distributor control register ARM_GICD_CTLR_*


[Expand]
ARM GIC interrupt controller type register ARM_GICD_TYPER_*


[Expand]
ARM GIC distributor implementer identification register ARM_GICD_IIDR_*


[Expand]
ARM GIC interrupt priority register ARM_GICD_IPRIORITYR_*


[Expand]
ARM GIC interrupt processor targets register ARM_GICD_ITARGETSR_*


[Expand]
ARM GIC interrupt configuration register ARM_GICD_ICFGR_*


[Expand]
ARM GIC non-secure access control register (Group 0 Interrupts) ARM_GICD_NSACR_*


[Expand]
ARM GIC software generated interrupt register ARM_GICD_SGIR_*


[Expand]
ARM GIC SGI clear-pending registers ARM_GICD_CPENDSGIR_*


[Expand]
ARM GIC SGI set-pending registers ARM_GICD_SPENDSGIR_*


[Expand]
ARM GIC CPU registers ARM_GICC_*


[Expand]
ARM GIC CPU interface control register ARM_GICC_CTLR_*


[Expand]
ARM GIC interrupt priority mask register ARM_GICC_PMR_*


[Expand]
ARM GIC binary point register ARM_GICC_BPR_*


[Expand]
ARM GIC interrupt acknowledge register ARM_GICC_IAR_*


[Expand]
ARM GIC end of interrupt register ARM_GICC_EOIR_*


[Expand]
ARM GIC running priority register ARM_GICC_RPR_*


[Expand]
ARM GIC highest priority pending interrupt register ARM_GICC_HPPIR_*


[Expand]
ARM GIC aliased binary point register ARM_GICC_ABPR_*


[Expand]
ARM GIC aliased interrupt acknowledge register ARM_GICC_AIAR_*


[Expand]
ARM GIC aliased end of interrupt register ARM_GICC_AEOIR_*


[Expand]
ARM GIC aliased highest priority pending interrupt register ARM_GICC_AHPPIR_*


[Expand]
ARM GIC CPU interface identification register ARM_GICC_IIDR_*


[Expand]
ARM GIC deactivate interrupt register ARM_GICC_DIR_*


Type definitions



ARM GIC state

[Expand]

TGICState = record

ARM GIC states

[Expand]

PGICStates = ^TGICStates;

TGICStates = array[0..31] of TGICState;

ARM GIC entries

[Expand]

PGICEntries = ^TGICEntries;

TGICEntries = array[0..1023] of PInterruptEntry;

ARM GIC arrays

[Expand]

PGICArrays = ^TGICArrays;

TGICArrays = array[0..7] of PGICEntries;

ARM GIC device

[Expand]

PGICDevice = ^TGICDevice;

TGICDevice = record


Public variables


None defined

Function declarations



ARM GIC functions

[Expand]
function ARMGICCreate(DistAddress,CPUAddress:PtrUInt):PGICDevice;
Description: To be documented


[Expand]
function ARMGICStart(GIC:PGICDevice):LongWord;
Description: To be documented


[Expand]
function ARMGICGetEntry(GIC:PGICDevice; CPUID,Number,Flags:LongWord; var Entry:TInterruptEntry; Index:LongWord):LongWord;
Description: To be documented


[Expand]
function ARMGICRegisterEntry(GIC:PGICDevice; const Entry:TInterruptEntry):LongWord;
Description: To be documented


[Expand]
function ARMGICDeregisterEntry(GIC:PGICDevice; const Entry:TInterruptEntry):LongWord;
Description: To be documented


ARM GIC interrupt functions

[Expand]
function ARMGICDispatchIRQ(CPUID:LongWord; Thread:TThreadHandle):TThreadHandle;
Description: To be documented


[Expand]
function ARMGICDispatchFIQ(CPUID:LongWord; Thread:TThreadHandle):TThreadHandle;
Description: To be documented


[Expand]
function ARMGICDispatchInterrupt(CPUID:LongWord; Thread:TThreadHandle):TThreadHandle;
Description: Process any pending IRQ/FIQ requests


ARM GIC helper functions

[Expand]
function ARMGICIsValid(GIC:PGICDevice; Number:LongWord):Boolean;
Description: To be documented


[Expand]
function ARMGICIsLocal(GIC:PGICDevice; Number:LongWord):Boolean;
Description: To be documented


[Expand]
function ARMGICIsSoftware(GIC:PGICDevice; Number:LongWord):Boolean;
Description: To be documented


[Expand]
function ARMGICIsGlobal(GIC:PGICDevice; Number:LongWord):Boolean;
Description: To be documented


[Expand]
function ARMGICGetIRQCount(GIC:PGICDevice):LongWord;
Description: To be documented


[Expand]
function ARMGICGetFIQCount(GIC:PGICDevice):LongWord;
Description: To be documented


[Expand]
function ARMGICGetIRQStart(GIC:PGICDevice):LongWord;
Description: To be documented


[Expand]
function ARMGICGetIRQRouting(GIC:PGICDevice):LongWord;
Description: To be documented


[Expand]
function ARMGICGetFIQRouting(GIC:PGICDevice):LongWord;
Description: To be documented


[Expand]
function ARMGICGetIRQLocalCount(GIC:PGICDevice):LongWord;
Description: To be documented


[Expand]
function ARMGICGetFIQLocalCount(GIC:PGICDevice):LongWord;
Description: To be documented


[Expand]
function ARMGICGetIRQLocalStart(GIC:PGICDevice):LongWord;
Description: To be documented


[Expand]
function ARMGICGetIRQSoftwareCount(GIC:PGICDevice):LongWord;
Description: To be documented


[Expand]
function ARMGICGetFIQSoftwareCount(GIC:PGICDevice):LongWord;
Description: To be documented


[Expand]
function ARMGICGetIRQSoftwateStart(GIC:PGICDevice):LongWord;
Description: To be documented


Return to Unit Reference