On 10/12/2018 04:24 PM, Markus Armbruster wrote:
Fei Li <f...@suse.com> writes:
On 10/11/2018 09:19 PM, Markus Armbruster wrote:
Fei Li <f...@suse.com> writes:
The caller of qemu_init_vcpu() already passed the **errp to handle
Which caller? There are many. Or do you mean "The callers"?
Oh, sorry, I mean "The callers" :)
errors. In view of this, add a new Error parameter to the following
call trace to propagate the error and let the further caller check it.
Which "call trace"?
Actually, I want to say all functions called by qemu_init_vcpu()..
Besides, make qemu_init_vcpu() return a Boolean value to let its
callers know whether it succeeds.
Signed-off-by: Fei Li <f...@suse.com>
Reviewed-by: Fam Zheng <f...@redhat.com>
---
accel/tcg/user-exec-stub.c | 2 +-
cpus.c | 34 +++++++++++++++++++++-------------
include/qom/cpu.h | 2 +-
target/alpha/cpu.c | 4 +++-
target/arm/cpu.c | 4 +++-
target/cris/cpu.c | 4 +++-
target/hppa/cpu.c | 4 +++-
target/i386/cpu.c | 4 +++-
target/lm32/cpu.c | 4 +++-
target/m68k/cpu.c | 4 +++-
target/microblaze/cpu.c | 4 +++-
target/mips/cpu.c | 4 +++-
target/moxie/cpu.c | 4 +++-
target/nios2/cpu.c | 4 +++-
target/openrisc/cpu.c | 4 +++-
target/ppc/translate_init.inc.c | 4 +++-
target/riscv/cpu.c | 4 +++-
target/s390x/cpu.c | 4 +++-
target/sh4/cpu.c | 4 +++-
target/sparc/cpu.c | 4 +++-
target/tilegx/cpu.c | 4 +++-
target/tricore/cpu.c | 4 +++-
target/unicore32/cpu.c | 4 +++-
target/xtensa/cpu.c | 4 +++-
24 files changed, 86 insertions(+), 36 deletions(-)
diff --git a/accel/tcg/user-exec-stub.c b/accel/tcg/user-exec-stub.c
index a32b4496af..38f6b928d4 100644
--- a/accel/tcg/user-exec-stub.c
+++ b/accel/tcg/user-exec-stub.c
@@ -10,7 +10,7 @@ void cpu_resume(CPUState *cpu)
{
}
-void qemu_init_vcpu(CPUState *cpu)
+bool qemu_init_vcpu(CPUState *cpu, Error **errp)
{
You need to return a value here. Sure you compile-tested this?
Oops! I forget the TCG case.. The `return true` should be added.
Thanks for pointing this out!
You're welcome.
}
diff --git a/cpus.c b/cpus.c
[...]
I see how you changed the code to pass an Error from the
qemu_FOO_start_vcpu() through qemu_init_vcpu() to its callers. I can't
see how such errors can be created. Without a way to create any, the
patch is pointless. What am I missing?
This patch is also the pre-patch for the updated qemu_thread_create()
in patch 7/7
just as I explained in patch 2/7 [Issue1].
Patches that make little sense on their own, but pave the way for a
later patch are okay. But they should explain that purpose in their
commit message.
Right. Thanks for the advice, will amend the commit message in next version.
Have a nice day
Fei