@@ -286,7 +286,6 @@ void pc_machine_init_sgx_epc(PCMachineState *pcms)
SGXEPCState *sgx_epc = &pcms->sgx_epc;
X86MachineState *x86ms = X86_MACHINE(pcms);
SgxEPCList *list = NULL;
- Object *obj;
memset(sgx_epc, 0, sizeof(SGXEPCState));
if (!x86ms->sgx_epc_list) {
@@ -300,16 +299,15 @@ void pc_machine_init_sgx_epc(PCMachineState *pcms)
&sgx_epc->mr);
for (list = x86ms->sgx_epc_list; list; list = list->next) {
- obj = object_new("sgx-epc");
+ DeviceState *dev = qdev_new(TYPE_SGX_EPC);
/* set the memdev link with memory backend */
- object_property_parse(obj, SGX_EPC_MEMDEV_PROP, list->value->memdev,
- &error_fatal);
+ object_property_parse(OBJECT(dev), SGX_EPC_MEMDEV_PROP,
+ list->value->memdev, &error_fatal);
/* set the numa node property for sgx epc object */
- object_property_set_uint(obj, SGX_EPC_NUMA_NODE_PROP, list->value->node,
- &error_fatal);
- object_property_set_bool(obj, "realized", true, &error_fatal);
- object_unref(obj);
+ object_property_set_uint(OBJECT(dev), SGX_EPC_NUMA_NODE_PROP,
+ list->value->node, &error_fatal);
+ qdev_realize_and_unref(dev, NULL, &error_fatal);
}
if ((sgx_epc->base + sgx_epc->size) < sgx_epc->base) {