diff options
| author | Bibo Mao <maobibo@loongson.cn> | 2025-09-06 15:02:00 +0800 |
|---|---|---|
| committer | Song Gao <gaosong@loongson.cn> | 2025-09-18 17:39:57 +0800 |
| commit | cb5ee0017fc9909916383634a3f13eae05e6fe5c (patch) | |
| tree | 7888585073fb8b6bfbd507c0a8d8e688b30c34c9 /hw/loongarch/virt.c | |
| parent | 6ca2df47c9b85f630faacaba8a042cb095075599 (diff) | |
| download | focaccia-qemu-cb5ee0017fc9909916383634a3f13eae05e6fe5c.tar.gz focaccia-qemu-cb5ee0017fc9909916383634a3f13eae05e6fe5c.zip | |
hw/loongarch/virt: Register reset interface with cpu plug callback
With cpu hotplug is implemented on LoongArch virt machine, reset interface with hot-added CPU should be registered. Otherwise there will be problem if system reboots after cpu is hot-added. Now register reset interface with CPU plug callback, so that all cold/hot added CPUs let their reset interface registered. And remove reset interface with CPU unplug callback. Signed-off-by: Bibo Mao <maobibo@loongson.cn> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Tested-by: Song Gao <gaosong@loongson.cn> Message-ID: <20250906070200.3749326-4-maobibo@loongson.cn> Signed-off-by: Song Gao <gaosong@loongson.cn>
Diffstat (limited to 'hw/loongarch/virt.c')
| -rw-r--r-- | hw/loongarch/virt.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c index 31215b7785..bd5cff1f1e 100644 --- a/hw/loongarch/virt.c +++ b/hw/loongarch/virt.c @@ -1014,6 +1014,7 @@ static void virt_cpu_unplug(HotplugHandler *hotplug_dev, /* Notify acpi ged CPU removed */ hotplug_handler_unplug(HOTPLUG_HANDLER(lvms->acpi_ged), dev, &error_abort); + qemu_unregister_resettable(OBJECT(dev)); cpu_slot = virt_find_cpu_slot(MACHINE(lvms), cpu->phy_id); cpu_slot->cpu = NULL; } @@ -1038,6 +1039,7 @@ static void virt_cpu_plug(HotplugHandler *hotplug_dev, &error_abort); } + qemu_register_resettable(OBJECT(dev)); cpu_slot = virt_find_cpu_slot(MACHINE(lvms), cpu->phy_id); cpu_slot->cpu = CPU(dev); } |