summary refs log tree commit diff stats
path: root/hw/pl110.c
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2012-01-04 10:06:25 -0600
committerAnthony Liguori <aliguori@us.ibm.com>2012-01-04 10:06:25 -0600
commitc47f3223658119219bbe0b8d09da733d1c06e76f (patch)
tree084340e39cd15d1246c9f43cfc1becd5582d5f12 /hw/pl110.c
parent11c7ef0c737f37a487f45c6f3aa070ac7e342e3e (diff)
parentb2123a48566ab0636b78dda6b9c37c54bff69e6b (diff)
downloadfocaccia-qemu-c47f3223658119219bbe0b8d09da733d1c06e76f.tar.gz
focaccia-qemu-c47f3223658119219bbe0b8d09da733d1c06e76f.zip
Merge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into staging
* pmaydell/arm-devs.for-upstream:
  add L2x0/PL310 cache controller device
  arm: add dummy gic security registers
  arm: Set frequencies for arm_timer
  arm: add missing scu registers
  hw/omap_gpmc: Fix region map/unmap when configuring prefetch engine
  hw/omap1.c: Drop unused includes
  hw/omap1.c: Separate dpll_ctl from omap_mpu_state
  hw/omap1.c: Separate PWT from omap_mpu_state
  hw/omap1.c: Separate PWL from omap_mpu_state
  hw/omap1.c: omap_mpuio_init() need not be public
  hw/pl110.c: Add post-load hook to invalidate display
  hw/pl181.c: Add save/load support
Diffstat (limited to 'hw/pl110.c')
-rw-r--r--hw/pl110.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/hw/pl110.c b/hw/pl110.c
index 303a9bcdbd..0e1f415aeb 100644
--- a/hw/pl110.c
+++ b/hw/pl110.c
@@ -60,10 +60,13 @@ typedef struct {
     qemu_irq irq;
 } pl110_state;
 
+static int vmstate_pl110_post_load(void *opaque, int version_id);
+
 static const VMStateDescription vmstate_pl110 = {
     .name = "pl110",
     .version_id = 2,
     .minimum_version_id = 1,
+    .post_load = vmstate_pl110_post_load,
     .fields = (VMStateField[]) {
         VMSTATE_INT32(version, pl110_state),
         VMSTATE_UINT32_ARRAY(timing, pl110_state, 4),
@@ -430,6 +433,14 @@ static void pl110_mux_ctrl_set(void *opaque, int line, int level)
     s->mux_ctrl = level;
 }
 
+static int vmstate_pl110_post_load(void *opaque, int version_id)
+{
+    pl110_state *s = opaque;
+    /* Make sure we redraw, and at the right size */
+    pl110_invalidate_display(s);
+    return 0;
+}
+
 static int pl110_init(SysBusDevice *dev)
 {
     pl110_state *s = FROM_SYSBUS(pl110_state, dev);