mirror of https://gitee.com/openkylin/qemu.git
target-arm: Add ULL suffix to calculation of page size
The maximum block size for AArch64 address translation is 2GB. This means that we need a ULL suffix on our shift to avoid shifting into the sign bit of a signed 32 bit integer. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Message-id: 1402171881-14343-2-git-send-email-peter.maydell@linaro.org
This commit is contained in:
parent
0062609f70
commit
5661ae6be2
|
@ -3952,7 +3952,7 @@ static int get_phys_addr_lpae(CPUARMState *env, target_ulong address,
|
|||
* These are basically the same thing, although the number
|
||||
* of bits we pull in from the vaddr varies.
|
||||
*/
|
||||
page_size = (1 << ((granule_sz * (4 - level)) + 3));
|
||||
page_size = (1ULL << ((granule_sz * (4 - level)) + 3));
|
||||
descaddr |= (address & (page_size - 1));
|
||||
/* Extract attributes from the descriptor and merge with table attrs */
|
||||
attrs = extract64(descriptor, 2, 10)
|
||||
|
|
Loading…
Reference in New Issue