From mboxrd@z Thu Jan 1 00:00:00 1970 From: vijay.kilari@gmail.com Subject: [RFC PATCH v3 13/24] ARM: NUMA: DT: Parse memory NUMA information Date: Tue, 18 Jul 2017 17:11:35 +0530 Message-ID: <1500378106-2620-14-git-send-email-vijay.kilari@gmail.com> References: <1500378106-2620-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: In-Reply-To: <1500378106-2620-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: xen-devel@lists.xen.org Cc: kevin.tian@intel.com, sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, julien.grall@arm.com, jbeulich@suse.com, Vijaya Kumar K List-Id: xen-devel@lists.xenproject.org RnJvbTogVmlqYXlhIEt1bWFyIEsgPFZpamF5YS5LdW1hckBjYXZpdW0uY29tPgoKUGFyc2UgbWVt b3J5IG5vZGUgYW5kIGZldGNoIG51bWEtbm9kZS1pZCBpbmZvcm1hdGlvbi4KRm9yIGVhY2ggbWVt b3J5IHJhbmdlLCBzdG9yZSBpbiBub2RlX21lbWJsa19yYW5nZVtdCmFsb25nIHdpdGggbm9kZSBp ZC4KCldoZW4gYm9vdGluZyBpbiBVRUZJIG1vZGUsIFVFRkkgcGFzc2VzIG1lbW9yeSBpbmZvcm1h dGlvbgp0byBEb20wIHVzaW5nIEVGSSBtZW1vcnkgZGVzY3JpcHRvciB0YWJsZSBhbmQgZGVsZXRl cyB0aGUKbWVtb3J5IG5vZGVzIGZyb20gdGhlIGhvc3QgRFQuIEhvd2V2ZXIgdG8gZmV0Y2ggdGhl IG1lbW9yeQpudW1hIG5vZGUgaWQsIG1lbW9yeSBEVCBub2RlIHNob3VsZCBub3QgYmUgZGVsZXRl ZCBieSBFRkkgc3R1Yi4KV2l0aCB0aGlzIHBhdGNoLCBkbyBub3QgZGVsZXRlIG1lbW9yeSBub2Rl IGZyb20gRkRULgoKTlVNQSBpbmZvIG9mIG1lbW9yeSBpcyBleHRyYWN0ZWQgZnJvbSBwcm9jZXNz X21lbW9yeV9ub2RlKCkKaW5zdGVhZCBvZiBwYXJzaW5nIHRoZSBEVCBhZ2FpbiBkdXJpbmcgbnVt YV9pbml0KCkuCgpTaWduZWQtb2ZmLWJ5OiBWaWpheWEgS3VtYXIgSyA8VmlqYXlhLkt1bWFyQGNh dml1bS5jb20+Ci0tLQp2MzogLSBTZXQgbnVtYV9vZmYgaW4gbnVtYV9mYWlsZWQoKSBhbmQgZHJv cCBkdF9udW1hIHZhcmlhYmxlCi0tLQogeGVuL2FyY2gvYXJtL2Jvb3RmZHQuYyAgICAgIHwgMjUg KysrKysrKysrKysrKysrKysrKysrLS0tLQogeGVuL2FyY2gvYXJtL2VmaS9lZmktYm9vdC5oIHwg MjUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gvYXJtL251bWEvZHRfbnVtYS5j IHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL2FybS9udW1h L251bWEuYyAgICB8ICA1ICsrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaCAgfCAgMiAr KwogNSBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYm9vdGZkdC5jIGIveGVuL2FyY2gvYXJtL2Jvb3RmZHQu YwppbmRleCA2ZTgyNTFiLi5iM2ExMzJjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vYm9vdGZk dC5jCisrKyBiL3hlbi9hcmNoL2FybS9ib290ZmR0LmMKQEAgLTEzLDYgKzEzLDggQEAKICNpbmNs dWRlIDx4ZW4vaW5pdC5oPgogI2luY2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPgogI2luY2x1ZGUg PHhlbi9saWJmZHQvbGliZmR0Lmg+CisjaW5jbHVkZSA8eGVuL251bWEuaD4KKyNpbmNsdWRlIDx4 ZW4vZWZpLmg+CiAjaW5jbHVkZSA8eHNtL3hzbS5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgog CkBAIC0xNDYsNiArMTQ4LDkgQEAgc3RhdGljIHZvaWQgX19pbml0IHByb2Nlc3NfbWVtb3J5X25v ZGUoY29uc3Qgdm9pZCAqZmR0LCBpbnQgbm9kZSwKICAgICBjb25zdCBfX2JlMzIgKmNlbGw7CiAg ICAgcGFkZHJfdCBzdGFydCwgc2l6ZTsKICAgICB1MzIgcmVnX2NlbGxzID0gYWRkcmVzc19jZWxs cyArIHNpemVfY2VsbHM7CisjaWZkZWYgQ09ORklHX05VTUEKKyAgICB1aW50MzJfdCBuaWQ7Cisj ZW5kaWYKIAogICAgIGlmICggYWRkcmVzc19jZWxscyA8IDEgfHwgc2l6ZV9jZWxscyA8IDEgKQog ICAgIHsKQEAgLTE1NCwyNCArMTU5LDM2IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcm9jZXNzX21l bW9yeV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCiAgICAgICAgIHJldHVybjsKICAg ICB9CiAKKyNpZmRlZiBDT05GSUdfTlVNQQorICAgIG5pZCA9IGRldmljZV90cmVlX2dldF91MzIo ZmR0LCBub2RlLCAibnVtYS1ub2RlLWlkIiwgTlJfTk9ERV9NRU1CTEtTKTsKKyNlbmRpZgogICAg IHByb3AgPSBmZHRfZ2V0X3Byb3BlcnR5KGZkdCwgbm9kZSwgInJlZyIsIE5VTEwpOwogICAgIGlm ICggIXByb3AgKQogICAgIHsKICAgICAgICAgcHJpbnRrKCJmZHQ6IG5vZGUgYCVzJzogbWlzc2lu ZyBgcmVnJyBwcm9wZXJ0eVxuIiwgbmFtZSk7CisjaWZkZWYgQ09ORklHX05VTUEKKwludW1hX2Zh aWxlZCgpOworI2VuZGlmCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBjZWxsID0gKGNv bnN0IF9fYmUzMiAqKXByb3AtPmRhdGE7CiAgICAgYmFua3MgPSBmZHQzMl90b19jcHUocHJvcC0+ bGVuKSAvIChyZWdfY2VsbHMgKiBzaXplb2YgKHUzMikpOwogCi0gICAgZm9yICggaSA9IDA7IGkg PCBiYW5rcyAmJiBib290aW5mby5tZW0ubnJfYmFua3MgPCBOUl9NRU1fQkFOS1M7IGkrKyApCisg ICAgZm9yICggaSA9IDA7IGkgPCBiYW5rczsgaSsrICkKICAgICB7CiAgICAgICAgIGRldmljZV90 cmVlX2dldF9yZWcoJmNlbGwsIGFkZHJlc3NfY2VsbHMsIHNpemVfY2VsbHMsICZzdGFydCwgJnNp emUpOwogICAgICAgICBpZiAoICFzaXplICkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg ICBib290aW5mby5tZW0uYmFua1tib290aW5mby5tZW0ubnJfYmFua3NdLnN0YXJ0ID0gc3RhcnQ7 Ci0gICAgICAgIGJvb3RpbmZvLm1lbS5iYW5rW2Jvb3RpbmZvLm1lbS5ucl9iYW5rc10uc2l6ZSA9 IHNpemU7Ci0gICAgICAgIGJvb3RpbmZvLm1lbS5ucl9iYW5rcysrOworICAgICAgICBpZiAoICFl ZmlfZW5hYmxlZChFRklfQk9PVCkgJiYgYm9vdGluZm8ubWVtLm5yX2JhbmtzIDwgTlJfTUVNX0JB TktTICkKKyAgICAgICAgeworICAgICAgICAgICAgYm9vdGluZm8ubWVtLmJhbmtbYm9vdGluZm8u bWVtLm5yX2JhbmtzXS5zdGFydCA9IHN0YXJ0OworICAgICAgICAgICAgYm9vdGluZm8ubWVtLmJh bmtbYm9vdGluZm8ubWVtLm5yX2JhbmtzXS5zaXplID0gc2l6ZTsKKyAgICAgICAgICAgIGJvb3Rp bmZvLm1lbS5ucl9iYW5rcysrOworICAgICAgICB9CisjaWZkZWYgQ09ORklHX05VTUEKKyAgICAg ICAgZHRfbnVtYV9wcm9jZXNzX21lbW9yeV9ub2RlKG5pZCwgc3RhcnQsIHNpemUpOworI2VuZGlm CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZWZpL2VmaS1ib290LmggYi94 ZW4vYXJjaC9hcm0vZWZpL2VmaS1ib290LmgKaW5kZXggNTZkZTI2ZS4uYThiZGU2OCAxMDA2NDQK LS0tIGEveGVuL2FyY2gvYXJtL2VmaS9lZmktYm9vdC5oCisrKyBiL3hlbi9hcmNoL2FybS9lZmkv ZWZpLWJvb3QuaApAQCAtMTk0LDMzICsxOTQsOCBAQCBFRklfU1RBVFVTIF9faW5pdCBmZHRfYWRk X3VlZmlfbm9kZXMoRUZJX1NZU1RFTV9UQUJMRSAqc3lzX3RhYmxlLAogICAgIGludCBzdGF0dXM7 CiAgICAgdTMyIGZkdF92YWwzMjsKICAgICB1NjQgZmR0X3ZhbDY0OwotICAgIGludCBwcmV2Owog ICAgIGludCBudW1fcnN2OwogCi0gICAgLyoKLSAgICAgKiBEZWxldGUgYW55IG1lbW9yeSBub2Rl cyBwcmVzZW50LiAgVGhlIEVGSSBtZW1vcnkgbWFwIGlzIHRoZSBvbmx5Ci0gICAgICogbWVtb3J5 IGRlc2NyaXB0aW9uIHByb3ZpZGVkIHRvIFhlbi4KLSAgICAgKi8KLSAgICBwcmV2ID0gMDsKLSAg ICBmb3IgKDs7KQotICAgIHsKLSAgICAgICAgY29uc3QgY2hhciAqdHlwZTsKLSAgICAgICAgaW50 IGxlbjsKLQotICAgICAgICBub2RlID0gZmR0X25leHRfbm9kZShmZHQsIHByZXYsIE5VTEwpOwot ICAgICAgICBpZiAoIG5vZGUgPCAwICkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIHR5 cGUgPSBmZHRfZ2V0cHJvcChmZHQsIG5vZGUsICJkZXZpY2VfdHlwZSIsICZsZW4pOwotICAgICAg ICBpZiAoIHR5cGUgJiYgc3RybmNtcCh0eXBlLCAibWVtb3J5IiwgbGVuKSA9PSAwICkKLSAgICAg ICAgewotICAgICAgICAgICAgZmR0X2RlbF9ub2RlKGZkdCwgbm9kZSk7Ci0gICAgICAgICAgICBj b250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIHByZXYgPSBub2RlOwotICAgIH0KLQogICAg LyoKICAgICAqIERlbGV0ZSBhbGwgbWVtb3J5IHJlc2VydmUgbWFwIGVudHJpZXMuIFdoZW4gYm9v dGluZyB2aWEgVUVGSSwKICAgICAqIGtlcm5lbCB3aWxsIHVzZSB0aGUgVUVGSSBtZW1vcnkgbWFw IHRvIGZpbmQgcmVzZXJ2ZWQgcmVnaW9ucy4KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1h L2R0X251bWEuYyBiL3hlbi9hcmNoL2FybS9udW1hL2R0X251bWEuYwppbmRleCA5NjNiYjQwLi44 NDAzMGU3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vbnVtYS9kdF9udW1hLmMKKysrIGIveGVu L2FyY2gvYXJtL251bWEvZHRfbnVtYS5jCkBAIC01OCw2ICs1OCwzOCBAQCBzdGF0aWMgaW50IF9f aW5pdCBkdF9udW1hX3Byb2Nlc3NfY3B1X25vZGUoY29uc3Qgdm9pZCAqZmR0KQogICAgIHJldHVy biAwOwogfQogCit2b2lkIF9faW5pdCBkdF9udW1hX3Byb2Nlc3NfbWVtb3J5X25vZGUodWludDMy X3QgbmlkLCBwYWRkcl90IHN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcGFkZHJfdCBzaXplKQoreworICAgIHN0cnVjdCBub2RlICpuZDsKKyAgICBpbnQgaTsK KworICAgIGkgPSBjb25mbGljdGluZ19tZW1ibGtzKHN0YXJ0LCBzdGFydCArIHNpemUpOworICAg IGlmICggaSA8IDAgKQorICAgIHsKKyAgICAgICAgIGlmICggbnVtYV9hZGRfbWVtYmxrKG5pZCwg c3RhcnQsIHNpemUpICkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBwcmludGsoWEVOTE9HX1dB Uk5JTkcgIkRUOiBOVU1BOiBub2RlLWlkICV1IG92ZXJmbG93IFxuIiwgbmlkKTsKKyAgICAgICAg ICAgICBudW1hX2ZhaWxlZCgpOworICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgIH0KKyAg ICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgIG5kID0gZ2V0X25vZGVfbWVtYmxrX3Jhbmdl KGkpOworICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIKKyAgICAgICAgICAgICAgICAiTlVNQSBE VDogbm9kZSAldSAoJSJQUkl4NjQiLSUiUFJJeDY0Iikgb3ZlcmxhcHMgd2l0aCAlZCAoJSJQUkl4 NjQiLSUiUFJJeDY0IilcbiIsCisgICAgICAgICAgICAgICAgbmlkLCBzdGFydCwgc3RhcnQgKyBz aXplLCBpLCBuZC0+c3RhcnQsIG5kLT5lbmQpOworCisgICAgICAgICBudW1hX2ZhaWxlZCgpOwor ICAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG5vZGVfc2V0KG5pZCwgbWVtb3J5X25vZGVz X3BhcnNlZCk7CisKKyAgICByZXR1cm47Cit9CisKIGludCBfX2luaXQgZHRfbnVtYV9pbml0KHZv aWQpCiB7CiAgICAgaW50IHJldDsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9udW1hL251bWEu YyBiL3hlbi9hcmNoL2FybS9udW1hL251bWEuYwppbmRleCA0NWNjNDE4Li44MjI3MzYxIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC9hcm0vbnVtYS9udW1hLmMKKysrIGIveGVuL2FyY2gvYXJtL251bWEv bnVtYS5jCkBAIC0xOSw2ICsxOSwxMSBAQAogI2luY2x1ZGUgPHhlbi9ub2RlbWFzay5oPgogI2lu Y2x1ZGUgPHhlbi9udW1hLmg+CiAKK3ZvaWQgbnVtYV9mYWlsZWQodm9pZCkKK3sKKyAgICBudW1h X29mZiA9IHRydWU7Cit9CisKIHZvaWQgX19pbml0IG51bWFfaW5pdCh2b2lkKQogewogICAgIGlu dCByZXQgPSAwOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9udW1hLmggYi94ZW4v aW5jbHVkZS9hc20tYXJtL251bWEuaAppbmRleCA4ZjUxN2EyLi4zNmNkNzgyIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL251 bWEuaApAQCAtMyw2ICszLDggQEAKIAogdHlwZWRlZiB1aW50OF90IG5vZGVpZF90OwogCit2b2lk IGR0X251bWFfcHJvY2Vzc19tZW1vcnlfbm9kZSh1aW50MzJfdCBuaWQsIHBhZGRyX3Qgc3RhcnQs IHBhZGRyX3Qgc2l6ZSk7CisKICNpZmRlZiBDT05GSUdfTlVNQQogdm9pZCBudW1hX2luaXQodm9p ZCk7CiBpbnQgZHRfbnVtYV9pbml0KHZvaWQpOwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK