1f08c3bdfSopenharmony_ci#include "symbol.h" 2f08c3bdfSopenharmony_ci#include "target.h" 3f08c3bdfSopenharmony_ci#include "machine.h" 4f08c3bdfSopenharmony_ci 5f08c3bdfSopenharmony_ci 6f08c3bdfSopenharmony_cistatic void init_microblaze(const struct target *self) 7f08c3bdfSopenharmony_ci{ 8f08c3bdfSopenharmony_ci fast16_ctype = &int_ctype; 9f08c3bdfSopenharmony_ci ufast16_ctype = &uint_ctype; 10f08c3bdfSopenharmony_ci fast32_ctype = &int_ctype; 11f08c3bdfSopenharmony_ci ufast32_ctype = &uint_ctype; 12f08c3bdfSopenharmony_ci} 13f08c3bdfSopenharmony_ci 14f08c3bdfSopenharmony_cistatic void predefine_microblaze(const struct target *self) 15f08c3bdfSopenharmony_ci{ 16f08c3bdfSopenharmony_ci predefine("__MICROBLAZE__", 1, "1"); 17f08c3bdfSopenharmony_ci predefine("__microblaze__", 1, "1"); 18f08c3bdfSopenharmony_ci 19f08c3bdfSopenharmony_ci if (arch_big_endian) 20f08c3bdfSopenharmony_ci predefine("__MICROBLAZEEB__", 1, "1"); 21f08c3bdfSopenharmony_ci else 22f08c3bdfSopenharmony_ci predefine("__MICROBLAZEEL__", 1, "1"); 23f08c3bdfSopenharmony_ci} 24f08c3bdfSopenharmony_ci 25f08c3bdfSopenharmony_ciconst struct target target_microblaze = { 26f08c3bdfSopenharmony_ci .mach = MACH_MICROBLAZE, 27f08c3bdfSopenharmony_ci .bitness = ARCH_LP32, 28f08c3bdfSopenharmony_ci .big_endian = true, 29f08c3bdfSopenharmony_ci 30f08c3bdfSopenharmony_ci .bits_in_longdouble = 64, 31f08c3bdfSopenharmony_ci 32f08c3bdfSopenharmony_ci .init = init_microblaze, 33f08c3bdfSopenharmony_ci .predefine = predefine_microblaze, 34f08c3bdfSopenharmony_ci}; 35