From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v13 16/23] x86: L2 CAT: implement CPU init flow. Date: Thu, 6 Jul 2017 09:53:09 +0800 Message-ID: <1499305996-19029-17-git-send-email-yi.y.sun@linux.intel.com> References: <1499305996-19029-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 1dSwCR-0000zm-QK for xen-devel@lists.xenproject.org; Thu, 06 Jul 2017 02:07:23 +0000 In-Reply-To: <1499305996-19029-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: kevin.tian@intel.com, wei.liu2@citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, Yi Sun , mengxu@cis.upenn.edu, jbeulich@suse.com, chao.p.peng@linux.intel.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBDUFUgaW5pdCBmbG93IGZvciBMMiBDQVQuCgpOb3Rl OiBMMiBDQVQgZG9lcyBOT1Qgd29yayB1bnRpbCB5b3UgYXBwbHkgdGhlIGxhdGVyIHBhdGNoZXMg b2YgTDIgQ0FULgoieDg2OiBMMiBDQVQ6IGltcGxlbWVudCBnZXQgaHcgaW5mbyBmbG93LiIKIng4 NjogTDIgQ0FUOiBpbXBsZW1lbnQgZ2V0IHZhbHVlIGZsb3cuIgoieDg2OiBMMiBDQVQ6IGltcGxl bWVudCBzZXQgdmFsdWUgZmxvdy4iCgpTaWduZWQtb2ZmLWJ5OiBZaSBTdW4gPHlpLnkuc3VuQGxp bnV4LmludGVsLmNvbT4KLS0tCnYxMzoKICAgIC0gYWRkIGNvbW1pdCBtZXNzYWdlLgogICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBzZXQgJ2FsdF90eXBlJyBmb3IgTDIgQ0FU LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBkZWZpbmUgYSBzdGF0aWMg c3RyaW5nIGFycmF5IHRvIHNob3cgd2hpY2ggZmVhdHVyZSdzIGluZm8gaXMgcHJpbnRpbmcuCiAg ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnYxMjoKICAgIC0gbW92ZSAndHlwZVtdJyBh c3NpZ25tZW50IGludG8gbDJfY2F0X3Byb3BzIGRlY2xhcmF0aW9uIHRvIG1ha2UgaXQgYmUKICAg ICAgJ2NvbnN0Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRkICJM MiBDQVQiIGluZGljYXRvciBpbiBwcmludGsuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpCiAgICAtIHJlc3RvcmUgbWFzaygwKSBNU1IgdG8gZGVmYXVsdCB2YWx1ZS4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjExOgogICAgLSBtb3ZlIGwyIGNhdCAndHlwZVtdJyBh c3NpZ25lbWVudCBpbnRvICdwc3JfY3B1X2luaXQnLgogICAgLSByZW1vdmUgQ09TIE1TUiByZXN0 b3JlIGFjdGlvbiBpbiAnY3B1X2luaXRfZmVhdHVyZScuCiAgICAtIHNldCAnZmVhdF9pbml0JyB0 byB0cnVlIGFmdGVyIENQVSBpbml0LgogICAgLSBtb2RpZnkgY29tbWl0IG1lc3NhZ2UuCnYxMDoK ICAgIC0gaW1wbGVtZW50IEwyIENBVCBjYXNlIGluICdjYXRfaW5pdF9mZWF0dXJlJy4KICAgICAg KHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdlcyBhYm91dCAncHJvcHMnLgog ICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBpbnRyb2R1Y2UgJ1BTUl9DQk1f VFlQRV9MMicuCnY5OgogICAgLSBtb2RpZnkgZXJyb3IgaGFuZGxpbmcgcHJvY2VzcyBpbiAncHNy X2NwdV9wcmVwYXJlJyB0byByZWR1Y2UgcmVkdW5kYW50CiAgICAgIGNvZGVzLgogICAgLSByZXVz ZSAnY2F0X2luaXRfZmVhdHVyZScgYW5kICdjYXRfZ2V0X2Nvc19tYXgnIGZvciBMMiBDQVQgdG8g cmVkdWNlCiAgICAgIHJlZHVuZGFudCBjb2Rlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQ YXUpCiAgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb21tZW50LgogICAgICAoc3VnZ2VzdGVkIGJ5 IEphbiBCZXVsaWNoKQogICAgLSBtb3ZlIEwyIENBVCByZWxhdGVkIGNvZGVzIGZyb20gJ2NwdV9p bml0X3dvcmsnIGludG8gJ3Bzcl9jcHVfaW5pdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCiAgICAtIGRvIG5vdCBmcmVlIHJlc291cmNlIHdoZW4gYWxsb2NhdGlvbiBmYWlscyBp biAncHNyX2NwdV9wcmVwYXJlJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjc6 CiAgICAtIGluaXRpYWxpemUgJ2wyX2NhdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgS29ucmFkIFJ6 ZXN6dXRlayBXaWxrKQp2NjoKICAgIC0gdXNlICdzdHJ1Y3QgY3B1aWRfbGVhZicuCiAgICAgIChz dWdnZXN0ZWQgYnkgS29ucmFkIFJ6ZXN6dXRlayBXaWxrIGFuZCBKYW4gQmV1bGljaCkKdjU6CiAg ICAtIHJlbW92ZSAnZmVhdF9sMl9jYXQnIGZyZWUgaW4gJ2ZyZWVfZmVhdHVyZScuCiAgICAgIChz dWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGVuY2Fwc3VsYXRlIGNwdWlkIHJlZ2lzdGVy cyBpbnRvICdzdHJ1Y3QgY3B1aWRfbGVhZl9yZWdzJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKICAgIC0gcHJpbnQgc29ja2V0IGluZm8gd2hlbiAnb3B0X2NwdV9pbmZvJyBpcyB0 cnVlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW5hbWUgJ2wyX2Nh dF9nZXRfbWF4X2Nvc19tYXgnIHRvICdsMl9jYXRfZ2V0X2Nvc19tYXgnLgogICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW5hbWUgJ2RhdFtdJyB0byAnZGF0YVtdJwogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb3ZlICdjcHVfcHJlcGFyZV93b3Jr JyBjb250ZW50cyBpbnRvICdwc3JfY3B1X3ByZXBhcmUnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEph biBCZXVsaWNoKQp2NDoKICAgIC0gY3JlYXRlIHRoaXMgcGF0Y2ggYmVjYXVzZSBvZiBjb2RlcyBh cmNoaXRlY3R1cmUgY2hhbmdlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQotLS0K IHhlbi9hcmNoL3g4Ni9wc3IuYyAgICAgICAgICAgICAgfCA0MCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oIHwg IDEgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCAgICAgICB8ICAyICsrCiAzIGZpbGVzIGNo YW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bzci5jCmluZGV4IGU4MzExNjUuLjgxYzk0 NTQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3IuYworKysgYi94ZW4vYXJjaC94ODYvcHNy LmMKQEAgLTYzLDYgKzYzLDcgQEAKIGVudW0gcHNyX2ZlYXRfdHlwZSB7CiAgICAgRkVBVF9UWVBF X0wzX0NBVCwKICAgICBGRUFUX1RZUEVfTDNfQ0RQLAorICAgIEZFQVRfVFlQRV9MMl9DQVQsCiAg ICAgRkVBVF9UWVBFX05VTSwKICAgICBGRUFUX1RZUEVfVU5LTk9XTiwKIH07CkBAIC0xNjAsNiAr MTYxLDcgQEAgc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBwc3JfYXNzb2MsIHBzcl9hc3Nv Yyk7CiAgKi8KIHN0YXRpYyBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0X2wzX2NhdDsKIHN0YXRpYyBz dHJ1Y3QgZmVhdF9ub2RlICpmZWF0X2wzX2NkcDsKK3N0YXRpYyBzdHJ1Y3QgZmVhdF9ub2RlICpm ZWF0X2wyX2NhdDsKIAogLyogQ29tbW9uIGZ1bmN0aW9ucyAqLwogI2RlZmluZSBjYXRfZGVmYXVs dF92YWwobGVuKSAoMHhmZmZmZmZmZiA+PiAoMzIgLSAobGVuKSkpCkBAIC0yNjksNiArMjcxLDEy IEBAIHN0YXRpYyBib29sIHBzcl9jaGVja19jYm0odW5zaWduZWQgaW50IGNibV9sZW4sIHVuc2ln bmVkIGxvbmcgY2JtKQogfQogCiAvKiBDQVQgY29tbW9uIGZ1bmN0aW9ucyBpbXBsZW1lbnRhdGlv bi4gKi8KK3N0YXRpYyBjaGFyICpmZWF0X25hbWVbRkVBVF9UWVBFX05VTV0gPSB7CisgICAgIkwz IENBVCIsCisgICAgIkNEUCIsCisgICAgIkwyIENBVCIsCit9OworCiBzdGF0aWMgaW50IGNhdF9p bml0X2ZlYXR1cmUoY29uc3Qgc3RydWN0IGNwdWlkX2xlYWYgKnJlZ3MsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvLApAQCAtMjg0LDEzICsyOTIs MTcgQEAgc3RhdGljIGludCBjYXRfaW5pdF9mZWF0dXJlKGNvbnN0IHN0cnVjdCBjcHVpZF9sZWFm ICpyZWdzLAogICAgIHN3aXRjaCAoIHR5cGUgKQogICAgIHsKICAgICBjYXNlIEZFQVRfVFlQRV9M M19DQVQ6CisgICAgY2FzZSBGRUFUX1RZUEVfTDJfQ0FUOgogICAgICAgICBpZiAoIGZlYXQtPmNv c19tYXggPCAxICkKICAgICAgICAgICAgIHJldHVybiAtRU5PRU5UOwogCiAgICAgICAgIC8qIFdl IHJlc2VydmUgY29zPTAgYXMgZGVmYXVsdCBjYm0gKGFsbCBiaXRzIHdpdGhpbiBjYm1fbGVuIGFy ZSAxKS4gKi8KICAgICAgICAgZmVhdC0+Y29zX3JlZ192YWxbMF0gPSBjYXRfZGVmYXVsdF92YWwo ZmVhdC0+Y2JtX2xlbik7CiAKLSAgICAgICAgd3Jtc3JsKE1TUl9JQTMyX1BTUl9MM19NQVNLKDAp LCBjYXRfZGVmYXVsdF92YWwoZmVhdC0+Y2JtX2xlbikpOworICAgICAgICB3cm1zcmwoKHR5cGUg PT0gRkVBVF9UWVBFX0wzX0NBVCA/CisgICAgICAgICAgICAgICAgTVNSX0lBMzJfUFNSX0wzX01B U0soMCkgOgorICAgICAgICAgICAgICAgIE1TUl9JQTMyX1BTUl9MMl9NQVNLKDApKSwKKyAgICAg ICAgICAgICAgIGNhdF9kZWZhdWx0X3ZhbChmZWF0LT5jYm1fbGVuKSk7CiAKICAgICAgICAgYnJl YWs7CiAKQEAgLTMyOCw4ICszNDAsOCBAQCBzdGF0aWMgaW50IGNhdF9pbml0X2ZlYXR1cmUoY29u c3Qgc3RydWN0IGNwdWlkX2xlYWYgKnJlZ3MsCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcHJp bnRrKFhFTkxPR19JTkZPICIlczogZW5hYmxlZCBvbiBzb2NrZXQgJXUsIGNvc19tYXg6JXUsIGNi bV9sZW46JXVcbiIsCi0gICAgICAgICAgICgodHlwZSA9PSBGRUFUX1RZUEVfTDNfQ0RQKSA/ICJD RFAiIDogIkwzIENBVCIpLAotICAgICAgICAgICBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3Jf aWQoKSksIGZlYXQtPmNvc19tYXgsIGZlYXQtPmNibV9sZW4pOworICAgICAgICAgICBmZWF0X25h bWVbdHlwZV0sIGNwdV90b19zb2NrZXQoc21wX3Byb2Nlc3Nvcl9pZCgpKSwKKyAgICAgICAgICAg ZmVhdC0+Y29zX21heCwgZmVhdC0+Y2JtX2xlbik7CiAKICAgICByZXR1cm4gMDsKIH0KQEAgLTM5 MCw2ICs0MDIsMTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmZWF0X3Byb3BzIGwzX2NkcF9wcm9w cyA9IHsKICAgICAud3JpdGVfbXNyID0gbDNfY2RwX3dyaXRlX21zciwKIH07CiAKKy8qIEwyIENB VCBwcm9wcyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBmZWF0X3Byb3BzIGwyX2NhdF9wcm9wcyA9 IHsKKyAgICAuY29zX251bSA9IDEsCisgICAgLnR5cGVbMF0gPSBQU1JfQ0JNX1RZUEVfTDIsCisg ICAgLmFsdF90eXBlID0gUFNSX0NCTV9UWVBFX1VOS05PV04sCit9OworCiBzdGF0aWMgdm9pZCBf X2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1hc2spCiB7 CkBAIC0xMzQ1LDYgKzEzNjQsMTAgQEAgc3RhdGljIGludCBwc3JfY3B1X3ByZXBhcmUodm9pZCkK ICAgICAgICAgIChmZWF0X2wzX2NkcCA9IHh6YWxsb2Moc3RydWN0IGZlYXRfbm9kZSkpID09IE5V TEwgKQogICAgICAgICByZXR1cm4gLUVOT01FTTsKIAorICAgIGlmICggZmVhdF9sMl9jYXQgPT0g TlVMTCAmJgorICAgICAgICAgKGZlYXRfbDJfY2F0ID0geHphbGxvYyhzdHJ1Y3QgZmVhdF9ub2Rl KSkgPT0gTlVMTCApCisgICAgICAgIHJldHVybiAtRU5PTUVNOworCiAgICAgcmV0dXJuIDA7CiB9 CiAKQEAgLTEzOTIsNiArMTQxNSwxNyBAQCBzdGF0aWMgdm9pZCBwc3JfY3B1X2luaXQodm9pZCkK ICAgICAgICAgfQogICAgIH0KIAorICAgIGNwdWlkX2NvdW50X2xlYWYoUFNSX0NQVUlEX0xFVkVM X0NBVCwgMCwgJnJlZ3MpOworICAgIGlmICggcmVncy5iICYgUFNSX1JFU09VUkNFX1RZUEVfTDIg KQorICAgIHsKKyAgICAgICAgY3B1aWRfY291bnRfbGVhZihQU1JfQ1BVSURfTEVWRUxfQ0FULCAy LCAmcmVncyk7CisKKyAgICAgICAgZmVhdCA9IGZlYXRfbDJfY2F0OworICAgICAgICBmZWF0X2wy X2NhdCA9IE5VTEw7CisgICAgICAgIGlmICggIWNhdF9pbml0X2ZlYXR1cmUoJnJlZ3MsIGZlYXQs IGluZm8sIEZFQVRfVFlQRV9MMl9DQVQpICkKKyAgICAgICAgICAgIGZlYXRfcHJvcHNbRkVBVF9U WVBFX0wyX0NBVF0gPSAmbDJfY2F0X3Byb3BzOworICAgIH0KKwogICAgIGluZm8tPmZlYXRfaW5p dCA9IHRydWU7CiAKICBhc3NvY19pbml0OgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9tc3ItaW5kZXguaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmgKaW5kZXggNzcx ZTc1MC4uNmM0OWM2ZCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXgu aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCkBAIC0zNDUsNiArMzQ1LDcg QEAKICNkZWZpbmUgTVNSX0lBMzJfUFNSX0wzX01BU0sobikJKDB4MDAwMDBjOTAgKyAobikpCiAj ZGVmaW5lIE1TUl9JQTMyX1BTUl9MM19NQVNLX0NPREUobikJKDB4MDAwMDBjOTAgKyAobikgKiAy ICsgMSkKICNkZWZpbmUgTVNSX0lBMzJfUFNSX0wzX01BU0tfREFUQShuKQkoMHgwMDAwMGM5MCAr IChuKSAqIDIpCisjZGVmaW5lIE1TUl9JQTMyX1BTUl9MMl9NQVNLKG4pCQkoMHgwMDAwMGQxMCAr IChuKSkKIAogLyogSW50ZWwgTW9kZWwgNiAqLwogI2RlZmluZSBNU1JfUDZfUEVSRkNUUihuKQkJ KDB4MDAwMDAwYzEgKyAobikpCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5o IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAppbmRleCA1MGI4NzU3Li4xOGE0MmYzIDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvcHNyLmgKQEAgLTIzLDYgKzIzLDcgQEAKIAogLyogUmVzb3VyY2UgVHlwZSBFbnVtZXJhdGlv biAqLwogI2RlZmluZSBQU1JfUkVTT1VSQ0VfVFlQRV9MMyAgICAgICAgICAgIDB4MgorI2RlZmlu ZSBQU1JfUkVTT1VSQ0VfVFlQRV9MMiAgICAgICAgICAgIDB4NAogCiAvKiBMMyBNb25pdG9yaW5n IEZlYXR1cmVzICovCiAjZGVmaW5lIFBTUl9DTVRfTDNfT0NDVVBBTkNZICAgICAgICAgICAgMHgx CkBAIC01Niw2ICs1Nyw3IEBAIGVudW0gY2JtX3R5cGUgewogICAgIFBTUl9DQk1fVFlQRV9MMywK ICAgICBQU1JfQ0JNX1RZUEVfTDNfQ09ERSwKICAgICBQU1JfQ0JNX1RZUEVfTDNfREFUQSwKKyAg ICBQU1JfQ0JNX1RZUEVfTDIsCiAgICAgUFNSX0NCTV9UWVBFX1VOS05PV04sCiB9OwogCi0tIAox LjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=