test-macros-constants.h.s
来自「OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI」· S 代码 · 共 239 行
S
239 行
;*******************************************************************************
;*
;* The confidential and proprietary information contained in this file may
;* only be used by a person authorised under and to the extent permitted
;* by a subsisting licensing agreement from ARM Limited.
;*
;* (C) COPYRIGHT 1994-1999 ARM Limited.
;* ALL RIGHTS RESERVED
;*
;* This entire notice must be reproduced on all copies of this file
;* and copies of this file may only be made by a person if such person is
;* permitted to do so under the terms of a subsisting license agreement
;* from ARM Limited.
;*
;* Validation Suite Macros and Definitions
;* =======================================
;*
;* Origin: ARM9 Validation Suite
;* Author: Jon Rijk 02/10/96
;* $Author: ahunter $
;* $Revision: 1.10 $
;* $Date: Wed Aug 29 12:01:58 2001 $
;*
;*******************************************************************************
; Purpose: Constants for validation suite
;
; Description:
; Constant definitions
; Angel SWI definitions
; Demon SWI definitions
; Target Specific SWI definitions
;
;********************************************************************************
;********************************************************************************
;*** Constant definitions
;********************************************************************************
;compile constants
AREA_PAD_OUT EQU 5 ;AREA alignment, log2 bytes
VERBOSE_ALWAYS EQU 256 ;force messaging
;Test-Header Test Status Enumerations
TEST_FAILED EQU -1
TEST_PASSED EQU 0
TEST_ENDED EQU 1
;Exception Vector Constants
RESET EQU 0x0
UNDEF EQU 0x4
SWI EQU 0x8
PABORT EQU 0xC
DABORT EQU 0x10
ADDEX EQU 0x14
SYSERR EQU 0x14
IRQ EQU 0x18
FIQ EQU 0x1C
FIQ_Handler_Size EQU 8*4
Vector_Table EQU FIQ+4+FIQ_Handler_Size
EXCEPTION_TABLE_BASE EQU Vector_Table ; for backwards compatibility
;Test IO constants
CR EQU 13 ;Carriage return char
LF EQU 10 ;Line Feed char
CTRLD EQU 4 ;Control D char
;A list of pre-defined modes, all with interrupts enabled
;and flags clear (so that flags are preserved by MSR_M)
Mode_USR_32 EQU 0x10
Mode_FIQ_32 EQU 0x11
Mode_IRQ_32 EQU 0x12
Mode_SVC_32 EQU 0x13
Mode_ABT_32 EQU 0x17
Mode_UND_32 EQU 0x1B
Mode_SYS_32 EQU 0x1F
Mode_SE_32 EQU 0x16
Mode_Bits EQU 0x1F
Mode_USR_26 EQU 0x00
Mode_FIQ_26 EQU 0x01
Mode_IRQ_26 EQU 0x02
Mode_SVC_26 EQU 0x03
Mode26_Bits EQU 0x03
TBit EQU (1:SHL:5)
FBit EQU (1:SHL:6)
IBit EQU (1:SHL:7)
ABit EQU (1:SHL:8)
TFlag EQU 0x20
FFlag EQU 0x40
IFlag EQU 0x80
AFlag EQU 0x100
DISABLE_FIQ EQU 0x40
DISABLE_IRQ EQU 0x80
DISABLE_SE EQU 0x100
Interrupt_Bits EQU 0xC0
IFlag_26 EQU 0x08000000
FFlag_26 EQU 0x04000000
Interrupt26_Bits EQU 0x0C000000
;Standard definitions for the flags
NFlag EQU 0x80000000
ZFlag EQU 0x40000000
CFlag EQU 0x20000000
VFlag EQU 0x10000000
QFlag EQU 0x08000000
GE3Flag EQU 0x00080000
GE2Flag EQU 0x00040000
GE1Flag EQU 0x00020000
GE0Flag EQU 0x00010000
Flag_Bits EQU 0xF8000000
GE_Bits EQU 0x000F0000
;Variables for the GRAB_DEMON_VECTOR macro
GBLL GRABBED_DEMON_VECTOR
GBLA GRABBED_VECTOR
GRABBED_DEMON_VECTOR SETL {FALSE}
GRABBED_VECTOR SETA -1
;********************************************************************************
;*** Validation SWI definitions
;********************************************************************************
SWI_WriteHex EQU 0x000017 ;write register in hex
SWI_WriteDec EQU 0x000018 ;write register in dec
SWI_WritePSR EQU 0x000019 ;write PSR
SWI_DoNothing EQU 0x00001A ;does nothing, just returns
SWI_TestPass EQU 0x00001B ;exits printing Test Passed
SWI_TestFail EQU 0x00001C ;exits printing Test Failed
;********************************************************************************
;*** Angel SWI definitions
;********************************************************************************
SWI_Angel_Open EQU 0x000001 ;file open
SWI_Angel_Close EQU 0x000002 ;file close
SWI_Angel_WriteC EQU 0x000003 ;write byte
SWI_Angel_Write0 EQU 0x000004 ;write null terminated string
SWI_Angel_Write EQU 0x000005 ;write to file
SWI_Angel_Read EQU 0x000006 ;read from file
SWI_Angel_ReadC EQU 0x000007 ;read byte
SWI_Angel_IsError EQU 0x000008 ;is semi-host error
SWI_Angel_IsTTY EQU 0x000009 ;is interactive
SWI_Angel_Seek EQU 0x00000a ;file seek
SWI_Angel_Flen EQU 0x00000c ;file length
SWI_Angel_TmpNam EQU 0x00000d ;get temporary name
SWI_Angel_Remove EQU 0x00000e ;remove file
SWI_Angel_Rename EQU 0x00000f ;rename file
SWI_Angel_Clock EQU 0x000010 ;time since started
SWI_Angel_Time EQU 0x000011 ;current time
SWI_Angel_System EQU 0x000012 ;execute command
SWI_Angel_ErrNo EQU 0x000013 ;get error number
SWI_Angel_CmdLine EQU 0x000015 ;get command line
SWI_Angel_HeapInfo EQU 0x000016 ;memory information
SWI_Angel_Elapsed EQU 0x000030 ;get ticks since started
SWI_Angel_TickFreq EQU 0x000031 ;get ticks per second
;From (/eda/arm/SDT/default)/angel/source/arm.h
SWI_Angel_EnterSVC EQU 0x17 ;enter supervisor
SWI_Angel_ReportException EQU 0x18 ;report exception
Angel_SWI_Max EQU 0x32 ; maximum SWI number in table
;********************************************************************************
;*** Demon SWI definitions
;********************************************************************************
SWI_Demon_WriteC EQU 0x000000 ;write out char
SWI_Demon_Write0 EQU 0x000002 ;write null terminated string
SWI_Demon_ReadC EQU 0x000004 ;read character
SWI_Demon_CLI EQU 0x000005 ;execute command
SWI_Demon_GetEnv EQU 0x000010 ;get commandline
SWI_Demon_Exit EQU 0x000011 ;exit
SWI_Demon_EnterOS EQU 0x000016 ;enter supervisor mode
SWI_Demon_GetErrno EQU 0x000060 ;error number
SWI_Demon_Clock EQU 0x000061 ;time since started
SWI_Demon_Time EQU 0x000063 ;current time
SWI_Demon_Remove EQU 0x000064 ;remove file
SWI_Demon_Rename EQU 0x000065 ;rename file
SWI_Demon_Open EQU 0x000066 ;file open
SWI_Demon_Close EQU 0x000068 ;file close
SWI_Demon_Write EQU 0x000069 ;write to file
SWI_Demon_Read EQU 0x00006a ;read from file
SWI_Demon_Seek EQU 0x00006b ;seek file
SWI_Demon_Flen EQU 0x00006c ;file length
SWI_Demon_IsTTY EQU 0x00006e ;is interactive file
SWI_Demon_TmpNam EQU 0x00006f ;get temporary name
SWI_Demon_InstallHandler EQU 0x000070 ;install new interrupt handler
SWI_Demon_GenerateError EQU 0x000071 ;enter error handler
Demon_SWI_Max EQU 0x72 ; maximum SWI number in table
;********************************************************************************
;*** RIS SWI definitions
;********************************************************************************
SWI_ArmRis_0 EQU 0x000000
SWI_ArmRis_1 EQU 0x000001
SWI_ArmRis_2 EQU 0x000002
SWI_ArmRis_3 EQU 0x000003
SWI_ArmRis_4 EQU 0x000004
SWI_ArmRis_5 EQU 0x000005
SWI_ArmRis_6 EQU 0x000006
SWI_ArmRis_7 EQU 0x000007
SWI_ArmRis_8 EQU 0x000008
SWI_ArmRis_9 EQU 0x000009
SWI_ArmRis_10 EQU 0x00000a
SWI_ArmRis_11 EQU 0x00000b
SWI_ArmRis_12 EQU 0x00000c
SWI_ArmRis_13 EQU 0x00000d
SWI_ArmRis_14 EQU 0x00000e
SWI_ArmRis_Max EQU 0x00000f
;********************************************************************************
;*** Target Specific SWI definitions
;********************************************************************************
SWI_IMB EQU 0xF00000
SWI_IMBRange EQU 0xF00001
SWI_EnterOS EQU SWI_Demon_EnterOS
;********************************************************************************
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?