On 6/9/2026 5:03 PM, Igor Mammedov wrote:
On Fri, 5 Jun 2026 18:46:06 +0800
fanhuang <[email protected]> wrote:

+            'memaddr': 'size',

why not 'addr', like DIMM?


Will rename to 'addr' to match PCDIMMDeviceInfo.

+static uint64_t sp_mem_get_addr(const MemoryDeviceState *md)
+{
+    return SP_MEM(md)->addr;

device cast + deref, should be separate. or even better look at
pc_dimm_md_get_addr()


Will switch to object_property_get_uint(OBJECT(md), SP_MEM_ADDR_PROP,
&error_abort), and set_addr to object_property_set_uint(), matching
pc-dimm.

+}
+
+static void sp_mem_set_addr(MemoryDeviceState *md, uint64_t addr,
+                            Error **errp)
+{
+    SP_MEM(md)->addr = addr;
+}

ditto

+    di->size = spm->hostmem ? memory_region_size(
+                   host_memory_backend_get_memory(spm->hostmem)) : 0;

why conditional?


Dropped — hostmem is guaranteed set by realize() before
fill_device_info() runs, so the ternaries on di->size and di->memdev
go away.

+    di->node = spm->node;
+    di->memdev = spm->hostmem ?
+                 object_get_canonical_path(OBJECT(spm->hostmem)) : NULL;
ditto

+    mdc->get_plugged_size    = sp_mem_get_plugged_size;
                                    ^^^^
wouldn't memory_device_get_region_size() do here?


Yes — dropping the custom sp_mem_get_plugged_size() and using
memory_device_get_region_size directly, as pc-dimm does.

stub_ss.add(files('memory-device-stubs.c'))



Reply via email to