提交 8aba3842 编写于 作者: I Igor Mammedov 提交者: David Gibson

change CPUArchId.cpu type to Object*

so it could be reused for SPAPR cores as well
Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
上级 1ea69c0e
...@@ -198,7 +198,7 @@ void cpu_hotplug_hw_init(MemoryRegion *as, Object *owner, ...@@ -198,7 +198,7 @@ void cpu_hotplug_hw_init(MemoryRegion *as, Object *owner,
state->dev_count = id_list->len; state->dev_count = id_list->len;
state->devs = g_new0(typeof(*state->devs), state->dev_count); state->devs = g_new0(typeof(*state->devs), state->dev_count);
for (i = 0; i < id_list->len; i++) { for (i = 0; i < id_list->len; i++) {
state->devs[i].cpu = id_list->cpus[i].cpu; state->devs[i].cpu = CPU(id_list->cpus[i].cpu);
state->devs[i].arch_id = id_list->cpus[i].arch_id; state->devs[i].arch_id = id_list->cpus[i].arch_id;
} }
memory_region_init_io(&state->ctrl_reg, owner, &cpu_hotplug_ops, state, memory_region_init_io(&state->ctrl_reg, owner, &cpu_hotplug_ops, state,
......
...@@ -1830,7 +1830,7 @@ static void pc_cpu_plug(HotplugHandler *hotplug_dev, ...@@ -1830,7 +1830,7 @@ static void pc_cpu_plug(HotplugHandler *hotplug_dev,
} }
found_cpu = pc_find_cpu_slot(MACHINE(pcms), cpu->apic_id, NULL); found_cpu = pc_find_cpu_slot(MACHINE(pcms), cpu->apic_id, NULL);
found_cpu->cpu = CPU(dev); found_cpu->cpu = OBJECT(dev);
out: out:
error_propagate(errp, local_err); error_propagate(errp, local_err);
} }
...@@ -2288,13 +2288,13 @@ static const CPUArchIdList *pc_possible_cpu_arch_ids(MachineState *ms) ...@@ -2288,13 +2288,13 @@ static const CPUArchIdList *pc_possible_cpu_arch_ids(MachineState *ms)
static HotpluggableCPUList *pc_query_hotpluggable_cpus(MachineState *machine) static HotpluggableCPUList *pc_query_hotpluggable_cpus(MachineState *machine)
{ {
int i; int i;
CPUState *cpu; Object *cpu;
HotpluggableCPUList *head = NULL; HotpluggableCPUList *head = NULL;
const char *cpu_type; const char *cpu_type;
cpu = machine->possible_cpus->cpus[0].cpu; cpu = machine->possible_cpus->cpus[0].cpu;
assert(cpu); /* BSP is always present */ assert(cpu); /* BSP is always present */
cpu_type = object_class_get_name(OBJECT_CLASS(CPU_GET_CLASS(cpu))); cpu_type = object_get_typename(cpu);
for (i = 0; i < machine->possible_cpus->len; i++) { for (i = 0; i < machine->possible_cpus->len; i++) {
HotpluggableCPUList *list_item = g_new0(typeof(*list_item), 1); HotpluggableCPUList *list_item = g_new0(typeof(*list_item), 1);
...@@ -2308,7 +2308,7 @@ static HotpluggableCPUList *pc_query_hotpluggable_cpus(MachineState *machine) ...@@ -2308,7 +2308,7 @@ static HotpluggableCPUList *pc_query_hotpluggable_cpus(MachineState *machine)
cpu = machine->possible_cpus->cpus[i].cpu; cpu = machine->possible_cpus->cpus[i].cpu;
if (cpu) { if (cpu) {
cpu_item->has_qom_path = true; cpu_item->has_qom_path = true;
cpu_item->qom_path = object_get_canonical_path(OBJECT(cpu)); cpu_item->qom_path = object_get_canonical_path(cpu);
} }
list_item->value = cpu_item; list_item->value = cpu_item;
......
...@@ -51,7 +51,7 @@ void machine_register_compat_props(MachineState *machine); ...@@ -51,7 +51,7 @@ void machine_register_compat_props(MachineState *machine);
typedef struct { typedef struct {
uint64_t arch_id; uint64_t arch_id;
CpuInstanceProperties props; CpuInstanceProperties props;
struct CPUState *cpu; Object *cpu;
} CPUArchId; } CPUArchId;
/** /**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册