object_initialize_child(OBJECT(machine), "soc", &s->soc, TYPE_NUCLEI_HBIRD_SOC); qdev_realize(DEVICE(&s->soc), NULL, &error_abort); } static void nuclei_machine_instance_init(Object *obj) { qemu_log(">>nuclei_machine_instance_init \n"); } static void nuclei_machine_class_init(Ob...
*/ if (machine->kernel_filename) { psci_conduit = QEMU_PSCI_CONDUIT_SMC; } object_initialize_child(OBJECT(machine), "xlnx-versal", &s->soc, TYPE_XLNX_VERSAL); object_property_set_link(OBJECT(&s->soc), "ddr", OBJECT(machine->ram), &error_abort); object_property_set_int(OBJECT(...
Object parent_obj;/* All fields are private - violators will be prosecuted *//* The following fields should fit in a cache line */boolromd_mode;boolram;boolsubpage;boolreadonly;/* For RAM regions */boolrom_device;boolflush_coalesced_mmio;boolglobal_locking;uint8_tdirty_log_mask; RAMBlo...
537 bool object_initialize_child_with_props(Object *parentobj, 538 const char *propname, 539 void *childobj, size_t size, 540 const char *type, 541 Error **errp, ...) qom/object: Add a new function object_initialize_child() Jul 16, 2018 542 { 543 va_list vargs; qom...
object_initialize_child(OBJECT(s), "can", &s->can, TYPE_XLNX_ZYNQMP_CAN);object_property_set_int(OBJECT(&s->can), "ext_clk_freq", (24*1000*1000), &error_abort); object_property_set_link(OBJECT(&s->can), "canbus", OBJECT(s->canbus), &error_fatal);sysbus_realize_and_unref...
static void object_initialize_with_type(void *data, size_t size, TypeImpl *type) { Object *obj = data; type_initialize(type); g_assert(type->instance_size >= sizeof(Object)); g_assert(type->abstract == false); g_assert(size >= type->instance_size); ...
voidqemu_init_cpu_list(void){/* This is needed because qemu_init_cpu_list is also called by the* child process in a fork. */pending_cpus=0;qemu_mutex_init(&qemu_cpu_list_lock);qemu_cond_init(&exclusive_cond);qemu_cond_init(&exclusive_resume);qemu_cond_init(&qemu_work_cond);} ...
qdev_create调用了qdev_try_create,进一步调用object_new,object_new会根据之前类型中注册的name,找到对应的TypeImpl结构,调用object_new_eith_type。 object_new_eith_type函数调用type_initialize。type_initialize首先设置了一些field,并为clazz成员分配了一个ObjectClass,然后初始化了所有的父类和祖类类型,包括实际类...
Patch0439: target-i386-csv-Add-command-to-initialize-CSV3-conte.patch Patch0440: target-i386-csv-Add-command-to-load-data-to-CSV3-gue.patch Patch0441: target-i386-csv-Add-command-to-load-vmcb-to-CSV3-gue.patch Patch0442: target-i386-cpu-Populate-CPUID-0x8000_001F-when-CSV3.patch...
Patch0014: hw-i2c-smbus_slave-Add-object-path-on-error-prints.patch Patch0015: virtio-gpu-remove-needless-condition.patch Patch0016: target-i386-sev-Fix-missing-ERRP_GUARD-for-error_pre.patch Patch0017: hw-acpi-cpu-Use-CPUState-typedef.patch ...