From mboxrd@z Thu Jan 1 00:00:00 1970 From: vijay.kilari@gmail.com Subject: [RFC PATCH v2 13/25] ARM: NUMA: Parse memory NUMA information Date: Tue, 28 Mar 2017 21:23:21 +0530 Message-ID: <1490716413-19796-14-git-send-email-vijay.kilari@gmail.com> References: <1490716413-19796-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: <1490716413-19796-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: sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@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+Ci0tLQogeGVuL2FyY2gvYXJtL2Jvb3RmZHQuYyAgICAgIHwgMjQgKysrKysrKysr KysrKysrKysrKystLS0tCiB4ZW4vYXJjaC9hcm0vZWZpL2VmaS1ib290LmggfCAyNSAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC9hcm0vbnVtYS9kdF9udW1hLmMgfCAzMyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL2FybS9udW1hL251bWEuYyAg ICB8ICA5ICsrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLWFybS9udW1hLmggIHwgIDIgKysKIDUg ZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYyBiL3hlbi9hcmNoL2FybS9ib290ZmR0LmMKaW5k ZXggMWY4NzZmMC4uOTkzNzYwYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYwor KysgYi94ZW4vYXJjaC9hcm0vYm9vdGZkdC5jCkBAIC0xMyw2ICsxMyw3IEBACiAjaW5jbHVkZSA8 eGVuL2luaXQuaD4KICNpbmNsdWRlIDx4ZW4vZGV2aWNlX3RyZWUuaD4KICNpbmNsdWRlIDx4ZW4v bGliZmR0L2xpYmZkdC5oPgorI2luY2x1ZGUgPHhlbi9lZmkuaD4KICNpbmNsdWRlIDx4c20veHNt Lmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAKQEAgLTE0Niw2ICsxNDcsOSBAQCBzdGF0aWMg dm9pZCBfX2luaXQgcHJvY2Vzc19tZW1vcnlfbm9kZShjb25zdCB2b2lkICpmZHQsIGludCBub2Rl LAogICAgIGNvbnN0IF9fYmUzMiAqY2VsbDsKICAgICBwYWRkcl90IHN0YXJ0LCBzaXplOwogICAg IHUzMiByZWdfY2VsbHMgPSBhZGRyZXNzX2NlbGxzICsgc2l6ZV9jZWxsczsKKyNpZmRlZiBDT05G SUdfTlVNQQorICAgIHVpbnQzMl90IG5pZDsKKyNlbmRpZgogCiAgICAgaWYgKCBhZGRyZXNzX2Nl bGxzIDwgMSB8fCBzaXplX2NlbGxzIDwgMSApCiAgICAgewpAQCAtMTU0LDI0ICsxNTgsMzYgQEAg c3RhdGljIHZvaWQgX19pbml0IHByb2Nlc3NfbWVtb3J5X25vZGUoY29uc3Qgdm9pZCAqZmR0LCBp bnQgbm9kZSwKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorI2lmZGVmIENPTkZJR19OVU1BCisg ICAgbmlkID0gZGV2aWNlX3RyZWVfZ2V0X3UzMihmZHQsIG5vZGUsICJudW1hLW5vZGUtaWQiLCBO Ul9OT0RFX01FTUJMS1MpOworI2VuZGlmCiAgICAgcHJvcCA9IGZkdF9nZXRfcHJvcGVydHkoZmR0 LCBub2RlLCAicmVnIiwgTlVMTCk7CiAgICAgaWYgKCAhcHJvcCApCiAgICAgewogICAgICAgICBw cmludGsoImZkdDogbm9kZSBgJXMnOiBtaXNzaW5nIGByZWcnIHByb3BlcnR5XG4iLCBuYW1lKTsK KyNpZmRlZiBDT05GSUdfTlVNQQorCW51bWFfZmFpbGVkKCk7CisjZW5kaWYKICAgICAgICAgcmV0 dXJuOwogICAgIH0KIAogICAgIGNlbGwgPSAoY29uc3QgX19iZTMyICopcHJvcC0+ZGF0YTsKICAg ICBiYW5rcyA9IGZkdDMyX3RvX2NwdShwcm9wLT5sZW4pIC8gKHJlZ19jZWxscyAqIHNpemVvZiAo dTMyKSk7CiAKLSAgICBmb3IgKCBpID0gMDsgaSA8IGJhbmtzICYmIGJvb3RpbmZvLm1lbS5ucl9i YW5rcyA8IE5SX01FTV9CQU5LUzsgaSsrICkKKyAgICBmb3IgKCBpID0gMDsgaSA8IGJhbmtzOyBp KysgKQogICAgIHsKICAgICAgICAgZGV2aWNlX3RyZWVfZ2V0X3JlZygmY2VsbCwgYWRkcmVzc19j ZWxscywgc2l6ZV9jZWxscywgJnN0YXJ0LCAmc2l6ZSk7CiAgICAgICAgIGlmICggIXNpemUgKQog ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGJvb3RpbmZvLm1lbS5iYW5rW2Jvb3RpbmZv Lm1lbS5ucl9iYW5rc10uc3RhcnQgPSBzdGFydDsKLSAgICAgICAgYm9vdGluZm8ubWVtLmJhbmtb Ym9vdGluZm8ubWVtLm5yX2JhbmtzXS5zaXplID0gc2l6ZTsKLSAgICAgICAgYm9vdGluZm8ubWVt Lm5yX2JhbmtzKys7CisgICAgICAgIGlmICggIWVmaV9lbmFibGVkKEVGSV9CT09UKSAmJiBib290 aW5mby5tZW0ubnJfYmFua3MgPCBOUl9NRU1fQkFOS1MgKQorICAgICAgICB7CisgICAgICAgICAg ICBib290aW5mby5tZW0uYmFua1tib290aW5mby5tZW0ubnJfYmFua3NdLnN0YXJ0ID0gc3RhcnQ7 CisgICAgICAgICAgICBib290aW5mby5tZW0uYmFua1tib290aW5mby5tZW0ubnJfYmFua3NdLnNp emUgPSBzaXplOworICAgICAgICAgICAgYm9vdGluZm8ubWVtLm5yX2JhbmtzKys7CisgICAgICAg IH0KKyNpZmRlZiBDT05GSUdfTlVNQQorICAgICAgICBkdF9udW1hX3Byb2Nlc3NfbWVtb3J5X25v ZGUobmlkLCBzdGFydCwgc2l6ZSk7CisjZW5kaWYKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL3hl bi9hcmNoL2FybS9lZmkvZWZpLWJvb3QuaCBiL3hlbi9hcmNoL2FybS9lZmkvZWZpLWJvb3QuaApp bmRleCBlMWU0NDdhLi4wN2ZlMTc4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZWZpL2VmaS1i b290LmgKKysrIGIveGVuL2FyY2gvYXJtL2VmaS9lZmktYm9vdC5oCkBAIC0xOTQsMzMgKzE5NCw4 IEBAIEVGSV9TVEFUVVMgX19pbml0IGZkdF9hZGRfdWVmaV9ub2RlcyhFRklfU1lTVEVNX1RBQkxF ICpzeXNfdGFibGUsCiAgICAgaW50IHN0YXR1czsKICAgICB1MzIgZmR0X3ZhbDMyOwogICAgIHU2 NCBmZHRfdmFsNjQ7Ci0gICAgaW50IHByZXY7CiAgICAgaW50IG51bV9yc3Y7CiAKLSAgICAvKgot ICAgICAqIERlbGV0ZSBhbnkgbWVtb3J5IG5vZGVzIHByZXNlbnQuICBUaGUgRUZJIG1lbW9yeSBt YXAgaXMgdGhlIG9ubHkKLSAgICAgKiBtZW1vcnkgZGVzY3JpcHRpb24gcHJvdmlkZWQgdG8gWGVu LgotICAgICAqLwotICAgIHByZXYgPSAwOwotICAgIGZvciAoOzspCi0gICAgewotICAgICAgICBj b25zdCBjaGFyICp0eXBlOwotICAgICAgICBpbnQgbGVuOwotCi0gICAgICAgIG5vZGUgPSBmZHRf bmV4dF9ub2RlKGZkdCwgcHJldiwgTlVMTCk7Ci0gICAgICAgIGlmICggbm9kZSA8IDAgKQotICAg ICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgdHlwZSA9IGZkdF9nZXRwcm9wKGZkdCwgbm9kZSwg ImRldmljZV90eXBlIiwgJmxlbik7Ci0gICAgICAgIGlmICggdHlwZSAmJiBzdHJuY21wKHR5cGUs ICJtZW1vcnkiLCBsZW4pID09IDAgKQotICAgICAgICB7Ci0gICAgICAgICAgICBmZHRfZGVsX25v ZGUoZmR0LCBub2RlKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAg ICAgcHJldiA9IG5vZGU7Ci0gICAgfQotCiAgICAvKgogICAgICogRGVsZXRlIGFsbCBtZW1vcnkg cmVzZXJ2ZSBtYXAgZW50cmllcy4gV2hlbiBib290aW5nIHZpYSBVRUZJLAogICAgICoga2VybmVs IHdpbGwgdXNlIHRoZSBVRUZJIG1lbW9yeSBtYXAgdG8gZmluZCByZXNlcnZlZCByZWdpb25zLgpk aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL251bWEvZHRfbnVtYS5jIGIveGVuL2FyY2gvYXJtL251 bWEvZHRfbnVtYS5jCmluZGV4IDY2YzZlZmIuLjU5M2M2NDcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L2FybS9udW1hL2R0X251bWEuYworKysgYi94ZW4vYXJjaC9hcm0vbnVtYS9kdF9udW1hLmMKQEAg LTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAogZXh0ZXJuIG5vZGVtYXNr X3QgcHJvY2Vzc29yX25vZGVzX3BhcnNlZDsKK2V4dGVybiBub2RlbWFza190IG1lbW9yeV9ub2Rl c19wYXJzZWQ7CiAKIC8qCiAgKiBFdmVuIHRob3VnaCB3ZSBjb25uZWN0IGNwdXMgdG8gbnVtYSBk b21haW5zIGxhdGVyIGluIFNNUApAQCAtNTksNiArNjAsMzggQEAgc3RhdGljIGludCBfX2luaXQg ZHRfbnVtYV9zY2FuX2NwdV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCiAgICAgcmV0 dXJuIDA7CiB9CiAKK3ZvaWQgX19pbml0IGR0X251bWFfcHJvY2Vzc19tZW1vcnlfbm9kZSh1aW50 MzJfdCBuaWQsIHBhZGRyX3Qgc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwYWRkcl90IHNpemUpCit7CisgICAgc3RydWN0IG5vZGUgKm5kOworICAgIGludCBp OworCisgICAgaSA9IGNvbmZsaWN0aW5nX21lbWJsa3Moc3RhcnQsIHN0YXJ0ICsgc2l6ZSk7Cisg ICAgaWYgKCBpIDwgMCApCisgICAgeworICAgICAgICAgaWYgKCBudW1hX2FkZF9tZW1ibGsobmlk LCBzdGFydCwgc2l6ZSkgKQorICAgICAgICAgeworICAgICAgICAgICAgIHByaW50ayhYRU5MT0df V0FSTklORyAiRFQ6IE5VTUE6IG5vZGUtaWQgJXUgb3ZlcmZsb3cgXG4iLCBuaWQpOworICAgICAg ICAgICAgIG51bWFfZmFpbGVkKCk7CisgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgfQor ICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICAgbmQgPSBnZXRfbm9kZV9tZW1ibGtfcmFu Z2UoaSk7CisgICAgICAgICBwcmludGsoWEVOTE9HX0VSUgorICAgICAgICAgICAgICAgICJOVU1B IERUOiBub2RlICV1ICglIlBSSXg2NCItJSJQUkl4NjQiKSBvdmVybGFwcyB3aXRoICVkICglIlBS SXg2NCItJSJQUkl4NjQiKVxuIiwKKyAgICAgICAgICAgICAgICBuaWQsIHN0YXJ0LCBzdGFydCAr IHNpemUsIGksIG5kLT5zdGFydCwgbmQtPmVuZCk7CisKKyAgICAgICAgIG51bWFfZmFpbGVkKCk7 CisgICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbm9kZV9zZXQobmlkLCBtZW1vcnlfbm9k ZXNfcGFyc2VkKTsKKworICAgIHJldHVybjsKK30KKwogaW50IF9faW5pdCBkdF9udW1hX2luaXQo dm9pZCkKIHsKICAgICBpbnQgcmV0OwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL251bWEvbnVt YS5jIGIveGVuL2FyY2gvYXJtL251bWEvbnVtYS5jCmluZGV4IGMxYzdjMzUuLmIzMzM0NTMgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9udW1hL251bWEuYworKysgYi94ZW4vYXJjaC9hcm0vbnVt YS9udW1hLmMKQEAgLTIzLDYgKzIzLDEyIEBACiAjaW5jbHVkZSA8YXNtL2FjcGkuaD4KIAogZXh0 ZXJuIG5vZGVtYXNrX3QgcHJvY2Vzc29yX25vZGVzX3BhcnNlZDsKK3N0YXRpYyBib29sX3QgZHRf bnVtYSA9IDE7CisKK3ZvaWQgbnVtYV9mYWlsZWQodm9pZCkKK3sKKyAgICBkdF9udW1hID0gMDsK K30KIAogdm9pZCBfX2luaXQgbnVtYV9pbml0KHZvaWQpCiB7CkBAIC0zMiw2ICszOCw5IEBAIHZv aWQgX19pbml0IG51bWFfaW5pdCh2b2lkKQogICAgIGlmICggaXNfbnVtYV9vZmYoKSApCiAgICAg ICAgIGdvdG8gbm9fbnVtYTsKIAorICAgIGlmICggIWR0X251bWEgKQorICAgICAgICBnb3RvIG5v X251bWE7CisKICAgICByZXQgPSBkdF9udW1hX2luaXQoKTsKICAgICBpZiAoIHJldCApCiAgICAg ICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAiRFQgTlVNQSBpbml0IGZhaWxlZFxuIik7CmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0v bnVtYS5oCmluZGV4IGU1MGVlMTkuLjk2MmEyMTQgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz bS1hcm0vbnVtYS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oCkBAIC02LDYgKzYs OCBAQCB0eXBlZGVmIHVpbnQ4X3Qgbm9kZWlkX3Q7CiAvKiBMaW1pdCBudW1iZXIgb2YgTlVNQSBu b2RlcyBzdXBwb3J0ZWQgdG8gNCAqLwogI2RlZmluZSBOT0RFU19TSElGVCAyCiAKK2V4dGVybiB2 b2lkIGR0X251bWFfcHJvY2Vzc19tZW1vcnlfbm9kZSh1aW50MzJfdCBuaWQscGFkZHJfdCBzdGFy dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHNpemUp OwogI2lmZGVmIENPTkZJR19OVU1BCiBleHRlcm4gdm9pZCBudW1hX2luaXQodm9pZCk7CiBleHRl cm4gaW50IGR0X251bWFfaW5pdCh2b2lkKTsKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==