Revision 478032a9
b/target-openrisc/cpu.c | ||
---|---|---|
144 | 144 |
static void cpu_register(const OpenRISCCPUInfo *info) |
145 | 145 |
{ |
146 | 146 |
TypeInfo type_info = { |
147 |
.name = info->name, |
|
148 | 147 |
.parent = TYPE_OPENRISC_CPU, |
149 | 148 |
.instance_size = sizeof(OpenRISCCPU), |
150 | 149 |
.instance_init = info->initfn, |
151 | 150 |
.class_size = sizeof(OpenRISCCPUClass), |
152 | 151 |
}; |
153 | 152 |
|
153 |
type_info.name = g_strdup_printf("%s-" TYPE_OPENRISC_CPU, info->name); |
|
154 | 154 |
type_register(&type_info); |
155 |
g_free((void *)type_info.name); |
|
155 | 156 |
} |
156 | 157 |
|
157 | 158 |
static const TypeInfo openrisc_cpu_type_info = { |
... | ... | |
200 | 201 |
|
201 | 202 |
name_a = object_class_get_name(class_a); |
202 | 203 |
name_b = object_class_get_name(class_b); |
203 |
if (strcmp(name_a, "any") == 0) {
|
|
204 |
if (strcmp(name_a, "any-" TYPE_OPENRISC_CPU) == 0) {
|
|
204 | 205 |
return 1; |
205 |
} else if (strcmp(name_b, "any") == 0) {
|
|
206 |
} else if (strcmp(name_b, "any-" TYPE_OPENRISC_CPU) == 0) {
|
|
206 | 207 |
return -1; |
207 | 208 |
} else { |
208 | 209 |
return strcmp(name_a, name_b); |
... | ... | |
213 | 214 |
{ |
214 | 215 |
ObjectClass *oc = data; |
215 | 216 |
CPUListState *s = user_data; |
217 |
const char *typename; |
|
218 |
char *name; |
|
216 | 219 |
|
220 |
typename = object_class_get_name(oc); |
|
221 |
name = g_strndup(typename, |
|
222 |
strlen(typename) - strlen("-" TYPE_OPENRISC_CPU)); |
|
217 | 223 |
(*s->cpu_fprintf)(s->file, " %s\n", |
218 |
object_class_get_name(oc)); |
|
224 |
name); |
|
225 |
g_free(name); |
|
219 | 226 |
} |
220 | 227 |
|
221 | 228 |
void cpu_openrisc_list(FILE *f, fprintf_function cpu_fprintf) |
Also available in: Unified diff