From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luwei Kang Subject: [PATCH v2 08/10] x86: Introduce a function to check the value of RTIT_CTL Date: Wed, 30 May 2018 21:28:02 +0800 Message-ID: <1527686884-5917-9-git-send-email-luwei.kang@intel.com> References: <1527686884-5917-1-git-send-email-luwei.kang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1527686884-5917-1-git-send-email-luwei.kang@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: kevin.tian@intel.com, sstabellini@kernel.org, wei.liu2@citrix.com, jun.nakajima@intel.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, Luwei Kang List-Id: xen-devel@lists.xenproject.org QW55IGF0dGVtcHQgdG8gbW9kaWZ5IElBMzJfUlRJVF9DVEwgd2hpbGUgVHJhY2VFbiBpcyBzZXQg d2lsbApyZXN1bHQgaW4gYSAjR1AgdW5sZXNzIHRoZSBzYW1lIHdyaXRlIGFsc28gY2xlYXJzIFRy YWNlRW4uCldyaXRlcyB0byBJQTMyX1JUSVRfQ1RMIHRoYXQgZG8gbm90IG1vZGlmeSBhbnkgYml0 cyB3aWxsIG5vdApjYXVzZSBhICNHUCwgZXZlbiBpZiBUcmFjZUVuIHJlbWFpbnMgc2V0LgpNU1Ig d3JpdGUgdGhhdCBhdHRlbXB0cyB0byBjaGFuZ2UgYml0cyBtYXJrZWQgcmVzZXJ2ZWQsIG9yCnV0 aWxpemUgZW5jb2RpbmdzIG1hcmtlZCByZXNlcnZlZCwgd2lsbCBjYXVzZSBhICNHUCBmYXVsdC4K ClNpZ25lZC1vZmYtYnk6IEx1d2VpIEthbmcgPGx1d2VpLmthbmdAaW50ZWwuY29tPgotLS0KIHhl bi9hcmNoL3g4Ni9jcHUvaXB0LmMgfCAxMTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDExMCBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9pcHQuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvaXB0 LmMKaW5kZXggZGNiN2E4ZC4uZmQ3NWEwMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9p cHQuYworKysgYi94ZW4vYXJjaC94ODYvY3B1L2lwdC5jCkBAIC0xMTQsNiArMTE0LDExNCBAQCBz dGF0aWMgaW50IF9faW5pdCBwYXJzZV9pcHRfcGFyYW1zKGNvbnN0IGNoYXIgKnN0cikKICAgICBy ZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBydGl0X2N0bF9jaGVjayh1aW50NjRfdCBuZXcsIHVp bnQ2NF90IG9sZCkKK3sKKyAgICBjb25zdCBzdHJ1Y3QgY3B1aWRfcG9saWN5ICpwID0gY3VycmVu dC0+ZG9tYWluLT5hcmNoLmNwdWlkOworICAgIGNvbnN0IHN0cnVjdCBpcHRfZGVzYyAqaXB0X2Rl c2MgPSBjdXJyZW50LT5hcmNoLmh2bV92bXguaXB0X2Rlc2M7CisgICAgdWludDY0X3QgcnRpdF9j dGxfbWFzayA9IH4oKHVpbnQ2NF90KTApOworICAgIHVuc2lnbmVkIGludCBhZGRyX3JhbmdlID0g aXB0X2NhcChwLT5pcHQucmF3LCBJUFRfQ0FQX2FkZHJfcmFuZ2UpOworICAgIHVuc2lnbmVkIGlu dCB2YWwsIGk7CisKKyAgICBpZiAgKCBuZXcgPT0gb2xkICkKKyAgICAgICAgcmV0dXJuIDA7CisK KyAgICAvKiBDbGVhciBubyBkZXBlbmRlbmN5IGJpdHMgKi8KKyAgICBydGl0X2N0bF9tYXNrID0g fihSVElUX0NUTF9UUkFDRUVOIHwgUlRJVF9DVExfT1MgfAorICAgICAgICAgICAgICAgIFJUSVRf Q1RMX1VTUiB8IFJUSVRfQ1RMX1RTQ19FTiB8IFJUSVRfQ1RMX0RJU19SRVRDKTsKKworICAgIC8q IElmIENQVUlELihFQVg9MTRILEVDWD0wKTpFQlhbMF09MSBDUjNGaWx0ZXIgY2FuIGJlIHNldCAq LworICAgIGlmICggaXB0X2NhcChwLT5pcHQucmF3LCBJUFRfQ0FQX2NyM19maWx0ZXIpICkKKyAg ICAgICAgcnRpdF9jdGxfbWFzayAmPSB+UlRJVF9DVExfQ1IzX0ZJTFRFUjsKKworICAgIC8qCisg ICAgICogSWYgQ1BVSUQuKEVBWD0xNEgsRUNYPTApOkVCWFsxXT0xIENZQ0VuLCBDeWNUaHJlc2gg YW5kCisgICAgICogUFNCRnJlcSBjYW4gYmUgc2V0CisgICAgICovCisgICAgaWYgKCBpcHRfY2Fw KHAtPmlwdC5yYXcsIElQVF9DQVBfcHNiX2N5YykgKQorICAgICAgICBydGl0X2N0bF9tYXNrICY9 IH4oUlRJVF9DVExfQ1lDRU4gfAorICAgICAgICAgICAgICAgIFJUSVRfQ1RMX0NZQ19USFJFU0gg fCBSVElUX0NUTF9QU0JfRlJFUSk7CisgICAgLyoKKyAgICAgKiBJZiBDUFVJRC4oRUFYPTE0SCxF Q1g9MCk6RUJYWzNdPTEgTVRDRW4gQnJhbmNoRW4gYW5kCisgICAgICogTVRDRnJlcSBjYW4gYmUg c2V0CisgICAgICovCisgICAgaWYgKCBpcHRfY2FwKHAtPmlwdC5yYXcsIElQVF9DQVBfbXRjKSAp CisgICAgICAgIHJ0aXRfY3RsX21hc2sgJj0gfihSVElUX0NUTF9NVENfRU4gfAorICAgICAgICAg ICAgICAgIFJUSVRfQ1RMX0JSQU5DSF9FTiB8IFJUSVRfQ1RMX01UQ19GUkVRKTsKKworICAgIC8q IElmIENQVUlELihFQVg9MTRILEVDWD0wKTpFQlhbNF09MSBGVVBvblBUVyBhbmQgUFRXRW4gY2Fu IGJlIHNldCAqLworICAgIGlmICggaXB0X2NhcChwLT5pcHQucmF3LCBJUFRfQ0FQX3B0d3JpdGUp ICkKKyAgICAgICAgcnRpdF9jdGxfbWFzayAmPSB+KFJUSVRfQ1RMX0ZVUF9PTl9QVFcgfAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUSVRfQ1RMX1BUV19FTik7CisK KyAgICAvKiBJZiBDUFVJRC4oRUFYPTE0SCxFQ1g9MCk6RUJYWzVdPTEgUHdyRXZFbiBjYW4gYmUg c2V0ICovCisgICAgaWYgKCBpcHRfY2FwKHAtPmlwdC5yYXcsIElQVF9DQVBfcG93ZXJfZXZlbnQp ICkKKyAgICAgICAgcnRpdF9jdGxfbWFzayAmPSB+UlRJVF9DVExfUFdSX0VWVF9FTjsKKworICAg IC8qIElmIENQVUlELihFQVg9MTRILEVDWD0wKTpFQ1hbMF09MSBUb1BBIGNhbiBiZSBzZXQgKi8K KyAgICBpZiAoIGlwdF9jYXAocC0+aXB0LnJhdywgSVBUX0NBUF90b3BhX291dHB1dCkgKQorICAg ICAgICBydGl0X2N0bF9tYXNrICY9IH5SVElUX0NUTF9UT1BBOworICAgIC8qIElmIENQVUlELihF QVg9MTRILEVDWD0wKTpFQ1hbM109MSBGYWJpcmNFbiBjYW4gYmUgc2V0ICovCisgICAgaWYgKCBp cHRfY2FwKHAtPmlwdC5yYXcsIElQVF9DQVBfb3V0cHV0X3N1YnN5cykpCisgICAgICAgIHJ0aXRf Y3RsX21hc2sgJj0gflJUSVRfQ1RMX0ZBQlJJQ19FTjsKKyAgICAvKiB1bm1hc2sgYWRkcmVzcyBy YW5nZSBjb25maWd1cmUgYXJlYSAqLworICAgIGZvciAoaSA9IDA7IGkgPCBhZGRyX3JhbmdlOyBp KyspCisgICAgICAgIHJ0aXRfY3RsX21hc2sgJj0gfigweGYgPDwgKDMyICsgaSAqIDQpKTsKKwor ICAgIC8qCisgICAgICogQW55IE1TUiB3cml0ZSB0aGF0IGF0dGVtcHRzIHRvIGNoYW5nZSBiaXRz IG1hcmtlZCByZXNlcnZlZCB3aWxsCisgICAgICogY2FzZSBhICNHUCBmYXVsdC4KKyAgICAgKi8K KyAgICBpZiAoIG5ldyAmIHJ0aXRfY3RsX21hc2sgKQorICAgICAgICByZXR1cm4gMTsKKworICAg IC8qCisgICAgICogQW55IGF0dGVtcHQgdG8gbW9kaWZ5IElBMzJfUlRJVF9DVEwgd2hpbGUgVHJh Y2VFbiBpcyBzZXQgd2lsbAorICAgICAqIHJlc3VsdCBpbiBhICNHUCB1bmxlc3MgdGhlIHNhbWUg d3JpdGUgYWxzbyBjbGVhcnMgVHJhY2VFbi4KKyAgICAgKi8KKyAgICBpZiAoIChpcHRfZGVzYy0+ aXB0X2d1ZXN0LmN0bCAmIFJUSVRfQ1RMX1RSQUNFRU4pICYmCisgICAgICAgICgoaXB0X2Rlc2Mt PmlwdF9ndWVzdC5jdGwgXiBuZXcpICYgflJUSVRfQ1RMX1RSQUNFRU4pICkKKyAgICAgICAgcmV0 dXJuIDE7CisKKyAgICAvKgorICAgICAqIFdSTVNSIHRvIElBMzJfUlRJVF9DVEwgdGhhdCBzZXRz IFRyYWNlRW4gYnV0IGNsZWFycyB0aGlzIGJpdAorICAgICAqIGFuZCBGYWJyaWNFbiB3b3VsZCBj YXVzZSAjR1AsIGlmCisgICAgICogQ1BVSUQuKEVBWD0xNEgsIEVDWD0wKTpFQ1guU05HTFJHTk9V VFtiaXQgMl0gPSAwCisgICAgICovCisgICBpZiAoIChuZXcgJiBSVElUX0NUTF9UUkFDRUVOKSAm JiAhKG5ldyAmIFJUSVRfQ1RMX1RPUEEpICYmCisgICAgICAgICEobmV3ICYgUlRJVF9DVExfRkFC UklDX0VOKSAmJgorICAgICAgICAhaXB0X2NhcChwLT5pcHQucmF3LCBJUFRfQ0FQX3NpbmdsZV9y YW5nZV9vdXRwdXQpICkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgLyoKKyAgICAgKiBNVENGcmVx LCBDeWNUaHJlc2ggYW5kIFBTQkZyZXEgZW5jb2RpbmdzIGNoZWNrLCBhbnkgTVNSIHdyaXRlIHRo YXQKKyAgICAgKiB1dGlsaXplIGVuY29kaW5ncyBtYXJrZWQgcmVzZXJ2ZWQgd2lsbCBjYXN1ZSBh ICNHUCBmYXVsdC4KKyAgICAgKi8KKyAgICB2YWwgPSBpcHRfY2FwKHAtPmlwdC5yYXcsIElQVF9D QVBfbXRjX3BlcmlvZCk7CisgICAgaWYgKCBpcHRfY2FwKHAtPmlwdC5yYXcsIElQVF9DQVBfbXRj KSAmJgorICAgICAgICAgICAgICAgICF0ZXN0X2JpdCgobmV3ICYgUlRJVF9DVExfTVRDX0ZSRVEp ID4+CisgICAgICAgICAgICAgICAgUlRJVF9DVExfTVRDX0ZSRVFfT0ZGU0VULCAmdmFsKSApCisg ICAgICAgIHJldHVybiAxOworICAgIHZhbCA9IGlwdF9jYXAocC0+aXB0LnJhdywgSVBUX0NBUF9j eWNsZV90aHJlc2hvbGQpOworICAgIGlmICggaXB0X2NhcChwLT5pcHQucmF3LCBJUFRfQ0FQX3Bz Yl9jeWMpICYmCisgICAgICAgICAgICAgICAgIXRlc3RfYml0KChuZXcgJiBSVElUX0NUTF9DWUNf VEhSRVNIKSA+PgorICAgICAgICAgICAgICAgIFJUSVRfQ1RMX0NZQ19USFJFU0hfT0ZGU0VULCAm dmFsKSApCisgICAgICAgIHJldHVybiAxOworICAgIHZhbCA9IGlwdF9jYXAocC0+aXB0LnJhdywg SVBUX0NBUF9wc2JfZnJlcSk7CisgICAgaWYgKCBpcHRfY2FwKHAtPmlwdC5yYXcsIElQVF9DQVBf cHNiX2N5YykgJiYKKyAgICAgICAgICAgICAgICAhdGVzdF9iaXQoKG5ldyAmIFJUSVRfQ1RMX1BT Ql9GUkVRKSA+PgorICAgICAgICAgICAgICAgIFJUSVRfQ1RMX1BTQl9GUkVRX09GRlNFVCwgJnZh bCkgKQorICAgICAgICByZXR1cm4gMTsKKworICAgIC8qCisgICAgICogSWYgQUREUnhfQ0ZHIGlz IHJlc2VydmVkIG9yIHRoZSBlbmNvZGluZ3MgaXMgPjIgd2lsbAorICAgICAqIGNhdXNlIGEgI0dQ IGZhdWx0LgorICAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCBhZGRyX3JhbmdlOyBpKyspCisg ICAgICAgIGlmICggKChuZXcgJiBSVElUX0NUTF9BRERSKGkpKSA+PiBSVElUX0NUTF9BRERSX09G RlNFVChpKSkgPiAyICkKKyAgICAgICAgICAgIHJldHVybiAxOworCisgICAgcmV0dXJuIDA7Cit9 CisKIGludCBpcHRfZG9fcmRtc3IodW5zaWduZWQgaW50IG1zciwgdWludDY0X3QgKm1zcl9jb250 ZW50KQogewogICAgIGNvbnN0IHN0cnVjdCBpcHRfZGVzYyAqaXB0X2Rlc2MgPSBjdXJyZW50LT5h cmNoLmh2bV92bXguaXB0X2Rlc2M7CkBAIC0xNzEsNiArMjc5LDggQEAgaW50IGlwdF9kb193cm1z cih1bnNpZ25lZCBpbnQgbXNyLCB1aW50NjRfdCBtc3JfY29udGVudCkKICAgICBzd2l0Y2ggKCBt c3IgKQogICAgIHsKICAgICBjYXNlIE1TUl9JQTMyX1JUSVRfQ1RMOgorICAgICAgICBpZiAoIHJ0 aXRfY3RsX2NoZWNrKG1zcl9jb250ZW50LCBpcHRfZGVzYy0+aXB0X2d1ZXN0LmN0bCkgKQorICAg ICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIGlwdF9kZXNjLT5pcHRfZ3Vlc3QuY3RsID0gbXNy X2NvbnRlbnQ7CiAgICAgICAgIF9fdm13cml0ZShHVUVTVF9JQTMyX1JUSVRfQ1RMLCBtc3JfY29u dGVudCk7CiAgICAgICAgIGJyZWFrOwotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp bG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=