From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 1/6] xen/x86: Add a helper to calculate family/model/stepping information Date: Wed, 16 Nov 2016 12:31:45 +0000 Message-ID: <1479299510-700-2-git-send-email-andrew.cooper3@citrix.com> References: <1479299510-700-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1479299510-700-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org QW5kIHJlcGxhY2UgdGhlIGV4aXN0aW5nIG9wZW5jb2RlZCBjYWxjdWxhdGlvbnMuCgpTaWduZWQt b2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6 IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvY3B1L2Nv bW1vbi5jICAgICAgIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiB4 ZW4vYXJjaC94ODYvZG9tY3RsLmMgICAgICAgICAgIHwgIDcgKy0tLS0tLQogeGVuL2luY2x1ZGUv YXNtLXg4Ni9wcm9jZXNzb3IuaCB8ICAyICsrCiAzIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlv bnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvY29t bW9uLmMgYi94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jCmluZGV4IDM0NzUxOTguLmU0MWEwNjkg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMKKysrIGIveGVuL2FyY2gveDg2 L2NwdS9jb21tb24uYwpAQCAtMTgzLDYgKzE4MywyNSBAQCBpbnQgZ2V0X2NwdV92ZW5kb3IoY29u c3QgY2hhciB2W10sIGVudW0gZ2V0X2NwdV92ZW5kb3IgbW9kZSkKIAlyZXR1cm4gWDg2X1ZFTkRP Ul9VTktOT1dOOwogfQogCit1OCBnZXRfY3B1X2ZhbWlseSh1aW50MzJfdCByYXcsIHU4ICptb2Rl bCwgdTggKnN0ZXBwaW5nKQoreworCXU4IGZhbSwgbW9kOworCisJZmFtID0gKHJhdyA+PiA4KSAm IDB4ZjsKKwlpZiAoZmFtID09IDB4ZikKKwkJZmFtICs9IChyYXcgPj4gMjApICYgMHhmZjsKKwor CW1vZCA9IChyYXcgPj4gNCkgJiAweGY7CisJaWYgKGZhbSA+PSAweDYpCisJCW1vZCB8PSAocmF3 ID4+IDEyKSAmIDB4ZjA7CisKKwlpZiAoIG1vZGVsICkKKwkJKm1vZGVsID0gbW9kOworCWlmICgg c3RlcHBpbmcgKQorCQkqc3RlcHBpbmcgPSByYXcgJiAweGY7CisJcmV0dXJuIGZhbTsKK30KKwog c3RhdGljIGlubGluZSB1MzIgX3BoeXNfcGtnX2lkKHUzMiBjcHVpZF9hcGljLCBpbnQgaW5kZXhf bXNiKQogewogCXJldHVybiBjcHVpZF9hcGljID4+IGluZGV4X21zYjsKQEAgLTIyMiwxMyArMjQx LDggQEAgc3RhdGljIHZvaWQgX19pbml0IGVhcmx5X2NwdV9kZXRlY3Qodm9pZCkKIAljLT54ODZf dmVuZG9yID0gZ2V0X2NwdV92ZW5kb3IoYy0+eDg2X3ZlbmRvcl9pZCwgZ2N2X2hvc3QpOwogCiAJ Y3B1aWQoMHgwMDAwMDAwMSwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7Ci0JYy0+eDg2ID0gKGVh eCA+PiA4KSAmIDE1OwotCWMtPng4Nl9tb2RlbCA9IChlYXggPj4gNCkgJiAxNTsKLQlpZiAoYy0+ eDg2ID09IDB4ZikKLQkJYy0+eDg2ICs9IChlYXggPj4gMjApICYgMHhmZjsKLQlpZiAoYy0+eDg2 ID49IDB4NikKLQkJYy0+eDg2X21vZGVsICs9ICgoZWF4ID4+IDE2KSAmIDB4RikgPDwgNDsKLQlj LT54ODZfbWFzayA9IGVheCAmIDE1OworCWMtPng4NiA9IGdldF9jcHVfZmFtaWx5KGVheCwgJmMt Png4Nl9tb2RlbCwgJmMtPng4Nl9tYXNrKTsKKwogCWVkeCAmPSB+Y2xlYXJlZF9jYXBzW2NwdWZl YXRfd29yZChYODZfRkVBVFVSRV9GUFUpXTsKIAllY3ggJj0gfmNsZWFyZWRfY2Fwc1tjcHVmZWF0 X3dvcmQoWDg2X0ZFQVRVUkVfU1NFMyldOwogCWlmIChlZHggJiBjcHVmZWF0X21hc2soWDg2X0ZF QVRVUkVfQ0xGTFVTSCkpCkBAIC0yNzMsMTMgKzI4Nyw3IEBAIHN0YXRpYyB2b2lkIGdlbmVyaWNf aWRlbnRpZnkoc3RydWN0IGNwdWluZm9feDg2ICpjKQogCiAJLyogTW9kZWwgYW5kIGZhbWlseSBp bmZvcm1hdGlvbi4gKi8KIAljcHVpZCgweDAwMDAwMDAxLCAmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4 KTsKLQljLT54ODYgPSAoZWF4ID4+IDgpICYgMTU7Ci0JYy0+eDg2X21vZGVsID0gKGVheCA+PiA0 KSAmIDE1OwotCWlmIChjLT54ODYgPT0gMHhmKQotCQljLT54ODYgKz0gKGVheCA+PiAyMCkgJiAw eGZmOwotCWlmIChjLT54ODYgPj0gMHg2KQotCQljLT54ODZfbW9kZWwgKz0gKChlYXggPj4gMTYp ICYgMHhGKSA8PCA0OwotCWMtPng4Nl9tYXNrID0gZWF4ICYgMTU7CisJYy0+eDg2ID0gZ2V0X2Nw dV9mYW1pbHkoZWF4LCAmYy0+eDg2X21vZGVsLCAmYy0+eDg2X21hc2spOwogCWMtPmFwaWNpZCA9 IHBoeXNfcGtnX2lkKChlYnggPj4gMjQpICYgMHhGRiwgMCk7CiAJYy0+cGh5c19wcm9jX2lkID0g Yy0+YXBpY2lkOwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMgYi94ZW4vYXJj aC94ODYvZG9tY3RsLmMKaW5kZXggMmEyZmUwNC4uYWI5YWQzOSAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L2RvbWN0bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwpAQCAtODIsMTIgKzgy LDcgQEAgc3RhdGljIHZvaWQgdXBkYXRlX2RvbWFpbl9jcHVpZF9pbmZvKHN0cnVjdCBkb21haW4g KmQsCiAgICAgfQogCiAgICAgY2FzZSAxOgotICAgICAgICBkLT5hcmNoLng4NiA9IChjdGwtPmVh eCA+PiA4KSAmIDB4ZjsKLSAgICAgICAgaWYgKCBkLT5hcmNoLng4NiA9PSAweGYgKQotICAgICAg ICAgICAgZC0+YXJjaC54ODYgKz0gKGN0bC0+ZWF4ID4+IDIwKSAmIDB4ZmY7Ci0gICAgICAgIGQt PmFyY2gueDg2X21vZGVsID0gKGN0bC0+ZWF4ID4+IDQpICYgMHhmOwotICAgICAgICBpZiAoIGQt PmFyY2gueDg2ID49IDB4NiApCi0gICAgICAgICAgICBkLT5hcmNoLng4Nl9tb2RlbCB8PSAoY3Rs LT5lYXggPj4gMTIpICYgMHhmMDsKKyAgICAgICAgZC0+YXJjaC54ODYgPSBnZXRfY3B1X2ZhbWls eShjdGwtPmVheCwgJmQtPmFyY2gueDg2X21vZGVsLCBOVUxMKTsKIAogICAgICAgICBpZiAoIGlz X3B2X2RvbWFpbihkKSAmJiAoKGxldmVsbGluZ19jYXBzICYgTENBUF8xY2QpID09IExDQVBfMWNk KSApCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29y LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCmluZGV4IDYzNzhhZmQuLmMzYzJh ZmEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKKysrIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaApAQCAtNjI3LDYgKzYyNyw4IEBAIGVudW0gZ2V0 X2NwdV92ZW5kb3IgewogfTsKIAogaW50IGdldF9jcHVfdmVuZG9yKGNvbnN0IGNoYXIgdmVuZG9y X2lkW10sIGVudW0gZ2V0X2NwdV92ZW5kb3IpOwordTggZ2V0X2NwdV9mYW1pbHkodWludDMyX3Qg cmF3LCB1OCAqbW9kZWwsIHU4ICpzdGVwcGluZyk7CisKIHZvaWQgcHZfY3B1aWQoc3RydWN0IGNw dV91c2VyX3JlZ3MgKnJlZ3MpOwogCiAjZW5kaWYgLyogIV9fQVNTRU1CTFlfXyAqLwotLSAKMi4x LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK