[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/2] cpu: Assert a vCPU is created before resetting it
From: |
Peter Maydell |
Subject: |
Re: [PATCH 2/2] cpu: Assert a vCPU is created before resetting it |
Date: |
Mon, 9 Mar 2020 13:10:06 +0000 |
On Mon, 9 Mar 2020 at 12:11, Philippe Mathieu-Daudé <address@hidden> wrote:
>
> cpu_reset() might modify architecture-specific fields allocated
> by qemu_init_vcpu(). To avoid bugs similar to the one fixed in
> commit 00d0f7cb66 when introducing new architectures, assert a
> vCPU is created before resetting it.
>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> hw/core/cpu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/hw/core/cpu.c b/hw/core/cpu.c
> index fe65ca62ac..09e49f8d6a 100644
> --- a/hw/core/cpu.c
> +++ b/hw/core/cpu.c
> @@ -251,6 +251,7 @@ void cpu_reset(CPUState *cpu)
> {
> CPUClass *klass = CPU_GET_CLASS(cpu);
>
> + assert(cpu->created);
> if (klass->reset != NULL) {
> (*klass->reset)(cpu);
> }
This will conflict with the change to use DeviceClass::reset.
Ideally we should do an equivalent assert in the DeviceClass
(and flush out all the bugs where we forgot to realize the
device before using it).
thanks
-- PMM
[PATCH 2/2] cpu: Assert a vCPU is created before resetting it, Philippe Mathieu-Daudé, 2020/03/09
- Re: [PATCH 2/2] cpu: Assert a vCPU is created before resetting it,
Peter Maydell <=