intc/kvm_gicv3: Factor out kvm_arm_gicv3_cpu_realize
The CPU object of hotplugged CPU will be defer-created (during hotplug session), so we must factor out realization code to let it can be applied to individual CPU. Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com> Signed-off-by: Salil Mehta <salil.mehta@huawei.com> (cherry picked from commit 7b0dc0a49e5ea43bd4b4d85d3630db2efcbb493b)
This commit is contained in:
parent
926106768d
commit
bb9e0177f0
46
intc-kvm_gicv3-Factor-out-kvm_arm_gicv3_cpu_realize.patch
Normal file
46
intc-kvm_gicv3-Factor-out-kvm_arm_gicv3_cpu_realize.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
From dd03bc60712bd41a9606742ea4b769aa8e360655 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Keqian Zhu <zhukeqian1@huawei.com>
|
||||||
|
Date: Fri, 10 Apr 2020 12:49:12 +0800
|
||||||
|
Subject: [PATCH] intc/kvm_gicv3: Factor out kvm_arm_gicv3_cpu_realize
|
||||||
|
|
||||||
|
The CPU object of hotplugged CPU will be defer-created (during
|
||||||
|
hotplug session), so we must factor out realization code to let
|
||||||
|
it can be applied to individual CPU.
|
||||||
|
|
||||||
|
Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
|
||||||
|
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
|
||||||
|
---
|
||||||
|
hw/intc/arm_gicv3_kvm.c | 10 +++++++---
|
||||||
|
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/hw/intc/arm_gicv3_kvm.c b/hw/intc/arm_gicv3_kvm.c
|
||||||
|
index 5ec5ff9ef6..596b31998b 100644
|
||||||
|
--- a/hw/intc/arm_gicv3_kvm.c
|
||||||
|
+++ b/hw/intc/arm_gicv3_kvm.c
|
||||||
|
@@ -764,6 +764,12 @@ static void vm_change_state_handler(void *opaque, bool running,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void kvm_arm_gicv3_cpu_realize(GICv3State *s, int ncpu)
|
||||||
|
+{
|
||||||
|
+ ARMCPU *cpu = ARM_CPU(qemu_get_cpu(ncpu));
|
||||||
|
+
|
||||||
|
+ define_arm_cp_regs(cpu, gicv3_cpuif_reginfo);
|
||||||
|
+}
|
||||||
|
|
||||||
|
static void kvm_arm_gicv3_realize(DeviceState *dev, Error **errp)
|
||||||
|
{
|
||||||
|
@@ -790,9 +796,7 @@ static void kvm_arm_gicv3_realize(DeviceState *dev, Error **errp)
|
||||||
|
gicv3_init_irqs_and_mmio(s, kvm_arm_gicv3_set_irq, NULL);
|
||||||
|
|
||||||
|
for (i = 0; i < s->num_cpu; i++) {
|
||||||
|
- ARMCPU *cpu = ARM_CPU(qemu_get_cpu(i));
|
||||||
|
-
|
||||||
|
- define_arm_cp_regs(cpu, gicv3_cpuif_reginfo);
|
||||||
|
+ kvm_arm_gicv3_cpu_realize(s, i);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Try to create the device via the device control API */
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user