Lines Matching refs:nvdimm

38     NVDIMMDevice *nvdimm = NVDIMM(obj);  in nvdimm_get_label_size()  local
39 uint64_t value = nvdimm->label_size; in nvdimm_get_label_size()
47 NVDIMMDevice *nvdimm = NVDIMM(obj); in nvdimm_set_label_size() local
50 if (nvdimm->nvdimm_mr) { in nvdimm_set_label_size()
65 nvdimm->label_size = value; in nvdimm_set_label_size()
71 NVDIMMDevice *nvdimm = NVDIMM(obj); in nvdimm_get_uuid() local
74 value = qemu_uuid_unparse_strdup(&nvdimm->uuid); in nvdimm_get_uuid()
84 NVDIMMDevice *nvdimm = NVDIMM(obj); in nvdimm_set_uuid() local
91 if (qemu_uuid_parse(value, &nvdimm->uuid) != 0) { in nvdimm_set_uuid()
112 NVDIMMDevice *nvdimm = NVDIMM(obj); in nvdimm_finalize() local
114 g_free(nvdimm->nvdimm_mr); in nvdimm_finalize()
117 static void nvdimm_prepare_memory_region(NVDIMMDevice *nvdimm, Error **errp) in nvdimm_prepare_memory_region() argument
119 PCDIMMDevice *dimm = PC_DIMM(nvdimm); in nvdimm_prepare_memory_region()
123 g_assert(!nvdimm->nvdimm_mr); in nvdimm_prepare_memory_region()
134 pmem_size = size - nvdimm->label_size; in nvdimm_prepare_memory_region()
135 nvdimm->label_data = memory_region_get_ram_ptr(mr) + pmem_size; in nvdimm_prepare_memory_region()
138 if (size <= nvdimm->label_size || !pmem_size) { in nvdimm_prepare_memory_region()
145 memory_region_size(mr), nvdimm->label_size, align); in nvdimm_prepare_memory_region()
149 if (!nvdimm->unarmed && memory_region_is_rom(mr)) { in nvdimm_prepare_memory_region()
158 nvdimm->nvdimm_mr = g_new(MemoryRegion, 1); in nvdimm_prepare_memory_region()
159 memory_region_init_alias(nvdimm->nvdimm_mr, OBJECT(dimm), in nvdimm_prepare_memory_region()
161 memory_region_set_nonvolatile(nvdimm->nvdimm_mr, true); in nvdimm_prepare_memory_region()
162 nvdimm->nvdimm_mr->align = align; in nvdimm_prepare_memory_region()
168 NVDIMMDevice *nvdimm = NVDIMM(md); in nvdimm_md_get_memory_region() local
171 if (!nvdimm->nvdimm_mr) { in nvdimm_md_get_memory_region()
172 nvdimm_prepare_memory_region(nvdimm, &local_err); in nvdimm_md_get_memory_region()
178 return nvdimm->nvdimm_mr; in nvdimm_md_get_memory_region()
183 NVDIMMDevice *nvdimm = NVDIMM(dimm); in nvdimm_realize() local
185 if (!nvdimm->nvdimm_mr) { in nvdimm_realize()
186 nvdimm_prepare_memory_region(nvdimm, errp); in nvdimm_realize()
194 static void nvdimm_validate_rw_label_data(NVDIMMDevice *nvdimm, uint64_t size, in nvdimm_validate_rw_label_data() argument
197 assert((nvdimm->label_size >= size + offset) && (offset + size > offset)); in nvdimm_validate_rw_label_data()
200 static void nvdimm_read_label_data(NVDIMMDevice *nvdimm, void *buf, in nvdimm_read_label_data() argument
203 nvdimm_validate_rw_label_data(nvdimm, size, offset); in nvdimm_read_label_data()
205 memcpy(buf, nvdimm->label_data + offset, size); in nvdimm_read_label_data()
208 static void nvdimm_write_label_data(NVDIMMDevice *nvdimm, const void *buf, in nvdimm_write_label_data() argument
212 PCDIMMDevice *dimm = PC_DIMM(nvdimm); in nvdimm_write_label_data()
217 nvdimm_validate_rw_label_data(nvdimm, size, offset); in nvdimm_write_label_data()
220 memcpy(nvdimm->label_data + offset, buf, size); in nvdimm_write_label_data()
222 pmem_memcpy_persist(nvdimm->label_data + offset, buf, size); in nvdimm_write_label_data()
226 backend_offset = memory_region_size(mr) - nvdimm->label_size + offset; in nvdimm_write_label_data()