From mboxrd@z Thu Jan 1 00:00:00 1970 From: vijay.kilari@gmail.com Subject: [RFC PATCH v2 20/25] ARM: NUMA: Extract MPIDR from MADT table Date: Tue, 28 Mar 2017 21:23:28 +0530 Message-ID: <1490716413-19796-21-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 RnJvbTogVmlqYXlhIEt1bWFyIEsgPFZpamF5YS5LdW1hckBjYXZpdW0uY29tPgoKUGFyc2UgTUFE VCB0YWJsZSBhbmQgZXh0cmFjdCBNUElEUiBmb3IgYWxsCkNQVSBJRHMgaW4gTUFEVCBBQ1BJX01B RFRfVFlQRV9HRU5FUklDX0lOVEVSUlVQVCBlbnRyaWVzCmFuZCBzdG9yZSBpbiBjcHVpZF90b19o d2lkX21hcFtdCgpUaGlzIG1hcHBpbmcgaXMgdXNlZCBieSBTUkFUIHRhYmxlIHBhcnNpbmcgdG8K ZXh0cmFjdCBNUElEUiBvZiB0aGUgQ1BVIElELgoKU2lnbmVkLW9mZi1ieTogVmlqYXlhIEt1bWFy IDxWaWpheWEuS3VtYXJAY2F2aXVtLmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0vbnVtYS9NYWtlZmls ZSAgICB8ICAxICsKIHhlbi9hcmNoL2FybS9udW1hL2FjcGlfbnVtYS5jIHwgOTQgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gvYXJtL251bWEvbnVt YS5jICAgICAgfCAgNiArKysKIDMgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vbnVtYS9NYWtlZmlsZSBiL3hlbi9hcmNoL2FybS9udW1h L01ha2VmaWxlCmluZGV4IDNhZjNhZmYuLmI1NDk0NTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2Fy bS9udW1hL01ha2VmaWxlCisrKyBiL3hlbi9hcmNoL2FybS9udW1hL01ha2VmaWxlCkBAIC0xLDIg KzEsMyBAQAogb2JqLXkgKz0gZHRfbnVtYS5vCiBvYmoteSArPSBudW1hLm8KK29iai0kKENPTkZJ R19BQ1BJX05VTUEpICs9IGFjcGlfbnVtYS5vCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vbnVt YS9hY3BpX251bWEuYyBiL3hlbi9hcmNoL2FybS9udW1hL2FjcGlfbnVtYS5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1YjNkMzUKLS0tIC9kZXYvbnVsbAorKysgYi94ZW4v YXJjaC9hcm0vbnVtYS9hY3BpX251bWEuYwpAQCAtMCwwICsxLDk0IEBACisvKgorICogQUNQSSBi YXNlZCBOVU1BIHNldHVwCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE2IC0gQ2F2aXVtIEluYy4K KyAqIFZpamF5YSBLdW1hciBLIDxWaWpheWEuS3VtYXJAY2F2aXVtLmNvbT4KKyAqCisgKiBSZWFk cyB0aGUgQUNQSSBNQURUIGFuZCBTUkFUIHRhYmxlIHRvIHNldHVwIE5VTUEgaW5mb3JtYXRpb24u CisgKiBDb250YWlucyBFeGNlcnB0cyBmcm9tIHg4NiBpbXBsZW1lbnRhdGlvbgorICoKKyAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqLworCisjaW5jbHVkZSA8 eGVuL2luaXQuaD4KKyNpbmNsdWRlIDx4ZW4vbW0uaD4KKyNpbmNsdWRlIDx4ZW4vaW50dHlwZXMu aD4KKyNpbmNsdWRlIDx4ZW4vbm9kZW1hc2suaD4KKyNpbmNsdWRlIDx4ZW4vYWNwaS5oPgorI2lu Y2x1ZGUgPHhlbi9udW1hLmg+CisjaW5jbHVkZSA8eGVuL3Bmbi5oPgorI2luY2x1ZGUgPGFjcGkv c3JhdC5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL2FjcGkuaD4KKwor LyogSG9sZHMgQ1BVSUQgdG8gTVBJRFIgbWFwcGluZyByZWFkIGZyb20gTUFEVCB0YWJsZS4gKi8K K3N0cnVjdCBjcHVpZF90b19od2lkIHsKKyAgICB1aW50MzJfdCBjcHVpZDsKKyAgICB1aW50NjRf dCBod2lkOworfTsKKworI2RlZmluZSBQSFlTX0NQVUlEX0lOVkFMSUQgMHhmZgorCisvKiBIb2xk cyBtYXBwaW5nIG9mIENQVSBpZCB0byBNUElEUiByZWFkIGZyb20gTUFEVCAqLworc3RhdGljIHN0 cnVjdCBjcHVpZF90b19od2lkIF9fcmVhZF9tb3N0bHkgY3B1aWRfdG9faHdpZF9tYXBbTlJfQ1BV U10gPQorICAgIHsgWzAgLi4uIE5SX0NQVVMgLSAxXSA9IHtQSFlTX0NQVUlEX0lOVkFMSUQsIE1Q SURSX0lOVkFMSUR9IH07CitzdGF0aWMgdW5zaWduZWQgaW50IG51bV9jcHVpZF90b19od2lkOwor CitzdGF0aWMgdm9pZCBfX2luaXQgYWNwaV9tYXBfY3B1X3RvX2h3aWQodWludDMyX3QgY3B1aWQs IHVpbnQ2NF90IG1waWRyKQoreworICAgIGlmICggbXBpZHIgPT0gTVBJRFJfSU5WQUxJRCApCisg ICAgeworICAgICAgICBwcmludGsoIlNraXAgTUFEVCBjcHUgZW50cnkgd2l0aCBpbnZhbGlkIE1Q SURSXG4iKTsKKyAgICAgICAgbnVtYV9mYWlsZWQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K KworICAgIGNwdWlkX3RvX2h3aWRfbWFwW251bV9jcHVpZF90b19od2lkXS5od2lkID0gbXBpZHI7 CisgICAgY3B1aWRfdG9faHdpZF9tYXBbbnVtX2NwdWlkX3RvX2h3aWRdLmNwdWlkID0gY3B1aWQ7 CisgICAgbnVtX2NwdWlkX3RvX2h3aWQrKzsKK30KKworc3RhdGljIGludCBfX2luaXQgYWNwaV9w YXJzZV9tYWR0X2hhbmRsZXIoc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBs b25nIGVuZCkKK3sKKyAgICB1aW50NjRfdCBtcGlkcjsKKyAgICBzdHJ1Y3QgYWNwaV9tYWR0X2dl bmVyaWNfaW50ZXJydXB0ICpwID0KKyAgICAgICAgICAgICAgIGNvbnRhaW5lcl9vZihoZWFkZXIs IHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19pbnRlcnJ1cHQsIGhlYWRlcik7CisKKyAgICBpZiAo IEJBRF9NQURUX0VOVFJZKHAsIGVuZCkgKQorICAgIHsKKyAgICAgICAgLyogVGhvdWdoIE1BRFQg aXMgaW52YWxpZCwgd2UgZGlzYWJsZSBOVU1BIGJ5IGNhbGxpbmcgbnVtYV9mYWlsZWQoKSAqLwor ICAgICAgICBudW1hX2ZhaWxlZCgpOworICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisK KyAgICBhY3BpX3RhYmxlX3ByaW50X21hZHRfZW50cnkoaGVhZGVyKTsKKyAgICBtcGlkciA9IHAt PmFybV9tcGlkciAmIE1QSURSX0hXSURfTUFTSzsKKyAgICBhY3BpX21hcF9jcHVfdG9faHdpZChw LT51aWQsIG1waWRyKTsKKworICAgIHJldHVybiAwOworfQorCit2b2lkIF9faW5pdCBhY3BpX21h cF91aWRfdG9fbXBpZHIodm9pZCkKK3sKKyAgICBhY3BpX3RhYmxlX3BhcnNlX21hZHQoQUNQSV9N QURUX1RZUEVfR0VORVJJQ19JTlRFUlJVUFQsCisgICAgICAgICAgICAgICAgICAgIGFjcGlfcGFy c2VfbWFkdF9oYW5kbGVyLCBOUl9DUFVTKTsKK30KKwordm9pZCBfX2luaXQgYWNwaV9udW1hX2Fy Y2hfZml4dXAodm9pZCkge30KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMK KyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiBpbmRlbnQt dGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL251 bWEvbnVtYS5jIGIveGVuL2FyY2gvYXJtL251bWEvbnVtYS5jCmluZGV4IDg5MWQzMDQuLjk1ODA4 NWMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9udW1hL251bWEuYworKysgYi94ZW4vYXJjaC9h cm0vbnVtYS9udW1hLmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxhc20vYWNwaS5oPgog I2luY2x1ZGUgPHhlbi9lcnJuby5oPgogI2luY2x1ZGUgPHhlbi9wZm4uaD4KKyNpbmNsdWRlIDxh Y3BpL3NyYXQuaD4KIAogc3RhdGljIHVpbnQ4X3QgKCpub2RlX2Rpc3RhbmNlX2ZuKShub2RlaWRf dCBhLCBub2RlaWRfdCBiKTsKIApAQCAtNjksNiArNzAsMTEgQEAgdm9pZCBudW1hX2ZhaWxlZCh2 b2lkKQogICAgIGluaXRfZHRfbnVtYV9kaXN0YW5jZSgpOwogICAgIG5vZGVfZGlzdGFuY2VfZm4g PSBOVUxMOwogICAgIGluaXRfY3B1X3RvX25vZGUoKTsKKworI2lmZGVmIENPTkZJR19BQ1BJX05V TUEKKyAgICBzZXRfYWNwaV9udW1hKDApOworICAgIHJlc2V0X3B4bTJub2RlKCk7CisjZW5kaWYK IH0KIAogaW50IF9faW5pdCBhcmNoX3Nhbml0aXplX25vZGVzX21lbW9yeSh2b2lkKQotLSAKMi43 LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK