diff options
author | Sascha Bischoff <sascha.bischoff@arm.com> | 2017-04-18 15:11:15 +0100 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-07-10 08:30:42 +0000 |
commit | fd5b754974dd7b76a0b8798eb206a4c76a311cee (patch) | |
tree | 613833a84cd2545a9d1a8ec41ce610f4274d3247 /src | |
parent | ff87b8ad52145045bc3f4d1082204d962d7c3dd5 (diff) | |
download | gem5-fd5b754974dd7b76a0b8798eb206a4c76a311cee.tar.xz |
dev: Fix address type promotion issues in VirtIO devices
With the change we explicitly update the types for the VirtIO bit
masks to be Addr (uint64_t). By changing this, we ensure type
promotion where it is needed. Therefore, this fixes issues where, in
certain situations, address calculations were performed in 32-bits,
resulting in overflows.
Change-Id: I5c5c3f9a3f94e806812282da01268e18ae0d2d39
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/3968
Diffstat (limited to 'src')
-rw-r--r-- | src/dev/virtio/base.hh | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dev/virtio/base.hh b/src/dev/virtio/base.hh index 89c281f21..ed3b1b431 100644 --- a/src/dev/virtio/base.hh +++ b/src/dev/virtio/base.hh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2016 ARM Limited + * Copyright (c) 2014, 2016-2017 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -433,8 +433,8 @@ public: * Page size used by VirtIO.\ It's hard-coded to 4096 bytes in * the spec for historical reasons. */ - static const unsigned ALIGN_BITS = 12; - static const unsigned ALIGN_SIZE = 1 << ALIGN_BITS; + static const Addr ALIGN_BITS = 12; + static const Addr ALIGN_SIZE = 1 << ALIGN_BITS; /** @} */ protected: |