Difference between revisions of "Unit PlatformAARCH64"
Line 80: | Line 80: | ||
---- | ---- | ||
− | '' | + | |
+ | '''ARM boot tag header''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PARMTagHeader = ^TARMTagHeader;</code> | ||
+ | |||
+ | <code>TARMTagHeader = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: ARM Boot Tag Structure Definitions | ||
+ | |- | ||
+ | | <code>Size:LongWord;</code> | ||
+ | | Size of tag, in words (32bit), including the header | ||
+ | |- | ||
+ | | <code>Tag:LongWord;</code> | ||
+ | | One of the ATAG_* values from above | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''ARM tag core''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PARMTagCore = ^TARMTagCore;</code> | ||
+ | |||
+ | <code>TARMTagCore = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Core parameters (ATAG_CORE) | ||
+ | |- | ||
+ | | <code>Flags:LongWord;</code> | ||
+ | | Bit 0 = read-only | ||
+ | |- | ||
+ | | <code>PageSize:LongWord;</code> | ||
+ | | Systems page size (usually 4k) | ||
+ | |- | ||
+ | | <code>RootDev:LongWord;</code> | ||
+ | | Root device number | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''ARM tag memory''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PARMTagMemory = ^TARMTagMemory;</code> | ||
+ | |||
+ | <code>TARMTagMemory = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Description of memory region (ATAG_MEM) | ||
+ | |- | ||
+ | | <code>Size:LongWord;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Start:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''ARM tag video text''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PARMTagVideoText = ^TARMTagVideoText;</code> | ||
+ | |||
+ | <code>TARMTagVideoText = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Description of VGA text type displays (ATAG_VIDEOTEXT) | ||
+ | |- | ||
+ | | <code>X:Byte;</code> | ||
+ | | Width of display | ||
+ | |- | ||
+ | | <code>Y:Byte;</code> | ||
+ | | Height of display | ||
+ | |- | ||
+ | | <code>Video_page:Word;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Video_mode:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Video_cols:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Video_ega_bx:Word;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Video_lines:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Video_isvga:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Video_points:Word;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''ARM tag ramdisk''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PARMTagRamdisk = ^TARMTagRamdisk;</code> | ||
+ | |||
+ | <code>TARMTagRamdisk = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Description of how the ramdisk will be used by the kernel (ATAG_RAMDISK) | ||
+ | |- | ||
+ | | <code>Flags:LongWord;</code> | ||
+ | | Bit 0 = load, Bit 1 = prompt | ||
+ | |- | ||
+ | | <code>Size:LongWord;</code> | ||
+ | | Decompressed ramdisk size in _kilo_ bytes | ||
+ | |- | ||
+ | | <code>Start:LongWord;</code> | ||
+ | | Starting block of floppy-based RAM disk image | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''ARM tag init ramdisk''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PARMTagInitRd2 = ^TARMTagInitRd2;</code> | ||
+ | |||
+ | <code>TARMTagInitRd2 = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Description of the physical location of the compressed ramdisk image (ATAG_INITRD2) | ||
+ | |- | ||
+ | | <code>Start:LongWord;</code> | ||
+ | | Physical start address | ||
+ | |- | ||
+ | | <code>Size:LongWord;</code> | ||
+ | | Size of compressed ramdisk image in bytes | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''ARM tag serial''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PARMTagSerial = ^TARMTagSerial;</code> | ||
+ | |||
+ | <code>TARMTagSerial = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Board serial number (ATAG_SERIAL) | ||
+ | |- | ||
+ | | <code>Low:LongWord;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>High:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''ARM tag revision''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PARMTagRevision = ^TARMTagRevision;</code> | ||
+ | |||
+ | <code>TARMTagRevision = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Board revision (ATAG_REVISION) | ||
+ | |- | ||
+ | | <code>Revision:LongWord;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''ARM tag video framebuffer''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PARMTagVideoFB = ^TARMTagVideoFB;</code> | ||
+ | |||
+ | <code>TARMTagVideoFB = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Description of the parameters for a linear framebuffer type display (ATAG_VIDEOLFB) | ||
+ | |- | ||
+ | | <code>Lfb_width:Word;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>Lfb_height:Word;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Lfb_depth:Word;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Lfb_linelength:Word;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Lfb_base:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Lfb_size:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Red_size:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Red_pos:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Green_size:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Green_pos:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Blue_size:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Blue_pos:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Rsvd_size:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>Rsvd_pos:Byte;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''ARM tag command''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PARMTagCommand = ^TARMTagCommand;</code> | ||
+ | |||
+ | <code>TARMTagCommand = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Commandline for the kernel (ATAG_CMDLINE) | ||
+ | |- | ||
+ | | <code>Cmdline:array[0..0] of Char;</code> | ||
+ | | This is the minimum size | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''ARM boot tag''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PARMTag = ^TARMTag;</code> | ||
+ | |||
+ | <code>TARMTag = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|Note: Format of ARM Boot Tag | ||
+ | |- | ||
+ | | <code>Header:TARMTagHeader;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>case Integer of</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>0:(Core:TARMTagCore);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>1:(Memory:TARMTagMemory);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>2:(VideoText:TARMTagVideoText);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>3:(Ramdisk:TARMTagRamdisk);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>4:(InitRd2:TARMTagInitRd2);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>5:(Serial:TARMTagSerial);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>6:(Revision:TARMTagRevision);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>7:(VideoFB:TARMTagVideoFB);</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>8:(Command:TARMTagCommand)</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''AARCH64 wait''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TAARCH64Wait = procedure;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''AARCH64 long wait''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TAARCH64LongWait = procedure;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''AARCH64 short wait''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TAARCH64ShortWait = procedure;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''AARCH64 slow blink''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TAARCH64SlowBlink = procedure;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''AARCH64 fast blink''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TAARCH64FastBlink = procedure;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
=== Public variables === | === Public variables === |
Revision as of 02:07, 24 January 2017
Return to Unit Reference
Description
Ultibo Platform interface unit for AARCH64 (ARM64)
To be documented
Constants
ATAG_*
ATAG_NONE = $00000000;
|
|
ATAG_CORE = $54410001;
|
|
ATAG_MEM = $54410002;
|
|
ATAG_VIDEOTEXT = $54410003;
|
|
ATAG_RAMDISK = $54410004;
|
|
ATAG_INITRD2 = $54410005;
|
|
ATAG_SERIAL = $54410006;
|
|
ATAG_REVISION = $54410007;
|
|
ATAG_VIDEOLFB = $54410008;
|
|
ATAG_CMDLINE = $54410009;
|
|
ARMTAGS_INITIAL = $FFFFFFFF;
|
ARM_MACHINE_*
ARM_MACHINE_VERSATILE_PB = $00000183;
|
|
ARM_MACHINE_BCM2708 = $00000C42;
|
|
ARM_MACHINE_BCM2709 = $00000C42;
|
BCM2709 uses the same Machine Type as BCM2708 |
ARM_MACHINE_BCM2710 = $00000C42;
|
BCM2710 uses the same Machine Type as BCM2708 |
Type definitions
ARM boot tag header
PARMTagHeader = ^TARMTagHeader;
TARMTagHeader = record
Note: ARM Boot Tag Structure Definitions | |
Size:LongWord;
|
Size of tag, in words (32bit), including the header |
Tag:LongWord;
|
One of the ATAG_* values from above |
ARM tag core
PARMTagCore = ^TARMTagCore;
TARMTagCore = record
Note: Core parameters (ATAG_CORE) | |
Flags:LongWord;
|
Bit 0 = read-only |
PageSize:LongWord;
|
Systems page size (usually 4k) |
RootDev:LongWord;
|
Root device number |
ARM tag memory
PARMTagMemory = ^TARMTagMemory;
TARMTagMemory = record
Note: Description of memory region (ATAG_MEM) | |
Size:LongWord;
|
|
Start:LongWord;
|
ARM tag video text
PARMTagVideoText = ^TARMTagVideoText;
TARMTagVideoText = record
Note: Description of VGA text type displays (ATAG_VIDEOTEXT) | |
X:Byte;
|
Width of display |
Y:Byte;
|
Height of display |
Video_page:Word;
|
|
Video_mode:Byte;
|
|
Video_cols:Byte;
|
|
Video_ega_bx:Word;
|
|
Video_lines:Byte;
|
|
Video_isvga:Byte;
|
|
Video_points:Word;
|
ARM tag ramdisk
PARMTagRamdisk = ^TARMTagRamdisk;
TARMTagRamdisk = record
Note: Description of how the ramdisk will be used by the kernel (ATAG_RAMDISK) | |
Flags:LongWord;
|
Bit 0 = load, Bit 1 = prompt |
Size:LongWord;
|
Decompressed ramdisk size in _kilo_ bytes |
Start:LongWord;
|
Starting block of floppy-based RAM disk image |
ARM tag init ramdisk
PARMTagInitRd2 = ^TARMTagInitRd2;
TARMTagInitRd2 = record
Note: Description of the physical location of the compressed ramdisk image (ATAG_INITRD2) | |
Start:LongWord;
|
Physical start address |
Size:LongWord;
|
Size of compressed ramdisk image in bytes |
ARM tag serial
PARMTagSerial = ^TARMTagSerial;
TARMTagSerial = record
Note: Board serial number (ATAG_SERIAL) | |
Low:LongWord;
|
|
High:LongWord;
|
ARM tag revision
PARMTagRevision = ^TARMTagRevision;
TARMTagRevision = record
Note: Board revision (ATAG_REVISION) | |
Revision:LongWord;
|
ARM tag video framebuffer
PARMTagVideoFB = ^TARMTagVideoFB;
TARMTagVideoFB = record
Note: Description of the parameters for a linear framebuffer type display (ATAG_VIDEOLFB) | |
Lfb_width:Word;
|
|
Lfb_height:Word;
|
|
Lfb_depth:Word;
|
|
Lfb_linelength:Word;
|
|
Lfb_base:LongWord;
|
|
Lfb_size:LongWord;
|
|
Red_size:Byte;
|
|
Red_pos:Byte;
|
|
Green_size:Byte;
|
|
Green_pos:Byte;
|
|
Blue_size:Byte;
|
|
Blue_pos:Byte;
|
|
Rsvd_size:Byte;
|
|
Rsvd_pos:Byte;
|
ARM tag command
PARMTagCommand = ^TARMTagCommand;
TARMTagCommand = record
Note: Commandline for the kernel (ATAG_CMDLINE) | |
Cmdline:array[0..0] of Char;
|
This is the minimum size |
ARM boot tag
PARMTag = ^TARMTag;
TARMTag = record
Note: Format of ARM Boot Tag | |
Header:TARMTagHeader;
|
|
case Integer of
|
|
0:(Core:TARMTagCore);
|
|
1:(Memory:TARMTagMemory);
|
|
2:(VideoText:TARMTagVideoText);
|
|
3:(Ramdisk:TARMTagRamdisk);
|
|
4:(InitRd2:TARMTagInitRd2);
|
|
5:(Serial:TARMTagSerial);
|
|
6:(Revision:TARMTagRevision);
|
|
7:(VideoFB:TARMTagVideoFB);
|
|
8:(Command:TARMTagCommand)
|
AARCH64 wait
TAARCH64Wait = procedure;
|
AARCH64 long wait
TAARCH64LongWait = procedure;
|
AARCH64 short wait
TAARCH64ShortWait = procedure;
|
AARCH64 slow blink
TAARCH64SlowBlink = procedure;
|
AARCH64 fast blink
TAARCH64FastBlink = procedure;
|
Public variables
AARCH64 specific variables
AARCH64Initialized:Boolean;
|
AARCH64BootMode: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 |
AARCH64BootVectors: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
AARCH64WaitHandler:TAARCH64Wait;
|
AARCH64LongWaitHandler:TAARCH64LongWait;
|
AARCH64ShortWaitHandler:TAARCH64ShortWait;
|
Blink handlers
AARCH64SlowBlinkHandler:TAARCH64SlowBlink;
|
AARCH64FastBlinkHandler:TAARCH64FastBlink;
|
Function declarations
Initialization functions
procedure AARCH64Init;
Note | None documented |
---|
AARCH64 platform functions
procedure AARCH64ParseBootTags;
Note | None documented |
---|
procedure AARCH64ParseCommandLine;
Note | None documented |
---|
procedure AARCH64ParseEnvironment;
Note | None documented |
---|
function AARCH64GetSP:PtrUInt; assembler; nostackframe;
Note | None documented |
---|
function AARCH64GetPC:PtrUInt; assembler; nostackframe;
Note | None documented |
---|
function AARCH64GetIRQ:Boolean; assembler; nostackframe;
Return | True is enabled, False if disabled (Returned in R0) |
---|
procedure AARCH64EnableIRQ; assembler; nostackframe;
Note | None documented |
---|
procedure AARCH64DisableIRQ; assembler; nostackframe;
Note | None documented |
---|
function AARCH64SaveIRQ:TIRQMask; assembler; nostackframe;
Return | IRQ state when called (Returned in R0) |
---|
function AARCH64RestoreIRQ(IRQMask:TIRQMask):TIRQMask; assembler; nostackframe;
IRQMask | IRQ state to restore (Passed in R0) |
---|---|
Return | IRQ state when called (Returned in R0) |
function AARCH64GetFIQ:Boolean; assembler; nostackframe;
Return | True is enabled, False if disabled (Returned in R0) |
---|
procedure AARCH64EnableFIQ; assembler; nostackframe;
Note | None documented |
---|
procedure AARCH64DisableFIQ; assembler; nostackframe;
Note | None documented |
---|
function AARCH64SaveFIQ:TFIQMask; assembler; nostackframe;
Return | FIQ state when called (Returned in R0) |
---|
function AARCH64RestoreFIQ(FIQMask:TFIQMask):TFIQMask; assembler; nostackframe;
FIQMask | FIQ state to restore (Passed in R0) |
---|---|
Return | FIQ state when called (Returned in R0) |
procedure AARCH64EnableIRQFIQ; assembler; nostackframe;
Note | None documented |
---|
procedure AARCH64DisableIRQFIQ; assembler; nostackframe;
Note | None documented |
---|
function AARCH64SaveIRQFIQ:TIRQFIQMask; assembler; nostackframe;
Return | IRQ/FIQ state when called (Returned in R0) |
---|
function AARCH64RestoreIRQFIQ(IRQFIQMask:TIRQFIQMask):TIRQFIQMask; assembler; nostackframe;
IRQFIQMask | IRQ/FIQ state to restore (Passed in R0) |
---|---|
Return | IRQ/FIQ state when called (Returned in R0) |
function AARCH64GetAbort:Boolean; assembler; nostackframe;
Return | True is enabled, False if disabled (Returned in R0) |
---|
procedure AARCH64EnableAbort; assembler; nostackframe;
Note | None documented |
---|
procedure AARCH64DisableAbort; assembler; nostackframe;
Note | None documented |
---|
function AARCH64SaveAbort:TAbortMask; assembler; nostackframe;
Return | Abort state when called (Returned in R0) |
---|
function AARCH64RestoreAbort(AbortMask:TAbortMask):TAbortMask; assembler; nostackframe;
AbortMask | Abort state to restore (Passed in R0) |
---|---|
Return | bort state when called (Returned in R0) |
AARCH64 helper functions
procedure AARCH64Wait; inline;
Note | None documented |
---|
procedure AARCH64LongWait; inline;
Note | None documented |
---|
procedure AARCH64ShortWait; inline;
Note | None documented |
---|
procedure AARCH64SlowBlink; inline;
Note | None documented |
---|
procedure AARCH64FastBlink; inline;
Note | None documented |
---|
function AARCH64ModeToString(AARCH64Mode:LongWord):String;
Note | None documented |
---|
Return to Unit Reference