From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [RFC 06/16] x86: implement init flow for MBA. Date: Tue, 10 Jan 2017 15:42:25 +0800 Message-ID: <1484034155-4521-7-git-send-email-yi.y.sun@linux.intel.com> References: <1484034155-4521-1-git-send-email-yi.y.sun@linux.intel.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 1cQr5v-00041w-Nk for xen-devel@lists.xenproject.org; Tue, 10 Jan 2017 07:43:47 +0000 In-Reply-To: <1484034155-4521-1-git-send-email-yi.y.sun@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: wei.liu2@citrix.com, he.chen@linux.intel.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, Yi Sun , jbeulich@suse.com, chao.p.peng@linux.intel.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGluaXQgZmxvdyBmb3IgTUJBIGluY2x1ZGluZyBpdHMgY2Fs bGJhY2sKZnVuY3Rpb25zLgoKU2lnbmVkLW9mZi1ieTogWWkgU3VuIDx5aS55LnN1bkBsaW51eC5p bnRlbC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3Bzci5jICAgICAgICB8IDgzICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiB4ZW4vaW5jbHVkZS9hc20teDg2 L3Bzci5oIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bz ci5jCmluZGV4IGVjYTljNDMuLmUyY2E2ZmIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3Iu YworKysgYi94ZW4vYXJjaC94ODYvcHNyLmMKQEAgLTQxLDYgKzQxLDcgQEAKICNkZWZpbmUgQ0FU X0NCTV9MRU5fTUFTSyAweDFmCiAjZGVmaW5lIENBVF9DT1NfTUFYX01BU0sgMHhmZmZmCiAKKyNk ZWZpbmUgTUJBX1RIUlRMX01BWF9NQVNLIDB4ZmZmCiAvKiBMaW5lYXIgYml0LiAqLwogI2RlZmlu ZSBNQkFfTElORUFSICAgICAoMTw8MikKIApAQCAtMjY1LDYgKzI2Niw3IEBAIHN0YXRpYyBERUZJ TkVfUEVSX0NQVShzdHJ1Y3QgcHNyX2Fzc29jLCBwc3JfYXNzb2MpOwogc3RhdGljIHN0cnVjdCBm ZWF0X25vZGUgKmZlYXRfbDNfY2F0Owogc3RhdGljIHN0cnVjdCBmZWF0X25vZGUgKmZlYXRfbDNf Y2RwOwogc3RhdGljIHN0cnVjdCBmZWF0X25vZGUgKmZlYXRfbDJfY2F0Oworc3RhdGljIHN0cnVj dCBmZWF0X25vZGUgKmZlYXRfbWJhOwogCiAvKiBDb21tb24gZnVuY3Rpb25zLiAqLwogc3RhdGlj IHZvaWQgZnJlZV9mZWF0dXJlKHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCkBAIC0yOTks NiArMzAxLDEyIEBAIHN0YXRpYyB2b2lkIGZyZWVfZmVhdHVyZShzdHJ1Y3QgcHNyX3NvY2tldF9p bmZvICppbmZvKQogICAgICAgICB4ZnJlZShmZWF0X2wyX2NhdCk7CiAgICAgICAgIGZlYXRfbDJf Y2F0ID0gTlVMTDsKICAgICB9CisKKyAgICBpZiAoIGZlYXRfbWJhICkKKyAgICB7CisgICAgICAg IHhmcmVlKGZlYXRfbWJhKTsKKyAgICAgICAgZmVhdF9tYmEgPSBOVUxMOworICAgIH0KIH0KIAog c3RhdGljIGJvb2xfdCBwc3JfY2hlY2tfY2JtKHVuc2lnbmVkIGludCBjYm1fbGVuLCB1aW50NjRf dCBjYm0pCkBAIC05MzQsNiArOTQyLDUzIEBAIHN0cnVjdCBmZWF0X29wcyBsMl9jYXRfb3BzID0g ewogICAgIC53cml0ZV9tc3IgPSBsMl9jYXRfd3JpdGVfbXNyLAogfTsKIAorLyogTUJBIGNhbGxi YWNrIGZ1bmN0aW9ucyBpbXBsZW1lbnRhdGlvbi4gKi8KK3N0YXRpYyB2b2lkIG1iYV9pbml0X2Zl YXR1cmUodW5zaWduZWQgaW50IGVheCwgdW5zaWduZWQgaW50IGVieCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGVjeCwgdW5zaWduZWQgaW50IGVkeCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbykKK3sKKyAg ICBzdHJ1Y3QgcHNyX21iYV9od19pbmZvIG1iYV9pbmZvOworICAgIHVuc2lnbmVkIGludCBzb2Nr ZXQ7CisKKyAgICAvKiBObyB2YWxpZCB2YWx1ZXMgc28gZG8gbm90IGVuYWJsZSB0aGUgZmVhdHVy ZS4gKi8KKyAgICBpZiAoICFlYXggfHwgIWVkeCApCisgICAgICAgIHJldHVybjsKKworICAgIG1i YV9pbmZvLnRocnRsX21heCA9IChlYXggJiAweGZmZikgKyAxOworICAgIG1iYV9pbmZvLmNvc19t YXggPSBtaW4ob3B0X2Nvc19tYXgsIGVkeCAmIENBVF9DT1NfTUFYX01BU0spOworICAgIGlmICgg ZWN4ICYgTUJBX0xJTkVBUiApCisgICAgICAgIG1iYV9pbmZvLmxpbmVhciA9IDE7CisKKyAgICAv KiBjb3M9MCBpcyByZXNlcnZlZCBhcyBkZWZhdWx0IHRocnRsKDApLCB0aGUgbWF4IGJhbmR3aWR0 aC4gKi8KKyAgICBmZWF0LT5jb3NfcmVnX3ZhbFswXSA9IDA7CisKKyAgICBmZWF0LT5mZWF0dXJl ID0gUFNSX1NPQ0tFVF9NQkE7CisgICAgX19zZXRfYml0KFBTUl9TT0NLRVRfTUJBLCAmaW5mby0+ ZmVhdF9tYXNrKTsKKworICAgIGZlYXQtPmluZm8ubWJhX2luZm8gPSBtYmFfaW5mbzsKKworICAg IGluZm8tPm5yX2ZlYXQrKzsKKworICAgIC8qIEFkZCB0aGlzIGZlYXR1cmUgaW50byBsaXN0LiAq LworICAgIGxpc3RfYWRkX3RhaWwoJmZlYXQtPmxpc3QsICZpbmZvLT5mZWF0X2xpc3QpOworCisg ICAgc29ja2V0ID0gY3B1X3RvX3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpOworICAgIHByaW50 ayhYRU5MT0dfSU5GTyAiTUJBOiBlbmFibGVkIG9uIHNvY2tldCAldSwgY29zX21heDoldSwgdGhy dGxfbWF4OiV1LCBsaW5lYXI6JXUuXG4iLAorICAgICAgICAgICBzb2NrZXQsIGZlYXQtPmluZm8u bWJhX2luZm8uY29zX21heCwKKyAgICAgICAgICAgZmVhdC0+aW5mby5tYmFfaW5mby50aHJ0bF9t YXgsIGZlYXQtPmluZm8ubWJhX2luZm8ubGluZWFyKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGlu dCBtYmFfZ2V0X21heF9jb3NfbWF4KGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQpCit7Cisg ICAgcmV0dXJuIGZlYXQtPmluZm8ubWJhX2luZm8uY29zX21heDsKK30KKworc3RydWN0IGZlYXRf b3BzIG1iYV9vcHMgPSB7CisgICAgLmluaXRfZmVhdHVyZSA9IG1iYV9pbml0X2ZlYXR1cmUsCisg ICAgLmdldF9tYXhfY29zX21heCA9IG1iYV9nZXRfbWF4X2Nvc19tYXgsCit9OworCiBzdGF0aWMg dm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZl YXR1cmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1h c2spCiB7CkBAIC0xNjU5LDYgKzE3MTQsMjAgQEAgc3RhdGljIGludCBjcHVfcHJlcGFyZV93b3Jr KHVuc2lnbmVkIGludCBjcHUpCiAgICAgICAgIHJldHVybiAtRU5PTUVNOwogICAgIH0KIAorICAg IGlmICggZmVhdF9tYmEgPT0gTlVMTCAmJgorICAgICAgICAgKGZlYXRfbWJhID0geHphbGxvYyhz dHJ1Y3QgZmVhdF9ub2RlKSkgPT0gTlVMTCApCisgICAgeworICAgICAgICB4ZnJlZShmZWF0X2wz X2NhdCk7CisgICAgICAgIGZlYXRfbDNfY2F0ID0gTlVMTDsKKworICAgICAgICB4ZnJlZShmZWF0 X2wzX2NkcCk7CisgICAgICAgIGZlYXRfbDNfY2RwID0gTlVMTDsKKworICAgICAgICB4ZnJlZShm ZWF0X2wyX2NhdCk7CisgICAgICAgIGZlYXRfbDJfY2F0ID0gTlVMTDsKKyAgICAgICAgcmV0dXJu IC1FTk9NRU07CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTE3MTIsNiArMTc4MSwx OCBAQCBzdGF0aWMgdm9pZCBjcHVfaW5pdF93b3JrKHZvaWQpCiAgICAgICAgIGZlYXRfdG1wLT5v cHMgPSBsMl9jYXRfb3BzOwogICAgICAgICBmZWF0X3RtcC0+b3BzLmluaXRfZmVhdHVyZShlYXgs IGVieCwgZWN4LCBlZHgsIGZlYXRfdG1wLCBpbmZvKTsKICAgICB9CisKKyAgICBjcHVpZF9jb3Vu dChQU1JfQ1BVSURfTEVWRUxfQ0FULCAwLCAmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KTsKKyAgICBp ZiAoIGVieCAmIFBTUl9SRVNPVVJDRV9UWVBFX01CQSApCisgICAgeworICAgICAgICBmZWF0X3Rt cCA9IGZlYXRfbWJhOworICAgICAgICBmZWF0X21iYSA9IE5VTEw7CisKKyAgICAgICAgLyogSW5p dGlhbGl6ZSBNQkEgYWNjb3JkaW5nIHRvIENQVUlELiAqLworICAgICAgICBjcHVpZF9jb3VudChQ U1JfQ1BVSURfTEVWRUxfQ0FULCAzLCAmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KTsKKyAgICAgICAg ZmVhdF90bXAtPm9wcyA9IG1iYV9vcHM7CisgICAgICAgIGZlYXRfdG1wLT5vcHMuaW5pdF9mZWF0 dXJlKGVheCwgZWJ4LCBlY3gsIGVkeCwgZmVhdF90bXAsIGluZm8pOworICAgIH0KIH0KIAogc3Rh dGljIHZvaWQgY3B1X2Zpbmlfd29yayh1bnNpZ25lZCBpbnQgY3B1KQpAQCAtMTgxNyw3ICsxODk4 LDcgQEAgc3RhdGljIGludCBfX2luaXQgcHNyX3ByZXNtcF9pbml0KHZvaWQpCiAgICAgaWYgKCAo b3B0X3BzciAmIFBTUl9DTVQpICYmIG9wdF9ybWlkX21heCApCiAgICAgICAgIGluaXRfcHNyX2Nt dChvcHRfcm1pZF9tYXgpOwogCi0gICAgaWYgKCBvcHRfcHNyICYgUFNSX0NBVCApCisgICAgaWYg KCBvcHRfcHNyICYgKFBTUl9DQVQgfCBQU1JfTUJBKSApCiAgICAgICAgIGluaXRfcHNyKCk7CiAK ICAgICBpZiAoIHBzcl9jcHVfcHJlcGFyZSgwKSApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L3Bzci5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAppbmRleCA0ZDUyOTE4Li45 ZGQ3NzgyIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS14ODYvcHNyLmgKQEAgLTI0LDYgKzI0LDcgQEAKIC8qIFJlc291cmNlIFR5cGUg RW51bWVyYXRpb24gKi8KICNkZWZpbmUgUFNSX1JFU09VUkNFX1RZUEVfTDMgICAgICAgICAgICAw eDIKICNkZWZpbmUgUFNSX1JFU09VUkNFX1RZUEVfTDIgICAgICAgICAgICAweDQKKyNkZWZpbmUg UFNSX1JFU09VUkNFX1RZUEVfTUJBICAgICAgICAgICAweDgKIAogLyogTDMgTW9uaXRvcmluZyBG ZWF0dXJlcyAqLwogI2RlZmluZSBQU1JfQ01UX0wzX09DQ1VQQU5DWSAgICAgICAgICAgMHgxCi0t IAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=