hw/mem/pc-dimm.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
[get|set]_addr are two counterpart to access PCDIMMDevice.addr.
Since we have already set up a property PC_DIMM_ADDR_PROP for this
field and use this mechanism in set_addr, it would be more proper to use
the same mechanism in set_addr.
This patch uses object_property_get_uint() to replace the direct memory
access to make [get|set]_addr with the same mechanism.
Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
---
hw/mem/pc-dimm.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
index 0c9b9e8292..c0658b9b88 100644
--- a/hw/mem/pc-dimm.c
+++ b/hw/mem/pc-dimm.c
@@ -204,9 +204,7 @@ static MemoryRegion *pc_dimm_get_memory_region(PCDIMMDevice *dimm, Error **errp)
static uint64_t pc_dimm_md_get_addr(const MemoryDeviceState *md)
{
- const PCDIMMDevice *dimm = PC_DIMM(md);
-
- return dimm->addr;
+ return object_property_get_uint(OBJECT(md), PC_DIMM_ADDR_PROP, NULL);
}
static void pc_dimm_md_set_addr(MemoryDeviceState *md, uint64_t addr,
--
2.19.1
On Fri, 1 Feb 2019 09:08:37 +0800 Wei Yang <richardw.yang@linux.intel.com> wrote: > [get|set]_addr are two counterpart to access PCDIMMDevice.addr. > > Since we have already set up a property PC_DIMM_ADDR_PROP for this > field and use this mechanism in set_addr, it would be more proper to use > the same mechanism in set_addr. > > This patch uses object_property_get_uint() to replace the direct memory > access to make [get|set]_addr with the same mechanism. > > Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> > --- > hw/mem/pc-dimm.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c > index 0c9b9e8292..c0658b9b88 100644 > --- a/hw/mem/pc-dimm.c > +++ b/hw/mem/pc-dimm.c > @@ -204,9 +204,7 @@ static MemoryRegion *pc_dimm_get_memory_region(PCDIMMDevice *dimm, Error **errp) > > static uint64_t pc_dimm_md_get_addr(const MemoryDeviceState *md) > { > - const PCDIMMDevice *dimm = PC_DIMM(md); > - > - return dimm->addr; > + return object_property_get_uint(OBJECT(md), PC_DIMM_ADDR_PROP, NULL); it's not good to ignore errors s/NULL/error_abort/ so we would notice if error ever happened. > } > > static void pc_dimm_md_set_addr(MemoryDeviceState *md, uint64_t addr,
On Wed, Feb 06, 2019 at 12:59:49PM +0100, Igor Mammedov wrote: >On Fri, 1 Feb 2019 09:08:37 +0800 >Wei Yang <richardw.yang@linux.intel.com> wrote: > >> [get|set]_addr are two counterpart to access PCDIMMDevice.addr. >> >> Since we have already set up a property PC_DIMM_ADDR_PROP for this >> field and use this mechanism in set_addr, it would be more proper to use >> the same mechanism in set_addr. >> >> This patch uses object_property_get_uint() to replace the direct memory >> access to make [get|set]_addr with the same mechanism. >> >> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> >> --- >> hw/mem/pc-dimm.c | 4 +--- >> 1 file changed, 1 insertion(+), 3 deletions(-) >> >> diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c >> index 0c9b9e8292..c0658b9b88 100644 >> --- a/hw/mem/pc-dimm.c >> +++ b/hw/mem/pc-dimm.c >> @@ -204,9 +204,7 @@ static MemoryRegion *pc_dimm_get_memory_region(PCDIMMDevice *dimm, Error **errp) >> >> static uint64_t pc_dimm_md_get_addr(const MemoryDeviceState *md) >> { >> - const PCDIMMDevice *dimm = PC_DIMM(md); >> - >> - return dimm->addr; >> + return object_property_get_uint(OBJECT(md), PC_DIMM_ADDR_PROP, NULL); >it's not good to ignore errors > >s/NULL/error_abort/ > >so we would notice if error ever happened. You mean something like this? Error *err; uint64_t addr; addr = object_property_get_uint(OBJECT(md), PC_DIMM_ADDR_PROP, &err); if (err) { warn_report_err(&err); return 0; } return addr; > >> } >> >> static void pc_dimm_md_set_addr(MemoryDeviceState *md, uint64_t addr, > -- Wei Yang Help you, Help me
On Wed, 6 Feb 2019 23:55:15 +0000 Wei Yang <richard.weiyang@gmail.com> wrote: > On Wed, Feb 06, 2019 at 12:59:49PM +0100, Igor Mammedov wrote: > >On Fri, 1 Feb 2019 09:08:37 +0800 > >Wei Yang <richardw.yang@linux.intel.com> wrote: > > > >> [get|set]_addr are two counterpart to access PCDIMMDevice.addr. > >> > >> Since we have already set up a property PC_DIMM_ADDR_PROP for this > >> field and use this mechanism in set_addr, it would be more proper to use > >> the same mechanism in set_addr. > >> > >> This patch uses object_property_get_uint() to replace the direct memory > >> access to make [get|set]_addr with the same mechanism. > >> > >> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> > >> --- > >> hw/mem/pc-dimm.c | 4 +--- > >> 1 file changed, 1 insertion(+), 3 deletions(-) > >> > >> diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c > >> index 0c9b9e8292..c0658b9b88 100644 > >> --- a/hw/mem/pc-dimm.c > >> +++ b/hw/mem/pc-dimm.c > >> @@ -204,9 +204,7 @@ static MemoryRegion *pc_dimm_get_memory_region(PCDIMMDevice *dimm, Error **errp) > >> > >> static uint64_t pc_dimm_md_get_addr(const MemoryDeviceState *md) > >> { > >> - const PCDIMMDevice *dimm = PC_DIMM(md); > >> - > >> - return dimm->addr; > >> + return object_property_get_uint(OBJECT(md), PC_DIMM_ADDR_PROP, NULL); > >it's not good to ignore errors > > > >s/NULL/error_abort/ > > > >so we would notice if error ever happened. > > You mean something like this? > > Error *err; > uint64_t addr; > > addr = object_property_get_uint(OBJECT(md), PC_DIMM_ADDR_PROP, &err); see how error_abort is used in QEMU, point is if there is a error that should never happen it is programming error so QEMU should crash and we should fix it. > > if (err) { > warn_report_err(&err); > return 0; > } > > return addr; > > > > >> } > >> > >> static void pc_dimm_md_set_addr(MemoryDeviceState *md, uint64_t addr, > > >
© 2016 - 2024 Red Hat, Inc.