Lines Matching refs:nvram
63 SpaprNvram *nvram = spapr->nvram; in OBJECT_DECLARE_SIMPLE_TYPE() local
72 if (!nvram) { in OBJECT_DECLARE_SIMPLE_TYPE()
83 || ((offset + len) > nvram->size)) { in OBJECT_DECLARE_SIMPLE_TYPE()
89 assert(nvram->buf); in OBJECT_DECLARE_SIMPLE_TYPE()
92 memcpy(membuf, nvram->buf + offset, len); in OBJECT_DECLARE_SIMPLE_TYPE()
104 SpaprNvram *nvram = spapr->nvram; in rtas_nvram_store() local
114 if (!nvram) { in rtas_nvram_store()
124 || ((offset + len) > nvram->size)) { in rtas_nvram_store()
132 if (nvram->blk) { in rtas_nvram_store()
133 ret = blk_pwrite(nvram->blk, offset, len, membuf, 0); in rtas_nvram_store()
136 assert(nvram->buf); in rtas_nvram_store()
137 memcpy(nvram->buf + offset, membuf, len); in rtas_nvram_store()
147 SpaprNvram *nvram = VIO_SPAPR_NVRAM(dev); in spapr_nvram_realize() local
150 if (nvram->blk) { in spapr_nvram_realize()
151 int64_t len = blk_getlength(nvram->blk); in spapr_nvram_realize()
159 nvram->size = len; in spapr_nvram_realize()
161 ret = blk_set_perm(nvram->blk, in spapr_nvram_realize()
168 nvram->size = DEFAULT_NVRAM_SIZE; in spapr_nvram_realize()
171 nvram->buf = g_malloc0(nvram->size); in spapr_nvram_realize()
173 if ((nvram->size < MIN_NVRAM_SIZE) || (nvram->size > MAX_NVRAM_SIZE)) { in spapr_nvram_realize()
181 if (nvram->blk) { in spapr_nvram_realize()
182 ret = blk_pread(nvram->blk, 0, nvram->size, nvram->buf, 0); in spapr_nvram_realize()
190 chrp_nvram_create_system_partition(nvram->buf, MIN_NVRAM_SIZE / 4, in spapr_nvram_realize()
191 nvram->size); in spapr_nvram_realize()
192 chrp_nvram_create_free_partition(&nvram->buf[MIN_NVRAM_SIZE / 4], in spapr_nvram_realize()
193 nvram->size - MIN_NVRAM_SIZE / 4); in spapr_nvram_realize()
202 SpaprNvram *nvram = VIO_SPAPR_NVRAM(dev); in spapr_nvram_devnode() local
204 return fdt_setprop_cell(fdt, node_off, "#bytes", nvram->size); in spapr_nvram_devnode()
209 SpaprNvram *nvram = VIO_SPAPR_NVRAM(opaque); in spapr_nvram_pre_load() local
211 g_free(nvram->buf); in spapr_nvram_pre_load()
212 nvram->buf = NULL; in spapr_nvram_pre_load()
213 nvram->size = 0; in spapr_nvram_pre_load()
220 SpaprNvram *nvram = opaque; in postload_update_cb() local
224 qemu_del_vm_change_state_handler(nvram->vmstate); in postload_update_cb()
225 nvram->vmstate = NULL; in postload_update_cb()
227 blk_pwrite(nvram->blk, 0, nvram->size, nvram->buf, 0); in postload_update_cb()
232 SpaprNvram *nvram = VIO_SPAPR_NVRAM(opaque); in spapr_nvram_post_load() local
234 if (nvram->blk) { in spapr_nvram_post_load()
235 nvram->vmstate = qemu_add_vm_change_state_handler(postload_update_cb, in spapr_nvram_post_load()
236 nvram); in spapr_nvram_post_load()