[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 09/22] introduce CPU hot-plug notifier
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 09/22] introduce CPU hot-plug notifier |
Date: |
Tue, 09 Apr 2013 13:23:05 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4 |
Il 05/04/2013 16:37, Igor Mammedov ha scritto:
> hot-added CPU will be distributed to acpi_piix4, rtc_cmos and icc_bridge
>
> Signed-off-by: Igor Mammedov <address@hidden>
> ---
> v2:
> * move notifier to qom/cpu.c and call it from CPUClass.realize() on hotplug
> ---
> include/qom/cpu.h | 2 ++
> include/sysemu/sysemu.h | 3 +++
> qom/cpu.c | 12 ++++++++++++
> 3 files changed, 17 insertions(+)
>
> diff --git a/include/qom/cpu.h b/include/qom/cpu.h
> index 6d6eb7a..210aca3 100644
> --- a/include/qom/cpu.h
> +++ b/include/qom/cpu.h
> @@ -46,6 +46,7 @@ typedef struct CPUState CPUState;
> * @reset: Callback to reset the #CPUState to its initial state.
> * @do_interrupt: Callback for interrupt handling.
> * @resume: Callback for putting CPU in runable state
> + * @get_firmware_id: Callback for getting arch depended CPU id
> * @vmsd: State description for migration.
> *
> * Represents a CPU family or model.
> @@ -60,6 +61,7 @@ typedef struct CPUClass {
> void (*reset)(CPUState *cpu);
> void (*do_interrupt)(CPUState *cpu);
> void (*resume)(CPUState *cpu);
> + void (*get_firmware_id)(CPUState *cpu);
>
> const struct VMStateDescription *vmsd;
> } CPUClass;
This should be in patch 11, other than that
Reviewed-by: Paolo Bonzini <address@hidden>
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index 6578782..a8c3de1 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -152,6 +152,9 @@ void do_pci_device_hot_remove(Monitor *mon, const QDict
> *qdict);
> /* generic hotplug */
> void drive_hot_add(Monitor *mon, const QDict *qdict);
>
> +/* CPU hotplug */
> +void qemu_register_cpu_added_notifier(Notifier *notifier);
> +
> /* pcie aer error injection */
> void pcie_aer_inject_error_print(Monitor *mon, const QObject *data);
> int do_pcie_aer_inject_error(Monitor *mon,
> diff --git a/qom/cpu.c b/qom/cpu.c
> index c062e00..10ceaed 100644
> --- a/qom/cpu.c
> +++ b/qom/cpu.c
> @@ -21,6 +21,17 @@
> #include "qom/cpu.h"
> #include "qemu-common.h"
> #include "sysemu/kvm.h"
> +#include "qemu/notify.h"
> +#include "sysemu/sysemu.h"
> +
> +/* CPU hot-plug notifiers */
> +static NotifierList cpu_added_notifiers =
> + NOTIFIER_LIST_INITIALIZER(cpu_add_notifiers);
> +
> +void qemu_register_cpu_added_notifier(Notifier *notifier)
> +{
> + notifier_list_add(&cpu_added_notifiers, notifier);
> +}
>
> void cpu_reset_interrupt(CPUState *cpu, int mask)
> {
> @@ -65,6 +76,7 @@ static void cpu_common_realizefn(DeviceState *dev, Error
> **errp)
> if (klass->resume != NULL) {
> klass->resume(CPU(dev));
> }
> + notifier_list_notify(&cpu_added_notifiers, dev);
> }
> }
>
>
- [Qemu-devel] [PATCH 17/22] target-i386: replace MSI_SPACE_SIZE with APIC_SPACE_SIZE, (continued)
- [Qemu-devel] [PATCH 17/22] target-i386: replace MSI_SPACE_SIZE with APIC_SPACE_SIZE, Igor Mammedov, 2013/04/05
- [Qemu-devel] [PATCH 16/22] target-i386: cpu: attach ICC bus to CPU on its creation, Igor Mammedov, 2013/04/05
- [Qemu-devel] [PATCH 18/22] target-i386: move APIC to ICC bus, Igor Mammedov, 2013/04/05
- [Qemu-devel] [PATCH 14/22] target-i386: introduce apic-id property, Igor Mammedov, 2013/04/05
- [Qemu-devel] [PATCH 09/22] introduce CPU hot-plug notifier, Igor Mammedov, 2013/04/05
- Re: [Qemu-devel] [PATCH 09/22] introduce CPU hot-plug notifier,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 21/22] target-i386: expose all possible CPUs as /machine/icc-bridge/cpu[0..N] links, Igor Mammedov, 2013/04/05
- [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386, Igor Mammedov, 2013/04/05
- Re: [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386, Igor Mammedov, 2013/04/09
- Re: [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386, Eduardo Habkost, 2013/04/09
- Re: [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386, Igor Mammedov, 2013/04/09
- Re: [Qemu-devel] [PATCH 22/22] add cpu-add qmp command and implement CPU hot-add for target-i386, Eduardo Habkost, 2013/04/11