亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rdi_sdm.h

?? ARM公司關(guān)于調(diào)試接口RDI的最新頭文件
?? H
字號:
/* RDI SDM (self describing modules) and code sequences
   Copyright (C) 2001 Free Software Foundation, Inc.


This file is part of GDB.


GDB is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.


GDB is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.


You should have received a copy of the GNU General Public License
along with GDB; see the file COPYING.  If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.  */

/* -*-C-*-
 *
 * $Revision: 1.8 $
 *   $Author: hbullman $
 *     $Date: 2000/05/22 13:28:10 $
 *
 */

#ifndef rdi_sdm_h
#define rdi_sdm_h

#include "host.h"
#include "rdi.h"

/*
 * RDI Self Describing Modules
 */

#define RDIAttrib_Readable      0x0001
#define RDIAttrib_Writeable     0x0002
#define RDIAttrib_GotEndianness 0x0004
#define RDIAttrib_LittleEndian  0x0008
#define RDIAttrib_Volatile      0x0010


typedef struct RDIRegister
{
    uint32 reg_num;        /* Corresponds to a bit in the mask in
                            * RDI_CPU[Read/Write]Proc
                            * Only values 0-31 are significant */
    uint32 mode;           /* Corresponds to the mode parameter of
                            * RDI_CPU[Read/Write]Proc */
    uint32 width;          /* In bits.  Must be greater than zero.  The actual
                            * occupied width will be rounded up to the nearest
                            * 32-bits.  So, a 33 bit register occupies 64 bits
                            * of space */
    uint32 attrib;         /* Readable, writable, ... [RDIAttrib_*] */
    char const *name;      /* As seen by the user.  Must be non-NULL */
    char const *desc;      /* A longer description */
    char const *bankname;  /* May be NULL */
    char const *displaytype;
                           /* May be NULL, otherwise refers to either a
                            * standard type, or a  type exported by
                            * RDIInfo_DescribeTypeDefinitions */
} RDIRegister;

/*
 *        Function: RDIInfo_DescribeRegisterMap
 *         Purpose: Allow a module to describe its register map
 *
 *  Pre-conditions: 
 *
 *          Params:
 *                  Out: (unsigned *)arg1 = nRegs
 *                       (*nRegs) is the total number of registers in the
 *                        module, which is the number of elements in array.
 *
 *                  Out: (RDIRegister **)arg2 = array
 *                       Return an array of RDIRegister in this pointer, if it
 *                       is non-NULL.  The array memory is owned by the target
 *                       and is guaranteed to be valid until
 *                       RDI_CloseProc(module).
 *
 *         Returns: RDIError_NoError: OK
 *                  RDIError_UnimplementedMessage: Module does not support
 *                            self description of registers
 */
#define RDIInfo_DescribeRegisterMap 0x730


#define RDISpecialRegister_PC 1
#define RDISpecialRegister_LR 2

/*
 *        Function: RDIInfo_RequestVolatileMapping
 *         Purpose: 
 *
 *  Pre-conditions: 
 *
 *          Params:
 *                   In: 
 *               In/Out: 
 *                  Out: 
 *
 *         Returns: 
 *
 * Post-conditions: 
 *                                  
 */
#define RDIInfo_RequestVolatileMapping  0x731


struct RDIMemoryArea
{
    uint32 base;     /* The base address for this memory area, in the context
                      * of RDI_[Read/Write]Proc */
    uint32 length;   /* The length of this memory area, in the context of
                      * RDI_[Read/Write]Proc */
    uint32 priority; /* If memory areas overlap, higher priority areas override
                      * lower priority areas */
    RDI_AccessType access;
                     /* Describes the access type that should, by default, be
                      * used for this area */
    uint32 attrib;   /* Readable, writable, endianness ... [RDIAttrib_*] */
    char const *name;/* A name for this memory area.  May be NULL */
    char const *displaytype;
                     /* Default display type for memory within this area.
                      * May be NULL, otherwise refers to either a standard type
                      * or a type exported by RDIInfo_DescribeTypeDefinitions 
                      */
};


