From mboxrd@z Thu Jan 1 00:00:00 1970 From: vijay.kilari@gmail.com Subject: [RFC PATCH v1 10/21] ARM: NUMA: Add memory NUMA support Date: Thu, 9 Feb 2017 21:27:02 +0530 Message-ID: <1486655834-9708-11-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cbr8B-00085H-UQ for xen-devel@lists.xenproject.org; Thu, 09 Feb 2017 15:59:36 +0000 Received: by mail-pg0-f68.google.com with SMTP id 204so618820pge.2 for ; Thu, 09 Feb 2017 07:59:34 -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 RnJvbTogVmlqYXlhIEt1bWFyIEsgPFZpamF5YS5LdW1hckBjYXZpdW0uY29tPgoKRm9yIGFsbCBi YW5rcyBpbiBib290aW5mby5tZW0sIHVwZGF0ZSBub2Rlc1tdIHdpdGgKY29ycmVzcG9uZGluZyBu b2RlaWQgYW5kIHJlZ2lzdGVyIHRoZXNlIG5vZGVzIGJ5CmNhbGxpbmcgc2V0dXBfbm9kZV9ib290 bWVtKCkuCmNvbXB1dGUgbWVtbm9kZV9zaGlmdCBhbmQgaW5pdGlhbGl6ZSBtZW1ub2RlbWFwW10g dG8gZmV0Y2gKbm9kZWlkIGZvciBhIGdpdmVuIHBoeXNpY2FsIGFkZHJlc3MuCgpTaWduZWQtb2Zm LWJ5OiBWaWpheWEgS3VtYXIgSyA8VmlqYXlhLkt1bWFyQGNhdml1bS5jb20+Ci0tLQogeGVuL2Fy Y2gvYXJtL251bWEuYyAgICB8IDkwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiB4ZW4vY29tbW9uL251bWEuYyAgICAgIHwgMTQgKysrKysrKysKIHhl bi9pbmNsdWRlL3hlbi9udW1hLmggfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDEwNSBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL251bWEuYyBiL3hlbi9hcmNoL2FybS9u dW1hLmMKaW5kZXggZDRkYmFkNC4uYWEzNGM4MiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL251 bWEuYworKysgYi94ZW4vYXJjaC9hcm0vbnVtYS5jCkBAIC0yNCwxMCArMjQsMTUgQEAKICNpbmNs dWRlIDxhc20vYWNwaS5oPgogI2luY2x1ZGUgPHhlbi9lcnJuby5oPgogI2luY2x1ZGUgPHhlbi9j cHVtYXNrLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAKIGludCBfbm9kZV9kaXN0YW5jZVtN QVhfTlVNTk9ERVMgKiAyXTsKIGludCAqbm9kZV9kaXN0YW5jZTsKIGV4dGVybiBub2RlbWFza190 IG51bWFfbm9kZXNfcGFyc2VkOworZXh0ZXJuIHN0cnVjdCBub2RlIG5vZGVzW01BWF9OVU1OT0RF U10gX19pbml0ZGF0YTsKK2V4dGVybiBpbnQgbnVtX25vZGVfbWVtYmxrczsKK2V4dGVybiBzdHJ1 Y3Qgbm9kZSBub2RlX21lbWJsa19yYW5nZVtOUl9OT0RFX01FTUJMS1NdOworZXh0ZXJuIG5vZGVp ZF90IG1lbWJsa19ub2RlaWRbTlJfTk9ERV9NRU1CTEtTXTsKIAogdm9pZCBfX2luaXQgbnVtYV9z ZXRfY3B1X25vZGUoaW50IGNwdSwgdW5zaWduZWQgbG9uZyBod2lkKQogewpAQCAtNTEsNiArNTYs ODggQEAgdTggX19ub2RlX2Rpc3RhbmNlKG5vZGVpZF90IGEsIG5vZGVpZF90IGIpCiAKIEVYUE9S VF9TWU1CT0woX19ub2RlX2Rpc3RhbmNlKTsKIAorc3RhdGljIGludCBfX2luaXQgbnVtYV9tZW1f aW5pdCh2b2lkKQoreworICAgIG5vZGVtYXNrX3QgbWVtb3J5X25vZGVzX3BhcnNlZDsKKyAgICBp bnQgYmFuaywgbm9kZWlkOworICAgIHN0cnVjdCBub2RlICpuZDsKKyAgICBwYWRkcl90IHN0YXJ0 LCBzaXplLCBlbmQ7CisKKyAgICBub2Rlc19jbGVhcihtZW1vcnlfbm9kZXNfcGFyc2VkKTsKKyAg ICBmb3IgKCBiYW5rID0gMCA7IGJhbmsgPCBib290aW5mby5tZW0ubnJfYmFua3M7IGJhbmsrKyAp CisgICAgeworICAgICAgICBzdGFydCA9IGJvb3RpbmZvLm1lbS5iYW5rW2JhbmtdLnN0YXJ0Owor ICAgICAgICBzaXplID0gYm9vdGluZm8ubWVtLmJhbmtbYmFua10uc2l6ZTsKKyAgICAgICAgZW5k ID0gc3RhcnQgKyBzaXplOworCisgICAgICAgIG5vZGVpZCA9IGdldF9udW1hX25vZGUoc3RhcnQs IGVuZCk7CisgICAgICAgIGlmICggbm9kZWlkID09IC1FSU5WQUwgfHwgbm9kZWlkID4gTUFYX05V TU5PREVTICkKKyAgICAgICAgeworICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HCisg ICAgICAgICAgICAgICAgICAgIk5VTUE6IG5vZGUgZm9yIG1lbSBiYW5rIHN0YXJ0IDB4JWx4IC0g MHglbHggbm90IGZvdW5kXG4iLAorICAgICAgICAgICAgICAgICAgIHN0YXJ0LCBlbmQpOworCisg ICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAgfQorCisgICAgICAgIG5kID0gJm5v ZGVzW25vZGVpZF07CisgICAgICAgIGlmICggIW5vZGVfdGVzdF9hbmRfc2V0KG5vZGVpZCwgbWVt b3J5X25vZGVzX3BhcnNlZCkgKQorICAgICAgICB7CisgICAgICAgICAgICBuZC0+c3RhcnQgPSBz dGFydDsKKyAgICAgICAgICAgIG5kLT5lbmQgPSBlbmQ7CisgICAgICAgIH0KKyAgICAgICAgZWxz ZQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIHN0YXJ0IDwgbmQtPnN0YXJ0ICkKKyAgICAg ICAgICAgICAgICBuZC0+c3RhcnQgPSBzdGFydDsKKyAgICAgICAgICAgIGlmICggbmQtPmVuZCA8 IGVuZCApCisgICAgICAgICAgICAgICAgbmQtPmVuZCA9IGVuZDsKKyAgICAgICAgfQorICAgIH0K KworICAgIHJldHVybiAwOworfQorCisvKiBVc2UgdGhlIGluZm9ybWF0aW9uIGRpc2NvdmVyZWQg YWJvdmUgdG8gYWN0dWFsbHkgc2V0IHVwIHRoZSBub2Rlcy4gKi8KK3N0YXRpYyBpbnQgX19pbml0 IG51bWFfc2Nhbl9tZW1fbm9kZXModm9pZCkKK3sKKyAgICBpbnQgaTsKKworICAgIG1lbW5vZGVf c2hpZnQgPSBjb21wdXRlX2hhc2hfc2hpZnQobm9kZV9tZW1ibGtfcmFuZ2UsIG51bV9ub2RlX21l bWJsa3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1ibGtfbm9k ZWlkKTsKKyAgICBpZiAoIG1lbW5vZGVfc2hpZnQgPCAwICkKKyAgICB7CisgICAgICAgIHByaW50 ayhYRU5MT0dfV0FSTklORyAiTm8gTlVNQSBoYXNoIGZvdW5kLlxuIik7CisgICAgICAgIG1lbW5v ZGVfc2hpZnQgPSAwOworICAgIH0KKworICAgIGZvcl9lYWNoX25vZGVfbWFzayhpLCBudW1hX25v ZGVzX3BhcnNlZCkKKyAgICB7CisgICAgICAgIHU2NCBzaXplID0gbm9kZV9tZW1ibGtfcmFuZ2Vb aV0uZW5kIC0gbm9kZV9tZW1ibGtfcmFuZ2VbaV0uc3RhcnQ7CisKKyAgICAgICAgaWYgKCBzaXpl ID09IDAgKQorICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HICJOVU1BOiBOb2RlICV1 IGhhcyBubyBtZW1vcnkuIFxuIiwgaSk7CisKKyAgICAgICAgcHJpbnRrKFhFTkxPR19JTkZPCisg ICAgICAgICAgICAgICAiTlVNQTogTk9ERVslZF06IFN0YXJ0IDB4JWx4IEVuZCAweCVseFxuIiwK KyAgICAgICAgICAgICAgIGksIG5vZGVzW2ldLnN0YXJ0LCBub2Rlc1tpXS5lbmQpOworICAgICAg ICBzZXR1cF9ub2RlX2Jvb3RtZW0oaSwgbm9kZXNbaV0uc3RhcnQsIG5vZGVzW2ldLmVuZCk7Cisg ICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG51bWFfaW5pdG1l bV9pbml0KHZvaWQpCit7CisgICAgaWYgKCAhbnVtYV9tZW1faW5pdCgpICkKKyAgICB7CisgICAg ICAgIGlmICggIW51bWFfc2Nhbl9tZW1fbm9kZXMoKSApCisgICAgICAgICAgICByZXR1cm4gMDsK KyAgICB9CisKKyAgICByZXR1cm4gLUVJTlZBTDsKK30KKwogLyoKICAqIFNldHVwIGVhcmx5IGNw dV90b19ub2RlLgogICovCkBAIC03NCw2ICsxNjEsOSBAQCBpbnQgX19pbml0IG51bWFfaW5pdCh2 b2lkKQogCiAgICAgcmV0ID0gZHRfbnVtYV9pbml0KCk7CiAKKyAgICBpZiAoICFyZXQgKQorICAg ICAgICByZXQgPSBudW1hX2luaXRtZW1faW5pdCgpOworCiBub19udW1hOgogICAgIHJldHVybiBy ZXQ7CiB9CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL251bWEuYyBiL3hlbi9jb21tb24vbnVtYS5j CmluZGV4IDYyYzc2YWYuLjJmNTI2NmEgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vbnVtYS5jCisr KyBiL3hlbi9jb21tb24vbnVtYS5jCkBAIC02Myw2ICs2MywyMCBAQCB2b2lkIF9faW5pdCBudW1h X2FkZF9tZW1ibGsobm9kZWlkX3Qgbm9kZWlkLCB1NjQgc3RhcnQsIHU2NCBzaXplKQogICAgIG51 bV9ub2RlX21lbWJsa3MrKzsKIH0KIAoraW50IF9faW5pdCBnZXRfbnVtYV9ub2RlKHU2NCBzdGFy dCwgdTY0IGVuZCkKK3sKKyAgICBpbnQgaTsKKworICAgIGZvciAoIGkgPSAwOyBpIDwgbnVtX25v ZGVfbWVtYmxrczsgaSsrICkKKyAgICB7CisgICAgICAgIGlmICggc3RhcnQgPj0gbm9kZV9tZW1i bGtfcmFuZ2VbaV0uc3RhcnQgJiYKKyAgICAgICAgICAgICBlbmQgPD0gbm9kZV9tZW1ibGtfcmFu Z2VbaV0uZW5kICkKKyAgICAgICAgICAgIHJldHVybiBtZW1ibGtfbm9kZWlkW2ldOworICAgIH0K KworICAgIHJldHVybiAtRUlOVkFMOworfQorCiBpbnQgdmFsaWRfbnVtYV9yYW5nZSh1NjQgc3Rh cnQsIHU2NCBlbmQsIG5vZGVpZF90IG5vZGUpCiB7CiAjaWZkZWYgQ09ORklHX05VTUEKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9udW1hLmggYi94ZW4vaW5jbHVkZS94ZW4vbnVtYS5oCmlu ZGV4IDkzOTJhODkuLjRmMDRhYjQgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9udW1hLmgK KysrIGIveGVuL2luY2x1ZGUveGVuL251bWEuaApAQCAtNjgsNiArNjgsNyBAQCBzdGF0aWMgaW5s aW5lIF9fYXR0cmlidXRlX18oKHB1cmUpKSBub2RlaWRfdCBwaHlzX3RvX25pZChwYWRkcl90IGFk ZHIpCiAjZW5kaWYgLyogQ09ORklHX05VTUEgKi8KIAogZXh0ZXJuIHZvaWQgbnVtYV9hZGRfbWVt YmxrKG5vZGVpZF90IG5vZGVpZCwgdTY0IHN0YXJ0LCB1NjQgc2l6ZSk7CitleHRlcm4gaW50IGdl dF9udW1hX25vZGUodTY0IHN0YXJ0LCB1NjQgZW5kKTsKIGV4dGVybiBpbnQgdmFsaWRfbnVtYV9y YW5nZSh1NjQgc3RhcnQsIHU2NCBlbmQsIG5vZGVpZF90IG5vZGUpOwogZXh0ZXJuIGludCBjb25m bGljdGluZ19tZW1ibGtzKHU2NCBzdGFydCwgdTY0IGVuZCk7CiBleHRlcm4gdm9pZCBjdXRvZmZf bm9kZShpbnQgaSwgdTY0IHN0YXJ0LCB1NjQgZW5kKTsKLS0gCjIuNy40CgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==