qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Claudio Fontana <cfontana@suse.de>
Cc: "Laurent Vivier" <lvivier@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Roman Bolshakov" <r.bolshakov@yadro.com>,
	"Alistair Francis" <alistair.francis@wdc.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>
Subject: Re: [PATCH v15 21/23] hw/core/cpu: call qemu_init_vcpu in cpu_common_realizefn
Date: Thu, 4 Feb 2021 14:24:51 +0000	[thread overview]
Message-ID: <CAFEAcA_ArFBhfasRHQ3VbmKisnP7i2rm48vmji9RB5ub+dzStA@mail.gmail.com> (raw)
In-Reply-To: <483bc092-cf71-d2c2-59d7-861f3131c8e4@suse.de>

On Thu, 4 Feb 2021 at 14:18, Claudio Fontana <cfontana@suse.de> wrote:
> If we could consistently move not only qemu_vcpu_init, but also reset in the common code in cpu_common_realizefn,
> and force the sequence: qemu_vcpu_init(); cpu_reset(); in there,
>
> and this actually works for all targets, maybe this could actually be an improvement.

So my question here would be: what is special about CPUs that
we have to reset them in their realize function?  For other
devices, we don't reset them in the init/realize sequence;
we rely on the whole system getting reset and that doing
reset of devices.

There almost certainly *is* a reason here (my guess would be
that it's related to the mess that is reset and in particular
that CPU objects don't get automatically reset on system reset
because they're not on a qbus). But if we're thinking about
aspirational goals, I think the aspiration should be to not
need to reset the CPU in its own realize function at all...

thanks
-- PMM


  reply	other threads:[~2021-02-04 14:26 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-01 10:08 [PATCH v15 00/23] i386 cleanup PART 2 Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 01/23] cpu: Introduce TCGCpuOperations struct Claudio Fontana
2021-02-02 13:46   ` Alex Bennée
2021-02-01 10:08 ` [PATCH v15 02/23] target/riscv: remove CONFIG_TCG, as it is always TCG Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 03/23] accel/tcg: split TCG-only code from cpu_exec_realizefn Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 04/23] cpu: Move synchronize_from_tb() to tcg_ops Claudio Fontana
2021-02-03 10:11   ` Alex Bennée
2021-02-03 12:31     ` Claudio Fontana
2021-02-04 11:18       ` Claudio Fontana
2021-02-04 11:44         ` Alex Bennée
2021-02-01 10:08 ` [PATCH v15 05/23] cpu: Move cpu_exec_* " Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 06/23] cpu: Move tlb_fill " Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 07/23] cpu: Move debug_excp_handler " Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 08/23] target/arm: do not use cc->do_interrupt for KVM directly Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 09/23] cpu: move cc->do_interrupt to tcg_ops Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 10/23] cpu: move cc->transaction_failed " Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 11/23] cpu: move do_unaligned_access " Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 12/23] physmem: make watchpoint checking code TCG-only Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 13/23] cpu: move adjust_watchpoint_address to tcg_ops Claudio Fontana
2021-02-03 10:15   ` Alex Bennée
2021-02-01 10:08 ` [PATCH v15 14/23] cpu: move debug_check_watchpoint " Claudio Fontana
2021-02-03 13:11   ` Alex Bennée
2021-02-01 10:08 ` [PATCH v15 15/23] cpu: tcg_ops: move to tcg-cpu-ops.h, keep a pointer in CPUClass Claudio Fontana
2021-02-03 13:23   ` Alex Bennée
2021-02-03 14:41     ` Claudio Fontana
2021-02-03 14:48       ` Philippe Mathieu-Daudé
2021-02-03 16:51         ` Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 16/23] accel: extend AccelState and AccelClass to user-mode Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 17/23] accel: replace struct CpusAccel with AccelOpsClass Claudio Fontana
2021-02-03 14:43   ` Alex Bennée
2021-02-01 10:08 ` [PATCH v15 18/23] accel: introduce AccelCPUClass extending CPUClass Claudio Fontana
2021-02-03 14:27   ` Philippe Mathieu-Daudé
2021-02-03 14:49     ` Claudio Fontana
2021-02-03 14:51       ` Philippe Mathieu-Daudé
2021-02-03 14:56         ` Claudio Fontana
2021-02-01 10:08 ` [PATCH v15 19/23] i386: split cpu accelerators from cpu.c, using AccelCPUClass Claudio Fontana
2021-02-03 16:47   ` Alex Bennée
2021-02-01 10:09 ` [PATCH v15 20/23] cpu: call AccelCPUClass::cpu_realizefn in cpu_exec_realizefn Claudio Fontana
2021-02-01 10:09 ` [PATCH v15 21/23] hw/core/cpu: call qemu_init_vcpu in cpu_common_realizefn Claudio Fontana
2021-02-03 16:51   ` Alex Bennée
2021-02-04 10:23     ` Claudio Fontana
2021-02-04 13:41       ` Philippe Mathieu-Daudé
2021-02-04 14:18         ` Claudio Fontana
2021-02-04 14:24           ` Peter Maydell [this message]
2021-02-04 14:57             ` Claudio Fontana
2021-02-01 10:09 ` [PATCH v15 22/23] accel: introduce new accessor functions Claudio Fontana
2021-02-03 14:23   ` Philippe Mathieu-Daudé
2021-02-03 14:24     ` Claudio Fontana
2021-02-01 10:09 ` [PATCH v15 23/23] accel-cpu: make cpu_realizefn return a bool Claudio Fontana
2021-02-03 13:34   ` Philippe Mathieu-Daudé
2021-02-03 16:56   ` Alex Bennée
2021-02-03 14:22 ` [PATCH v15 00/23] i386 cleanup PART 2 Alex Bennée
2021-02-03 14:43   ` Claudio Fontana
2021-02-03 16:15     ` Alex Bennée
2021-02-03 14:59   ` Eduardo Habkost
2021-02-03 16:57 ` Alex Bennée
2021-02-03 17:10   ` Claudio Fontana
2021-02-03 22:07     ` Alex Bennée
2021-02-04  9:46       ` Claudio Fontana

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFEAcA_ArFBhfasRHQ3VbmKisnP7i2rm48vmji9RB5ub+dzStA@mail.gmail.com \
    --to=peter.maydell@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=alistair.francis@wdc.com \
    --cc=cfontana@suse.de \
    --cc=ehabkost@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=r.bolshakov@yadro.com \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).