From mboxrd@z Thu Jan 1 00:00:00 1970 From: vijay.kilari@gmail.com Subject: [RFC PATCH v1 08/21] ARM: NUMA: Parse NUMA distance information Date: Thu, 9 Feb 2017 21:27:00 +0530 Message-ID: <1486655834-9708-9-git-send-email-vijay.kilari@gmail.com> References: <1486655834-9708-1-git-send-email-vijay.kilari@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cbr86-0007zM-Ec for xen-devel@lists.xenproject.org; Thu, 09 Feb 2017 15:59:30 +0000 Received: by mail-pg0-f67.google.com with SMTP id 194so629096pgd.0 for ; Thu, 09 Feb 2017 07:59:28 -0800 (PST) In-Reply-To: <1486655834-9708-1-git-send-email-vijay.kilari@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: julien.grall@arm.com, sstabellini@kernel.org, andre.przywara@arm.com, dario.faggioli@citrix.com Cc: xen-devel@lists.xenproject.org, Vijaya Kumar K List-Id: xen-devel@lists.xenproject.org RnJvbTogVmlqYXlhIEt1bWFyIEsgPFZpamF5YS5LdW1hckBjYXZpdW0uY29tPgoKUGFyc2UgZGlz dGFuY2UtbWF0cml4IGFuZCBmZXRjaCBub2RlIGRpc3RhbmNlIGluZm9ybWF0aW9uLgpTdG9yZSBk aXN0YW5jZSBpbmZvcm1hdGlvbiBpbiBub2RlX2Rpc3RhbmNlW10uCgpTaWduZWQtb2ZmLWJ5OiBW aWpheWEgS3VtYXIgSyA8VmlqYXlhLkt1bWFyQGNhdml1bS5jb20+Ci0tLQogeGVuL2FyY2gvYXJt L2R0X251bWEuYyAgICAgfCA5MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiB4ZW4vYXJjaC9hcm0vbnVtYS5jICAgICAgICB8IDE5ICsrKysrKysrKy0KIHhl bi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kdF9u dW1hLmMgYi94ZW4vYXJjaC9hcm0vZHRfbnVtYS5jCmluZGV4IGZjZTllNjcuLjg5Nzk2MTIgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9kdF9udW1hLmMKKysrIGIveGVuL2FyY2gvYXJtL2R0X251 bWEuYwpAQCAtMjgsNiArMjgsMTkgQEAKIAogbm9kZW1hc2tfdCBudW1hX25vZGVzX3BhcnNlZDsK IGV4dGVybiBzdHJ1Y3Qgbm9kZSBub2RlX21lbWJsa19yYW5nZVtOUl9OT0RFX01FTUJMS1NdOwor ZXh0ZXJuIGludCBfbm9kZV9kaXN0YW5jZVtNQVhfTlVNTk9ERVMgKiAyXTsKK2V4dGVybiBpbnQg Km5vZGVfZGlzdGFuY2U7CisKK3N0YXRpYyBpbnQgbnVtYV9zZXRfZGlzdGFuY2UodTMyIG5vZGVh LCB1MzIgbm9kZWIsIHUzMiBkaXN0YW5jZSkKK3sKKyAgIGlmICggbm9kZWEgPj0gTUFYX05VTU5P REVTIHx8IG5vZGViID49IE1BWF9OVU1OT0RFUyApCisgICAgICAgcmV0dXJuIC1FSU5WQUw7CisK KyAgIF9ub2RlX2Rpc3RhbmNlWyhub2RlYSAqIE1BWF9OVU1OT0RFUykgKyBub2RlYl0gPSBkaXN0 YW5jZTsKKyAgIG5vZGVfZGlzdGFuY2UgPSAmX25vZGVfZGlzdGFuY2VbMF07CisKKyAgIHJldHVy biAwOworfQogCiAvKgogICogRXZlbiB0aG91Z2ggd2UgY29ubmVjdCBjcHVzIHRvIG51bWEgZG9t YWlucyBsYXRlciBpbiBTTVAKQEAgLTExMiw2ICsxMjUsNjYgQEAgc3RhdGljIGludCBfX2luaXQg ZHRfbnVtYV9wcm9jZXNzX21lbW9yeV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCiAg ICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgX19pbml0IGR0X251bWFfcGFyc2VfZGlzdGFu Y2VfbWFwKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTMyIGFkZHJlc3NfY2VsbHMsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MzIgc2l6ZV9jZWxscykKK3sK KyAgICBjb25zdCBzdHJ1Y3QgZmR0X3Byb3BlcnR5ICpwcm9wOworICAgIGNvbnN0IF9fYmUzMiAq bWF0cml4OworICAgIGludCBlbnRyeV9jb3VudCwgbGVuLCBpOworCisgICAgcHJpbnRrKFhFTkxP R19JTkZPICJOVU1BOiBwYXJzaW5nIG51bWEtZGlzdGFuY2UtbWFwXG4iKTsKKworICAgIHByb3Ag PSBmZHRfZ2V0X3Byb3BlcnR5KGZkdCwgbm9kZSwgImRpc3RhbmNlLW1hdHJpeCIsICZsZW4pOwor ICAgIGlmICggIXByb3AgKQorICAgIHsKKyAgICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HCisg ICAgICAgICAgICAgICAiTlVNQTogTm8gZGlzdGFuY2UtbWF0cml4IHByb3BlcnR5IGluIGRpc3Rh bmNlLW1hcFxuIik7CisKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgfQorCisgICAgaWYg KCBsZW4gJSBzaXplb2YodTMyKSAhPSAwICkKKyAgICB7CisgICAgICAgICBwcmludGsoWEVOTE9H X1dBUk5JTkcKKyAgICAgICAgICAgICAgICAiZGlzdGFuY2UtbWF0cml4IGluIG5vZGUgaXMgbm90 IGEgbXVsdGlwbGUgb2YgdTMyXG4iKTsKKworICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9 CisKKyAgICBlbnRyeV9jb3VudCA9IGxlbiAvIHNpemVvZih1MzIpOworICAgIGlmICggZW50cnlf Y291bnQgPD0gMCApCisgICAgeworICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcgIk5VTUE6 IEludmFsaWQgZGlzdGFuY2UtbWF0cml4XG4iKTsKKworICAgICAgICByZXR1cm4gLUVJTlZBTDsK KyAgICB9CisKKyAgICBtYXRyaXggPSAoY29uc3QgX19iZTMyICopcHJvcC0+ZGF0YTsKKyAgICBm b3IgKCBpID0gMDsgaSArIDIgPCBlbnRyeV9jb3VudDsgaSArPSAzICkKKyAgICB7CisgICAgICAg IHUzMiBub2RlYSwgbm9kZWIsIGRpc3RhbmNlOworCisgICAgICAgIG5vZGVhID0gZHRfcmVhZF9u dW1iZXIobWF0cml4LCAxKTsKKyAgICAgICAgbWF0cml4Kys7CisgICAgICAgIG5vZGViID0gZHRf cmVhZF9udW1iZXIobWF0cml4LCAxKTsKKyAgICAgICAgbWF0cml4Kys7CisgICAgICAgIGRpc3Rh bmNlID0gZHRfcmVhZF9udW1iZXIobWF0cml4LCAxKTsKKyAgICAgICAgbWF0cml4Kys7CisKKyAg ICAgICAgbnVtYV9zZXRfZGlzdGFuY2Uobm9kZWEsIG5vZGViLCBkaXN0YW5jZSk7CisgICAgICAg IHByaW50ayhYRU5MT0dfSU5GTyAiTlVNQTogIGRpc3RhbmNlW25vZGUlZCAtPiBub2RlJWRdID0g JWRcbiIsCisgICAgICAgICAgICAgICBub2RlYSwgbm9kZWIsIGRpc3RhbmNlKTsKKworICAgICAg ICAvKiBTZXQgZGVmYXVsdCBkaXN0YW5jZSBvZiBub2RlIEItPkEgc2FtZSBhcyBBLT5CICovCisg ICAgICAgIGlmICggbm9kZWIgPiBub2RlYSApCisgICAgICAgICAgICBudW1hX3NldF9kaXN0YW5j ZShub2RlYiwgbm9kZWEsIGRpc3RhbmNlKTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwog c3RhdGljIGludCBfX2luaXQgZHRfbnVtYV9zY2FuX2NwdV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwg aW50IG5vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciAqbmFtZSwgaW50IGRlcHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHUzMiBhZGRyZXNzX2NlbGxzLCB1MzIgc2l6ZV9jZWxscywKQEAgLTEzNiw2ICsyMDks MTggQEAgc3RhdGljIGludCBfX2luaXQgZHRfbnVtYV9zY2FuX21lbW9yeV9ub2RlKGNvbnN0IHZv aWQgKmZkdCwgaW50IG5vZGUsCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgX19pbml0 IGR0X251bWFfc2Nhbl9kaXN0YW5jZV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpu YW1lLCBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1MzIgYWRkcmVzc19jZWxscywgdTMyIHNpemVfY2VsbHMsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRhKQoreworICAgIGlmICggZGV2 aWNlX3RyZWVfbm9kZV9tYXRjaGVzKGZkdCwgbm9kZSwgImRpc3RhbmNlLW1hcCIpICkKKyAgICAg ICAgcmV0dXJuIGR0X251bWFfcGFyc2VfZGlzdGFuY2VfbWFwKGZkdCwgbm9kZSwgbmFtZSwgYWRk cmVzc19jZWxscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp emVfY2VsbHMpOworCisgICAgcmV0dXJuIDA7Cit9CisKIGludCBfX2luaXQgZHRfbnVtYV9pbml0 KHZvaWQpCiB7CiAgICAgaW50IHJldDsKQEAgLTE0OSw2ICsyMzQsMTEgQEAgaW50IF9faW5pdCBk dF9udW1hX2luaXQodm9pZCkKIAogICAgIHJldCA9IGRldmljZV90cmVlX2Zvcl9lYWNoX25vZGUo KHZvaWQgKilkZXZpY2VfdHJlZV9mbGF0dGVuZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkdF9udW1hX3NjYW5fbWVtb3J5X25vZGUsIE5VTEwpOworICAgIGlmICggcmV0 ICkKKyAgICAgICAgcmV0dXJuIHJldDsKKworICAgIHJldCA9IGRldmljZV90cmVlX2Zvcl9lYWNo X25vZGUoKHZvaWQgKilkZXZpY2VfdHJlZV9mbGF0dGVuZWQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkdF9udW1hX3NjYW5fZGlzdGFuY2Vfbm9kZSwgTlVMTCk7CiAKICAg ICByZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL251bWEuYyBiL3hlbi9h cmNoL2FybS9udW1hLmMKaW5kZXggOWE3ZjBiYi4uMTFkMTAwYiAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gvYXJtL251bWEuYworKysgYi94ZW4vYXJjaC9hcm0vbnVtYS5jCkBAIC0yMiwxNCArMjIsMzEg QEAKICNpbmNsdWRlIDxhc20vbW0uaD4KICNpbmNsdWRlIDx4ZW4vbnVtYS5oPgogI2luY2x1ZGUg PGFzbS9hY3BpLmg+CisjaW5jbHVkZSA8eGVuL2Vycm5vLmg+CisKK2ludCBfbm9kZV9kaXN0YW5j ZVtNQVhfTlVNTk9ERVMgKiAyXTsKK2ludCAqbm9kZV9kaXN0YW5jZTsKKwordTggX19ub2RlX2Rp c3RhbmNlKG5vZGVpZF90IGEsIG5vZGVpZF90IGIpCit7CisgICAgaWYgKCAhbm9kZV9kaXN0YW5j ZSApCisgICAgICAgIHJldHVybiBhID09IGIgPyAxMCA6IDIwOworCisgICAgcmV0dXJuIF9ub2Rl X2Rpc3RhbmNlW2EgKiBNQVhfTlVNTk9ERVMgKyBiXTsKK30KKworRVhQT1JUX1NZTUJPTChfX25v ZGVfZGlzdGFuY2UpOwogCiBpbnQgX19pbml0IG51bWFfaW5pdCh2b2lkKQogewotICAgIGludCBy ZXQgPSAwOworICAgIGludCBpLCByZXQgPSAwOwogCiAgICAgaWYgKCBudW1hX29mZiApCiAgICAg ICAgIGdvdG8gbm9fbnVtYTsKIAorICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX05VTU5PREVTICog MjsgaSsrICkKKyAgICAgICAgX25vZGVfZGlzdGFuY2VbaV0gPSAwOworCiAgICAgcmV0ID0gZHRf bnVtYV9pbml0KCk7CiAKIG5vX251bWE6CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJt L251bWEuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oCmluZGV4IGNkZmVlY2QuLmI4ODU3 ZTIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oCisrKyBiL3hlbi9pbmNs dWRlL2FzbS1hcm0vbnVtYS5oCkBAIC0xMSw2ICsxMSw3IEBAIHR5cGVkZWYgdTggbm9kZWlkX3Q7 CiBpbnQgYXJjaF9udW1hX3NldHVwKGNoYXIgKm9wdCk7CiBpbnQgX19pbml0IG51bWFfaW5pdCh2 b2lkKTsKIGludCBfX2luaXQgZHRfbnVtYV9pbml0KHZvaWQpOwordTggX19ub2RlX2Rpc3RhbmNl KG5vZGVpZF90IGEsIG5vZGVpZF90IGIpOwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUgaW50IGFyY2hf bnVtYV9zZXR1cChjaGFyICpvcHQpCiB7Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=