[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 06/16] hw/arm/xlnx-zynqmp: Use &error_abort for programming er
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v5 06/16] hw/arm/xlnx-zynqmp: Use &error_abort for programming errors |
Date: |
Thu, 6 Feb 2025 14:10:42 +0100 |
When a property value is static (not provided by QMP or CLI),
error shouldn't happen, otherwise it is a programming error.
Therefore simplify and use &error_abort as this can't fail.
Reported-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
---
hw/arm/xlnx-zynqmp.c | 38 ++++++++++++--------------------------
1 file changed, 12 insertions(+), 26 deletions(-)
diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
index bd5b0dd5e76..d6022ff2d3d 100644
--- a/hw/arm/xlnx-zynqmp.c
+++ b/hw/arm/xlnx-zynqmp.c
@@ -689,16 +689,10 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error
**errp)
* - SDIO Specification Version 3.0
* - eMMC Specification Version 4.51
*/
- if (!object_property_set_uint(sdhci, "sd-spec-version", 3, errp)) {
- return;
- }
- if (!object_property_set_uint(sdhci, "capareg", SDHCI_CAPABILITIES,
- errp)) {
- return;
- }
- if (!object_property_set_uint(sdhci, "uhs", UHS_I, errp)) {
- return;
- }
+ object_property_set_uint(sdhci, "sd-spec-version", 3, &error_abort);
+ object_property_set_uint(sdhci, "capareg", SDHCI_CAPABILITIES,
+ &error_abort);
+ object_property_set_uint(sdhci, "uhs", UHS_I, &error_abort);
if (!sysbus_realize(SYS_BUS_DEVICE(sdhci), errp)) {
return;
}
@@ -763,14 +757,10 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error
**errp)
xlnx_zynqmp_create_unimp_mmio(s);
for (i = 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) {
- if (!object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 128,
- errp)) {
- return;
- }
- if (!object_property_set_link(OBJECT(&s->gdma[i]), "dma",
- OBJECT(system_memory), errp)) {
- return;
- }
+ object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 128,
+ &error_abort);
+ object_property_set_link(OBJECT(&s->gdma[i]), "dma",
+ OBJECT(system_memory), &error_abort);
if (!sysbus_realize(SYS_BUS_DEVICE(&s->gdma[i]), errp)) {
return;
}
@@ -811,10 +801,8 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error
**errp)
sysbus_connect_irq(SYS_BUS_DEVICE(&s->qspi_dma), 0,
qdev_get_gpio_in(DEVICE(&s->qspi_irq_orgate), 0));
- if (!object_property_set_link(OBJECT(&s->qspi), "stream-connected-dma",
- OBJECT(&s->qspi_dma), errp)) {
- return;
- }
+ object_property_set_link(OBJECT(&s->qspi), "stream-connected-dma",
+ OBJECT(&s->qspi_dma), &error_abort);
if (!sysbus_realize(SYS_BUS_DEVICE(&s->qspi), errp)) {
return;
}
@@ -833,10 +821,8 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error
**errp)
}
for (i = 0; i < XLNX_ZYNQMP_NUM_USB; i++) {
- if (!object_property_set_link(OBJECT(&s->usb[i].sysbus_xhci), "dma",
- OBJECT(system_memory), errp)) {
- return;
- }
+ object_property_set_link(OBJECT(&s->usb[i].sysbus_xhci), "dma",
+ OBJECT(system_memory), &error_abort);
qdev_prop_set_uint32(DEVICE(&s->usb[i].sysbus_xhci), "intrs", 4);
qdev_prop_set_uint32(DEVICE(&s->usb[i].sysbus_xhci), "slots", 2);
--
2.47.1
- [PATCH v5 00/16] hw/microblaze: Allow running cross-endian vCPUs, Philippe Mathieu-Daudé, 2025/02/06
- [PATCH v5 01/16] hw/intc/xilinx_intc: Make device endianness configurable, Philippe Mathieu-Daudé, 2025/02/06
- [PATCH v5 02/16] hw/net/xilinx_ethlite: Make device endianness configurable, Philippe Mathieu-Daudé, 2025/02/06
- [PATCH v5 03/16] hw/timer/xilinx_timer: Make device endianness configurable, Philippe Mathieu-Daudé, 2025/02/06
- [PATCH v5 04/16] hw/char/xilinx_uartlite: Make device endianness configurable, Philippe Mathieu-Daudé, 2025/02/06
- [PATCH v5 05/16] hw/ssi/xilinx_spi: Make device endianness configurable, Philippe Mathieu-Daudé, 2025/02/06
- [PATCH v5 06/16] hw/arm/xlnx-zynqmp: Use &error_abort for programming errors,
Philippe Mathieu-Daudé <=
- [PATCH v5 07/16] target/microblaze: Explode MO_TExx -> MO_TE | MO_xx, Philippe Mathieu-Daudé, 2025/02/06
- [PATCH v5 08/16] target/microblaze: Set MO_TE once in do_load() / do_store(), Philippe Mathieu-Daudé, 2025/02/06
- [PATCH v5 09/16] target/microblaze: Introduce mo_endian() helper, Philippe Mathieu-Daudé, 2025/02/06
- [PATCH v5 10/16] target/microblaze: Consider endianness while translating code, Philippe Mathieu-Daudé, 2025/02/06
- [PATCH v5 11/16] hw/microblaze: Support various endianness for s3adsp1800 machines, Philippe Mathieu-Daudé, 2025/02/06