/*
 *        Function: RDIInfo_DescribeMemoryAreas
 *         Purpose: Allow a module to describe its memory map
 *
 *  Pre-conditions: 
 *
 *          Params:
 *               Out: (unsigned *)arg1 = nAreas
 *                    (*nAreas) is the total number of memory areas in the
 *                    module, which is the number of elements in array.
 *
 *               Out: (RDIMemoryArea **)arg2 = array
 *                    Return an array of RDIMemoryArea in this pointer, if it
 *                    is non-NULL.  The array memory is owned by the target
 *                    and is guaranteed to be valid until
 *                    RDI_CloseProc(module).
 *
 *         Returns: RDIError_NoError: OK
 *                  RDIError_UnimplementedMessage: Module does not support
 *                            self description of memory areas
 */
#define RDIInfo_DescribeMemoryAreas 0x732



/*
 *        Function: RDIInfo_RequestDataTypes
 *         Purpose: Return an array of strings, containing any data type
 *                  definitions required by the module
 *
 *  Pre-conditions: None
 *
 *          Params:
 *                  Out: (unsigned *)arg1 = nStrings
 *                       (*nStrings) is the number of items in the array.
 *                  Out: (char const ***)arg2 = arrayOfStrings
 *                       Target returns a pointer to an array of strings in
 *                        (*arrayOfStrings).  These strings 
 *                        contain any target defined type definitions,
 *                        in the format described above.  There may be one
 *                        or more than one type definition in each string
 *                        Memory space occupied by these is owned by the debug
 *                        target,and is guaranteed to last until RDI_CloseProc.
 *
 *         Returns: RDIError_NoError     OK
 *         RDIError_UnimplementedMessage Module does not have any user defined
 *                                        types
 *
 *
 * Post-conditions: None
 *                                  
 */
#define RDIInfo_RequestDataTypes 0x733

/*****************************************************************************/

/*
 * RDI Code Sequences
 */

typedef enum RDICodeSequence_ISet
{
    RDICodeSequenceISet_ARMv4T,
    RDICodeSequenceISet_Thumbv4T,
    RDICodeSequenceISet_ARMv5T,
    RDICodeSequenceISet_Thumbv5T,
    RDICodeSequenceISet_JTAG

} RDICodeSequence_ISet;

typedef enum RDICodeSequence_Type
{
    RDICodeSequenceType_Arbitrary,
    RDICodeSequenceType_CoProReg,
    RDICodeSequenceType_CoProMem,
    RDICodeSequenceType_Memory

} RDICodeSequence_Type;

typedef enum RDICodeSequence_Mode
{
    RDICodeSequenceMode_User = 0x10,
    RDICodeSequenceMode_FIQ = 0x11,
    RDICodeSequenceMode_IRQ = 0x12,
    RDICodeSequenceMode_SVC = 0x13,
    RDICodeSequenceMode_Abort = 0x17,
    RDICodeSequenceMode_Undef = 0x1b,
    RDICodeSequenceMode_System = 0x1f,
    RDICodeSequenceMode_Any = -1,
    RDICodeSequenceMode_AnyPrivileged = -2

} RDICodeSequence_Mode;

typedef struct RDICodeSequence_Data
{
    RDICodeSequence_ISet iset;
    RDICodeSequence_Type type;
    RDICodeSequence_Mode mode;

    unsigned numDataIn, numDataOut, numInstructions;

    uint32 *dataIn;
    uint32 *dataOut;
    uint32 *instructions;

    uint32  flags;      /* see #defines below */
    uint32  stacksize;  /* zero if no stack required */
    uint32  data;       /* for expansion */

} RDICodeSequence_Data;

#define RDICodeSequence_Flag_DataRepresentsRegs 0x0001
#define RDICodeSequence_Flag_UseJTAGIfPossible  0x0002

#define RDICodeSequence_FlagCare_IRQ            0x0010
#define RDICodeSequence_Flag_IRQEnabled         0x0020
#define RDICodeSequence_FlagCare_FIQ            0x0040
#define RDICodeSequence_Flag_FIQEnabled         0x0080
#define RDICodeSequence_FlagCare_SystemSpeed    0x0100
#define RDICodeSequence_Flag_RunAtSystemSpeed   0x0200

/*
 * if (flags & RDICodeSequence_EnumCare_OperationType)
 *    enum RDICodeSequence_Enum_Operation operation = 
 *        (flags & RDICodeSequence_EnumMask_OperationType) >>
 *        RDICodeSequence_EnumShift_OperationType
 */
