From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v4 1/6] microcode/intel: extend microcode_update_match() Date: Wed, 28 Nov 2018 13:34:11 +0800 Message-ID: <1543383256-12371-2-git-send-email-chao.gao@intel.com> References: <1543383256-12371-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: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gRsQt-0005sb-1y for xen-devel@lists.xenproject.org; Wed, 28 Nov 2018 05:30:43 +0000 In-Reply-To: <1543383256-12371-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.xenproject.org Cc: Andrew Cooper , Wei Liu , Jan Beulich , Chao Gao List-Id: xen-devel@lists.xenproject.org dG8gYSBtb3JlIGdlbmVyaWMgZnVuY3Rpb24uIFRoZSBiZW5lZml0IGlzIHRoYXQgdGhpcyBmdW5j dGlvbiBjYW4gYmUKdXNlZCB0byBjaGVjayB3aGV0aGVyIGEgbWljcm9jb2RlIGlzIG5ld2VyIHRo YW4gYW5vdGhlciBhcyB3ZWxsLiBXZQpyZWx5IG9uIHRoaXMgZnVuY3Rpb24gdG8gZGVjaWRlIHRv IHBlcmZvcm0gYSByZXBsYWNlbWVudCBvciBhbiBhZGQgd2hlbgp1cGRhdGluZyB0aGUgZ2xvYmFs IG1pY3JvY29kZSBjYWNoZSAoaW50cm9kdWNlZCBieSBsYXRlciBwYXRjaGVzIGluCnRoaXMgc2Vy aWVzKS4KClNpZ25lZC1vZmYtYnk6IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+Ci0tLQog eGVuL2FyY2gveDg2L21pY3JvY29kZV9pbnRlbC5jIHwgNTcgKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwg MjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21pY3JvY29kZV9pbnRl bC5jIGIveGVuL2FyY2gveDg2L21pY3JvY29kZV9pbnRlbC5jCmluZGV4IDk2NTc1NzUuLjhkOWEz YjIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9taWNyb2NvZGVfaW50ZWwuYworKysgYi94ZW4v YXJjaC94ODYvbWljcm9jb2RlX2ludGVsLmMKQEAgLTEyNywxNCArMTI3LDM3IEBAIHN0YXRpYyBp bnQgY29sbGVjdF9jcHVfaW5mbyh1bnNpZ25lZCBpbnQgY3B1X251bSwgc3RydWN0IGNwdV9zaWdu YXR1cmUgKmNzaWcpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IG1pY3Jv Y29kZV91cGRhdGVfbWF0Y2goCi0gICAgdW5zaWduZWQgaW50IGNwdV9udW0sIGNvbnN0IHN0cnVj dCBtaWNyb2NvZGVfaGVhZGVyX2ludGVsICptY19oZWFkZXIsCi0gICAgaW50IHNpZywgaW50IHBm KQorZW51bSB7CisgICAgT0xEX1VDT0RFLCAvKiBzaWduYXR1cmUgbWF0Y2hlZCwgYnV0IHJldmlz aW9uIGlkIGlzbid0IG5ld2VyICovCisgICAgTkVXX1VDT0RFLCAvKiBzaWduYXR1cmUgbWF0Y2hl ZCwgYnV0IHJldmlzaW9uIGlkIGlzIG5ld2VyICovCisgICAgTUlTX1VDT0RFLCAvKiBzaWduYXR1 cmUgbWlzbWF0Y2hlZCAqLworfTsKKworc3RhdGljIGludCBtaWNyb2NvZGVfdXBkYXRlX21hdGNo KGNvbnN0IHZvaWQgKm1jLAorICAgICAgICB1bnNpZ25lZCBpbnQgc2lnLCB1bnNpZ25lZCBpbnQg cGYsIHVuc2lnbmVkIGludCByZXYpCiB7Ci0gICAgc3RydWN0IHVjb2RlX2NwdV9pbmZvICp1Y2kg PSAmcGVyX2NwdSh1Y29kZV9jcHVfaW5mbywgY3B1X251bSk7CisgICAgY29uc3Qgc3RydWN0IG1p Y3JvY29kZV9oZWFkZXJfaW50ZWwgKm1jX2hlYWRlciA9IG1jOworICAgIGNvbnN0IHN0cnVjdCBl eHRlbmRlZF9zaWd0YWJsZSAqZXh0X2hlYWRlcjsKKyAgICB1bnNpZ25lZCBsb25nIHRvdGFsX3Np emUgPSBnZXRfdG90YWxzaXplKG1jX2hlYWRlcik7CisgICAgaW50IGV4dF9zaWdjb3VudCwgaTsK KyAgICBzdHJ1Y3QgZXh0ZW5kZWRfc2lnbmF0dXJlICpleHRfc2lnOwogCi0gICAgcmV0dXJuIChz aWdtYXRjaChzaWcsIHVjaS0+Y3B1X3NpZy5zaWcsIHBmLCB1Y2ktPmNwdV9zaWcucGYpICYmCi0g ICAgICAgICAgICAobWNfaGVhZGVyLT5yZXYgPiB1Y2ktPmNwdV9zaWcucmV2KSk7CisgICAgaWYg KCBzaWdtYXRjaChzaWcsIG1jX2hlYWRlci0+c2lnLCBwZiwgbWNfaGVhZGVyLT5wZikgKQorICAg ICAgICByZXR1cm4gKG1jX2hlYWRlci0+cmV2ID4gcmV2KSA/IE5FV19VQ09ERSA6IE9MRF9VQ09E RTsKKworICAgIGlmICggdG90YWxfc2l6ZSA8PSAoZ2V0X2RhdGFzaXplKG1jX2hlYWRlcikgKyBN Q19IRUFERVJfU0laRSkgKQorICAgICAgICByZXR1cm4gTUlTX1VDT0RFOworCisgICAgZXh0X2hl YWRlciA9IG1jICsgZ2V0X2RhdGFzaXplKG1jX2hlYWRlcikgKyBNQ19IRUFERVJfU0laRTsKKyAg ICBleHRfc2lnY291bnQgPSBleHRfaGVhZGVyLT5jb3VudDsKKyAgICBleHRfc2lnID0gKHZvaWQg KilleHRfaGVhZGVyICsgRVhUX0hFQURFUl9TSVpFOworICAgIGZvciAoIGkgPSAwOyBpIDwgZXh0 X3NpZ2NvdW50OyBpKysgKQorICAgIHsKKyAgICAgICAgaWYgKCBzaWdtYXRjaChzaWcsIGV4dF9z aWctPnNpZywgcGYsIGV4dF9zaWctPnBmKSApCisgICAgICAgICAgICByZXR1cm4gKG1jX2hlYWRl ci0+cmV2ID4gcmV2KSA/IE5FV19VQ09ERSA6IE9MRF9VQ09ERTsKKyAgICAgICAgZXh0X3NpZysr OworICAgIH0KKyAgICByZXR1cm4gTUlTX1VDT0RFOwogfQogCiBzdGF0aWMgaW50IG1pY3JvY29k ZV9zYW5pdHlfY2hlY2sodm9pZCAqbWMpCkBAIC0yMzYsMzEgKzI1OSwxMyBAQCBzdGF0aWMgaW50 IGdldF9tYXRjaGluZ19taWNyb2NvZGUoY29uc3Qgdm9pZCAqbWMsIHVuc2lnbmVkIGludCBjcHUp CiB7CiAgICAgc3RydWN0IHVjb2RlX2NwdV9pbmZvICp1Y2kgPSAmcGVyX2NwdSh1Y29kZV9jcHVf aW5mbywgY3B1KTsKICAgICBjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX2hlYWRlcl9pbnRlbCAqbWNf aGVhZGVyID0gbWM7Ci0gICAgY29uc3Qgc3RydWN0IGV4dGVuZGVkX3NpZ3RhYmxlICpleHRfaGVh ZGVyOwogICAgIHVuc2lnbmVkIGxvbmcgdG90YWxfc2l6ZSA9IGdldF90b3RhbHNpemUobWNfaGVh ZGVyKTsKLSAgICBpbnQgZXh0X3NpZ2NvdW50LCBpOwotICAgIHN0cnVjdCBleHRlbmRlZF9zaWdu YXR1cmUgKmV4dF9zaWc7CiAgICAgdm9pZCAqbmV3X21jOwogCi0gICAgaWYgKCBtaWNyb2NvZGVf dXBkYXRlX21hdGNoKGNwdSwgbWNfaGVhZGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtY19oZWFkZXItPnNpZywgbWNfaGVhZGVyLT5wZikgKQotICAgICAgICBnb3RvIGZpbmQ7 Ci0KLSAgICBpZiAoIHRvdGFsX3NpemUgPD0gKGdldF9kYXRhc2l6ZShtY19oZWFkZXIpICsgTUNf SEVBREVSX1NJWkUpICkKKyAgICBpZiAoIG1pY3JvY29kZV91cGRhdGVfbWF0Y2gobWMsIHVjaS0+ Y3B1X3NpZy5zaWcsIHVjaS0+Y3B1X3NpZy5wZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWNpLT5jcHVfc2lnLnJldikgIT0gTkVXX1VDT0RFICkKICAgICAgICAgcmV0dXJuIDA7 CiAKLSAgICBleHRfaGVhZGVyID0gbWMgKyBnZXRfZGF0YXNpemUobWNfaGVhZGVyKSArIE1DX0hF QURFUl9TSVpFOwotICAgIGV4dF9zaWdjb3VudCA9IGV4dF9oZWFkZXItPmNvdW50OwotICAgIGV4 dF9zaWcgPSAodm9pZCAqKWV4dF9oZWFkZXIgKyBFWFRfSEVBREVSX1NJWkU7Ci0gICAgZm9yICgg aSA9IDA7IGkgPCBleHRfc2lnY291bnQ7IGkrKyApCi0gICAgewotICAgICAgICBpZiAoIG1pY3Jv Y29kZV91cGRhdGVfbWF0Y2goY3B1LCBtY19oZWFkZXIsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBleHRfc2lnLT5zaWcsIGV4dF9zaWctPnBmKSApCi0gICAgICAgICAgICBn b3RvIGZpbmQ7Ci0gICAgICAgIGV4dF9zaWcrKzsKLSAgICB9Ci0gICAgcmV0dXJuIDA7Ci0gZmlu ZDoKICAgICBwcl9kZWJ1ZygibWljcm9jb2RlOiBDUFUlZCBmb3VuZCBhIG1hdGNoaW5nIG1pY3Jv Y29kZSB1cGRhdGUgd2l0aCIKICAgICAgICAgICAgICAiIHZlcnNpb24gJSN4IChjdXJyZW50PSUj eClcbiIsCiAgICAgICAgICAgICAgY3B1LCBtY19oZWFkZXItPnJldiwgdWNpLT5jcHVfc2lnLnJl dik7Ci0tIAoxLjguMy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1k ZXZlbA==