|
@@ -28,6 +28,8 @@ struct QEMU_PACKED RAMFBCfg {
|
|
|
uint32_t stride;
|
|
|
};
|
|
|
|
|
|
+typedef struct RAMFBCfg RAMFBCfg;
|
|
|
+
|
|
|
struct RAMFBState {
|
|
|
DisplaySurface *ds;
|
|
|
uint32_t width, height;
|
|
@@ -116,6 +118,23 @@ void ramfb_display_update(QemuConsole *con, RAMFBState *s)
|
|
|
dpy_gfx_update_full(con);
|
|
|
}
|
|
|
|
|
|
+static int ramfb_post_load(void *opaque, int version_id)
|
|
|
+{
|
|
|
+ ramfb_fw_cfg_write(opaque, 0, 0);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+const VMStateDescription ramfb_vmstate = {
|
|
|
+ .name = "ramfb",
|
|
|
+ .version_id = 1,
|
|
|
+ .minimum_version_id = 1,
|
|
|
+ .post_load = ramfb_post_load,
|
|
|
+ .fields = (VMStateField[]) {
|
|
|
+ VMSTATE_BUFFER_UNSAFE(cfg, RAMFBState, 0, sizeof(RAMFBCfg)),
|
|
|
+ VMSTATE_END_OF_LIST()
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
RAMFBState *ramfb_setup(Error **errp)
|
|
|
{
|
|
|
FWCfgState *fw_cfg = fw_cfg_find();
|