#define RDICodeSequence_EnumShift_OperationType 11
#define RDICodeSequence_EnumMask_OperationType  0x7800
enum RDICodeSequence_Enum_Operation
{
    RDICodeSequence_Enum_NotCacheOperation = 0,
    RDICodeSequence_Enum_JointCacheOperation,
    RDICodeSequence_Enum_ICacheOperation,
    RDICodeSequence_Enum_DCacheOperation,
    RDICodeSequence_Enum_JointRAMOperation,
    RDICodeSequence_Enum_IRAMOperation,
    RDICodeSequence_Enum_DRAMOperation
};

/*
 *        Function: RDIInfo_CodeSequenceInquiry
 *         Purpose: Does the target support code sequences over RDI?
 *
 *  Pre-conditions: none
 *
 *          Params: none
 *
 *         Returns: RDIError_NoError - code sequences supported
 *                  RDIError_UnimplementedMessage - code sequences unsupported
 *
 * Post-conditions: none
 *                                  
 */
#define RDIInfo_CodeSequenceInquiry 0x740

/*
 *        Function: RDIInfo_CodeSequence
 *         Purpose: Instruct the target to execute a sequence of code
 *
 *  Pre-conditions: none
 *
 *          Params:
 *               In: arg1 = (RDICodeSequence_Data const *) Contents are not
 *                                                         to be modified by
 *                                                         target
 *
 *         Returns: RDIError_NoError - code executed as requested
 *                  RDIError_BadCPUStateSetting - unsupported "iset"
 *                  RDIError_UnimplementedType - unsupported "type"
 *                  RDIError_InsufficientPrivilege - unsupported "mode"
 *                  RDIError_OutOfStore - too much stack space requested
 *                  RDIError_IllegalInstruction - target refuses to run opcodes
 *                  RDIError_UnimplementedMessage - code sequences unsupported
 *
 * Post-conditions: If no error, sequence was run
 *                                  
 */
#define RDIInfo_CodeSequence 0x741

#endif /* !def rdi_sdm_h */

