From 694a81e9942724544024266378604fb7d6b3dd40 Mon Sep 17 00:00:00 2001 From: Chander Sudanthi Date: Mon, 7 Jan 2013 13:05:39 -0500 Subject: ARM: pl111/LCD framebuffer checkpointing fix Fixed check pointing of the framebuffer. Previously, the pixel size was not considered in determining the size of the buffer to checkpoint. This patch checkpoints the entire framebuffer instead of the first quarter. --- src/dev/arm/pl111.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/dev/arm/pl111.cc') diff --git a/src/dev/arm/pl111.cc b/src/dev/arm/pl111.cc index cd1f00272..acb3b7dd8 100644 --- a/src/dev/arm/pl111.cc +++ b/src/dev/arm/pl111.cc @@ -76,7 +76,6 @@ Pl111::Pl111(const Params *p) pic = simout.create(csprintf("%s.framebuffer.bmp", sys->name()), true); - const int buffer_size = LcdMaxWidth * LcdMaxHeight * sizeof(uint32_t); dmaBuffer = new uint8_t[buffer_size]; memset(lcdPalette, 0, sizeof(lcdPalette)); @@ -581,7 +580,7 @@ Pl111::serialize(std::ostream &os) SERIALIZE_SCALAR(width); SERIALIZE_SCALAR(bytesPerPixel); - SERIALIZE_ARRAY(dmaBuffer, height * width); + SERIALIZE_ARRAY(dmaBuffer, buffer_size); SERIALIZE_SCALAR(startTime); SERIALIZE_SCALAR(startAddr); SERIALIZE_SCALAR(maxAddr); @@ -683,7 +682,7 @@ Pl111::unserialize(Checkpoint *cp, const std::string §ion) UNSERIALIZE_SCALAR(width); UNSERIALIZE_SCALAR(bytesPerPixel); - UNSERIALIZE_ARRAY(dmaBuffer, height * width); + UNSERIALIZE_ARRAY(dmaBuffer, buffer_size); UNSERIALIZE_SCALAR(startTime); UNSERIALIZE_SCALAR(startAddr); UNSERIALIZE_SCALAR(maxAddr); -- cgit v1.2.3