From: Gabriel Ganne Date: Wed, 10 Jan 2018 10:40:50 +0000 (+0100) Subject: svm: calc base address on AArch64 based on autodetected VA space size X-Git-Tag: v18.04-rc1~503 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;ds=sidebyside;h=83d47438ae7c9b3fc53329846ee46a82a3087578;p=vpp.git 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 --- 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 */