diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/dev/arm/pl111.cc | 5 | ||||
-rw-r--r-- | src/dev/arm/pl111.hh | 2 |
2 files changed, 4 insertions, 3 deletions
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); diff --git a/src/dev/arm/pl111.hh b/src/dev/arm/pl111.hh index 2245d8124..855fb8bef 100644 --- a/src/dev/arm/pl111.hh +++ b/src/dev/arm/pl111.hh @@ -96,6 +96,8 @@ class Pl111: public AmbaDmaDevice static const int dmaSize = 8; // 64 bits static const int maxOutstandingDma = 16; // 16 deep FIFO of 64 bits + static const int buffer_size = LcdMaxWidth * LcdMaxHeight * sizeof(uint32_t); + enum LcdMode { bpp1 = 0, bpp2, |