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'))