qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 19/33] mips/cps: Use start-powered-off CPUState property


From: Alex Bennée
Subject: Re: [PULL 19/33] mips/cps: Use start-powered-off CPUState property
Date: Wed, 07 Oct 2020 10:28:56 +0100
User-agent: mu4e 1.5.5; emacs 28.0.50

David Gibson <david@gibson.dropbear.id.au> writes:

> From: Thiago Jung Bauermann <bauerman@linux.ibm.com>
>
> Instead of setting CPUState::halted to 1 in main_cpu_reset(), use the
> start-powered-off property which makes cpu_common_reset() initialize it
> to 1 in common code.
>
> Also change creation of CPU object from cpu_create() to object_new() and
> qdev_realize_and_unref() because cpu_create() realizes the CPU and it's not
> possible to set a property after the object is realized.
>
> Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
> Message-Id: <20200826055535.951207-6-bauerman@linux.ibm.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>

I've finally bisected the breakage in check-acceptance to this patch:

  10:24:09 [alex.bennee@hackbox2:~/l/q/b/bisect] (102ca966…)|BISECTING|✔ + 
./tests/venv/bin/avocado run tests/acceptance/machine_mips_malta.py
  
/home/alex.bennee/lsrc/qemu.git/builds/bisect/tests/venv/lib/python3.6/site-packages/avocado/plugins/run.py:214:
 FutureWarning: The following arguments will be changed to boolean soon: 
sysinfo, output-check, failfast, keep-tmp and ignore-missing-references.
    FutureWarning)
  JOB ID     : 1a71a0a81cf9fb9a387d2ab105f8196a26cab84e
  JOB LOG    : 
/home/alex.bennee/avocado/job-results/job-2020-10-07T10.24-1a71a0a/job.log
   (1/3) 
tests/acceptance/machine_mips_malta.py:MaltaMachineFramebuffer.test_mips_malta_i6400_framebuffer_logo_1core:
 PASS (5.70 s)
   (2/3) 
tests/acceptance/machine_mips_malta.py:MaltaMachineFramebuffer.test_mips_malta_i6400_framebuffer_logo_7cores:
 INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: Timeout 
reached\nOriginal status: ERROR\n{'name': 
'2-tests/acceptance/machine_mips_malta.py:MaltaMachineFramebuffer.test_mips_malta_i6400_framebuffer_logo_7cores',
  'logdir': '/home/alex.bennee/avocado/job-r... (28.91 s)
   (3/3) 
tests/acceptance/machine_mips_malta.py:MaltaMachineFramebuffer.test_mips_malta_i6400_framebuffer_logo_8cores:
 INTERRUPTED: Test interrupted by SIGTERM\nRunner error occurred: Timeout 
reached\nOriginal status: ERROR\n{'name': 
'3-tests/acceptance/machine_mips_malta.py:MaltaMachineFramebuffer.test_mips_malta_i6400_framebuffer_logo_8cores',
  'logdir': '/home/alex.bennee/avocado/job-r... (30.58 s)
  RESULTS    : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 2 | 
CANCEL 0
  JOB TIME   : 70.12 s
  10:25:27 [alex.bennee@hackbox2:~/l/q/b/bisect] (102ca966…)|BISECTING|✔ 8 + 
make -j30
  make[1]: Entering directory '/home/alex.bennee/lsrc/qemu.git/slirp'
  make[1]: Nothing to be done for 'all'.
  make[1]: Leaving directory '/home/alex.bennee/lsrc/qemu.git/slirp'
  Generating qemu-version.h with a meson_exe.py custom command
  Compiling C object libqemu-mips64el-softmmu.fa.p/hw_mips_cps.c.o
  Compiling C object libqemu-mips64-softmmu.fa.p/hw_mips_cps.c.o
  Compiling C object libqemu-mipsel-softmmu.fa.p/hw_mips_cps.c.o
  Compiling C object libqemu-mips-softmmu.fa.p/hw_mips_cps.c.o
  Linking target qemu-system-mips
  Linking target qemu-system-mips64el
  Linking target qemu-system-mips64
  Linking target qemu-system-mipsel
  10:26:26 [alex.bennee@hackbox2:~/l/q/b/bisect] (a2c93f06…)|BISECTING|✔ + 
./tests/venv/bin/avocado run tests/acceptance/machine_mips_malta.py
  
/home/alex.bennee/lsrc/qemu.git/builds/bisect/tests/venv/lib/python3.6/site-packages/avocado/plugins/run.py:214:
 FutureWarning: The following arguments will be changed to boolean soon: 
sysinfo, output-check, failfast, keep-tmp and ignore-missing-references.
    FutureWarning)
  JOB ID     : ccf294ef4e5ebdf19b3a0b53479d574df4ea54ea
  JOB LOG    : 
/home/alex.bennee/avocado/job-results/job-2020-10-07T10.26-ccf294e/job.log
   (1/3) 
tests/acceptance/machine_mips_malta.py:MaltaMachineFramebuffer.test_mips_malta_i6400_framebuffer_logo_1core:
 PASS (5.82 s)
   (2/3) 
tests/acceptance/machine_mips_malta.py:MaltaMachineFramebuffer.test_mips_malta_i6400_framebuffer_logo_7cores:
 PASS (15.16 s)
   (3/3) 
tests/acceptance/machine_mips_malta.py:MaltaMachineFramebuffer.test_mips_malta_i6400_framebuffer_logo_8cores:
 PASS (15.97 s)
  RESULTS    : PASS 3 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | 
CANCEL 0
  JOB TIME   : 40.01 s

> ---
>  hw/mips/cps.c | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/hw/mips/cps.c b/hw/mips/cps.c
> index 615e1a1ad2..23c0f87e41 100644
> --- a/hw/mips/cps.c
> +++ b/hw/mips/cps.c
> @@ -52,9 +52,6 @@ static void main_cpu_reset(void *opaque)
>      CPUState *cs = CPU(cpu);
>  
>      cpu_reset(cs);
> -
> -    /* All VPs are halted on reset. Leave powering up to CPC. */
> -    cs->halted = 1;
>  }
>  
>  static bool cpu_mips_itu_supported(CPUMIPSState *env)
> @@ -76,7 +73,17 @@ static void mips_cps_realize(DeviceState *dev, Error 
> **errp)
>      bool saar_present = false;
>  
>      for (i = 0; i < s->num_vp; i++) {
> -        cpu = MIPS_CPU(cpu_create(s->cpu_type));
> +        cpu = MIPS_CPU(object_new(s->cpu_type));
> +
> +        /* All VPs are halted on reset. Leave powering up to CPC. */
> +        if (!object_property_set_bool(OBJECT(cpu), "start-powered-off", true,
> +                                      errp)) {
> +            return;
> +        }
> +
> +        if (!qdev_realize_and_unref(DEVICE(cpu), NULL, errp)) {
> +            return;
> +        }
>  
>          /* Init internal devices */
>          cpu_mips_irq_init_cpu(cpu);


-- 
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]