hw/i386/sgx.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)
Prefer the QDev API over the low level QOM one.
No logical change intended.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/i386/sgx.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/hw/i386/sgx.c b/hw/i386/sgx.c
index 70305547d4..9176040f8f 100644
--- a/hw/i386/sgx.c
+++ b/hw/i386/sgx.c
@@ -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, &error_fatal);
}
if ((sgx_epc->base + sgx_epc->size) < sgx_epc->base) {
--
2.41.0
13.02.2024 10:16, Philippe Mathieu-Daudé : > Prefer the QDev API over the low level QOM one. > No logical change intended. ... > /* 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, &error_fatal); This does not work. Here's the function prototype: bool qdev_realize_and_unref(DeviceState *dev, BusState *bus, Error **errp); I'd say a v2 is in order. /mjt
On 15/2/24 10:31, Michael Tokarev wrote: > 13.02.2024 10:16, Philippe Mathieu-Daudé : >> Prefer the QDev API over the low level QOM one. >> No logical change intended. > ... >> /* 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, &error_fatal); > > This does not work. Here's the function prototype: > > bool qdev_realize_and_unref(DeviceState *dev, BusState *bus, Error > **errp); I was surprised because all my local tests passed, but then I realized 'config SGX depends on KVM' and I'm on Darwin... Sorry. > > I'd say a v2 is in order. > > /mjt >
© 2016 - 2024 Red Hat, Inc.