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
This commit is contained in:
committed by
Andreas Sandberg
parent
ff87b8ad52
commit
fd5b754974
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user