vabits - subtract from the 'end' address instead of from 'bits'. 75/10075/2
authorGabriel Ganne <gabriel.ganne@enea.com>
Thu, 11 Jan 2018 14:04:19 +0000 (15:04 +0100)
committerDamjan Marion <dmarion.lists@gmail.com>
Sun, 14 Jan 2018 16:14:54 +0000 (16:14 +0000)
This is a fixup for the commits on
calc base address on AArch64 based on autodetected VA space size

As reported by: Brian Brooks <brian.brooks@arm.com>
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Change-Id: Id1bd7b7d7e5c188d8547c46134082bd4563b92db

src/svm/svm.c

index 2cbc0d7..d3e56c1 100644 (file)
@@ -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