模擬器 - QEMU - 解決object_property_try_add_child: Assertion !child->parent failed問題



問題如下:

qemu-system-arm: ../qom/object.c:1757: object_property_try_add_child: Assertion `!child->parent' failed.
Aborted

解法如下:

struct AwF1c100sState {
    DeviceState parent_obj;
    ...
};

static const TypeInfo f1c100s_type_info = {
    .name = TYPE_AW_F1C100S,
    .parent = TYPE_DEVICE,
    .instance_size = sizeof(AwF1c100sState),
    .instance_init = f1c100s_init,
    .class_init = f1c100s_class_init,
};

P.S. 使用TYPE_DEVICE時,第一個參數必須是DeviceState的變數,如:parent_obj