From mboxrd@z Thu Jan 1 00:00:00 1970 From: vijay.kilari@gmail.com Subject: [RFC PATCH v1 03/21] NUMA: Move arch specific NUMA code as common Date: Thu, 9 Feb 2017 21:26:55 +0530 Message-ID: <1486655834-9708-4-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 1cbr7s-0007pL-Cq for xen-devel@lists.xenproject.org; Thu, 09 Feb 2017 15:59:16 +0000 Received: by mail-pg0-f67.google.com with SMTP id 194so628610pgd.0 for ; Thu, 09 Feb 2017 07:59:14 -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 RnJvbTogVmlqYXlhIEt1bWFyIEsgPFZpamF5YS5LdW1hckBjYXZpdW0uY29tPgoKTW92ZSBzb21l IGNvbW1vbiBudW1hIGNvZGUgZnJvbSB4ZW4vYXJjaC94ODYvc3JhdC5jCnRvIHhlbi9jb21tb24v bnVtYS5jCgpTaWduZWQtb2ZmLWJ5OiBWaWpheWEgS3VtYXIgSyA8VmlqYXlhLkt1bWFyQGNhdml1 bS5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3NyYXQuYyAgICAgICAgfCA1NCArKysrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9jb21tb24vbnVtYS5jICAgICAg ICAgIHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog eGVuL2luY2x1ZGUvYXNtLXg4Ni9hY3BpLmggfCAgMSAtCiB4ZW4vaW5jbHVkZS9hc20teDg2L251 bWEuaCB8ICAxIC0KIHhlbi9pbmNsdWRlL3hlbi9udW1hLmggICAgIHwgIDUgKysrKy0KIDUgZmls ZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L3NyYXQuYyBiL3hlbi9hcmNoL3g4Ni9zcmF0LmMKaW5kZXggZDg2Nzgz ZS4uNThkZWUwOSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NyYXQuYworKysgYi94ZW4vYXJj aC94ODYvc3JhdC5jCkBAIC0yNSw3ICsyNSw3IEBAIHN0YXRpYyBzdHJ1Y3QgYWNwaV90YWJsZV9z bGl0ICpfX3JlYWRfbW9zdGx5IGFjcGlfc2xpdDsKIAogc3RhdGljIG5vZGVtYXNrX3QgbWVtb3J5 X25vZGVzX3BhcnNlZCBfX2luaXRkYXRhOwogc3RhdGljIG5vZGVtYXNrX3QgcHJvY2Vzc29yX25v ZGVzX3BhcnNlZCBfX2luaXRkYXRhOwotc3RhdGljIHN0cnVjdCBub2RlIG5vZGVzW01BWF9OVU1O T0RFU10gX19pbml0ZGF0YTsKK2V4dGVybiBzdHJ1Y3Qgbm9kZSBub2Rlc1tNQVhfTlVNTk9ERVNd IF9faW5pdGRhdGE7CiAKIHN0cnVjdCBweG0ybm9kZSB7CiAJdW5zaWduZWQgcHhtOwpAQCAtMzYs OSArMzYsOSBAQCBzdGF0aWMgc3RydWN0IHB4bTJub2RlIF9fcmVhZF9tb3N0bHkgcHhtMm5vZGVb TUFYX05VTU5PREVTXSA9CiAKIHN0YXRpYyB1bnNpZ25lZCBub2RlX3RvX3B4bShub2RlaWRfdCBu KTsKIAotc3RhdGljIGludCBudW1fbm9kZV9tZW1ibGtzOwotc3RhdGljIHN0cnVjdCBub2RlIG5v ZGVfbWVtYmxrX3JhbmdlW05SX05PREVfTUVNQkxLU107Ci1zdGF0aWMgbm9kZWlkX3QgbWVtYmxr X25vZGVpZFtOUl9OT0RFX01FTUJMS1NdOworZXh0ZXJuIGludCBudW1fbm9kZV9tZW1ibGtzOwor ZXh0ZXJuIHN0cnVjdCBub2RlIG5vZGVfbWVtYmxrX3JhbmdlW05SX05PREVfTUVNQkxLU107Citl eHRlcm4gbm9kZWlkX3QgbWVtYmxrX25vZGVpZFtOUl9OT0RFX01FTUJMS1NdOwogc3RhdGljIF9f aW5pdGRhdGEgREVDTEFSRV9CSVRNQVAobWVtYmxrX2hvdHBsdWcsIE5SX05PREVfTUVNQkxLUyk7 CiAKIHN0YXRpYyBpbmxpbmUgYm9vbF90IG5vZGVfZm91bmQodW5zaWduZWQgaWR4LCB1bnNpZ25l ZCBweG0pCkBAIC0xMDMsNTIgKzEwMyw2IEBAIG5vZGVpZF90IHNldHVwX25vZGUodW5zaWduZWQg cHhtKQogCXJldHVybiBub2RlOwogfQogCi1pbnQgdmFsaWRfbnVtYV9yYW5nZSh1NjQgc3RhcnQs IHU2NCBlbmQsIG5vZGVpZF90IG5vZGUpCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwg bnVtX25vZGVfbWVtYmxrczsgaSsrKSB7Ci0JCXN0cnVjdCBub2RlICpuZCA9ICZub2RlX21lbWJs a19yYW5nZVtpXTsKLQotCQlpZiAobmQtPnN0YXJ0IDw9IHN0YXJ0ICYmIG5kLT5lbmQgPiBlbmQg JiYKLQkJCW1lbWJsa19ub2RlaWRbaV0gPT0gbm9kZSApCi0JCQlyZXR1cm4gMTsKLQl9Ci0KLQly ZXR1cm4gMDsKLX0KLQotc3RhdGljIF9faW5pdCBpbnQgY29uZmxpY3RpbmdfbWVtYmxrcyh1NjQg c3RhcnQsIHU2NCBlbmQpCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgbnVtX25vZGVf bWVtYmxrczsgaSsrKSB7Ci0JCXN0cnVjdCBub2RlICpuZCA9ICZub2RlX21lbWJsa19yYW5nZVtp XTsKLQkJaWYgKG5kLT5zdGFydCA9PSBuZC0+ZW5kKQotCQkJY29udGludWU7Ci0JCWlmIChuZC0+ ZW5kID4gc3RhcnQgJiYgbmQtPnN0YXJ0IDwgZW5kKQotCQkJcmV0dXJuIGk7Ci0JCWlmIChuZC0+ ZW5kID09IGVuZCAmJiBuZC0+c3RhcnQgPT0gc3RhcnQpCi0JCQlyZXR1cm4gaTsKLQl9Ci0JcmV0 dXJuIC0xOwotfQotCi1zdGF0aWMgX19pbml0IHZvaWQgY3V0b2ZmX25vZGUoaW50IGksIHU2NCBz dGFydCwgdTY0IGVuZCkKLXsKLQlzdHJ1Y3Qgbm9kZSAqbmQgPSAmbm9kZXNbaV07Ci0JaWYgKG5k LT5zdGFydCA8IHN0YXJ0KSB7Ci0JCW5kLT5zdGFydCA9IHN0YXJ0OwotCQlpZiAobmQtPmVuZCA8 IG5kLT5zdGFydCkKLQkJCW5kLT5zdGFydCA9IG5kLT5lbmQ7Ci0JfQotCWlmIChuZC0+ZW5kID4g ZW5kKSB7Ci0JCW5kLT5lbmQgPSBlbmQ7Ci0JCWlmIChuZC0+c3RhcnQgPiBuZC0+ZW5kKQotCQkJ bmQtPnN0YXJ0ID0gbmQtPmVuZDsKLQl9Ci19Ci0KIHN0YXRpYyBfX2luaXQgdm9pZCBiYWRfc3Jh dCh2b2lkKQogewogCWludCBpOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9udW1hLmMgYi94ZW4v Y29tbW9uL251bWEuYwppbmRleCA1OWRjYjYzLi4xM2YxNDdjIDEwMDY0NAotLS0gYS94ZW4vY29t bW9uL251bWEuYworKysgYi94ZW4vY29tbW9uL251bWEuYwpAQCAtNDYsNiArNDYsNjEgQEAgbm9k ZWlkX3QgY3B1X3RvX25vZGVbTlJfQ1BVU10gX19yZWFkX21vc3RseSA9IHsKIAogY3B1bWFza190 IG5vZGVfdG9fY3B1bWFza1tNQVhfTlVNTk9ERVNdIF9fcmVhZF9tb3N0bHk7CiAKK2ludCBudW1f bm9kZV9tZW1ibGtzOworc3RydWN0IG5vZGUgbm9kZV9tZW1ibGtfcmFuZ2VbTlJfTk9ERV9NRU1C TEtTXTsKK25vZGVpZF90IG1lbWJsa19ub2RlaWRbTlJfTk9ERV9NRU1CTEtTXTsKK3N0cnVjdCBu b2RlIG5vZGVzW01BWF9OVU1OT0RFU10gX19pbml0ZGF0YTsKKworaW50IHZhbGlkX251bWFfcmFu Z2UodTY0IHN0YXJ0LCB1NjQgZW5kLCBub2RlaWRfdCBub2RlKQoreworI2lmZGVmIENPTkZJR19O VU1BCisgICAgaW50IGk7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX25vZGVfbWVtYmxrczsg aSsrKSB7CisgICAgICAgIHN0cnVjdCBub2RlICpuZCA9ICZub2RlX21lbWJsa19yYW5nZVtpXTsK KworICAgICAgICBpZiAobmQtPnN0YXJ0IDw9IHN0YXJ0ICYmIG5kLT5lbmQgPiBlbmQgJiYKKyAg ICAgICAgICAgIG1lbWJsa19ub2RlaWRbaV0gPT0gbm9kZSApCisgICAgICAgICAgICByZXR1cm4g MTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKKyNlbHNlCisgICAgcmV0dXJuIDE7CisjZW5kaWYK K30KKworX19pbml0IGludCBjb25mbGljdGluZ19tZW1ibGtzKHU2NCBzdGFydCwgdTY0IGVuZCkK K3sKKyAgICBpbnQgaTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBudW1fbm9kZV9tZW1ibGtzOyBp KyspIHsKKyAgICAgICAgc3RydWN0IG5vZGUgKm5kID0gJm5vZGVfbWVtYmxrX3JhbmdlW2ldOwor ICAgICAgICBpZiAobmQtPnN0YXJ0ID09IG5kLT5lbmQpCisgICAgICAgICAgICBjb250aW51ZTsK KyAgICAgICAgaWYgKG5kLT5lbmQgPiBzdGFydCAmJiBuZC0+c3RhcnQgPCBlbmQpCisgICAgICAg ICAgICByZXR1cm4gaTsKKyAgICAgICAgaWYgKG5kLT5lbmQgPT0gZW5kICYmIG5kLT5zdGFydCA9 PSBzdGFydCkKKyAgICAgICAgICAgIHJldHVybiBpOworICAgIH0KKyAgICByZXR1cm4gLTE7Cit9 CisKK19faW5pdCB2b2lkIGN1dG9mZl9ub2RlKGludCBpLCB1NjQgc3RhcnQsIHU2NCBlbmQpCit7 CisgICAgc3RydWN0IG5vZGUgKm5kID0gJm5vZGVzW2ldOworICAgIGlmIChuZC0+c3RhcnQgPCBz dGFydCkgeworICAgICAgICBuZC0+c3RhcnQgPSBzdGFydDsKKyAgICAgICAgaWYgKG5kLT5lbmQg PCBuZC0+c3RhcnQpCisgICAgICAgICAgICBuZC0+c3RhcnQgPSBuZC0+ZW5kOworICAgIH0KKyAg ICBpZiAobmQtPmVuZCA+IGVuZCkgeworICAgICAgICBuZC0+ZW5kID0gZW5kOworICAgICAgICBp ZiAobmQtPnN0YXJ0ID4gbmQtPmVuZCkKKyAgICAgICAgICAgIG5kLT5zdGFydCA9IG5kLT5lbmQ7 CisgICAgfQorfQorCiAvKgogICogR2l2ZW4gYSBzaGlmdCB2YWx1ZSwgdHJ5IHRvIHBvcHVsYXRl IG1lbW5vZGVtYXBbXQogICogUmV0dXJucyA6CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20t eDg2L2FjcGkuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvYWNwaS5oCmluZGV4IGQzNmJlZTkuLmYx YThlOWQgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvYWNwaS5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS14ODYvYWNwaS5oCkBAIC0xMDYsNyArMTA2LDYgQEAgZXh0ZXJuIHZvaWQgYWNw aV9yZXNlcnZlX2Jvb3RtZW0odm9pZCk7CiAKIGV4dGVybiBzOCBhY3BpX251bWE7CiBleHRlcm4g aW50IGFjcGlfc2Nhbl9ub2Rlcyh1NjQgc3RhcnQsIHU2NCBlbmQpOwotI2RlZmluZSBOUl9OT0RF X01FTUJMS1MgKE1BWF9OVU1OT0RFUyoyKQogCiAjaWZkZWYgQ09ORklHX0FDUElfU0xFRVAKIApk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9udW1hLmggYi94ZW4vaW5jbHVkZS9hc20t eDg2L251bWEuaAppbmRleCA2MWJjZDhlLi5kZjFmN2Q1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk ZS9hc20teDg2L251bWEuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L251bWEuaApAQCAtMjgs NyArMjgsNiBAQCBleHRlcm4gaW50IHNyYXRfZGlzYWJsZWQodm9pZCk7CiBleHRlcm4gdm9pZCBz cmF0X2RldGVjdF9ub2RlKGludCBjcHUpOwogCiBleHRlcm4gbm9kZWlkX3QgYXBpY2lkX3RvX25v ZGVbXTsKLWV4dGVybiBpbnQgdmFsaWRfbnVtYV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBlbmQsIG5v ZGVpZF90IG5vZGUpOwogCiB2b2lkIHNyYXRfcGFyc2VfcmVnaW9ucyh1NjQgYWRkcik7CiBleHRl cm4gdTggX19ub2RlX2Rpc3RhbmNlKG5vZGVpZF90IGEsIG5vZGVpZF90IGIpOwpkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUveGVuL251bWEuaCBiL3hlbi9pbmNsdWRlL3hlbi9udW1hLmgKaW5kZXgg ZGQzM2M5Mi4uODEwZjc0MiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL251bWEuaAorKysg Yi94ZW4vaW5jbHVkZS94ZW4vbnVtYS5oCkBAIC0xMSw3ICsxMSw3IEBACiAjZGVmaW5lIE5VTUFf Tk9fRElTVEFOQ0UgMHhGRgogCiAjZGVmaW5lIE1BWF9OVU1OT0RFUyAgICAoMSA8PCBOT0RFU19T SElGVCkKLQorI2RlZmluZSBOUl9OT0RFX01FTUJMS1MgKE1BWF9OVU1OT0RFUyoyKQogI2RlZmlu ZSB2Y3B1X3RvX25vZGUodikgKGNwdV90b19ub2RlKCh2KS0+cHJvY2Vzc29yKSkKIAogI2RlZmlu ZSBkb21haW5fdG9fbm9kZShkKSBcCkBAIC02Niw2ICs2Niw5IEBAIHN0YXRpYyBpbmxpbmUgX19h dHRyaWJ1dGVfXygocHVyZSkpIG5vZGVpZF90IHBoeXNfdG9fbmlkKHBhZGRyX3QgYWRkcikKICNk ZWZpbmUgY2xlYXJfbm9kZV9jcHVtYXNrKGNwdSkgZG8ge30gd2hpbGUgKDApCiAjZW5kaWYgLyog Q09ORklHX05VTUEgKi8KIAorZXh0ZXJuIGludCB2YWxpZF9udW1hX3JhbmdlKHU2NCBzdGFydCwg dTY0IGVuZCwgbm9kZWlkX3Qgbm9kZSk7CitleHRlcm4gaW50IGNvbmZsaWN0aW5nX21lbWJsa3Mo dTY0IHN0YXJ0LCB1NjQgZW5kKTsKK2V4dGVybiB2b2lkIGN1dG9mZl9ub2RlKGludCBpLCB1NjQg c3RhcnQsIHU2NCBlbmQpOwogZXh0ZXJuIHZvaWQgbnVtYV9hZGRfY3B1KGludCBjcHUpOwogZXh0 ZXJuIG5vZGVpZF90IHNldHVwX25vZGUodW5zaWduZWQgaW50IHB4bSk7CiBleHRlcm4gdm9pZCBu dW1hX3NldF9ub2RlKGludCBjcHUsIG5vZGVpZF90IG5vZGUpOwotLSAKMi43LjQKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK