⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adp.h

📁 这个是LINUX下的GDB调度工具的源码
💻 H
📖 第 1 页 / 共 5 页
字号:
 * 'stepinfo' is a 32bit wide bitmask described in detail below.  Note that * only 3 bits are used. *//* 'stepinfo':- *//* Single-stepping of more than one instruction is possible. */#define ADP_Info_Step_Multiple  (1 << 0)/* Single-stepping until next direct PC change is possible. */#define ADP_Info_Step_PCChange  (1 << 1)/* Single-stepping of a single instruction is possible. */#define ADP_Info_Step_Single    (1 << 2)#define ADP_Info_MMU                    ADPSUBREASON(CI_HADP,4)/* ADP_Info_MMU * ------------ * Summary: Returns information about the memory management system (if * any). * * Arguments: * Send:   () * Return: (word status, word meminfo) * * 'status' returns RDIError_NoError to indicate success or non-zero to * indicate some kind of error. * 'meminfo' should be a 32bit unique ID, or zero if there is no MMU * support on the target. */#define ADP_Info_SemiHosting            ADPSUBREASON(CI_HADP,5)/* ADP_Info_SemiHosting * -------------------- * Summary: This message is used to check whether semi-hosting info calls * are available on the target. * * Arguments: * Send:   () * Return: (word status) * * 'status' returns RDIError_NoError if semi-hosting info calls are available, * non-zero otherwise. */#define ADP_Info_CoPro                  ADPSUBREASON(CI_HADP,6)/* ADP_Info_CoPro * -------------- * Summary: This message checks whether CoProcessor info calls are * supported. * * Arguments: * Send:   () * Return: (word status) * * 'status' returns RDIError_NoError to indicate these facilities * are supported, non-zero otherwise. */#define ADP_Info_Cycles                 ADPSUBREASON(CI_HADP,7)/* ADP_Info_Cycles * --------------- * Summary: Returns the number of instructions and cycles executed since * the target was initialised. * * Arguments: * Send:   () * Return: (word status, word ninstr, word Scycles, word Ncycles, *          word Icycles, word Ccycles, word Fcycles) * * 'status' is RDIError_NoError to indicate success, or non-zero if there * is no target support for gathering cycle count information. * 'ninstr' is the number of instructions executed. * 'Scycles' is the number of S-cycles executed. * 'Ncycles' is the number of N-cycles executed. * 'Icycles' is the number of I-cycles executed. * 'Ccycles' is the number of C-cycles executed. * 'Fcycles' is the number of F-cycles executed. */#define ADP_Info_DescribeCoPro          ADPSUBREASON(CI_HADP,8)/* ADP_Info_DescribeCoPro * ---------------------- * Summary: Describe the registers of a coprocessor.  Use only if * ADP_Info_CoPro return RDIError_NoError. * * Arguments: * Send:   Arguments of the form: *         (byte cpno, byte rmin, byte rmax, byte nbytes, byte access, *          byte cprt_r_b0, byte cprt_r_b1, byte cprt_w_b0, byte cprt_w_b1) *         And a terminating byte = 0xff.  Must be within maximum buffer size. * Return: (word status) * * 'cpno' is the number of the coprocessor to be described. * 'rmin' is the bottom of a range of registers with the same description. * 'rmax' is the top of a range of registers with the same description. * 'nbytes' is the size of the register. * 'access' describes access to the register and is described in more detail * below. * * If bit 2 of access is set:- * 'cprt_r0' provides bits 0 to 7, and * 'cprt_r1' provides bits 16 to 23 of a CPRT instruction to read the * register. * 'cprt_w0' provides bits 0 to 7, and * 'cprt_w1' provides bits 16 to 23 of a CPRT instruction to write the * register. * * Otherwise, 'cprt_r0' provides bits 12 to 15, and 'cprt_r1' bit 22 of CPDT * instructions to read and write the register ('cprt_w0' and 'cprt_w1' are * junk). *//* 'access':- *//* Readable. */#define ADP_Info_DescribeCoPro_Readable   (1 << 0)/* Writeable. */#define ADP_Info_DescribeCoPro_Writeable  (1 << 1)/* Registers read or written via CPDT instructions (else CPRT) with this   bit set. */#define ADP_Info_DescribeCoPro_CPDT       (1 << 2)#define ADP_Info_RequestCoProDesc       ADPSUBREASON(CI_HADP,9)/* ADP_Info_RequestCoProDesc * ------------------------- * Summary: Requests a description of the registers of a coprocessor.  Use * only if ADP_Info_CoPro return RDIError_NoError. * * Arguments: * Send:   (byte cpno) * Return: Arguments of the form:- *         (word status, byte rmin, byte rmax, byte nbytes, byte access) *         Followed by a terminating byte = 0xFF.  Must be within maximum *         buffer size. * 'cpno' is the number of the coprocessor to describe. * 'status' is RDIError_NoError to indicate success, non-zero otherwise. * 'rmin' is the bottom of a range of registers with the same description. * 'rmax' is the top of a range of registers with the same description. * 'nbytes' is the size in bytes of the register(s). * 'access' is as above in ADP_Info_DescribeCoPro. */#define ADP_Info_AngelBufferSize        ADPSUBREASON(CI_HADP,10)/* ADP_Info_AngelBufferSize * ------------------------ * Summary: Returns the Angel buffer sizes. * * Arguments: * Send:   () * Return: (word status, word defaultsize, word maxsize) * * 'status' returns RDIError_NoError to indicate success or non-zero to * indicate some kind of error. * 'defaultsize' is the default Angel ADP buffer size in bytes. This is * at least 256 bytes. * 'maxsize' is the largest Angel ADP buffer size in bytes. This will be * greater than or equal to defaultsize.  The target will accept ADP messages * of up to this length for download, etc. * * Was DownLoadSize in RDP/RDI world.  This is the amount that the target * should transmit in a single operation.  This should now be the Angel * buffer size.  This information is also given in the ADP_Booted message. * * NOTE: The value returned should be the DATASIZE and *NOT* BUFFERDEFSIZE. * This is needed to ensure that the transport protocol information * can be wrapped around the data. */#define ADP_Info_ChangeableSHSWI        ADPSUBREASON(CI_HADP,11)/* ADP_Info_ChangeableSHSWI * ------------------------ * Summary: This message is used to check whether it is possible to change * which SWI's are used for semihosting. * * Arguments: * Send:   () * Return: (word status) * * 'status' returns RDIError_NoError if semi-hosting info calls are available, * non-zero otherwise. */#define ADP_Info_CanTargetExecute      ADPSUBREASON(CI_HADP,12)/* ADP_Info_CanTargetExecute * ------------------------- * Summary: This message is used to see if the target is currently in * an executable state.  Typically this is called after the debugger * initialises.  If a non-error statis is returned then the user is * allowed to 'go' immediately. * * Arguments: * Send:   () * Return: (word status) * * 'status' returns RDIError_NoError if target is ready to execute. * other values indicate why it cannot execute. */#define ADP_Info_AgentEndianess     ADPSUBREASON(CI_HADP,13)/* ADP_Info_AgentEndianess * ------------------------- * Summary: This message is used to determine the endianess of the * debug agent * Arguments: * Send:   () * Return: (word status) * * status should be RDIError_LittleEndian or RDIError_BigEndian * any other value indicates the target does not support this * request, so the debugger will have to make a best guess, which * probably means only allow little endian loadagenting. */#define ADP_Control             ADPREASON(CI_HADP,2)/* This message allows for the state of the debug agent to be * manipulated by the host. *//* The following are sub reason codes to ADP control, the first parameter * is the sub reason code which defines the format of subsequent parameters. * * word         sub reason code */#define ADP_Ctrl_NOP                    ADPSUBREASON(CI_HADP,0)/* ADP_Ctrl_NOP * ------------ * Summary: This message is used to check that ADP_Ctrl messages are * supported. * * Arguments: * Send:   () * Return: (word status) * * 'status' is RDIError_NoError to indicate ADP_Ctrl messages are * supported, non-zero otherwise. */#define ADP_Ctrl_VectorCatch            ADPSUBREASON(CI_HADP,1)/* ADP_Ctrl_VectorCatch * -------------------- * Summary: Specifies which hardware exceptions should be reported to the * debugger. * * Arguments: * Send:   (word bitmap) * Return: (word status) * * 'bitmap' is a bit-mask of exceptions to be reported, described in more * detail below.  A set bit indicates that the exception should be * reported to the debugger, a clear bit indicates that the corresponding * exception vector should be taken. * 'status' is RDIError_NoError to indicate success, non-zero otherwise. *//* 'bitmap':- *//* Reset(branch through zero). */#define ADP_Ctrl_VectorCatch_BranchThroughZero      (1 << 0)/* Undefined Instruction. */#define ADP_Ctrl_VectorCatch_UndefinedInstr         (1 << 1)/* Software Interrupt. */#define ADP_Ctrl_VectorCatch_SWI                    (1 << 2)/* Prefetch Abort. */#define ADP_Ctrl_VectorCatch_PrefetchAbort          (1 << 3)/* Data Abort. */#define ADP_Ctrl_VectorCatch_DataAbort              (1 << 4)/* Address Exception. */#define ADP_Ctrl_VectorCatch_AddressException       (1 << 5)/* Interrupt Request. */#define ADP_Ctrl_VectorCatch_IRQ                    (1 << 6)/* Fast Interrupt Request. */#define ADP_Ctrl_VectorCatch_FIQ                    (1 << 7)/* Error. */#define ADP_Ctrl_VectorCatch_Error                  (1 << 8)#define ADP_Ctrl_PointStatus_Watch      ADPSUBREASON(CI_HADP,2)/* ADP_Ctrl_PointStatus_Watch * -------------------------- * Summary: Returns the hardware resource number and the type of that * resource when given a watchpoint handle.  Should only be called if * the value returned by ADP_Info_Points had ADP_Info_Points_Status set. * * Arguments: * Send:   (word handle) * Return: (word status, word hwresource, word type) * * 'handle' is a handle to a watchpoint. * 'status' is RDIError_NoError to indicate success, non-zero otherwise. * 'hwresource' is the hardware resource number. !!!!! * 'type' is the type of the resource. */#define ADP_Ctrl_PointStatus_Break      ADPSUBREASON(CI_HADP,3)/* ADP_Ctrl_PointStatus_Break * -------------------------- * Summary: Returns the hardware resource number and the type of that * resource when given a breakpoint handle.  Should only be called if * the value returned by ADP_Info_Points had ADP_Info_Points_Status set. * * Arguments: * Send:   (word handle) * Return: (word status, word hwresource, word type) * * 'handle' is a handle to a breakpoint. * 'status' is RDIError_NoError to indicate success, non-zero otherwise. * 'hwresource' is the hardware resource number. * 'type' is the type of the resource. */#define ADP_Ctrl_SemiHosting_SetState   ADPSUBREASON(CI_HADP,4)/* ADP_Ctrl_SemiHosting_SetState * ----------------------------- * Summary: Sets whether or not semi-hosting is enabled. * * Arguments: * Send:   (word semihostingstate) * Return: (word status) * * 'semihostingstate' sets semi-hosting to enabled if zero, otherwise * it disables semi-hosting. * 'status' is RDIError_NoError to indicate success, non-zero otherwise. * * NOTE: This should only be called if ADP_Info_SemiHosting didn't return * an error. */#define ADP_Ctrl_SemiHosting_GetState   ADPSUBREASON(CI_HADP,5)/* ADP_Ctrl_SemiHosting_GetState * ----------------------------- * Summary: Reads whether or not semi-hosting is enabled. * * Arguments: * Send:   () * Return: (word status, word semihostingstate) * * 'status' is RDIError_NoError to indicate success, non-zero otherwise. * 'semihostingstate' is zero if semi-hosting is enabled, non-zero otherwise. * * NOTE: This should only be called if ADP_Info_SemiHosting didn't return * an error. */#define ADP_Ctrl_SemiHosting_SetVector  ADPSUBREASON(CI_HADP,6)/* ADP_Ctrl_SemiHosting_SetVector * ------------------------------ * Summary: Sets the semi-hosting vector. * * Arguments: * Send:   (word semihostingvector) * Return: (word status) * * 'semihostingvector' holds the value the vector is to be set to. * 'status' is RDIError_NoError to indicate success, non-zero otherwise. * * NOTE: This should only be called if ADP_Info_SemiHosting didn't return * an error. */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -