From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [RFC Patch v4 4/8] hvmloader: boot cpu through broadcast Date: Wed, 6 Dec 2017 15:50:10 +0800 Message-ID: <1512546614-9937-5-git-send-email-chao.gao@intel.com> References: <1512546614-9937-1-git-send-email-chao.gao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1512546614-9937-1-git-send-email-chao.gao@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Ian Jackson , Andrew Cooper , Wei Liu , Jan Beulich , Chao Gao List-Id: xen-devel@lists.xenproject.org SW50ZWwgU0RNIEV4dGVuZGVkIFhBUElDIChYMkFQSUMpIC0+ICJJbml0aWFsaXphdGlvbiBieSBT eXN0ZW0gU29mdHdhcmUiCmhhcyB0aGUgZm9sbG93aW5nIGRlc2NyaXB0aW9uOgoKIlRoZSBBQ1BJ IGludGVyZmFjZXMgZm9yIHRoZSB4MkFQSUMgYXJlIGRlc2NyaWJlZCBpbiBTZWN0aW9uIDUuMiwg 4oCcQUNQSSBTeXN0ZW0KRGVzY3JpcHRpb24gVGFibGVzLOKAnSBvZiB0aGUgQWR2YW5jZWQgQ29u ZmlndXJhdGlvbiBhbmQgUG93ZXIgSW50ZXJmYWNlClNwZWNpZmljYXRpb24sIFJldmlzaW9uIDQu MGEgKGh0dHA6Ly93d3cuYWNwaS5pbmZvL3NwZWMuaHRtKS4gVGhlIGRlZmF1bHQKYmVoYXZpb3Ig Zm9yIEJJT1MgaXMgdG8gcGFzcyB0aGUgY29udHJvbCB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSB3 aXRoIHRoZQpsb2NhbCB4MkFQSUNzIGluIHhBUElDIG1vZGUgaWYgYWxsIEFQSUMgSURzIHJlcG9y dGVkIGJ5IENQVUlELjBCSDpFRFggYXJlIGxlc3MKdGhhbiAyNTUsIGFuZCBpbiB4MkFQSUMgbW9k ZSBpZiB0aGVyZSBhcmUgYW55IGxvZ2ljYWwgcHJvY2Vzc29yIHJlcG9ydGluZyBhbgpBUElDIElE IG9mIDI1NSBvciBncmVhdGVyLiIKCkluIHRoaXMgcGF0Y2gsIGh2bWxvYWRlciBlbmFibGVzIHgy YXBpYyBtb2RlIGZvciBhbGwgdmNwdXMgaWYgdGhlcmUgYXJlIGNwdXMKd2l0aCBBUElDIElEID4g MjU1LiBUbyB3YWtlIHVwIHByb2Nlc3NvcnMgd2hvc2UgQVBJQyBJRCBpcyBncmVhdGVyIHRoYW4g MjU1LAp0aGUgU0lQSSBpcyBicm9hZGNhc3RlZCB0byBhbGwgQVBzLiBJdCBpcyB0aGUgd2F5IGhv dyBTZWFiaW9zIHdha2VzIHVwIEFQcy4KQVBzIG1heSBjb21wZXRlIGZvciB0aGUgc3RhY2ssIHRo dXMgYSBsb2NrIGlzIGludHJvZHVjZWQgdG8gcHJvdGVjdCB0aGUgc3RhY2suCgpTaWduZWQtb2Zm LWJ5OiBDaGFvIEdhbyA8Y2hhby5nYW9AaW50ZWwuY29tPgotLS0KdjQ6CiAtIG5ldwotLS0KIHRv b2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hcGljX3JlZ3MuaCB8ICA0ICsrKwogdG9vbHMvZmlybXdh cmUvaHZtbG9hZGVyL3NtcC5jICAgICAgIHwgNjQgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2FwaWNfcmVncy5oIGIv dG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2FwaWNfcmVncy5oCmluZGV4IGY3MzdiNDcuLmJjMzll Y2QgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9hcGljX3JlZ3MuaAorKysg Yi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvYXBpY19yZWdzLmgKQEAgLTEwNSw2ICsxMDUsMTAg QEAKICNkZWZpbmUgICAgIEFQSUNfVERSX0RJVl82NCAgICAgICAgICAweDkKICNkZWZpbmUgICAg IEFQSUNfVERSX0RJVl8xMjggICAgICAgICAweEEKIAorI2RlZmluZSBNU1JfSUEzMl9BUElDQkFT RSAgICAgICAgICAgIDB4MWIKKyNkZWZpbmUgTVNSX0lBMzJfQVBJQ0JBU0VfRVhURCAgICAgICAo MTw8MTApCisjZGVmaW5lIE1TUl9JQTMyX0FQSUNCQVNFX01TUiAgICAgICAgMHg4MDAKKwogI2Vu ZGlmCiAKIC8qCmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIvc21wLmMgYi90 b29scy9maXJtd2FyZS9odm1sb2FkZXIvc21wLmMKaW5kZXggMDgyYjE3Zi4uZTNkYWRlNCAxMDA2 NDQKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3NtcC5jCisrKyBiL3Rvb2xzL2Zpcm13 YXJlL2h2bWxvYWRlci9zbXAuYwpAQCAtMjYsNyArMjYsOSBAQAogI2RlZmluZSBBUF9CT09UX0VJ UCAweDEwMDAKIGV4dGVybiBjaGFyIGFwX2Jvb3Rfc3RhcnRbXSwgYXBfYm9vdF9lbmRbXTsKIAot c3RhdGljIGludCBhcF9jYWxsaW4sIGFwX2NwdWlkOworc3RhdGljIGludCBhcF9jYWxsaW47Citz dGF0aWMgaW50IGVuYWJsZV94MmFwaWM7CitzdGF0aWMgYm9vbCBsb2NrID0gMTsKIAogYXNtICgK ICAgICAiICAgIC50ZXh0ICAgICAgICAgICAgICAgICAgICAgICBcbiIKQEAgLTQ3LDcgKzQ5LDE1 IEBAIGFzbSAoCiAgICAgIiAgICBtb3YgICAlZWF4LCVkcyAgICAgICAgICAgICAgXG4iCiAgICAg IiAgICBtb3YgICAlZWF4LCVlcyAgICAgICAgICAgICAgXG4iCiAgICAgIiAgICBtb3YgICAlZWF4 LCVzcyAgICAgICAgICAgICAgXG4iCi0gICAgIiAgICBtb3ZsICAkc3RhY2tfdG9wLCVlc3AgICAg ICAgXG4iCisgICAgIjM6ICBtb3ZiICAkMSwgJWJsICAgICAgICAgICAgICAgXG4iCisgICAgIiAg ICBtb3YgICAkbG9jaywlZWR4ICAgICAgICAgICAgXG4iCisgICAgIiAgICBtb3Z6YmwgJWJsLCVl YXggICAgICAgICAgICAgXG4iCisgICAgIiAgICB4Y2hnICAlYWwsICglZWR4KSAgICAgICAgICAg XG4iCisgICAgIiAgICB0ZXN0ICAlYWwsJWFsICAgICAgICAgICAgICAgXG4iCisgICAgIiAgICBq ZSAgICAyZiAgICAgICAgICAgICAgICAgICAgXG4iCisgICAgIiAgICBwYXVzZSAgICAgICAgICAg ICAgICAgICAgICAgXG4iCisgICAgIiAgICBqbXAgICAzYiAgICAgICAgICAgICAgICAgICAgXG4i CisgICAgIjI6ICBtb3ZsICAkc3RhY2tfdG9wLCVlc3AgICAgICAgXG4iCiAgICAgIiAgICBtb3Zs ICAlZXNwLCVlYnAgICAgICAgICAgICAgXG4iCiAgICAgIiAgICBjYWxsICBhcF9zdGFydCAgICAg ICAgICAgICAgXG4iCiAgICAgIjE6ICBobHQgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCkBA IC02OCwxNCArNzgsMzQgQEAgYXNtICgKICAgICAiICAgIC50ZXh0ICAgICAgICAgICAgICAgICAg ICAgICBcbiIKICAgICApOwogCit1bnNpZ25lZCBpbnQgYXBfY3B1aWQodm9pZCkKK3sKKyAgICBp ZiAoICEocmRtc3IoTVNSX0lBMzJfQVBJQ0JBU0UpICYgTVNSX0lBMzJfQVBJQ0JBU0VfRVhURCkg KQorICAgIHsKKyAgICAgICAgdWludDMyX3QgZWF4LCBlYngsIGVjeCwgZWR4OworCisgICAgICAg IGNwdWlkKDEsICZlYXgsICZlYngsICZlY3gsICZlZHgpOworICAgICAgICByZXR1cm4gZWJ4ID4+ IDI0OworICAgIH0KKyAgICBlbHNlCisgICAgICAgIHJldHVybiByZG1zcihNU1JfSUEzMl9BUElD QkFTRV9NU1IgKyAoQVBJQ19JRCA+PiA0KSk7Cit9CisKIHZvaWQgYXBfc3RhcnQodm9pZCk7IC8q IG5vbi1zdGF0aWMgYXZvaWRzIHVudXNlZC1mdW5jdGlvbiBjb21waWxlciB3YXJuaW5nICovCiAv KnN0YXRpYyovIHZvaWQgYXBfc3RhcnQodm9pZCkKIHsKLSAgICBwcmludGYoIiAtIENQVSVkIC4u LiAiLCBhcF9jcHVpZCk7CisgICAgcHJpbnRmKCIgLSBDUFUlZCAuLi4gIiwgYXBfY3B1aWQoKSk7 CiAgICAgY2FjaGVhdHRyX2luaXQoKTsKICAgICBwcmludGYoImRvbmUuXG4iKTsKICAgICB3bWIo KTsKLSAgICBhcF9jYWxsaW4gPSAxOworICAgIGFwX2NhbGxpbisrOworCisgICAgaWYgKCBlbmFi bGVfeDJhcGljICkKKyAgICAgICAgd3Jtc3IoTVNSX0lBMzJfQVBJQ0JBU0UsIHJkbXNyKE1TUl9J QTMyX0FQSUNCQVNFKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNU1JfSUEz Ml9BUElDQkFTRV9FWFREKTsKKworICAgIC8qIFJlbGVhc2UgdGhlIGxvY2sgKi8KKyAgICBhc20g dm9sYXRpbGUgKCAieGNoZ2IgJTEsICViMCIgOiA6ICJtIiAobG9jayksICJyIiAoMCkgOiAibWVt b3J5IiApOwogfQogCiBzdGF0aWMgdm9pZCBsYXBpY193YWl0X3JlYWR5KHZvaWQpCkBAIC04OSw3 ICsxMTksNiBAQCBzdGF0aWMgdm9pZCBib290X2NwdSh1bnNpZ25lZCBpbnQgY3B1KQogICAgIHVu c2lnbmVkIGludCBpY3IyID0gU0VUX0FQSUNfREVTVF9GSUVMRChMQVBJQ19JRChjcHUpKTsKIAog ICAgIC8qIEluaXRpYWxpc2Ugc2hhcmVkIHZhcmlhYmxlcy4gKi8KLSAgICBhcF9jcHVpZCA9IGNw dTsKICAgICBhcF9jYWxsaW4gPSAwOwogICAgIHdtYigpOwogCkBAIC0xMTgsNiArMTQ3LDIxIEBA IHN0YXRpYyB2b2lkIGJvb3RfY3B1KHVuc2lnbmVkIGludCBjcHUpCiAgICAgbGFwaWNfd2FpdF9y ZWFkeSgpOyAgICAKIH0KIAorc3RhdGljIHZvaWQgYm9vdF9jcHVfYnJvYWRjYXN0X3gyYXBpYyh1 bnNpZ25lZCBpbnQgbnJfY3B1cykKK3sKKyAgICB3cm1zcihNU1JfSUEzMl9BUElDQkFTRV9NU1Ig KyAoQVBJQ19JQ1IgPj4gNCksCisgICAgICAgICAgQVBJQ19ERVNUX0FMTEJVVCB8IEFQSUNfRE1f SU5JVCk7CisKKyAgICB3cm1zcihNU1JfSUEzMl9BUElDQkFTRV9NU1IgKyAoQVBJQ19JQ1IgPj4g NCksCisgICAgICAgICAgQVBJQ19ERVNUX0FMTEJVVCB8IEFQSUNfRE1fU1RBUlRVUCB8IChBUF9C T09UX0VJUCA+PiAxMikpOworCisgICAgd2hpbGUgKCBhcF9jYWxsaW4gIT0gbnJfY3B1cyApCisg ICAgICAgIGNwdV9yZWxheCgpOworCisgICAgd3Jtc3IoTVNSX0lBMzJfQVBJQ0JBU0VfTVNSICsg KEFQSUNfSUNSID4+IDQpLAorICAgICAgICAgIEFQSUNfREVTVF9BTExCVVQgfCBBUElDX0RNX0lO SVQpOworfQorCiB2b2lkIHNtcF9pbml0aWFsaXNlKHZvaWQpCiB7CiAgICAgdW5zaWduZWQgaW50 IGksIG5yX2NwdXMgPSBodm1faW5mby0+bnJfdmNwdXM7CkBAIC0xMjUsOSArMTY5LDE1IEBAIHZv aWQgc21wX2luaXRpYWxpc2Uodm9pZCkKICAgICBtZW1jcHkoKHZvaWQgKilBUF9CT09UX0VJUCwg YXBfYm9vdF9zdGFydCwgYXBfYm9vdF9lbmQgLSBhcF9ib290X3N0YXJ0KTsKIAogICAgIHByaW50 ZigiTXVsdGlwcm9jZXNzb3IgaW5pdGlhbGlzYXRpb246XG4iKTsKKyAgICBpZiAoIG5yX2NwdXMg PiBNQURUX01BWF9MT0NBTF9BUElDICkKKyAgICAgICAgZW5hYmxlX3gyYXBpYyA9IDE7CisKICAg ICBhcF9zdGFydCgpOwotICAgIGZvciAoIGkgPSAxOyBpIDwgbnJfY3B1czsgaSsrICkKLSAgICAg ICAgYm9vdF9jcHUoaSk7CisgICAgaWYgKCBucl9jcHVzID4gTUFEVF9NQVhfTE9DQUxfQVBJQyAp CisgICAgICAgIGJvb3RfY3B1X2Jyb2FkY2FzdF94MmFwaWMobnJfY3B1cyk7CisgICAgZWxzZQor ICAgICAgICBmb3IgKCBpID0gMTsgaSA8IG5yX2NwdXM7IGkrKyApCisgICAgICAgICAgICBib290 X2NwdShpKTsKIH0KIAogLyoKLS0gCjEuOC4zLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v bGlzdGluZm8veGVuLWRldmVs