Difference between revisions of "Unit ARMGIC"
From Ultibo.org
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
Contents
[hide]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 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
Return to Unit Reference