Difference between revisions of "Unit ARMGIC"

From Ultibo.org
Jump to: navigation, search
Line 59: Line 59:
 
|-
 
|-
 
! Note
 
! Note
| The returned Entry is a copy of the registered value. Caller should free Entry if required. For shared entries the Index parameter indicates which entry in the chain to return (0 equals first etc).
+
| The returned Entry is a copy of the registered value. Caller should free Entry if required.
 +
For shared entries the Index parameter indicates which entry in the chain to return (0 equals first etc).
 
|-
 
|-
 
|}
 
|}
Line 71: Line 72:
 
|-
 
|-
 
! Note
 
! Note
| Entry must be allocated from heap as a pointer so it will be retained while the interrupt remains registered. Entry must not be freed by the caller.
+
| Entry must be allocated from heap as a pointer so it will be retained while the interrupt remains registered.
 +
Entry must not be freed by the caller.
 
|-
 
|-
 
|}
 
|}
Line 83: Line 85:
 
|-
 
|-
 
! Note
 
! Note
| The Entry can be a local temporary copy allocated either from the stack or on the heap, this routine will free the original Entry passed to Register once it is successfully deregistered. Caller should free Entry if required.
+
| The Entry can be a local temporary copy allocated either from the stack or on the heap, this routine will free the original Entry passed to Register once it is successfully deregistered.
 +
Caller should free Entry if required.
 
|-
 
|-
 
|}
 
|}

Revision as of 04:36, 19 June 2021

Return to Unit Reference


Description


ARM Generic Interrupt Controller Driver

Constants


To be documented

Type definitions


To be documented

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