From mboxrd@z Thu Jan 1 00:00:00 1970 From: vijay.kilari@gmail.com Subject: [RFC PATCH v2 15/25] ARM: NUMA: Add CPU NUMA support Date: Tue, 28 Mar 2017 21:23:23 +0530 Message-ID: <1490716413-19796-16-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 RnJvbTogVmlqYXlhIEt1bWFyIEsgPFZpamF5YS5LdW1hckBjYXZpdW0uY29tPgoKRm9yIGVhY2gg Y3B1LCB1cGRhdGUgY3B1X3RvX25vZGVbXSB3aXRoIG5vZGUgaWQgZnJvbQp0aGUgbnVtYS1ub2Rl LWlkIERUIHByb3BlcnR5LiBBbHNvLCBpbml0aWFsaXplIGNwdV90b19ub2RlW10Kd2l0aCBub2Rl IDAuCgpBZGQgbWFjcm9zIHRvIGFjY2VzcyBjcHVfdG9fbm9kZVtdIGluZm9ybWF0aW9uLgoKU2ln bmVkLW9mZi1ieTogVmlqYXlhIEt1bWFyIEsgPFZpamF5YS5LdW1hckBjYXZpdW0uY29tPgotLS0K IHhlbi9hcmNoL2FybS9udW1hL251bWEuYyAgIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCiB4 ZW4vYXJjaC9hcm0vc21wYm9vdC5jICAgICB8IDI1ICsrKysrKysrKysrKysrKysrKysrKysrKy0K IHhlbi9pbmNsdWRlL2FzbS1hcm0vbnVtYS5oIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysr CiAzIGZpbGVzIGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vbnVtYS9udW1hLmMgYi94ZW4vYXJjaC9hcm0vbnVtYS9udW1h LmMKaW5kZXggMGVlODlkYS4uZWVmNTg3MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL251bWEv bnVtYS5jCisrKyBiL3hlbi9hcmNoL2FybS9udW1hL251bWEuYwpAQCAtMjgsNiArMjgsMjUgQEAg c3RhdGljIHVpbnQ4X3QgKCpub2RlX2Rpc3RhbmNlX2ZuKShub2RlaWRfdCBhLCBub2RlaWRfdCBi KTsKIGV4dGVybiBub2RlbWFza190IHByb2Nlc3Nvcl9ub2Rlc19wYXJzZWQ7CiBzdGF0aWMgYm9v bF90IGR0X251bWEgPSAxOwogCisvKgorICogU2V0dXAgZWFybHkgY3B1X3RvX25vZGUuCisgKi8K K3ZvaWQgX19pbml0IGluaXRfY3B1X3RvX25vZGUodm9pZCkKK3sKKyAgICBpbnQgaTsKKworICAg IGZvciAoIGkgPSAwOyBpIDwgTlJfQ1BVUzsgaSsrICkKKyAgICAgICAgbnVtYV9zZXRfbm9kZShp LCAwKTsKK30KKwordm9pZCBfX2luaXQgbnVtYV9zZXRfY3B1X25vZGUoaW50IGNwdSwgdW5zaWdu ZWQgaW50IG5pZCkKK3sKKyAgICBpZiAoICFub2RlX2lzc2V0KG5pZCwgcHJvY2Vzc29yX25vZGVz X3BhcnNlZCkgfHwgbmlkID49IE1BWF9OVU1OT0RFUyApCisgICAgICAgIG5pZCA9IDA7CisKKyAg ICBudW1hX3NldF9ub2RlKGNwdSwgbmlkKTsKK30KKwogdWludDhfdCBfX25vZGVfZGlzdGFuY2Uo bm9kZWlkX3QgYSwgbm9kZWlkX3QgYikKIHsKICAgICBpZiAoIG5vZGVfZGlzdGFuY2VfZm4gIT0g TlVMTCk7CkBAIC00OCw2ICs2Nyw3IEBAIHZvaWQgbnVtYV9mYWlsZWQodm9pZCkKICAgICBkdF9u dW1hID0gMDsKICAgICBpbml0X2R0X251bWFfZGlzdGFuY2UoKTsKICAgICBub2RlX2Rpc3RhbmNl X2ZuID0gTlVMTDsKKyAgICBpbml0X2NwdV90b19ub2RlKCk7CiB9CiAKIHZvaWQgX19pbml0IG51 bWFfaW5pdCh2b2lkKQpAQCAtNTUsNiArNzUsNyBAQCB2b2lkIF9faW5pdCBudW1hX2luaXQodm9p ZCkKICAgICBpbnQgcmV0ID0gMDsKIAogICAgIG5vZGVzX2NsZWFyKHByb2Nlc3Nvcl9ub2Rlc19w YXJzZWQpOworICAgIGluaXRfY3B1X3RvX25vZGUoKTsKICAgICBpbml0X2R0X251bWFfZGlzdGFu Y2UoKTsKICAgICBpZiAoIGlzX251bWFfb2ZmKCkgKQogICAgICAgICBnb3RvIG5vX251bWE7CmRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vc21wYm9vdC5jIGIveGVuL2FyY2gvYXJtL3NtcGJvb3Qu YwppbmRleCAzMmU4NzIyLi5iZjdkZGFmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vc21wYm9v dC5jCisrKyBiL3hlbi9hcmNoL2FybS9zbXBib290LmMKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNs dWRlIDx4ZW4vdGltZXIuaD4KICNpbmNsdWRlIDx4ZW4vaXJxLmg+CiAjaW5jbHVkZSA8eGVuL2Nv bnNvbGUuaD4KKyNpbmNsdWRlIDx4ZW4vbnVtYS5oPgogI2luY2x1ZGUgPGFzbS9jcHVlcnJhdGEu aD4KICNpbmNsdWRlIDxhc20vZ2ljLmg+CiAjaW5jbHVkZSA8YXNtL3BzY2kuaD4KQEAgLTEwNiw2 ICsxMDcsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZHRfc21wX2luaXRfY3B1cyh2b2lkKQogICAg ICAgICBbMCAuLi4gTlJfQ1BVUyAtIDFdID0gTVBJRFJfSU5WQUxJRAogICAgIH07CiAgICAgYm9v bF90IGJvb3RjcHVfdmFsaWQgPSAwOworICAgIG5vZGVpZF90ICpjcHVfdG9fbm9kZW1hcDsKICAg ICBpbnQgcmM7CiAKICAgICBtcGlkciA9IGJvb3RfY3B1X2RhdGEubXBpZHIuYml0cyAmIE1QSURS X0hXSURfTUFTSzsKQEAgLTExNywxMSArMTE5LDE4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBkdF9z bXBfaW5pdF9jcHVzKHZvaWQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBjcHVfdG9f bm9kZW1hcCA9IHh6YWxsb2NfYXJyYXkobm9kZWlkX3QsIE5SX0NQVVMpOworICAgIGlmICggIWNw dV90b19ub2RlbWFwICkKKyAgICB7CisgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAiRmFp bGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgY3B1X3RvX25vZGVtYXBcbiIpOworICAgICAgICBy ZXR1cm47CisgICAgfQorCiAgICAgZHRfZm9yX2VhY2hfY2hpbGRfbm9kZSggY3B1cywgY3B1ICkK ICAgICB7CiAgICAgICAgIGNvbnN0IF9fYmUzMiAqcHJvcDsKICAgICAgICAgdTY0IGFkZHI7Ci0g ICAgICAgIHUzMiByZWdfbGVuOworICAgICAgICB1MzIgcmVnX2xlbiwgbmlkOwogICAgICAgICBy ZWdpc3Rlcl90IGh3aWQ7CiAKICAgICAgICAgaWYgKCAhZHRfZGV2aWNlX3R5cGVfaXNfZXF1YWwo Y3B1LCAiY3B1IikgKQpAQCAtMTQ2LDYgKzE1NSwxNSBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZHRf c21wX2luaXRfY3B1cyh2b2lkKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAor ICAgICAgICBpZiAoICFkdF9wcm9wZXJ0eV9yZWFkX3UzMihjcHUsICJudW1hLW5vZGUtaWQiLCAm bmlkKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAiY3B1 IG5vZGUgYCVzYDogbnVtYS1ub2RlLWlkIG5vdCBmb3VuZFxuIiwKKyAgICAgICAgICAgICAgICAg ICBkdF9ub2RlX2Z1bGxfbmFtZShjcHUpKTsKKyAgICAgICAgICAgIG5pZCA9IDA7CisgICAgICAg IH0KKworICAgICAgICBjcHVfdG9fbm9kZW1hcFtjcHVpZHhdID0gbmlkOworCiAgICAgICAgIGFk ZHIgPSBkdF9yZWFkX251bWJlcihwcm9wLCBkdF9uX2FkZHJfY2VsbHMoY3B1KSk7CiAKICAgICAg ICAgaHdpZCA9IGFkZHI7CkBAIC0yMjQsNiArMjQyLDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGR0 X3NtcF9pbml0X2NwdXModm9pZCkKICAgICB7CiAgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklO RyAiRFQgbWlzc2luZyBib290IENQVSBNUElEUlsyMzowXVxuIgogICAgICAgICAgICAgICAgIlVz aW5nIG9ubHkgMSBDUFVcbiIpOworICAgICAgICB4ZnJlZShjcHVfdG9fbm9kZW1hcCk7CiAgICAg ICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIzMyw3ICsyNTIsMTAgQEAgc3RhdGljIHZvaWQgX19p bml0IGR0X3NtcF9pbml0X2NwdXModm9pZCkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg ICBjcHVtYXNrX3NldF9jcHUoaSwgJmNwdV9wb3NzaWJsZV9tYXApOwogICAgICAgICBjcHVfbG9n aWNhbF9tYXAoaSkgPSB0bXBfbWFwW2ldOworICAgICAgICBudW1hX3NldF9jcHVfbm9kZShpLCBj cHVfdG9fbm9kZW1hcFtpXSk7CiAgICAgfQorCisgICAgeGZyZWUoY3B1X3RvX25vZGVtYXApOwog fQogCiB2b2lkIF9faW5pdCBzbXBfaW5pdF9jcHVzKHZvaWQpCkBAIC0zMTMsNiArMzM1LDcgQEAg dm9pZCBzdGFydF9zZWNvbmRhcnkodW5zaWduZWQgbG9uZyBib290X3BoeXNfb2Zmc2V0LAogICAg ICAqLwogICAgIHNtcF93bWIoKTsKIAorICAgIG51bWFfYWRkX2NwdShjcHVpZCk7CiAgICAgLyog Tm93IHJlcG9ydCB0aGlzIENQVSBpcyB1cCAqLwogICAgIGNwdW1hc2tfc2V0X2NwdShjcHVpZCwg JmNwdV9vbmxpbmVfbWFwKTsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9udW1h LmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaAppbmRleCBjMzkwYTBlLi42NWJkZDVlIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL251bWEuaAorKysgYi94ZW4vaW5jbHVkZS9h c20tYXJtL251bWEuaApAQCAtMTQsMTIgKzE0LDM2IEBAIGV4dGVybiB1aW50OF90IF9fbm9kZV9k aXN0YW5jZShub2RlaWRfdCBhLCBub2RlaWRfdCBiKTsKICNpZmRlZiBDT05GSUdfTlVNQQogZXh0 ZXJuIHZvaWQgbnVtYV9pbml0KHZvaWQpOwogZXh0ZXJuIGludCBkdF9udW1hX2luaXQodm9pZCk7 CitleHRlcm4gdm9pZCBudW1hX3NldF9jcHVfbm9kZShpbnQgY3B1LCB1bnNpZ25lZCBpbnQgbmlk KTsKK2V4dGVybiB2b2lkIG51bWFfYWRkX2NwdShpbnQgY3B1KTsKKworZXh0ZXJuIG5vZGVpZF90 ICAgICAgY3B1X3RvX25vZGVbTlJfQ1BVU107CitleHRlcm4gY3B1bWFza190ICAgICBub2RlX3Rv X2NwdW1hc2tbXTsKKy8qIFNpbXBsZSBwZXJmZWN0IGhhc2ggdG8gbWFwIHBkeCB0byBub2RlIG51 bWJlcnMgKi8KK2V4dGVybiB1bnNpZ25lZCBpbnQgbWVtbm9kZV9zaGlmdDsKK2V4dGVybiB1aW50 OF90ICptZW1ub2RlbWFwOworCisjZGVmaW5lIGNwdV90b19ub2RlKGNwdSkgICAgICAgICAoY3B1 X3RvX25vZGVbY3B1XSkKKyNkZWZpbmUgcGFyZW50X25vZGUobm9kZSkgICAgICAgIChub2RlKQor I2RlZmluZSBub2RlX3RvX2ZpcnN0X2NwdShub2RlKSAgKF9fZmZzKG5vZGVfdG9fY3B1bWFza1tu b2RlXSkpCisjZGVmaW5lIG5vZGVfdG9fY3B1bWFzayhub2RlKSAgICAobm9kZV90b19jcHVtYXNr W25vZGVdKQorCiAjZWxzZQogc3RhdGljIGlubGluZSB2b2lkIG51bWFfaW5pdCh2b2lkKQogewog ICAgIHJldHVybjsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkIG51bWFfc2V0X2NwdV9ub2RlKGlu dCBjcHUsIHVuc2lnbmVkIGludCBuaWQpCit7CisgICAgcmV0dXJuOworfQorCitzdGF0aWMgaW5s aW5lIHZvaWQgbnVtYV9hZGRfY3B1KGludCBjcHUpCit7CisgICAgIHJldHVybjsKK30KKwogLyog RmFrZSBvbmUgbm9kZSBmb3Igbm93LiBTZWUgYWxzbyBub2RlX29ubGluZV9tYXAuICovCiAjZGVm aW5lIGNwdV90b19ub2RlKGNwdSkgMAogI2RlZmluZSBub2RlX3RvX2NwdW1hc2sobm9kZSkgICAo Y3B1X29ubGluZV9tYXApCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=