void riscv_cpu_list(void) { GSList *list; list = object_class_get_list(TYPE_RISCV_CPU, false); list = g_slist_sort(list, riscv_cpu_list_compare); g_slist_foreach(list, riscv_cpu_list_entry, NULL); g_slist_free(list); }
MachineClass *find_default_machine(struct uc_struct *uc, int arch) { GSList *el, *machines = object_class_get_list(uc, TYPE_MACHINE, false); MachineClass *mc = NULL; for (el = machines; el; el = el->next) { MachineClass *temp = el->data; if ((temp->is_default) && (temp->arch == arch)) { mc = temp; break; } } g_slist_free(machines); return mc; }
SuperHCPUClass *scc = SUPERH_CPU_CLASS(oc); SuperHCPUListState *s = user_data; (*s->cpu_fprintf)(s->file, "%s\n", scc->name); } void sh4_cpu_list(FILE *f, fprintf_function cpu_fprintf) { SuperHCPUListState s = { .cpu_fprintf = cpu_fprintf, .file = f, }; GSList *list; list = object_class_get_list(TYPE_SUPERH_CPU, false); list = g_slist_sort(list, superh_cpu_list_compare); g_slist_foreach(list, superh_cpu_list_entry, &s); g_slist_free(list); } static gint superh_cpu_name_compare(gconstpointer a, gconstpointer b) { const SuperHCPUClass *scc = SUPERH_CPU_CLASS(a); const char *name = b; return strcasecmp(scc->name, name); } static ObjectClass *superh_cpu_class_by_name(const char *cpu_model) {
ObjectClass *oc = data; CPUListState *s = user_data; (*s->cpu_fprintf)(s->file, " %s\n", object_class_get_name(oc)); } void alpha_cpu_list(FILE *f, fprintf_function cpu_fprintf) { CPUListState s = { .file = f, .cpu_fprintf = cpu_fprintf, }; GSList *list; list = object_class_get_list(TYPE_ALPHA_CPU, false); list = g_slist_sort(list, alpha_cpu_list_compare); (*cpu_fprintf)(f, "Available CPUs:\n"); g_slist_foreach(list, alpha_cpu_list_entry, &s); g_slist_free(list); } /* Models */ #define TYPE(model) model "-" TYPE_ALPHA_CPU typedef struct AlphaCPUAlias { const char *alias; const char *typename; } AlphaCPUAlias;
ObjectClass *c = data; M68kCPUListState *s = user_data; (*s->cpu_fprintf)(s->file, "%s\n", object_class_get_name(c)); } void m68k_cpu_list(FILE *f, fprintf_function cpu_fprintf) { M68kCPUListState s = { .file = f, .cpu_fprintf = cpu_fprintf, }; GSList *list; list = object_class_get_list(TYPE_M68K_CPU, false); list = g_slist_sort(list, m68k_cpu_list_compare); g_slist_foreach(list, m68k_cpu_list_entry, &s); g_slist_free(list); } static int fpu_gdb_get_reg(CPUM68KState *env, uint8_t *mem_buf, int n) { if (n < 8) { stfq_p(mem_buf, env->fregs[n]); return 8; } if (n < 11) { /* FP control registers (not implemented) */ memset(mem_buf, 0, 4); return 4;
{ ObjectClass *oc = data; CPUListState *s = user_data; (*s->cpu_fprintf)(s->file, " %s\n", object_class_get_name(oc)); } void hppa_cpu_list(FILE *f, fprintf_function cpu_fprintf) { CPUListState s = { .file = f, .cpu_fprintf = cpu_fprintf, }; GSList *list; list = object_class_get_list(TYPE_HPPA_CPU, false); list = g_slist_sort(list, hppa_cpu_list_compare); (*cpu_fprintf)(f, "Available CPUs:\n"); g_slist_foreach(list, hppa_cpu_list_entry, &s); g_slist_free(list); } static void hppa_cpu_initfn(Object *obj) { CPUState *cs = CPU(obj); HPPACPU *cpu = HPPA_CPU(obj); CPUHPPAState *env = &cpu->env; cs->env_ptr = env; cpu_hppa_loaded_fr0(env); set_snan_bit_is_one(true, &env->fp_status);