binutils-gdb/gdb/features/tic6x-core.c
Yao Qi 506fe5f499 Change tic6x target descriptions
This patch changes tic6x target descriptions to be more flexible.  Rebuild
tic6x-uclinux GDBserver with my x86 g++, and the unit test passes.

gdb:

2017-11-24  Yao Qi  <yao.qi@linaro.org>

	* arch/tic6x.c: New file.
	* arch/tic6x.h: New file.
	* features/Makefile (FEATURE_XMLFILES): Add tic6x-c6xp.xml,
	tic6x-core.xml and tic6x-gp.xml.
	* features/tic6x-c6xp.c: Generated.
	* features/tic6x-core.c: Generated.
	* features/tic6x-gp.c: Generated.
	* target-descriptions.c (maint_print_c_tdesc_cmd): Match
	"tic6x-".

gdb/gdbserver:

2017-11-24  Yao Qi  <yao.qi@linaro.org>

	* configure.srv: Set $srv_regobj for tic6x-linux.
	* linux-tic6x-low.c: Include "arch/tic6x.h" and "tdesc.h".
	(tic6x_read_description): Move some code to tic6x_arch_setup.
	(tic6x_tdesc_test): New function.
	(initialize_low_arch): Call selftests::register_test.
2017-11-24 09:29:43 +00:00

48 lines
2.6 KiB
C

/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: tic6x-core.xml */
#include "arch/tdesc.h"
static int
create_feature_tic6x_core (struct target_desc *result, long regnum)
{
struct tdesc_feature *feature;
feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.core", "tic6x-core.xml");
tdesc_create_reg (feature, "A0", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A1", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A2", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A3", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A4", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A5", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A6", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A7", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A8", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A9", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A10", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A11", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A12", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A13", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A14", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "A15", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B0", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B1", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B2", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B3", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B4", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B5", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B6", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B7", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B8", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B9", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B10", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B11", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B12", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B13", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B14", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "B15", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "CSR", regnum++, 1, NULL, 32, "uint32");
tdesc_create_reg (feature, "PC", regnum++, 1, NULL, 32, "code_ptr");
return regnum;
}