vabits - subtract from the 'end' address instead of from 'bits'.
This is a fixup for the commits on
calc base address on AArch64 based on autodetected VA space size
As reported by: Brian Brooks
@@ -76,14 +76,15 @@ svm_get_global_region_base_va ()
unformat_init_clib_file (&input, fd);
while (unformat_check_input (&input) != UNFORMAT_END_OF_INPUT)
{
- unformat (&input, "%llx-%llx", &start, &end);
+ if (unformat (&input, "%llx-%llx", &start, &end))
+ end--;
unformat_skip_line (&input);
}
unformat_free (&input);
close (fd);
count_leading_zeros (bits, end);
- bits = 64 - (bits + 1);
+ bits = 64 - bits;
if (bits >= 36 && bits <= 48)
return ((1ul << bits) / 4) - (2 * SVM_GLOBAL_REGION_SIZE);
else
