aboutsummaryrefslogtreecommitdiff
path: root/gdb/frv-tdep.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/frv-tdep.h')
-rw-r--r--gdb/frv-tdep.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/gdb/frv-tdep.h b/gdb/frv-tdep.h
index 5d95aa5..691d7a5 100644
--- a/gdb/frv-tdep.h
+++ b/gdb/frv-tdep.h
@@ -25,6 +25,58 @@ enum frv_abi
FRV_ABI_FDPIC
};
+/* Register numbers. The order in which these appear define the
+ remote protocol, so take care in changing them. */
+enum {
+ /* Register numbers 0 -- 63 are always reserved for general-purpose
+ registers. The chip at hand may have less. */
+ first_gpr_regnum = 0,
+ sp_regnum = 1,
+ fp_regnum = 2,
+ struct_return_regnum = 3,
+ last_gpr_regnum = 63,
+
+ /* Register numbers 64 -- 127 are always reserved for floating-point
+ registers. The chip at hand may have less. */
+ first_fpr_regnum = 64,
+ last_fpr_regnum = 127,
+
+ /* The PC register. */
+ pc_regnum = 128,
+
+ /* Register numbers 129 on up are always reserved for special-purpose
+ registers. */
+ first_spr_regnum = 129,
+ psr_regnum = 129,
+ ccr_regnum = 130,
+ cccr_regnum = 131,
+ fdpic_loadmap_exec_regnum = 132,
+ fdpic_loadmap_interp_regnum = 133,
+ tbr_regnum = 135,
+ brr_regnum = 136,
+ dbar0_regnum = 137,
+ dbar1_regnum = 138,
+ dbar2_regnum = 139,
+ dbar3_regnum = 140,
+ lr_regnum = 145,
+ lcr_regnum = 146,
+ iacc0h_regnum = 147,
+ iacc0l_regnum = 148,
+ last_spr_regnum = 148,
+
+ /* The total number of registers we know exist. */
+ frv_num_regs = last_spr_regnum + 1,
+
+ /* Pseudo registers */
+ first_pseudo_regnum = frv_num_regs,
+
+ /* iacc0 - the 64-bit concatenation of iacc0h and iacc0l. */
+ iacc0_regnum = first_pseudo_regnum + 0,
+
+ last_pseudo_regnum = iacc0_regnum,
+ frv_num_pseudo_regs = last_pseudo_regnum - first_pseudo_regnum + 1,
+};
+
/* Return the FR-V ABI associated with GDBARCH. */
enum frv_abi frv_abi (struct gdbarch *gdbarch);