From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, qemu-arm@nongnu.org, qemu-riscv@nongnu.org,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
"Artyom Tarasenko" <atar4qemu@gmail.com>
Subject: [PULL 41/71] hw: Simplify accesses to the CPUState::'start-powered-off' property
Date: Fri, 5 Jan 2024 16:42:34 +0100 [thread overview]
Message-ID: <20240105154307.21385-42-philmd@linaro.org> (raw)
In-Reply-To: <20240105154307.21385-1-philmd@linaro.org>
The 'start-powered-off' property has been added to ARM CPUs in
commit 5de164304a ("arm: Allow secondary KVM CPUs to be booted
via PSCI"), then eventually got generalized to all CPUs in commit
c1b701587e ("target/arm: Move start-powered-off property to generic
CPUState"). Since all CPUs have it, no need to check whether it is
available. Updating this property can't fail, so use &error_abort.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20231123143813.42632-5-philmd@linaro.org>
---
hw/arm/armsse.c | 6 ++----
hw/arm/armv7m.c | 8 ++------
hw/arm/bcm2836.c | 8 ++------
hw/mips/cps.c | 7 +++----
hw/ppc/e500.c | 2 +-
hw/sparc/sun4m.c | 2 +-
6 files changed, 11 insertions(+), 22 deletions(-)
diff --git a/hw/arm/armsse.c b/hw/arm/armsse.c
index 02b4f6596f..91502d157a 100644
--- a/hw/arm/armsse.c
+++ b/hw/arm/armsse.c
@@ -1022,10 +1022,8 @@ static void armsse_realize(DeviceState *dev, Error **errp)
* later if necessary.
*/
if (extract32(info->cpuwait_rst, i, 1)) {
- if (!object_property_set_bool(cpuobj, "start-powered-off", true,
- errp)) {
- return;
- }
+ object_property_set_bool(cpuobj, "start-powered-off", true,
+ &error_abort);
}
if (!s->cpu_fpu[i]) {
if (!object_property_set_bool(cpuobj, "vfp", false, errp)) {
diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c
index 375a40962f..e39b61bc1a 100644
--- a/hw/arm/armv7m.c
+++ b/hw/arm/armv7m.c
@@ -318,12 +318,6 @@ static void armv7m_realize(DeviceState *dev, Error **errp)
return;
}
}
- if (object_property_find(OBJECT(s->cpu), "start-powered-off")) {
- if (!object_property_set_bool(OBJECT(s->cpu), "start-powered-off",
- s->start_powered_off, errp)) {
- return;
- }
- }
if (object_property_find(OBJECT(s->cpu), "vfp")) {
if (!object_property_set_bool(OBJECT(s->cpu), "vfp", s->vfp, errp)) {
return;
@@ -334,6 +328,8 @@ static void armv7m_realize(DeviceState *dev, Error **errp)
return;
}
}
+ object_property_set_bool(OBJECT(s->cpu), "start-powered-off",
+ s->start_powered_off, &error_abort);
/*
* Real M-profile hardware can be configured with a different number of
diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c
index 289c30e6b6..b0674a22a6 100644
--- a/hw/arm/bcm2836.c
+++ b/hw/arm/bcm2836.c
@@ -135,12 +135,8 @@ static void bcm2836_realize(DeviceState *dev, Error **errp)
bc->peri_base, &error_abort);
/* start powered off if not enabled */
- if (!object_property_set_bool(OBJECT(&s->cpu[n].core),
- "start-powered-off",
- n >= s->enabled_cpus,
- errp)) {
- return;
- }
+ object_property_set_bool(OBJECT(&s->cpu[n].core), "start-powered-off",
+ n >= s->enabled_cpus, &error_abort);
if (!qdev_realize(DEVICE(&s->cpu[n].core), NULL, errp)) {
return;
diff --git a/hw/mips/cps.c b/hw/mips/cps.c
index b6612c1762..4f12e23ab5 100644
--- a/hw/mips/cps.c
+++ b/hw/mips/cps.c
@@ -78,10 +78,9 @@ static void mips_cps_realize(DeviceState *dev, Error **errp)
CPUMIPSState *env = &cpu->env;
/* All VPs are halted on reset. Leave powering up to CPC. */
- if (!object_property_set_bool(OBJECT(cpu), "start-powered-off", true,
- errp)) {
- return;
- }
+ object_property_set_bool(OBJECT(cpu), "start-powered-off", true,
+ &error_abort);
+
/* All cores use the same clock tree */
qdev_connect_clock_in(DEVICE(cpu), "clk-in", s->clock);
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 384226296b..566f1200dd 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -955,7 +955,7 @@ void ppce500_init(MachineState *machine)
* when implementing non-kernel boot.
*/
object_property_set_bool(OBJECT(cs), "start-powered-off", i != 0,
- &error_fatal);
+ &error_abort);
qdev_realize_and_unref(DEVICE(cs), NULL, &error_fatal);
if (!firstenv) {
diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
index 17bf5f2879..64895aebe3 100644
--- a/hw/sparc/sun4m.c
+++ b/hw/sparc/sun4m.c
@@ -804,7 +804,7 @@ static void cpu_devinit(const char *cpu_type, unsigned int id,
qemu_register_reset(sun4m_cpu_reset, cpu);
object_property_set_bool(OBJECT(cpu), "start-powered-off", id != 0,
- &error_fatal);
+ &error_abort);
qdev_realize_and_unref(DEVICE(cpu), NULL, &error_fatal);
cpu_sparc_set_id(env, id);
*cpu_irqs = qemu_allocate_irqs(cpu_set_irq, cpu, MAX_PILS);
--
2.41.0
next prev parent reply other threads:[~2024-01-05 16:01 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-05 15:41 [PULL 00/71] HW core patches for 2024-01-05 Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 01/71] meson: Allow building binary with no target-specific files in hw/ Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 02/71] target/alpha: Remove fallback to ev67 cpu class Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 03/71] target/hppa: Remove object_class_is_abstract() Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 04/71] cpu: Call object_class_dynamic_cast() once in cpu_class_by_name() Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 05/71] cpu: Add helper cpu_model_from_type() Philippe Mathieu-Daudé
2024-01-05 15:41 ` [PULL 06/71] cpu: Add generic cpu_list() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 07/71] target/alpha: Use " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 08/71] target/arm: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 09/71] target/avr: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 10/71] target/cris: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 11/71] target/hexagon: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 12/71] target/hppa: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 13/71] target/loongarch: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 14/71] target/m68k: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 15/71] target/mips: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 16/71] target/openrisc: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 17/71] target/riscv: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 18/71] target/rx: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 19/71] target/sh4: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 20/71] target/tricore: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 21/71] target/xtensa: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 22/71] target: Use generic cpu_model_from_type() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 23/71] hw/core: Add machine_class_default_cpu_type() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 24/71] machine: Use error handling when CPU type is checked Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 25/71] machine: Introduce helper is_cpu_type_supported() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 26/71] machine: Improve is_cpu_type_supported() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 27/71] machine: Print CPU model name instead of CPU type Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 28/71] hw/arm/virt: Hide host CPU model for tcg Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 29/71] hw/arm/virt: Check CPU type in machine_run_board_init() Philippe Mathieu-Daudé
2024-01-09 14:33 ` Peter Maydell
2024-01-11 6:02 ` Gavin Shan
2024-01-05 15:42 ` [PULL 30/71] hw/arm/sbsa-ref: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 31/71] hw/arm: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 32/71] hw/riscv/shakti_c: " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 33/71] hw/core/cpu: Remove final vestiges of dynamic state tracing Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 34/71] hw/core/cpu: Update description of CPUState::node Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 35/71] hw/cpu/core: Cleanup unused included header in core.c Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 36/71] hw/cpu/cluster: Cleanup unused included header in cluster.c Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 37/71] hw/audio/sb16: Do not migrate qdev properties Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 38/71] hw/arm/bcm2836: Simplify use of 'reset-cbar' property Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 39/71] hw/arm/bcm2836: Use ARM_CPU 'mp-affinity' property Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 40/71] hw/ppc/spapr_cpu_core: Access QDev properties with proper API Philippe Mathieu-Daudé
2024-01-05 15:42 ` Philippe Mathieu-Daudé [this message]
2024-01-05 15:42 ` [PULL 42/71] hw/ppc/xive2_regs: Remove unnecessary 'cpu.h' inclusion Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 43/71] hw/mips: Inline 'bios.h' definitions Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 44/71] memory: Have memory_region_init_ram_flags_nomigrate() return a boolean Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 45/71] memory: Have memory_region_init_ram_nomigrate() handler " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 46/71] memory: Have memory_region_init_rom_nomigrate() " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 47/71] memory: Simplify memory_region_init_rom_nomigrate() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 48/71] memory: Simplify memory_region_init_ram_from_fd() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 49/71] memory: Have memory_region_init_ram() handler return a boolean Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 50/71] memory: Have memory_region_init_rom() " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 51/71] memory: Have memory_region_init_rom_device_nomigrate() " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 52/71] memory: Simplify memory_region_init_rom_device_nomigrate() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 53/71] memory: Have memory_region_init_rom_device() handler return a boolean Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 54/71] memory: Have memory_region_init_resizeable_ram() " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 55/71] memory: Have memory_region_init_ram_from_file() handler " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 56/71] memory: Have memory_region_init_ram_from_fd() " Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 57/71] backends: Use g_autofree in HostMemoryBackendClass::alloc() handlers Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 58/71] backends: Simplify host_memory_backend_memory_complete() Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 59/71] backends: Have HostMemoryBackendClass::alloc() handler return a boolean Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 60/71] backends: Reduce variable scope in host_memory_backend_memory_complete Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 61/71] util/oslib: Have qemu_prealloc_mem() handler return a boolean Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 62/71] misc: Simplify qemu_prealloc_mem() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 63/71] hw: Simplify memory_region_init_ram() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 64/71] hw/arm: Simplify memory_region_init_rom() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 65/71] hw/sparc: Simplify memory_region_init_ram_nomigrate() calls Philippe Mathieu-Daudé
2024-01-05 15:42 ` [PULL 66/71] hw/misc: Simplify memory_region_init_ram_from_fd() calls Philippe Mathieu-Daudé
2024-01-05 15:43 ` [PULL 67/71] hw/nvram: Simplify memory_region_init_rom_device() calls Philippe Mathieu-Daudé
2024-01-05 15:43 ` [PULL 68/71] hw/pci-host/raven: Propagate error in raven_realize() Philippe Mathieu-Daudé
2024-01-05 15:43 ` [PULL 69/71] hw/m68k/mcf5206: Embed m5206_timer_state in m5206_mbar_state Philippe Mathieu-Daudé
2024-01-05 15:43 ` [PULL 70/71] hw/net/can/sja1000: fix bug for single acceptance filter and standard frame Philippe Mathieu-Daudé
2024-01-05 15:43 ` [PULL 71/71] target/sparc: Simplify qemu_irq_ack Philippe Mathieu-Daudé
2024-01-05 17:05 ` [PULL 00/71] HW core patches for 2024-01-05 Philippe Mathieu-Daudé
2024-01-05 18:43 ` Peter Maydell
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=20240105154307.21385-42-philmd@linaro.org \
--to=philmd@linaro.org \
--cc=atar4qemu@gmail.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=richard.henderson@linaro.org \
/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).