On 19/04/2024 07:10, nifan....@gmail.com wrote: > From: Fan Ni <fan...@samsung.com> >
> +} > + > 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)