On 19/04/2024 07:10, [email protected] wrote:
> From: Fan Ni <[email protected]>
>
> +}
> +
> static bool cxl_setup_memory(CXLType3Dev *ct3d, Error **errp)
> {
> DeviceState *ds = DEVICE(ct3d);
> @@ -635,6 +676,13 @@ static bool cxl_setup_memory(CXLType3Dev *ct3d, Error
> **errp)
> g_free(p_name);
> }
>
> + if (ct3d->dc.num_regions > 0) {
> + if (!cxl_create_dc_regions(ct3d, errp)) {
> + error_setg(errp, "setup DC regions failed");
This error_set() would cause an assertion if the errp was assigned inside
cxl_create_dc_regions();
Try error_append_hint() instead
#3 0x00007f1fdc4fafc6 in annobin_assert.c_end () at /lib64/libc.so.6
#4 0x0000555fd3edbea8 in error_setv
(errp=0x7ffe6d1a3de0, src=0x555fd3fe262b "../hw/mem/cxl_type3.c",
line=807, func=0x555fd3fe2fe0 <__func__.21> "cxl_setup_memory",
err_class=ERROR_CLASS_GENERIC_ERROR, fmt=0x555fd3fe2939 "setup DC regions
failed", ap=0x7ffe6d1a3
c00, suffix=0x0) at ../util/error.c:68
#5 0x0000555fd3edc126 in error_setg_internal
(errp=0x7ffe6d1a3de0, src=0x555fd3fe262b "../hw/mem/cxl_type3.c",
line=807, func=0x555fd3fe2fe0 <__func__.21> "cxl_setup_memory",
fmt=0x555fd3fe2939 "setup DC regions failed") at ../util/error.c:105
#6 0x0000555fd3819c9f in cxl_setup_memory (ct3d=0x555fd8b2f3e0,
errp=0x7ffe6d1a3de0) at ../hw/mem/cxl_type3.c:807
#7 0x0000555fd3819d7b in ct3_realize (pci_dev=0x555fd8b2f3e0,
errp=0x7ffe6d1a3de0) at ../hw/mem/cxl_type3.c:833
#8 0x0000555fd38b575f in pci_qdev_realize (qdev=0x555fd8b2f3e0,
errp=0x7ffe6d1a3e60) at ../hw/pci/pci.c:2093
#9 0x0000555fd3ccca9b in device_set_realized (obj=0x555fd8b2f3e0, value=true,
errp=0x7ffe6d1a40d0)