From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v5 08/22] arm/acpi: Parse MADT to map logical cpu to MPIDR and get cpu_possible_map Date: Fri, 26 Feb 2016 12:18:00 +0000 Message-ID: References: <1456467780-8476-1-git-send-email-zhaoshenglong@huawei.com> <1456467780-8476-9-git-send-email-zhaoshenglong@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1456467780-8476-9-git-send-email-zhaoshenglong@huawei.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Shannon Zhao Cc: ian.campbell@citrix.com, peter.huangpeng@huawei.com, xen-devel@lists.xen.org, stefano.stabellini@citrix.com, shannon.zhao@linaro.org, Jan Beulich List-Id: xen-devel@lists.xenproject.org T24gRnJpLCAyNiBGZWIgMjAxNiwgU2hhbm5vbiBaaGFvIHdyb3RlOgo+IEZyb206IFBhcnRoIERp eGl0IDxwYXJ0aC5kaXhpdEBsaW5hcm8ub3JnPgo+IAo+IE1BRFQgY29udGFpbnMgdGhlIGluZm9y bWF0aW9uIGZvciBNUElEUiB3aGljaCBpcyBlc3NlbnRpYWwgZm9yIFNNUAo+IGluaXRpYWxpemF0 aW9uLCBwYXJzZSB0aGUgR0lDIGNwdSBpbnRlcmZhY2Ugc3RydWN0dXJlcyB0byBnZXQgdGhlIE1Q SURSCj4gdmFsdWUgYW5kIG1hcCBpdCB0byBjcHVfbG9naWNhbF9tYXAoKSwgYW5kIGFkZCBlbmFi bGVkIGNwdSB3aXRoIHZhbGlkCj4gTVBJRFIgaW50byBjcHVfcG9zc2libGVfbWFwLgo+IAo+IE1v dmUgQkFEX01BRFRfRU5UUlkgdG8gY29tbW9uIHBsYWNlIGFuZCBwYXJlbnRoZXNpemUgaXRzIHBh cmFtZXRlcnMuCj4gCj4gQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KPiBTaWdu ZWQtb2ZmLWJ5OiBIYW5qdW4gR3VvIDxoYW5qdW4uZ3VvQGxpbmFyby5vcmc+Cj4gU2lnbmVkLW9m Zi1ieTogVG9tYXN6IE5vd2lja2kgPHRvbWFzei5ub3dpY2tpQGxpbmFyby5vcmc+Cj4gU2lnbmVk LW9mZi1ieTogTmFyZXNoIEJoYXQgPG5hcmVzaC5iaGF0QGxpbmFyby5vcmc+Cj4gU2lnbmVkLW9m Zi1ieTogUGFydGggRGl4aXQgPHBhcnRoLmRpeGl0QGxpbmFyby5vcmc+Cj4gU2lnbmVkLW9mZi1i eTogU2hhbm5vbiBaaGFvIDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KPiAtLS0KPiBWNTogZHJv cCBib290Y3B1X3ZhbGlkIGFuZCBwYXJlbnRoZXNpemUgcGFyYW1ldGVycyBvZiBCQURfTUFEVF9F TlRSWQo+IFY0OiBmaXggY29kaW5nIHN0eWxlIGFuZCBhZGRyZXNzIHNvbWUgY29tbWVudHMKPiAt LS0KPiAgeGVuL2FyY2gvYXJtL2FjcGkvYm9vdC5jICAgfCAxMjEgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIHhlbi9hcmNoL3g4Ni9hY3BpL2Jvb3QuYyAg IHwgICA0IC0tCj4gIHhlbi9pbmNsdWRlL2FzbS1hcm0vYWNwaS5oIHwgICAxICsKPiAgeGVuL2lu Y2x1ZGUveGVuL2FjcGkuaCAgICAgfCAgIDQgKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCAxMjYgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt L2FjcGkvYm9vdC5jIGIveGVuL2FyY2gvYXJtL2FjcGkvYm9vdC5jCj4gaW5kZXggNmIzM2ZiZS4u MDY2YjU5MCAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vYWNwaS9ib290LmMKPiArKysgYi94 ZW4vYXJjaC9hcm0vYWNwaS9ib290LmMKPiBAQCAtMzIsNiArMzIsMTI3IEBACj4gICNpbmNsdWRl IDx4ZW4vbW0uaD4KPiAgCj4gICNpbmNsdWRlIDxhc20vYWNwaS5oPgo+ICsjaW5jbHVkZSA8YXNt L3NtcC5oPgo+ICsKPiArLyogUHJvY2Vzc29ycyB3aXRoIGVuYWJsZWQgZmxhZyBhbmQgc2FuZSBN UElEUiAqLwo+ICtzdGF0aWMgdW5zaWduZWQgaW50IGVuYWJsZWRfY3B1czsKPiArCj4gKy8qIHRv dGFsIG51bWJlciBvZiBjcHVzIGluIHRoaXMgc3lzdGVtICovCj4gK3N0YXRpYyB1bnNpZ25lZCBp bnQgX19pbml0ZGF0YSB0b3RhbF9jcHVzOwo+ICsKPiArLyoKPiArICogYWNwaV9tYXBfZ2ljX2Nw dV9pbnRlcmZhY2UgLSBnZW5lcmF0ZXMgYSBsb2dpY2FsIGNwdSBudW1iZXIKPiArICogYW5kIG1h cCB0byBNUElEUiByZXByZXNlbnRlZCBieSBHSUNDIHN0cnVjdHVyZQo+ICsgKi8KPiArc3RhdGlj IHZvaWQgX19pbml0Cj4gK2FjcGlfbWFwX2dpY19jcHVfaW50ZXJmYWNlKHN0cnVjdCBhY3BpX21h ZHRfZ2VuZXJpY19pbnRlcnJ1cHQgKnByb2Nlc3NvcikKPiArewo+ICsgICAgaW50IGk7Cj4gKyAg ICB1NjQgbXBpZHIgPSBwcm9jZXNzb3ItPmFybV9tcGlkciAmIE1QSURSX0hXSURfTUFTSzsKPiAr ICAgIGJvb2xfdCBlbmFibGVkID0gISEocHJvY2Vzc29yLT5mbGFncyAmIEFDUElfTUFEVF9FTkFC TEVEKTsKPiArCj4gKyAgICBpZiAoIG1waWRyID09IE1QSURSX0lOVkFMSUQgKQo+ICsgICAgewo+ ICsgICAgICAgIHByaW50aygiU2tpcCBNQURUIGNwdSBlbnRyeSB3aXRoIGludmFsaWQgTVBJRFJc biIpOwo+ICsgICAgICAgIHJldHVybjsKPiArICAgIH0KPiArCj4gKyAgICB0b3RhbF9jcHVzKys7 Cj4gKyAgICBpZiAoICFlbmFibGVkICkKPiArICAgICAgICByZXR1cm47Cj4gKwo+ICsgICAgaWYg KCBlbmFibGVkX2NwdXMgPj0gIE5SX0NQVVMgKQo+ICsgICAgewo+ICsgICAgICAgIHByaW50aygi TlJfQ1BVUyBsaW1pdCBvZiAlZCByZWFjaGVkLCBQcm9jZXNzb3IgJWQvMHglIlBSSXg2NCIgaWdu b3JlZC5cbiIsCj4gKyAgICAgICAgICAgICAgIE5SX0NQVVMsIHRvdGFsX2NwdXMsIG1waWRyKTsK PiArICAgICAgICByZXR1cm47Cj4gKyAgICB9Cj4gKwo+ICsgICAgLyogQ2hlY2sgaWYgR0lDQyBz dHJ1Y3R1cmUgb2YgYm9vdCBDUFUgaXMgYXZhaWxhYmxlIGluIHRoZSBNQURUICovCj4gKyAgICBp ZiAoIChlbmFibGVkX2NwdXMgPT0gMCkgJiYgKGNwdV9sb2dpY2FsX21hcCgwKSAhPSBtcGlkcikg KQo+ICsgICAgewo+ICsgICAgICAgIHByaW50aygiRmlybXdhcmUgYnVnLCBkdXBsaWNhdGUgQ1BV IE1QSURSOiAweCUiUFJJeDY0IiBpbiBNQURUXG4iLAo+ICsgICAgICAgICAgICAgICBtcGlkcik7 CgpQbGVhc2UgY2hhbmdlIHRoaXMgZXJyb3IgbWVzc2FnZSBpbnRvIHNvbWV0aGluZyBtb3JlIGFw cHJvcHJpYXRlLCBsaWtlOgoKICAgICAgICBwcmludGsoIkZpcm13YXJlIGJ1ZywgaW52YWxpZCBD UFUgTVBJRFIgZm9yIGNwdTA6IDB4JSJQUkl4NjQiIGluIE1BRFRcbiIsCiAgICAgICAgICAgICAg ICBtcGlkcik7Cgp3aXRoIHRoaXMgY2hhbmdlOgoKUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVs bGluaSA8c3RlZmFuby5zdGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+CgoKPiArICAgICAgICByZXR1 cm47Cj4gKyAgICB9Cj4gKwo+ICsgICAgLyoKPiArICAgICAqIER1cGxpY2F0ZSBNUElEUnMgYXJl IGEgcmVjaXBlIGZvciBkaXNhc3Rlci4gU2Nhbgo+ICsgICAgICogYWxsIGluaXRpYWxpemVkIGVu dHJpZXMgYW5kIGNoZWNrIGZvcgo+ICsgICAgICogZHVwbGljYXRlcy4gSWYgYW55IGlzIGZvdW5k IGp1c3QgaWdub3JlIHRoZSBDUFUuCj4gKyAgICAgKi8KPiArICAgIGZvciAoIGkgPSAwOyBpIDwg ZW5hYmxlZF9jcHVzOyBpKysgKQo+ICsgICAgewo+ICsgICAgICAgIGlmICggY3B1X2xvZ2ljYWxf bWFwKGkpID09IG1waWRyICkKPiArICAgICAgICB7Cj4gKyAgICAgICAgICAgIHByaW50aygiRmly bXdhcmUgYnVnLCBkdXBsaWNhdGUgQ1BVIE1QSURSOiAweCUiUFJJeDY0IiBpbiBNQURUXG4iLAo+ ICsgICAgICAgICAgICAgICAgICAgbXBpZHIpOwo+ICsgICAgICAgICAgICByZXR1cm47Cj4gKyAg ICAgICAgfQo+ICsgICAgfQo+ICsKPiArICAgIGlmICggIWFjcGlfcHNjaV9wcmVzZW50KCkgKQo+ ICsgICAgICAgIHJldHVybjsKPiArCj4gKyAgICAvKiBDUFUgMCB3YXMgYWxyZWFkeSBpbml0aWFs aXplZCAqLwo+ICsgICAgaWYgKCBlbmFibGVkX2NwdXMgKQo+ICsgICAgewo+ICsgICAgICAgIGlm ICggYXJjaF9jcHVfaW5pdChlbmFibGVkX2NwdXMsIE5VTEwpIDwgMCApCj4gKyAgICAgICAgICAg IHJldHVybjsKPiArCj4gKyAgICAgICAgLyogbWFwIHRoZSBsb2dpY2FsIGNwdSBpZCB0byBjcHUg TVBJRFIgKi8KPiArICAgICAgICBjcHVfbG9naWNhbF9tYXAoZW5hYmxlZF9jcHVzKSA9IG1waWRy Owo+ICsgICAgfQo+ICsKPiArICAgIGVuYWJsZWRfY3B1cysrOwo+ICt9Cj4gKwo+ICtzdGF0aWMg aW50IF9faW5pdAo+ICthY3BpX3BhcnNlX2dpY19jcHVfaW50ZXJmYWNlKHN0cnVjdCBhY3BpX3N1 YnRhYmxlX2hlYWRlciAqaGVhZGVyLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IHVuc2lnbmVkIGxvbmcgZW5kKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVy aWNfaW50ZXJydXB0ICpwcm9jZXNzb3IgPQo+ICsgICAgICAgICAgICAgICBjb250YWluZXJfb2Yo aGVhZGVyLCBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0LCBoZWFkZXIpOwo+ICsK PiArICAgIGlmICggQkFEX01BRFRfRU5UUlkocHJvY2Vzc29yLCBlbmQpICkKPiArICAgICAgICBy ZXR1cm4gLUVJTlZBTDsKPiArCj4gKyAgICBhY3BpX3RhYmxlX3ByaW50X21hZHRfZW50cnkoaGVh ZGVyKTsKPiArICAgIGFjcGlfbWFwX2dpY19jcHVfaW50ZXJmYWNlKHByb2Nlc3Nvcik7Cj4gKyAg ICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogUGFyc2UgR0lDIGNwdSBpbnRlcmZhY2UgZW50cmll cyBpbiBNQURUIGZvciBTTVAgaW5pdCAqLwo+ICt2b2lkIF9faW5pdCBhY3BpX3NtcF9pbml0X2Nw dXModm9pZCkKPiArewo+ICsgICAgaW50IGNvdW50LCBpOwo+ICsKPiArICAgIC8qCj4gKyAgICAg KiBkbyBhIHBhcnRpYWwgd2FsayBvZiBNQURUIHRvIGRldGVybWluZSBob3cgbWFueSBDUFVzCj4g KyAgICAgKiB3ZSBoYXZlIGluY2x1ZGluZyBkaXNhYmxlZCBDUFVzLCBhbmQgZ2V0IGluZm9ybWF0 aW9uCj4gKyAgICAgKiB3ZSBuZWVkIGZvciBTTVAgaW5pdAo+ICsgICAgICovCj4gKyAgICBjb3Vu dCA9IGFjcGlfdGFibGVfcGFyc2VfbWFkdChBQ1BJX01BRFRfVFlQRV9HRU5FUklDX0lOVEVSUlVQ VCwKPiArICAgICAgICAgICAgICAgICAgICBhY3BpX3BhcnNlX2dpY19jcHVfaW50ZXJmYWNlLCAw KTsKPiArCj4gKyAgICBpZiAoIGNvdW50IDw9IDAgKQo+ICsgICAgewo+ICsgICAgICAgIHByaW50 aygiRXJyb3IgcGFyc2luZyBHSUMgQ1BVIGludGVyZmFjZSBlbnRyeVxuIik7Cj4gKyAgICAgICAg cmV0dXJuOwo+ICsgICAgfQo+ICsKPiArICAgIGlmICggZW5hYmxlZF9jcHVzID4gMSApCj4gKyAg ICB7Cj4gKyAgICAgICAgcHJpbnRrKCJNQURUIG1pc3NpbmcgYm9vdCBDUFUgTVBJRFIsIG5vdCBl bmFibGluZyBzZWNvbmRhcmllc1xuIik7Cj4gKyAgICAgICAgcmV0dXJuOwo+ICsgICAgfQo+ICsK PiArICAgIGZvciAoIGkgPSAwOyBpIDwgZW5hYmxlZF9jcHVzOyBpKysgKQo+ICsgICAgICAgIGNw dW1hc2tfc2V0X2NwdShpLCAmY3B1X3Bvc3NpYmxlX21hcCk7Cj4gKwo+ICsgICAgLyogTWFrZSBi b290LXVwIGxvb2sgcHJldHR5ICovCj4gKyAgICBwcmludGsoIiVkIENQVXMgZW5hYmxlZCwgJWQg Q1BVcyB0b3RhbFxuIiwgZW5hYmxlZF9jcHVzLCB0b3RhbF9jcHVzKTsKPiArfQo+ICAKPiAgc3Rh dGljIGludCBfX2luaXQgYWNwaV9wYXJzZV9mYWR0KHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAq dGFibGUpCj4gIHsKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2FjcGkvYm9vdC5jIGIveGVu L2FyY2gveDg2L2FjcGkvYm9vdC5jCj4gaW5kZXggZmFjMzZjNi4uMzg1YzBiZSAxMDA2NDQKPiAt LS0gYS94ZW4vYXJjaC94ODYvYWNwaS9ib290LmMKPiArKysgYi94ZW4vYXJjaC94ODYvYWNwaS9i b290LmMKPiBAQCAtNDMsMTAgKzQzLDYgQEAKPiAgI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgo+ICAj aW5jbHVkZSA8bWFjaF9tcHBhcnNlLmg+Cj4gIAo+IC0jZGVmaW5lIEJBRF9NQURUX0VOVFJZKGVu dHJ5LCBlbmQpICgJCQkJCSAgICBcCj4gLQkJKCFlbnRyeSkgfHwgKHVuc2lnbmVkIGxvbmcpZW50 cnkgKyBzaXplb2YoKmVudHJ5KSA+IGVuZCB8fCAgXAo+IC0JCSgoc3RydWN0IGFjcGlfc3VidGFi bGVfaGVhZGVyICopZW50cnkpLT5sZW5ndGggIT0gc2l6ZW9mKCplbnRyeSkpCj4gLQo+ICAjZGVm aW5lIFBSRUZJWAkJCSJBQ1BJOiAiCj4gIAo+ICBib29sX3QgX19pbml0ZGF0YSBhY3BpX25vaXJx OwkvKiBza2lwIEFDUEkgSVJRIGluaXRpYWxpemF0aW9uICovCj4gZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL2FzbS1hcm0vYWNwaS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9hY3BpLmgKPiBpbmRl eCBmMTMwNzJmLi5hMGYyZjI0IDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vYWNw aS5oCj4gKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9hY3BpLmgKPiBAQCAtMzIsNiArMzIsNyBA QAo+ICAKPiAgYm9vbF90IF9faW5pdCBhY3BpX3BzY2lfcHJlc2VudCh2b2lkKTsKPiAgYm9vbF90 IF9faW5pdCBhY3BpX3BzY2lfaHZjX3ByZXNlbnQodm9pZCk7Cj4gK3ZvaWQgX19pbml0IGFjcGlf c21wX2luaXRfY3B1cyh2b2lkKTsKPiAgCj4gICNpZmRlZiBDT05GSUdfQUNQSQo+ICBleHRlcm4g Ym9vbF90IGFjcGlfZGlzYWJsZWQ7Cj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9hY3Bp LmggYi94ZW4vaW5jbHVkZS94ZW4vYWNwaS5oCj4gaW5kZXggNjVlNTNhNi4uODk0OTE3YiAxMDA2 NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS94ZW4vYWNwaS5oCj4gKysrIGIveGVuL2luY2x1ZGUveGVu L2FjcGkuaAo+IEBAIC0zOSw2ICszOSwxMCBAQAo+ICAjZGVmaW5lIEFDUElfTUFEVF9HRVRfUE9M QVJJVFkoaW50aSkJQUNQSV9NQURUX0dFVF8oUE9MQVJJVFksIGludGkpCj4gICNkZWZpbmUgQUNQ SV9NQURUX0dFVF9UUklHR0VSKGludGkpCUFDUElfTUFEVF9HRVRfKFRSSUdHRVIsIGludGkpCj4g IAo+ICsjZGVmaW5lIEJBRF9NQURUX0VOVFJZKGVudHJ5LCBlbmQpICggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICAgICAgICAgICAgKCEoZW50cnkpKSB8 fCAodW5zaWduZWQgbG9uZykoZW50cnkpICsgc2l6ZW9mKCooZW50cnkpKSA+IChlbmQpIHx8ICBc Cj4gKyAgICAgICAgICAgICAgICAoKHN0cnVjdCBhY3BpX3N1YnRhYmxlX2hlYWRlciAqKShlbnRy eSkpLT5sZW5ndGggPCBzaXplb2YoKihlbnRyeSkpKQo+ICsKPiAgI2lmZGVmIENPTkZJR19BQ1BJ X0JPT1QKPiAgCj4gIGVudW0gYWNwaV9pbnRlcnJ1cHRfaWQgewo+IC0tIAo+IDIuMC40Cj4gCj4g CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=