mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
spapr_cpu_core: instantiate CPUs separately
The current code assumes that only the CPU core object holds a reference on each individual CPU object, and happily frees their allocated memory when the core is unrealized. This is dangerous as some other code can legitimely keep a pointer to a CPU if it calls object_ref(), but it would end up with a dangling pointer. Let's allocate all CPUs with object_new() and let QOM free them when their reference count reaches zero. This greatly simplify the code as we don't have to fiddle with the instance size anymore. Signed-off-by: Greg Kurz <groug@kaod.org> Acked-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
2b6154120c
commit
94ad93bd97
3 changed files with 11 additions and 21 deletions
|
@ -28,7 +28,7 @@ typedef struct sPAPRCPUCore {
|
|||
CPUCore parent_obj;
|
||||
|
||||
/*< public >*/
|
||||
void *threads;
|
||||
PowerPCCPU **threads;
|
||||
int node_id;
|
||||
} sPAPRCPUCore;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue