GDB (API)
/home/stan/gdb/src/gdb/microblaze-tdep.h
Go to the documentation of this file.
00001 /* Target-dependent code for Xilinx MicroBlaze.
00002 
00003    Copyright (C) 2009-2013 Free Software Foundation, Inc.
00004 
00005    This file is part of GDB.
00006 
00007    This program is free software; you can redistribute it and/or modify
00008    it under the terms of the GNU General Public License as published by
00009    the Free Software Foundation; either version 3 of the License, or
00010    (at your option) any later version.
00011 
00012    This program is distributed in the hope that it will be useful,
00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015    GNU General Public License for more details.
00016 
00017    You should have received a copy of the GNU General Public License
00018    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
00019 
00020 #ifndef MICROBLAZE_TDEP_H
00021 #define MICROBLAZE_TDEP_H 1
00022 
00023 
00024 /* Microblaze architecture-specific information.  */
00025 struct gdbarch_tdep
00026 {
00027 };
00028 
00029 struct microblaze_frame_cache
00030 {
00031   /* Base address.  */
00032   CORE_ADDR base;
00033   CORE_ADDR pc;
00034 
00035   /* Do we have a frame?  */
00036   int frameless_p;
00037 
00038   /* Frame size.  */
00039   int framesize;
00040 
00041   /* Frame register.  */
00042   int fp_regnum;
00043 
00044   /* Offsets to saved registers.  */
00045   int register_offsets[57];     /* Must match MICROBLAZE_NUM_REGS.  */
00046 
00047   /* Table of saved registers.  */
00048   struct trad_frame_saved_reg *saved_regs;
00049 };
00050 
00051 /* Register numbers.  */
00052 enum microblaze_regnum 
00053 {
00054   MICROBLAZE_R0_REGNUM,
00055   MICROBLAZE_R1_REGNUM, MICROBLAZE_SP_REGNUM = MICROBLAZE_R1_REGNUM,
00056   MICROBLAZE_R2_REGNUM,
00057   MICROBLAZE_R3_REGNUM, MICROBLAZE_RETVAL_REGNUM = MICROBLAZE_R3_REGNUM,
00058   MICROBLAZE_R4_REGNUM,
00059   MICROBLAZE_R5_REGNUM, MICROBLAZE_FIRST_ARGREG = MICROBLAZE_R5_REGNUM,
00060   MICROBLAZE_R6_REGNUM,
00061   MICROBLAZE_R7_REGNUM,
00062   MICROBLAZE_R8_REGNUM,
00063   MICROBLAZE_R9_REGNUM,
00064   MICROBLAZE_R10_REGNUM, MICROBLAZE_LAST_ARGREG = MICROBLAZE_R10_REGNUM,
00065   MICROBLAZE_R11_REGNUM,
00066   MICROBLAZE_R12_REGNUM,
00067   MICROBLAZE_R13_REGNUM,
00068   MICROBLAZE_R14_REGNUM,
00069   MICROBLAZE_R15_REGNUM,
00070   MICROBLAZE_R16_REGNUM,
00071   MICROBLAZE_R17_REGNUM,
00072   MICROBLAZE_R18_REGNUM,
00073   MICROBLAZE_R19_REGNUM,
00074   MICROBLAZE_R20_REGNUM,
00075   MICROBLAZE_R21_REGNUM,
00076   MICROBLAZE_R22_REGNUM,
00077   MICROBLAZE_R23_REGNUM,
00078   MICROBLAZE_R24_REGNUM,
00079   MICROBLAZE_R25_REGNUM,
00080   MICROBLAZE_R26_REGNUM,
00081   MICROBLAZE_R27_REGNUM,
00082   MICROBLAZE_R28_REGNUM,
00083   MICROBLAZE_R29_REGNUM,
00084   MICROBLAZE_R30_REGNUM,
00085   MICROBLAZE_R31_REGNUM,
00086   MICROBLAZE_PC_REGNUM,
00087   MICROBLAZE_MSR_REGNUM,
00088   MICROBLAZE_EAR_REGNUM,
00089   MICROBLAZE_ESR_REGNUM,
00090   MICROBLAZE_FSR_REGNUM,
00091   MICROBLAZE_BTR_REGNUM,
00092   MICROBLAZE_PVR0_REGNUM,
00093   MICROBLAZE_PVR1_REGNUM,
00094   MICROBLAZE_PVR2_REGNUM,
00095   MICROBLAZE_PVR3_REGNUM,
00096   MICROBLAZE_PVR4_REGNUM,
00097   MICROBLAZE_PVR5_REGNUM,
00098   MICROBLAZE_PVR6_REGNUM,
00099   MICROBLAZE_PVR7_REGNUM,
00100   MICROBLAZE_PVR8_REGNUM,
00101   MICROBLAZE_PVR9_REGNUM,
00102   MICROBLAZE_PVR10_REGNUM,
00103   MICROBLAZE_PVR11_REGNUM,
00104   MICROBLAZE_REDR_REGNUM,
00105   MICROBLAZE_RPID_REGNUM,
00106   MICROBLAZE_RZPR_REGNUM,
00107   MICROBLAZE_RTLBX_REGNUM,
00108   MICROBLAZE_RTLBSX_REGNUM,
00109   MICROBLAZE_RTLBLO_REGNUM,
00110   MICROBLAZE_RTLBHI_REGNUM
00111 };
00112 
00113 /* All registers are 32 bits.  */
00114 #define MICROBLAZE_REGISTER_SIZE 4
00115 
00116 /* MICROBLAZE_BREAKPOINT defines the breakpoint that should be used.
00117    Only used for native debugging.  */
00118 #define MICROBLAZE_BREAKPOINT {0xb9, 0xcc, 0x00, 0x60}
00119 
00120 #endif /* microblaze-tdep.h */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines