Skip to content

Commit e5ddbb4

Browse files
committed
Merge tag 'pull-loongarch-20250408' of https://github.com/gaosong715/qemu into staging
loongarch bug fix for 10.0 # -----BEGIN PGP SIGNATURE----- # # iLMEAAEKAB0WIQS4/x2g0v3LLaCcbCxAov/yOSY+3wUCZ/THrQAKCRBAov/yOSY+ # 37asA/0YLOX9BvqG5Qk2cDYJD7ZCTuVsd7bJ0VHGbbf4vuuvmD8ubGeJf1F8cse0 # mufip5/DHlzV3gB+G/vavkG/i45mMDlkyFgvuYaEHZiYH/+3S1Np0/iyl3RFpGNz # Srua0Flo4PppYRbQ2NG0puvpuhNziTQTMneTm2YiMMBxl4p2OA== # =BwNB # -----END PGP SIGNATURE----- # gpg: Signature made Tue 08 Apr 2025 02:52:29 EDT # gpg: using RSA key B8FF1DA0D2FDCB2DA09C6C2C40A2FFF239263EDF # gpg: Good signature from "Song Gao <[email protected]>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: B8FF 1DA0 D2FD CB2D A09C 6C2C 40A2 FFF2 3926 3EDF * tag 'pull-loongarch-20250408' of https://github.com/gaosong715/qemu: hw/loongarch/virt: Replace destination error with error_abort hw/loongarch/virt: Fix cpuslot::cpu set at last in virt_cpu_plug() Signed-off-by: Stefan Hajnoczi <[email protected]>
2 parents dfaecc0 + fa0dde1 commit e5ddbb4

File tree

1 file changed

+9
-34
lines changed

1 file changed

+9
-34
lines changed

hw/loongarch/virt.c

Lines changed: 9 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -936,29 +936,15 @@ static void virt_cpu_unplug(HotplugHandler *hotplug_dev,
936936
DeviceState *dev, Error **errp)
937937
{
938938
CPUArchId *cpu_slot;
939-
Error *err = NULL;
940939
LoongArchCPU *cpu = LOONGARCH_CPU(dev);
941940
LoongArchVirtMachineState *lvms = LOONGARCH_VIRT_MACHINE(hotplug_dev);
942941

943942
/* Notify ipi and extioi irqchip to remove interrupt routing to CPU */
944-
hotplug_handler_unplug(HOTPLUG_HANDLER(lvms->ipi), dev, &err);
945-
if (err) {
946-
error_propagate(errp, err);
947-
return;
948-
}
949-
950-
hotplug_handler_unplug(HOTPLUG_HANDLER(lvms->extioi), dev, &err);
951-
if (err) {
952-
error_propagate(errp, err);
953-
return;
954-
}
943+
hotplug_handler_unplug(HOTPLUG_HANDLER(lvms->ipi), dev, &error_abort);
944+
hotplug_handler_unplug(HOTPLUG_HANDLER(lvms->extioi), dev, &error_abort);
955945

956946
/* Notify acpi ged CPU removed */
957-
hotplug_handler_unplug(HOTPLUG_HANDLER(lvms->acpi_ged), dev, &err);
958-
if (err) {
959-
error_propagate(errp, err);
960-
return;
961-
}
947+
hotplug_handler_unplug(HOTPLUG_HANDLER(lvms->acpi_ged), dev, &error_abort);
962948

963949
cpu_slot = virt_find_cpu_slot(MACHINE(lvms), cpu->phy_id);
964950
cpu_slot->cpu = NULL;
@@ -971,33 +957,22 @@ static void virt_cpu_plug(HotplugHandler *hotplug_dev,
971957
CPUArchId *cpu_slot;
972958
LoongArchCPU *cpu = LOONGARCH_CPU(dev);
973959
LoongArchVirtMachineState *lvms = LOONGARCH_VIRT_MACHINE(hotplug_dev);
974-
Error *err = NULL;
975960

976-
cpu_slot = virt_find_cpu_slot(MACHINE(lvms), cpu->phy_id);
977-
cpu_slot->cpu = CPU(dev);
978961
if (lvms->ipi) {
979-
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->ipi), dev, &err);
980-
if (err) {
981-
error_propagate(errp, err);
982-
return;
983-
}
962+
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->ipi), dev, &error_abort);
984963
}
985964

986965
if (lvms->extioi) {
987-
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->extioi), dev, &err);
988-
if (err) {
989-
error_propagate(errp, err);
990-
return;
991-
}
966+
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->extioi), dev, &error_abort);
992967
}
993968

994969
if (lvms->acpi_ged) {
995-
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->acpi_ged), dev, &err);
996-
if (err) {
997-
error_propagate(errp, err);
998-
}
970+
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->acpi_ged), dev,
971+
&error_abort);
999972
}
1000973

974+
cpu_slot = virt_find_cpu_slot(MACHINE(lvms), cpu->phy_id);
975+
cpu_slot->cpu = CPU(dev);
1001976
return;
1002977
}
1003978

0 commit comments

Comments
 (0)