Unit PlatformARM
From Ultibo.org
Return to Unit Reference
Contents
[hide]Description
Ultibo Platform interface unit for ARM
To be documented
Constants
[Expand]
ARM mode constants
ARM_MODE_*
[Expand]
ARM interrupt disable constants
ARM_I_*
[Expand]
ARM thumb and jazelle constants
ARM_*_BIT
[Expand]
ARM abort constants
ARM_A_*
[Expand]
ARM boot tag constants
ATAG_*
[Expand]
ARM machine type constants
ARM_MACHINE_*
Type definitions
To be documented
Public variables
ARM specific variables
ARMInitialized:Boolean;
|
ARMBootMode:LongWord = 0;
|
The ARM Mode that the processor was in at boot time (Set by Startup). Must be initialized to remain in .data or else rewritten to zero with .bss |
ARMBootVectors:LongWord = 0;
|
The Vector Base Address that was current at boot time (Set by Startup). Must be initialized to remain in .data or else rewritten to zero with .bss |
ARMTagsAddress:LongWord = ARMTAGS_INITIAL;
|
Pointer to the ARM TAGS provided by the bootloader at startup (Set by Startup). Must be initialized to remain in .data or else rewritten to zero with .bss |
ARMMachineType:LongWord = 0;
|
ARM Machine Type provided by the bootloader at startup (Set by Startup). Must be initialized to remain in .data or else rewritten to zero with .bss |
ARM tags variables
ARMTagsCount:LongWord;
|
Number of ARM Tags found during parse |
Tag none variables
TagNoneCount:LongWord;
|
Number of ARM NONE Tags found during parse |
Tag core variables
TagCoreCount:LongWord;
|
Number of ARM CORE Tags found during parse |
TagCoreFlags:LongWord;
|
TagCorePageSize:LongWord;
|
TagCoreRootDevice:LongWord;
|
Tag memory variables
TagMemoryCount:LongWord;
|
Number of ARM MEM Tags found during parse |
TagMemorySize:LongWord;
|
Size of the last block reported by ARM Tags |
TagMemoryStart:LongWord;
|
Start of the last block reported by ARM Tags |
TagMemoryLength:LongWord;
|
Adjusted Size of the last block reported by ARM Tags |
TagMemoryAddress:LongWord;
|
Adjusted Address of the last block reported by ARM Tags |
Tag video text variables
TagVideoTextCount:LongWord;
|
Number of ARM VIDEOTEXT Tags found during parse |
Tag ramdisk variables
TagRamdiskCount:LongWord;
|
Number of ARM RAMDISK Tags found during parse |
Tag Init RD2 variables
TagInitRd2Count:LongWord;
|
Number of ARM INITRD2 Tags found during parse |
Tag serial variables
TagSerialCount:LongWord;
|
Number of ARM SERIAL Tags found during parse |
TagSerialNoLow:LongWord;
|
TagSerialNoHigh:LongWord;
|
Tag revision variables
TagRevisionCount:LongWord;
|
Number of ARM REVISION Tags found during parse |
TagRevisionNo:LongWord;
|
Tag video FB variables
TagVideoFBCount:LongWord;
|
Number of ARM VIDEOLFB Tags found during parse |
Tag command variables
TagCmdCount:LongWord;
|
Number of ARM CMDLINE Tags found during parse |
TagCommandSize:LongWord;
|
Length of the command line in characters (Including null terminator) |
TagCommandCount:LongInt;
|
Count of parameters (space delimited) in the command line |
TagCommandAddress:PChar;
|
Pointer to the start of the command line |
Wait handlers
ARMWaitHandler:TARMWait;
|
ARMLongWaitHandler:TARMLongWait;
|
ARMShortWaitHandler:TARMShortWait;
|
Blink handlers
ARMSlowBlinkHandler:TARMSlowBlink;
|
ARMFastBlinkHandler:TARMFastBlink;
|
Function declarations
Initialization functions
ARM platform functions
[Expand]
procedure ARMParseBootTags;
Description: Extract some information from the ARM boot tag list and use it to load the memory manager, some other information is stored in variables for future use
[Expand]
procedure ARMParseCommandLine;
Description: Setup argc, argv and cmdline and process known command line options
[Expand]
procedure ARMParseEnvironment;
Description: Setup envp and process known environment options
[Expand]
function ARMGetSP:PtrUInt; assembler; nostackframe;
Description: Get the current stack pointer (SP)
[Expand]
function ARMGetPC:PtrUInt; assembler; nostackframe;
Description: Get the current program counter (PC)
[Expand]
function ARMGetIRQ:Boolean; assembler; nostackframe;
Description: Get Interrupts (IRQ) state
[Expand]
procedure ARMEnableIRQ; assembler; nostackframe;
Description: Enable Interrupts (IRQ) unconditionally
[Expand]
procedure ARMDisableIRQ; assembler; nostackframe;
Description: Disable Interrupts (IRQ) unconditionally
[Expand]
function ARMSaveIRQ:TIRQMask; assembler; nostackframe;
Description: Disable Interrupts (IRQ) and return the previous state
[Expand]
function ARMRestoreIRQ(IRQMask:TIRQMask):TIRQMask; assembler; nostackframe;
Description: Restore Interrupts (IRQ) to a previous state
[Expand]
function ARMGetFIQ:Boolean; assembler; nostackframe;
Description: Get Fast Interrupts (FIQ) state
[Expand]
procedure ARMEnableFIQ; assembler; nostackframe;
Description: Enable Fast Interrupts (FIQ) unconditionally
[Expand]
procedure ARMDisableFIQ; assembler; nostackframe;
Description: Disable Fast Interrupts (FIQ) unconditionally
[Expand]
function ARMSaveFIQ:TFIQMask; assembler; nostackframe;
Description: Disable Fast Interrupts (FIQ) and return the previous state
[Expand]
function ARMRestoreFIQ(FIQMask:TFIQMask):TFIQMask; assembler; nostackframe;
Description: Restore Fast Interrupts (FIQ) to a previous state
[Expand]
procedure ARMEnableIRQFIQ; assembler; nostackframe;
Description: Enable Interrupts and Fast Interrupts (IRQ/FIQ) unconditionally
[Expand]
procedure ARMDisableIRQFIQ; assembler; nostackframe;
Description: Disable Interrupts and Fast Interrupts (IRQ/FIQ) unconditionally
[Expand]
function ARMSaveIRQFIQ:TIRQFIQMask; assembler; nostackframe;
Description: Disable Interrupts and Fast Interrupts (IRQ/FIQ) and return the previous state
[Expand]
function ARMRestoreIRQFIQ(IRQFIQMask:TIRQFIQMask):TIRQFIQMask; assembler; nostackframe;
Description: Restore Interrupts and Fast Interrupts (IRQ/FIQ) to a previous state
[Expand]
procedure ARMEnableAbort; assembler; nostackframe;
Description: Enable Aborts unconditionally
[Expand]
procedure ARMDisableAbort; assembler; nostackframe;
Description: Disable Aborts unconditionally
[Expand]
function ARMSaveAbort:TAbortMask; assembler; nostackframe;
Description: Disable Aborts and return the previous state
[Expand]
function ARMRestoreAbort(AbortMask:TAbortMask):TAbortMask; assembler; nostackframe;
Description: Restore Aborts to a previous state
ARM helper functions
Return to Unit Reference