Lines Matching +full:reset +full:- +full:names

13  *       names of its contributors may be used to endorse or promote products
34 #include "exec/helper-proto.h"
35 #include "qemu/error-report.h"
36 #include "qemu/qemu-print.h"
37 #include "qemu/host-utils.h"
56 for (i = 0; i < t->num_opcodes; ++i) { in hash_opcode_translators()
57 if (t->opcode[i].op_flags & XTENSA_OP_NAME_ARRAY) { in hash_opcode_translators()
58 const char * const *name = t->opcode[i].name; in hash_opcode_translators()
63 (void *)(t->opcode + i)); in hash_opcode_translators()
67 (void *)t->opcode[i].name, in hash_opcode_translators()
68 (void *)(t->opcode + i)); in hash_opcode_translators()
99 config->isa = xtensa_isa_init(config->isa_internal, NULL, NULL); in init_libisa()
100 assert(xtensa_isa_maxlength(config->isa) <= MAX_INSN_LENGTH); in init_libisa()
101 assert(xtensa_insnbuf_size(config->isa) <= MAX_INSNBUF_LENGTH); in init_libisa()
102 opcodes = xtensa_isa_num_opcodes(config->isa); in init_libisa()
103 formats = xtensa_isa_num_formats(config->isa); in init_libisa()
104 regfiles = xtensa_isa_num_regfiles(config->isa); in init_libisa()
105 config->opcode_ops = g_new(XtensaOpcodeOps *, opcodes); in init_libisa()
108 assert(xtensa_format_num_slots(config->isa, i) <= MAX_INSN_SLOTS); in init_libisa()
112 const char *opc_name = xtensa_opcode_name(config->isa, i); in init_libisa()
115 assert(xtensa_opcode_num_operands(config->isa, i) <= MAX_OPCODE_ARGS); in init_libisa()
116 if (!config->opcode_translators) { in init_libisa()
119 for (j = 0; !ops && config->opcode_translators[j]; ++j) { in init_libisa()
120 ops = xtensa_find_opcode_ops(config->opcode_translators[j], in init_libisa()
128 config->name, opc_name); in init_libisa()
131 config->opcode_ops[i] = ops; in init_libisa()
133 config->a_regfile = xtensa_regfile_lookup(config->isa, "AR"); in init_libisa()
135 config->regfile = g_new(void **, regfiles); in init_libisa()
137 const char *name = xtensa_regfile_name(config->isa, i); in init_libisa()
138 int entries = xtensa_regfile_num_entries(config->isa, i); in init_libisa()
139 int bits = xtensa_regfile_num_bits(config->isa, i); in init_libisa()
141 config->regfile[i] = xtensa_get_regfile_by_name(name, entries, bits); in init_libisa()
143 if (config->regfile[i] == NULL) { in init_libisa()
145 name, config->name); in init_libisa()
154 if (config->isa_internal) { in xtensa_finalize_config()
158 if (config->gdb_regmap.num_regs == 0 || in xtensa_finalize_config()
159 config->gdb_regmap.num_core_regs == 0) { in xtensa_finalize_config()
164 if (config->gdb_regmap.num_regs == 0) { in xtensa_finalize_config()
165 config->gdb_regmap.num_regs = n_regs; in xtensa_finalize_config()
167 if (config->gdb_regmap.num_core_regs == 0) { in xtensa_finalize_config()
168 config->gdb_regmap.num_core_regs = n_core_regs; in xtensa_finalize_config()
179 xcc->config = config; in xtensa_core_class_init()
182 * Use num_core_regs to see only non-privileged registers in an unmodified in xtensa_core_class_init()
184 * for that: reset bit 0 in the 'flags' field of the registers definitions in xtensa_core_class_init()
185 * in the gdb/xtensa-config.c inside gdb source tree or inside gdb overlay. in xtensa_core_class_init()
187 cc->gdb_num_core_regs = config->gdb_regmap.num_regs; in xtensa_core_class_init()
195 .class_data = node->config, in xtensa_register_core()
198 xtensa_finalize_config(node->config); in xtensa_register_core()
200 node->next = xtensa_cores; in xtensa_register_core()
202 type.name = g_strdup_printf(XTENSA_CPU_TYPE_NAME("%s"), node->config->name); in xtensa_register_core()
211 for (i = 0; i < env->config->ndbreak; ++i) { in check_hw_breakpoints()
212 if (env->cpu_watchpoint[i] && in check_hw_breakpoints()
213 env->cpu_watchpoint[i]->flags & BP_WATCHPOINT_HIT) { in check_hw_breakpoints()
224 if (cs->watchpoint_hit) { in xtensa_breakpoint_handler()
225 if (cs->watchpoint_hit->flags & BP_CPU) { in xtensa_breakpoint_handler()
228 cs->watchpoint_hit = NULL; in xtensa_breakpoint_handler()
236 if (cpu_breakpoint_test(cs, env->pc, BP_GDB) in xtensa_breakpoint_handler()
237 || !cpu_breakpoint_test(cs, env->pc, BP_CPU)) { in xtensa_breakpoint_handler()
240 if (env->sregs[ICOUNT] == 0xffffffff && in xtensa_breakpoint_handler()
241 xtensa_get_cintlevel(env) < env->sregs[ICOUNTLEVEL]) { in xtensa_breakpoint_handler()
256 CPUXtensaState *env = &cpu->env; in xtensa_cpu_do_unaligned_access()
258 assert(xtensa_option_enabled(env->config, in xtensa_cpu_do_unaligned_access()
262 env->pc, LOAD_STORE_ALIGNMENT_CAUSE, in xtensa_cpu_do_unaligned_access()
278 ", %d, %d) -> %08x, ret = %d\n", in xtensa_cpu_tlb_fill()
291 HELPER(exception_cause_vaddr)(env, env->pc, ret, address); in xtensa_cpu_tlb_fill()
303 HELPER(exception_cause_vaddr)(env, env->pc, in xtensa_cpu_do_transaction_failed()
314 env->runstall = runstall; in xtensa_runstall()
315 cpu->halted = runstall; in xtensa_runstall()