diff options
author | Gabriel Ganne <gabriel.ganne@enea.com> | 2018-01-10 11:40:50 +0100 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-01-10 18:07:46 +0000 |
commit | 83d47438ae7c9b3fc53329846ee46a82a3087578 (patch) | |
tree | 5363606968965a95cb7c6321023b4e892bc3c4f7 /src/svm/svm.c | |
parent | 5ee623e789261552eb9460be10f34793d40b6575 (diff) |
svm: calc base address on AArch64 based on autodetected VA space size
fix proposal for aec8f8984771cabc79a8ed64f56afcf61465d00a
* fix 0/1 bit count
* fix memory leak
Change-Id: I488229917c463be10b8a5a1b0a3d7723f05061d0
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Diffstat (limited to 'src/svm/svm.c')
-rw-r--r-- | src/svm/svm.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/svm/svm.c b/src/svm/svm.c index f187fbfcab2..2cbc0d77c22 100644 --- a/src/svm/svm.c +++ b/src/svm/svm.c @@ -79,16 +79,15 @@ svm_get_global_region_base_va () unformat (&input, "%llx-%llx", &start, &end); unformat_skip_line (&input); } + unformat_free (&input); + close (fd); count_leading_zeros (bits, end); - bits = 64 - bits; + bits = 64 - (bits + 1); if (bits >= 36 && bits <= 48) return ((1ul << bits) / 4) - (2 * SVM_GLOBAL_REGION_SIZE); else clib_unix_error ("unexpected va bits '%u'", bits); - - unformat_free (&input); - close (fd); #endif /* default value */ |