/* EOF rdi_sdm.h */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av一级做a爰片久久| 国产精品对白交换视频| 国产三区在线成人av| 亚洲欧洲av在线| 亚洲国产你懂的| 麻豆成人91精品二区三区| 国产一区二区三区综合 | 欧美精品一区二区三区四区| 欧美极品xxx| 亚州成人在线电影| 国产在线日韩欧美| 色综合久久久久网| 欧美成人综合网站| 亚洲精品国产一区二区三区四区在线| 日本麻豆一区二区三区视频| 成人午夜看片网址| 欧美日韩亚洲丝袜制服| 久久久久久久久久久久久久久99 | 在线亚洲+欧美+日本专区| 欧美一区二区三区免费观看视频| 日本一区二区在线不卡| 亚洲大型综合色站| 国产成人在线网站| 欧美日韩高清一区二区| 国产视频视频一区| 首页国产欧美久久| 99久久伊人网影院| 欧美α欧美αv大片| 亚洲精品中文在线影院| 精品中文字幕一区二区| 一本高清dvd不卡在线观看| 精品成人免费观看| 亚瑟在线精品视频| 99久久99久久久精品齐齐| 日韩视频免费直播| 一区二区三区精品视频在线| 国产高清精品久久久久| 欧美精品久久一区二区三区| 国产精品理伦片| 精品一区二区三区不卡| 欧美人牲a欧美精品| 亚洲欧洲国产专区| 国产成人精品免费一区二区| 欧美sm极限捆绑bd| 午夜免费欧美电影| 国产精品久久久久影院亚瑟| 久久电影网站中文字幕| 欧美日韩中文字幕一区二区| 国产精品久久久久久久久免费相片 | 国产一区二区美女诱惑| 91精品国产乱| 亚洲一区二区三区四区的| 成人禁用看黄a在线| 久久一夜天堂av一区二区三区| 五月综合激情网| 欧美亚洲免费在线一区| 18成人在线观看| 高潮精品一区videoshd| 久久久午夜精品理论片中文字幕| 日韩不卡一区二区| 欧美三级电影网站| 一区二区三区毛片| 日本道免费精品一区二区三区| 中文字幕av一区二区三区高 | 欧美国产成人在线| 国产一二精品视频| 精品国产一区二区在线观看| 欧美aaaaaa午夜精品| 3d动漫精品啪啪一区二区竹菊 | 欧美精选一区二区| 亚洲v日本v欧美v久久精品| 91福利视频在线| 亚洲免费在线观看视频| 99re在线精品| 亚洲人精品午夜| 91丝袜美女网| 亚洲精品乱码久久久久久日本蜜臀| 99在线精品免费| 亚洲欧洲精品一区二区三区 | 午夜精品久久久| 欧美男男青年gay1069videost| 亚洲自拍偷拍综合| 欧美性大战久久久久久久蜜臀| 亚洲伊人伊色伊影伊综合网| 欧美午夜电影在线播放| 亚洲va国产天堂va久久en| 在线91免费看| 国产在线精品一区二区不卡了 | 色久优优欧美色久优优| 亚洲自拍另类综合| 欧美丰满嫩嫩电影| 国产一区二区伦理| 国产精品久久久久婷婷| 色播五月激情综合网| 午夜视频久久久久久| 日韩午夜激情电影| 国产成人av电影在线观看| 成人免费视频免费观看| 国产精品美女久久久久av爽李琼| av爱爱亚洲一区| 亚洲一区二区三区中文字幕| 欧美一区二区三区思思人| 久久99九九99精品| 国产精品美日韩| 欧美中文字幕亚洲一区二区va在线| 亚洲一区二区在线播放相泽| 在线播放/欧美激情| 久久精品国产99| 国产视频在线观看一区二区三区| 成人app软件下载大全免费| 亚洲免费观看高清| 欧美精品日韩一本| 激情文学综合插| 中文字幕亚洲欧美在线不卡| 91黄色激情网站| 日韩va欧美va亚洲va久久| 欧美成人一区二区三区片免费| 国产精品中文字幕日韩精品 | 91污片在线观看| 一区二区高清在线| 欧美日韩国产系列| 激情综合亚洲精品| 中文字幕av免费专区久久| 欧美日韩中字一区| 国产综合色产在线精品| 国产精品久久久久久久久果冻传媒| 色天天综合久久久久综合片| 日本中文在线一区| 国产日韩欧美不卡| 色999日韩国产欧美一区二区| 亚洲国产精品久久久男人的天堂| 日韩一区二区中文字幕| 国产成人在线视频网站| 国产精品天美传媒| 91精品欧美一区二区三区综合在| 国产在线看一区| 亚洲免费在线电影| 日韩欧美国产综合在线一区二区三区| 成人一二三区视频| 蜜臀av一级做a爰片久久| 国产精品高潮久久久久无| 欧美三级电影在线看| 国产精品123区| 亚洲一区二区三区中文字幕在线| 中文一区二区完整视频在线观看| 在线观看视频一区| 天堂蜜桃91精品| 欧美激情在线一区二区三区| 日本二三区不卡| 国产精品白丝jk黑袜喷水| 亚洲国产一区二区三区| 国产日韩精品一区二区三区| 欧美美女网站色| www.欧美.com| 捆绑调教一区二区三区| 亚洲免费观看在线视频| 精品久久久影院| 欧美在线视频你懂得| 91亚洲大成网污www| 国内精品久久久久影院薰衣草 | 94-欧美-setu| 激情文学综合网| 日韩成人免费电影| 亚洲欧美日韩电影| 国产精品久久久久久久久久免费看| 欧美一区二区在线不卡| 色乱码一区二区三区88| 国产精品自拍av| 亚洲国产视频a| 一区二区在线电影| 国产精品福利影院| 久久久久久久久蜜桃| 麻豆高清免费国产一区| 蜜桃av一区二区在线观看| 亚洲一二三四区| 亚洲视频香蕉人妖| 国产三级三级三级精品8ⅰ区| 一本大道综合伊人精品热热| 99久久精品情趣| 丁香天五香天堂综合| 久久精品国产亚洲高清剧情介绍 | 视频一区二区三区中文字幕| 成人欧美一区二区三区视频网页 | 亚洲在线一区二区三区| 国产农村妇女毛片精品久久麻豆 | 国产盗摄精品一区二区三区在线| 午夜久久久久久电影| 日韩中文欧美在线| 亚洲韩国精品一区| 亚洲精品老司机| 伊人开心综合网| 午夜精品久久久久久久久久| 亚洲综合免费观看高清在线观看| 亚洲日本免费电影| 亚洲视频每日更新| 国产精品色哟哟网站| 中文字幕综合网| 亚洲欧美一区二区三区极速播放| 自拍偷自拍亚洲精品播放| 亚洲欧洲精品一区二区三区|