mirror of https://github.com/xemu-project/xemu.git
hw: Remove assert_no_error usages
Replace assert_no_error() usages with the error_abort system. &error_abort is passed into API calls to signal to the Error sub-system that any errors are fatal. Removes need for caller assertions. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
parent
90c3f6e026
commit
5433a0a89e
|
@ -352,21 +352,17 @@ void qdev_prop_set_drive_nofail(DeviceState *dev, const char *name,
|
||||||
void qdev_prop_set_chr(DeviceState *dev, const char *name,
|
void qdev_prop_set_chr(DeviceState *dev, const char *name,
|
||||||
CharDriverState *value)
|
CharDriverState *value)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
|
||||||
assert(!value || value->label);
|
assert(!value || value->label);
|
||||||
object_property_set_str(OBJECT(dev),
|
object_property_set_str(OBJECT(dev),
|
||||||
value ? value->label : "", name, &errp);
|
value ? value->label : "", name, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qdev_prop_set_netdev(DeviceState *dev, const char *name,
|
void qdev_prop_set_netdev(DeviceState *dev, const char *name,
|
||||||
NetClientState *value)
|
NetClientState *value)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
|
||||||
assert(!value || value->name);
|
assert(!value || value->name);
|
||||||
object_property_set_str(OBJECT(dev),
|
object_property_set_str(OBJECT(dev),
|
||||||
value ? value->name : "", name, &errp);
|
value ? value->name : "", name, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qdev_set_nic_properties(DeviceState *dev, NICInfo *nd)
|
void qdev_set_nic_properties(DeviceState *dev, NICInfo *nd)
|
||||||
|
|
|
@ -1003,73 +1003,55 @@ void qdev_prop_parse(DeviceState *dev, const char *name, const char *value,
|
||||||
|
|
||||||
void qdev_prop_set_bit(DeviceState *dev, const char *name, bool value)
|
void qdev_prop_set_bit(DeviceState *dev, const char *name, bool value)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
object_property_set_bool(OBJECT(dev), value, name, &error_abort);
|
||||||
object_property_set_bool(OBJECT(dev), value, name, &errp);
|
|
||||||
assert_no_error(errp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qdev_prop_set_uint8(DeviceState *dev, const char *name, uint8_t value)
|
void qdev_prop_set_uint8(DeviceState *dev, const char *name, uint8_t value)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
object_property_set_int(OBJECT(dev), value, name, &error_abort);
|
||||||
object_property_set_int(OBJECT(dev), value, name, &errp);
|
|
||||||
assert_no_error(errp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qdev_prop_set_uint16(DeviceState *dev, const char *name, uint16_t value)
|
void qdev_prop_set_uint16(DeviceState *dev, const char *name, uint16_t value)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
object_property_set_int(OBJECT(dev), value, name, &error_abort);
|
||||||
object_property_set_int(OBJECT(dev), value, name, &errp);
|
|
||||||
assert_no_error(errp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qdev_prop_set_uint32(DeviceState *dev, const char *name, uint32_t value)
|
void qdev_prop_set_uint32(DeviceState *dev, const char *name, uint32_t value)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
object_property_set_int(OBJECT(dev), value, name, &error_abort);
|
||||||
object_property_set_int(OBJECT(dev), value, name, &errp);
|
|
||||||
assert_no_error(errp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qdev_prop_set_int32(DeviceState *dev, const char *name, int32_t value)
|
void qdev_prop_set_int32(DeviceState *dev, const char *name, int32_t value)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
object_property_set_int(OBJECT(dev), value, name, &error_abort);
|
||||||
object_property_set_int(OBJECT(dev), value, name, &errp);
|
|
||||||
assert_no_error(errp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qdev_prop_set_uint64(DeviceState *dev, const char *name, uint64_t value)
|
void qdev_prop_set_uint64(DeviceState *dev, const char *name, uint64_t value)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
object_property_set_int(OBJECT(dev), value, name, &error_abort);
|
||||||
object_property_set_int(OBJECT(dev), value, name, &errp);
|
|
||||||
assert_no_error(errp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qdev_prop_set_string(DeviceState *dev, const char *name, const char *value)
|
void qdev_prop_set_string(DeviceState *dev, const char *name, const char *value)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
object_property_set_str(OBJECT(dev), value, name, &error_abort);
|
||||||
object_property_set_str(OBJECT(dev), value, name, &errp);
|
|
||||||
assert_no_error(errp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t *value)
|
void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t *value)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
|
||||||
char str[2 * 6 + 5 + 1];
|
char str[2 * 6 + 5 + 1];
|
||||||
snprintf(str, sizeof(str), "%02x:%02x:%02x:%02x:%02x:%02x",
|
snprintf(str, sizeof(str), "%02x:%02x:%02x:%02x:%02x:%02x",
|
||||||
value[0], value[1], value[2], value[3], value[4], value[5]);
|
value[0], value[1], value[2], value[3], value[4], value[5]);
|
||||||
|
|
||||||
object_property_set_str(OBJECT(dev), str, name, &errp);
|
object_property_set_str(OBJECT(dev), str, name, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qdev_prop_set_enum(DeviceState *dev, const char *name, int value)
|
void qdev_prop_set_enum(DeviceState *dev, const char *name, int value)
|
||||||
{
|
{
|
||||||
Property *prop;
|
Property *prop;
|
||||||
Error *errp = NULL;
|
|
||||||
|
|
||||||
prop = qdev_prop_find(dev, name);
|
prop = qdev_prop_find(dev, name);
|
||||||
object_property_set_str(OBJECT(dev), prop->info->enum_table[value],
|
object_property_set_str(OBJECT(dev), prop->info->enum_table[value],
|
||||||
name, &errp);
|
name, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qdev_prop_set_ptr(DeviceState *dev, const char *name, void *value)
|
void qdev_prop_set_ptr(DeviceState *dev, const char *name, void *value)
|
||||||
|
@ -1161,12 +1143,10 @@ static void set_size(Object *obj, Visitor *v, void *opaque,
|
||||||
static int parse_size(DeviceState *dev, Property *prop, const char *str)
|
static int parse_size(DeviceState *dev, Property *prop, const char *str)
|
||||||
{
|
{
|
||||||
uint64_t *ptr = qdev_get_prop_ptr(dev, prop);
|
uint64_t *ptr = qdev_get_prop_ptr(dev, prop);
|
||||||
Error *errp = NULL;
|
|
||||||
|
|
||||||
if (str != NULL) {
|
if (str != NULL) {
|
||||||
parse_option_size(prop->name, str, ptr, &errp);
|
parse_option_size(prop->name, str, ptr, &error_abort);
|
||||||
}
|
}
|
||||||
assert_no_error(errp);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -656,14 +656,13 @@ void qdev_property_add_static(DeviceState *dev, Property *prop,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (prop->qtype == QTYPE_QBOOL) {
|
if (prop->qtype == QTYPE_QBOOL) {
|
||||||
object_property_set_bool(obj, prop->defval, prop->name, &local_err);
|
object_property_set_bool(obj, prop->defval, prop->name, &error_abort);
|
||||||
} else if (prop->info->enum_table) {
|
} else if (prop->info->enum_table) {
|
||||||
object_property_set_str(obj, prop->info->enum_table[prop->defval],
|
object_property_set_str(obj, prop->info->enum_table[prop->defval],
|
||||||
prop->name, &local_err);
|
prop->name, &error_abort);
|
||||||
} else if (prop->qtype == QTYPE_QINT) {
|
} else if (prop->qtype == QTYPE_QINT) {
|
||||||
object_property_set_int(obj, prop->defval, prop->name, &local_err);
|
object_property_set_int(obj, prop->defval, prop->name, &error_abort);
|
||||||
}
|
}
|
||||||
assert_no_error(local_err);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool device_get_realized(Object *obj, Error **err)
|
static bool device_get_realized(Object *obj, Error **err)
|
||||||
|
@ -723,7 +722,6 @@ static void device_initfn(Object *obj)
|
||||||
DeviceState *dev = DEVICE(obj);
|
DeviceState *dev = DEVICE(obj);
|
||||||
ObjectClass *class;
|
ObjectClass *class;
|
||||||
Property *prop;
|
Property *prop;
|
||||||
Error *err = NULL;
|
|
||||||
|
|
||||||
if (qdev_hotplug) {
|
if (qdev_hotplug) {
|
||||||
dev->hotplugged = 1;
|
dev->hotplugged = 1;
|
||||||
|
@ -739,26 +737,19 @@ static void device_initfn(Object *obj)
|
||||||
class = object_get_class(OBJECT(dev));
|
class = object_get_class(OBJECT(dev));
|
||||||
do {
|
do {
|
||||||
for (prop = DEVICE_CLASS(class)->props; prop && prop->name; prop++) {
|
for (prop = DEVICE_CLASS(class)->props; prop && prop->name; prop++) {
|
||||||
qdev_property_add_legacy(dev, prop, &err);
|
qdev_property_add_legacy(dev, prop, &error_abort);
|
||||||
assert_no_error(err);
|
qdev_property_add_static(dev, prop, &error_abort);
|
||||||
qdev_property_add_static(dev, prop, &err);
|
|
||||||
assert_no_error(err);
|
|
||||||
}
|
}
|
||||||
class = object_class_get_parent(class);
|
class = object_class_get_parent(class);
|
||||||
} while (class != object_class_by_name(TYPE_DEVICE));
|
} while (class != object_class_by_name(TYPE_DEVICE));
|
||||||
|
|
||||||
object_property_add_link(OBJECT(dev), "parent_bus", TYPE_BUS,
|
object_property_add_link(OBJECT(dev), "parent_bus", TYPE_BUS,
|
||||||
(Object **)&dev->parent_bus, &err);
|
(Object **)&dev->parent_bus, &error_abort);
|
||||||
assert_no_error(err);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void device_post_init(Object *obj)
|
static void device_post_init(Object *obj)
|
||||||
{
|
{
|
||||||
DeviceState *dev = DEVICE(obj);
|
qdev_prop_set_globals(DEVICE(obj), &error_abort);
|
||||||
Error *err = NULL;
|
|
||||||
|
|
||||||
qdev_prop_set_globals(dev, &err);
|
|
||||||
assert_no_error(err);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Unlink device from bus and free the structure. */
|
/* Unlink device from bus and free the structure. */
|
||||||
|
|
|
@ -569,26 +569,21 @@ static void xilinx_axidma_init(Object *obj)
|
||||||
{
|
{
|
||||||
XilinxAXIDMA *s = XILINX_AXI_DMA(obj);
|
XilinxAXIDMA *s = XILINX_AXI_DMA(obj);
|
||||||
SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
|
SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
|
||||||
Error *errp = NULL;
|
|
||||||
|
|
||||||
object_property_add_link(obj, "axistream-connected", TYPE_STREAM_SLAVE,
|
object_property_add_link(obj, "axistream-connected", TYPE_STREAM_SLAVE,
|
||||||
(Object **) &s->tx_data_dev, &errp);
|
(Object **)&s->tx_data_dev, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
object_property_add_link(obj, "axistream-control-connected",
|
object_property_add_link(obj, "axistream-control-connected",
|
||||||
TYPE_STREAM_SLAVE,
|
TYPE_STREAM_SLAVE,
|
||||||
(Object **) &s->tx_control_dev, &errp);
|
(Object **)&s->tx_control_dev, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
|
|
||||||
object_initialize(&s->rx_data_dev, sizeof(s->rx_data_dev),
|
object_initialize(&s->rx_data_dev, sizeof(s->rx_data_dev),
|
||||||
TYPE_XILINX_AXI_DMA_DATA_STREAM);
|
TYPE_XILINX_AXI_DMA_DATA_STREAM);
|
||||||
object_initialize(&s->rx_control_dev, sizeof(s->rx_control_dev),
|
object_initialize(&s->rx_control_dev, sizeof(s->rx_control_dev),
|
||||||
TYPE_XILINX_AXI_DMA_CONTROL_STREAM);
|
TYPE_XILINX_AXI_DMA_CONTROL_STREAM);
|
||||||
object_property_add_child(OBJECT(s), "axistream-connected-target",
|
object_property_add_child(OBJECT(s), "axistream-connected-target",
|
||||||
(Object *)&s->rx_data_dev, &errp);
|
(Object *)&s->rx_data_dev, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
object_property_add_child(OBJECT(s), "axistream-control-connected-target",
|
object_property_add_child(OBJECT(s), "axistream-control-connected-target",
|
||||||
(Object *)&s->rx_control_dev, &errp);
|
(Object *)&s->rx_control_dev, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
|
|
||||||
sysbus_init_irq(sbd, &s->streams[0].irq);
|
sysbus_init_irq(sbd, &s->streams[0].irq);
|
||||||
sysbus_init_irq(sbd, &s->streams[1].irq);
|
sysbus_init_irq(sbd, &s->streams[1].irq);
|
||||||
|
|
|
@ -980,26 +980,21 @@ static void xilinx_enet_init(Object *obj)
|
||||||
{
|
{
|
||||||
XilinxAXIEnet *s = XILINX_AXI_ENET(obj);
|
XilinxAXIEnet *s = XILINX_AXI_ENET(obj);
|
||||||
SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
|
SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
|
||||||
Error *errp = NULL;
|
|
||||||
|
|
||||||
object_property_add_link(obj, "axistream-connected", TYPE_STREAM_SLAVE,
|
object_property_add_link(obj, "axistream-connected", TYPE_STREAM_SLAVE,
|
||||||
(Object **) &s->tx_data_dev, &errp);
|
(Object **) &s->tx_data_dev, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
object_property_add_link(obj, "axistream-control-connected",
|
object_property_add_link(obj, "axistream-control-connected",
|
||||||
TYPE_STREAM_SLAVE,
|
TYPE_STREAM_SLAVE,
|
||||||
(Object **) &s->tx_control_dev, &errp);
|
(Object **) &s->tx_control_dev, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
|
|
||||||
object_initialize(&s->rx_data_dev, sizeof(s->rx_data_dev),
|
object_initialize(&s->rx_data_dev, sizeof(s->rx_data_dev),
|
||||||
TYPE_XILINX_AXI_ENET_DATA_STREAM);
|
TYPE_XILINX_AXI_ENET_DATA_STREAM);
|
||||||
object_initialize(&s->rx_control_dev, sizeof(s->rx_control_dev),
|
object_initialize(&s->rx_control_dev, sizeof(s->rx_control_dev),
|
||||||
TYPE_XILINX_AXI_ENET_CONTROL_STREAM);
|
TYPE_XILINX_AXI_ENET_CONTROL_STREAM);
|
||||||
object_property_add_child(OBJECT(s), "axistream-connected-target",
|
object_property_add_child(OBJECT(s), "axistream-connected-target",
|
||||||
(Object *)&s->rx_data_dev, &errp);
|
(Object *)&s->rx_data_dev, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
object_property_add_child(OBJECT(s), "axistream-control-connected-target",
|
object_property_add_child(OBJECT(s), "axistream-control-connected-target",
|
||||||
(Object *)&s->rx_control_dev, &errp);
|
(Object *)&s->rx_control_dev, &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
|
|
||||||
sysbus_init_irq(sbd, &s->irq);
|
sysbus_init_irq(sbd, &s->irq);
|
||||||
|
|
||||||
|
|
|
@ -59,16 +59,13 @@ xilinx_axiethernet_init(DeviceState *dev, NICInfo *nd, StreamSlave *ds,
|
||||||
StreamSlave *cs, hwaddr base, qemu_irq irq, int txmem,
|
StreamSlave *cs, hwaddr base, qemu_irq irq, int txmem,
|
||||||
int rxmem)
|
int rxmem)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
|
||||||
|
|
||||||
qdev_set_nic_properties(dev, nd);
|
qdev_set_nic_properties(dev, nd);
|
||||||
qdev_prop_set_uint32(dev, "rxmem", rxmem);
|
qdev_prop_set_uint32(dev, "rxmem", rxmem);
|
||||||
qdev_prop_set_uint32(dev, "txmem", txmem);
|
qdev_prop_set_uint32(dev, "txmem", txmem);
|
||||||
object_property_set_link(OBJECT(dev), OBJECT(ds),
|
object_property_set_link(OBJECT(dev), OBJECT(ds),
|
||||||
"axistream-connected", &errp);
|
"axistream-connected", &error_abort);
|
||||||
object_property_set_link(OBJECT(dev), OBJECT(cs),
|
object_property_set_link(OBJECT(dev), OBJECT(cs),
|
||||||
"axistream-control-connected", &errp);
|
"axistream-control-connected", &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
qdev_init_nofail(dev);
|
qdev_init_nofail(dev);
|
||||||
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
|
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
|
||||||
sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq);
|
sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq);
|
||||||
|
@ -78,14 +75,11 @@ static inline void
|
||||||
xilinx_axidma_init(DeviceState *dev, StreamSlave *ds, StreamSlave *cs,
|
xilinx_axidma_init(DeviceState *dev, StreamSlave *ds, StreamSlave *cs,
|
||||||
hwaddr base, qemu_irq irq, qemu_irq irq2, int freqhz)
|
hwaddr base, qemu_irq irq, qemu_irq irq2, int freqhz)
|
||||||
{
|
{
|
||||||
Error *errp = NULL;
|
|
||||||
|
|
||||||
qdev_prop_set_uint32(dev, "freqhz", freqhz);
|
qdev_prop_set_uint32(dev, "freqhz", freqhz);
|
||||||
object_property_set_link(OBJECT(dev), OBJECT(ds),
|
object_property_set_link(OBJECT(dev), OBJECT(ds),
|
||||||
"axistream-connected", &errp);
|
"axistream-connected", &error_abort);
|
||||||
object_property_set_link(OBJECT(dev), OBJECT(cs),
|
object_property_set_link(OBJECT(dev), OBJECT(cs),
|
||||||
"axistream-control-connected", &errp);
|
"axistream-control-connected", &error_abort);
|
||||||
assert_no_error(errp);
|
|
||||||
qdev_init_nofail(dev);
|
qdev_init_nofail(dev);
|
||||||
|
|
||||||
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
|
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
|
||||||
|
|
|
@ -252,18 +252,15 @@ static Property arm_cpu_reset_hivecs_property =
|
||||||
static void arm_cpu_post_init(Object *obj)
|
static void arm_cpu_post_init(Object *obj)
|
||||||
{
|
{
|
||||||
ARMCPU *cpu = ARM_CPU(obj);
|
ARMCPU *cpu = ARM_CPU(obj);
|
||||||
Error *err = NULL;
|
|
||||||
|
|
||||||
if (arm_feature(&cpu->env, ARM_FEATURE_CBAR)) {
|
if (arm_feature(&cpu->env, ARM_FEATURE_CBAR)) {
|
||||||
qdev_property_add_static(DEVICE(obj), &arm_cpu_reset_cbar_property,
|
qdev_property_add_static(DEVICE(obj), &arm_cpu_reset_cbar_property,
|
||||||
&err);
|
&error_abort);
|
||||||
assert_no_error(err);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!arm_feature(&cpu->env, ARM_FEATURE_M)) {
|
if (!arm_feature(&cpu->env, ARM_FEATURE_M)) {
|
||||||
qdev_property_add_static(DEVICE(obj), &arm_cpu_reset_hivecs_property,
|
qdev_property_add_static(DEVICE(obj), &arm_cpu_reset_hivecs_property,
|
||||||
&err);
|
&error_abort);
|
||||||
assert_no_error(err);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue