mirror of
https://github.com/mii443/qemu.git
synced 2025-12-07 04:58:25 +00:00
QMP: Add query-hotpluggable-cpus
It will allow mgmt to query present and hotpluggable CPU objects,
it is required from a target platform that wishes to support command
to implement and set MachineClass.query_hotpluggable_cpus callback,
which will return a list of possible CPU objects with options that
would be needed for hotplugging possible CPU objects.
There are:
'type': 'str' - QOM CPU object type for usage with device_add
'vcpus-count': 'int' - number of logical VCPU threads per
CPU object (mgmt needs to know)
and a set of optional fields that are to used for hotplugging a CPU
objects and would allows mgmt tools to know what/where it could be
hotplugged;
[node],[socket],[core],[thread]
For present CPUs there is a 'qom-path' field which would allow mgmt to
inspect whatever object/abstraction the target platform considers
as CPU object.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
committed by
David Gibson
parent
6f4b5c3ec5
commit
d4633541ee
@@ -81,6 +81,10 @@ typedef struct {
|
||||
* Returns an array of @CPUArchId architecture-dependent CPU IDs
|
||||
* which includes CPU IDs for present and possible to hotplug CPUs.
|
||||
* Caller is responsible for freeing returned list.
|
||||
* @query_hotpluggable_cpus:
|
||||
* Returns a @HotpluggableCPUList, which describes CPUs objects which
|
||||
* could be added with -device/device_add.
|
||||
* Caller is responsible for freeing returned list.
|
||||
*/
|
||||
struct MachineClass {
|
||||
/*< private >*/
|
||||
@@ -124,6 +128,7 @@ struct MachineClass {
|
||||
DeviceState *dev);
|
||||
unsigned (*cpu_index_to_socket_id)(unsigned cpu_index);
|
||||
CPUArchIdList *(*possible_cpu_arch_ids)(MachineState *machine);
|
||||
HotpluggableCPUList *(*query_hotpluggable_cpus)(MachineState *machine);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user