feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.capability");
- tdesc_create_reg (feature, "c0", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c1", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c2", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c3", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c4", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c5", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c6", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c7", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c8", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c9", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c10", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c11", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c12", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c13", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c14", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c15", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c16", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c17", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c18", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c19", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c20", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c21", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c22", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c23", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c24", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c25", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c26", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c27", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c28", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c29", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "c30", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "csp", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "pcc", regnum++, 1, "general", 128, "uintcap");
- tdesc_create_reg (feature, "ddc", regnum++, 1, "system", 128, "uintcap");
- tdesc_create_reg (feature, "ctpidr", regnum++, 1, "system", 128, "uintcap");
- tdesc_create_reg (feature, "rcsp", regnum++, 1, "system", 128, "uintcap");
- tdesc_create_reg (feature, "rddc", regnum++, 1, "system", 128, "uintcap");
- tdesc_create_reg (feature, "rctpidr", regnum++, 1, "system", 128, "uintcap");
- tdesc_create_reg (feature, "cid", regnum++, 1, "system", 128, "uintcap");
+ tdesc_create_reg (feature, "c0", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c1", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c2", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c3", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c4", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c5", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c6", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c7", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c8", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c9", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c10", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c11", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c12", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c13", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c14", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c15", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c16", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c17", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c18", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c19", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c20", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c21", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c22", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c23", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c24", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c25", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c26", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c27", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c28", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c29", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "c30", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "csp", regnum++, 1, "general", 128, "data_capability");
+ tdesc_create_reg (feature, "pcc", regnum++, 1, "general", 128, "code_capability");
+ tdesc_create_reg (feature, "ddc", regnum++, 1, "system", 128, "data_capability");
+ tdesc_create_reg (feature, "ctpidr", regnum++, 1, "system", 128, "data_capability");
+ tdesc_create_reg (feature, "rcsp", regnum++, 1, "system", 128, "data_capability");
+ tdesc_create_reg (feature, "rddc", regnum++, 1, "system", 128, "data_capability");
+ tdesc_create_reg (feature, "rctpidr", regnum++, 1, "system", 128, "data_capability");
+ tdesc_create_reg (feature, "cid", regnum++, 1, "system", 128, "data_capability");
tdesc_create_reg (feature, "tag_map", regnum++, 1, "system", 64, "uint64");
tdesc_create_reg (feature, "cctlr", regnum++, 1, "system", 64, "uint64");
return regnum;
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
<feature name="org.gnu.gdb.aarch64.capability">
- <reg name="c0" bitsize="128" type="uintcap" group="general"/>
- <reg name="c1" bitsize="128" type="uintcap" group="general"/>
- <reg name="c2" bitsize="128" type="uintcap" group="general"/>
- <reg name="c3" bitsize="128" type="uintcap" group="general"/>
- <reg name="c4" bitsize="128" type="uintcap" group="general"/>
- <reg name="c5" bitsize="128" type="uintcap" group="general"/>
- <reg name="c6" bitsize="128" type="uintcap" group="general"/>
- <reg name="c7" bitsize="128" type="uintcap" group="general"/>
- <reg name="c8" bitsize="128" type="uintcap" group="general"/>
- <reg name="c9" bitsize="128" type="uintcap" group="general"/>
- <reg name="c10" bitsize="128" type="uintcap" group="general"/>
- <reg name="c11" bitsize="128" type="uintcap" group="general"/>
- <reg name="c12" bitsize="128" type="uintcap" group="general"/>
- <reg name="c13" bitsize="128" type="uintcap" group="general"/>
- <reg name="c14" bitsize="128" type="uintcap" group="general"/>
- <reg name="c15" bitsize="128" type="uintcap" group="general"/>
- <reg name="c16" bitsize="128" type="uintcap" group="general"/>
- <reg name="c17" bitsize="128" type="uintcap" group="general"/>
- <reg name="c18" bitsize="128" type="uintcap" group="general"/>
- <reg name="c19" bitsize="128" type="uintcap" group="general"/>
- <reg name="c20" bitsize="128" type="uintcap" group="general"/>
- <reg name="c21" bitsize="128" type="uintcap" group="general"/>
- <reg name="c22" bitsize="128" type="uintcap" group="general"/>
- <reg name="c23" bitsize="128" type="uintcap" group="general"/>
- <reg name="c24" bitsize="128" type="uintcap" group="general"/>
- <reg name="c25" bitsize="128" type="uintcap" group="general"/>
- <reg name="c26" bitsize="128" type="uintcap" group="general"/>
- <reg name="c27" bitsize="128" type="uintcap" group="general"/>
- <reg name="c28" bitsize="128" type="uintcap" group="general"/>
- <reg name="c29" bitsize="128" type="uintcap" group="general"/>
- <reg name="c30" bitsize="128" type="uintcap" group="general"/>
- <reg name="csp" bitsize="128" type="uintcap" group="general"/>
- <reg name="pcc" bitsize="128" type="uintcap" group="general"/>
- <reg name="ddc" bitsize="128" type="uintcap" group="system"/>
- <reg name="ctpidr" bitsize="128" type="uintcap" group="system"/>
- <reg name="rcsp" bitsize="128" type="uintcap" group="general"/>
- <reg name="rddc" bitsize="128" type="uintcap" group="general"/>
- <reg name="rctpidr" bitsize="128" type="uintcap" group="system"/>
- <reg name="cid" bitsize="128" type="uintcap" group="system"/>
+ <reg name="c0" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c1" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c2" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c3" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c4" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c5" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c6" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c7" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c8" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c9" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c10" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c11" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c12" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c13" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c14" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c15" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c16" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c17" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c18" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c19" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c20" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c21" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c22" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c23" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c24" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c25" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c26" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c27" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c28" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c29" bitsize="128" type="data_capability" group="general"/>
+ <reg name="c30" bitsize="128" type="data_capability" group="general"/>
+ <reg name="csp" bitsize="128" type="data_capability" group="general"/>
+ <reg name="pcc" bitsize="128" type="code_capability" group="general"/>
+ <reg name="ddc" bitsize="128" type="data_capability" group="system"/>
+ <reg name="ctpidr" bitsize="128" type="data_capability" group="system"/>
+ <reg name="rcsp" bitsize="128" type="data_capability" group="general"/>
+ <reg name="rddc" bitsize="128" type="data_capability" group="general"/>
+ <reg name="rctpidr" bitsize="128" type="data_capability" group="system"/>
+ <reg name="cid" bitsize="128" type="data_capability" group="system"/>
<reg name="tag_map" bitsize="64" type="uint64" group="system"/>
<reg name="cctlr" bitsize="64" type="uint64" group="system"/>
</feature>
int ptr_bit;
int addr_bit;
int dwarf2_addr_size;
- int code_capability_bit;
- int data_capability_bit;
int capability_bit;
- int dwarf2_capability_size;
int char_signed;
gdbarch_read_pc_ftype *read_pc;
gdbarch_write_pc_ftype *write_pc;
gdbarch->wchar_signed = -1;
gdbarch->floatformat_for_type = default_floatformat_for_type;
gdbarch->ptr_bit = gdbarch->int_bit;
- gdbarch->code_capability_bit = gdbarch->int_bit;
gdbarch->char_signed = -1;
gdbarch->virtual_frame_pointer = legacy_virtual_frame_pointer;
gdbarch->num_regs = -1;
gdbarch->addr_bit = gdbarch_ptr_bit (gdbarch);
if (gdbarch->dwarf2_addr_size == 0)
gdbarch->dwarf2_addr_size = gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT;
- /* Skip verify of code_capability_bit, invalid_p == 0 */
- if (gdbarch->data_capability_bit == 0)
- gdbarch->data_capability_bit = gdbarch_ptr_bit (gdbarch);
if (gdbarch->capability_bit == 0)
gdbarch->capability_bit = gdbarch_ptr_bit (gdbarch);
- if (gdbarch->dwarf2_capability_size == 0)
- gdbarch->dwarf2_capability_size = gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT;
if (gdbarch->char_signed == -1)
gdbarch->char_signed = 1;
/* Skip verify of read_pc, has predicate. */
fprintf_filtered (file,
"gdbarch_dump: dwarf2_addr_size = %s\n",
plongest (gdbarch->dwarf2_addr_size));
- fprintf_filtered (file,
- "gdbarch_dump: code_capability_bit = %s\n",
- plongest (gdbarch->code_capability_bit));
- fprintf_filtered (file,
- "gdbarch_dump: data_capability_bit = %s\n",
- plongest (gdbarch->data_capability_bit));
fprintf_filtered (file,
"gdbarch_dump: capability_bit = %s\n",
plongest (gdbarch->capability_bit));
- fprintf_filtered (file,
- "gdbarch_dump: dwarf2_capability_size = %s\n",
- plongest (gdbarch->dwarf2_capability_size));
fprintf_filtered (file,
"gdbarch_dump: char_signed = %s\n",
plongest (gdbarch->char_signed));
gdbarch->dwarf2_addr_size = dwarf2_addr_size;
}
-int
-gdbarch_code_capability_bit (struct gdbarch *gdbarch)
-{
- gdb_assert (gdbarch != NULL);
- /* Skip verify of code_capability_bit, invalid_p == 0 */
- if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_code_capability_bit called\n");
- return gdbarch->code_capability_bit;
-}
-
-void
-set_gdbarch_code_capability_bit (struct gdbarch *gdbarch,
- int code_capability_bit)
-{
- gdbarch->code_capability_bit = code_capability_bit;
-}
-
-int
-gdbarch_data_capability_bit (struct gdbarch *gdbarch)
-{
- gdb_assert (gdbarch != NULL);
- /* Check variable changed from pre-default. */
- gdb_assert (gdbarch->data_capability_bit != 0);
- if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_data_capability_bit called\n");
- return gdbarch->data_capability_bit;
-}
-
-void
-set_gdbarch_data_capability_bit (struct gdbarch *gdbarch,
- int data_capability_bit)
-{
- gdbarch->data_capability_bit = data_capability_bit;
-}
-
int
gdbarch_capability_bit (struct gdbarch *gdbarch)
{
gdbarch->capability_bit = capability_bit;
}
-int
-gdbarch_dwarf2_capability_size (struct gdbarch *gdbarch)
-{
- gdb_assert (gdbarch != NULL);
- /* Check variable changed from pre-default. */
- gdb_assert (gdbarch->dwarf2_capability_size != 0);
- if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_dwarf2_capability_size called\n");
- return gdbarch->dwarf2_capability_size;
-}
-
-void
-set_gdbarch_dwarf2_capability_size (struct gdbarch *gdbarch,
- int dwarf2_capability_size)
-{
- gdbarch->dwarf2_capability_size = dwarf2_capability_size;
-}
-
int
gdbarch_char_signed (struct gdbarch *gdbarch)
{