From: Xiao Guangrong Date: Fri, 28 Oct 2016 16:11:50 +0000 (+0800) Subject: acpi nvdimm: fix device physical address base X-Git-Tag: TizenStudio_2.0_p2.3.2~9^2~14^2~5^2~80^2~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6ab0c4bd1dc758b8a1f456d7f748ec313b5fde3d;p=sdk%2Femulator%2Fqemu.git acpi nvdimm: fix device physical address base According to ACPI 6.0 spec, "Memory Device Physical Address Region Base" in memdev is defined as "This field provides the Device Physical Address base of the region". This field should be zero in our case Signed-off-by: Xiao Guangrong Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c index bbb2cfd..c2f5caa 100644 --- a/hw/acpi/nvdimm.c +++ b/hw/acpi/nvdimm.c @@ -289,8 +289,6 @@ static void nvdimm_build_structure_memdev(GArray *structures, DeviceState *dev) { NvdimmNfitMemDev *nfit_memdev; - uint64_t addr = object_property_get_int(OBJECT(dev), PC_DIMM_ADDR_PROP, - NULL); uint64_t size = object_property_get_int(OBJECT(dev), PC_DIMM_SIZE_PROP, NULL); int slot = object_property_get_int(OBJECT(dev), PC_DIMM_SLOT_PROP, @@ -314,7 +312,8 @@ nvdimm_build_structure_memdev(GArray *structures, DeviceState *dev) /* The memory region on the device. */ nfit_memdev->region_len = cpu_to_le64(size); - nfit_memdev->region_dpa = cpu_to_le64(addr); + /* The device address starts from 0. */ + nfit_memdev->region_dpa = cpu_to_le64(0); /* Only one interleave for PMEM. */ nfit_memdev->interleave_ways = cpu_to_le16(1);