From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [RFC 11/16] xen/arm: Detect silicon revision and set cap bits accordingly Date: Thu, 5 May 2016 17:34:20 +0100 Message-ID: <1462466065-30212-12-git-send-email-julien.grall@arm.com> References: <1462466065-30212-1-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1462466065-30212-1-git-send-email-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: andre.przywara@arm.com, Julien Grall , sstabellini@kernel.org, wei.chen@arm.com, steve.capper@arm.com List-Id: xen-devel@lists.xenproject.org QWZ0ZXIgZWFjaCBDUFUgaGFzIGJlZW4gc3RhcnRlZCwgd2UgaXRlcmF0ZSB0aHJvdWdoIGEgbGlz dCBvZiBDUFUKZXJyYXRhIHRvIGRldGVjdCBDUFVzIHdoaWNoIG5lZWQgZnJvbSBoeXBlcnZpc29y IGNvZGUgcGF0Y2hlcy4KCkZvciBlYWNoIGJ1ZyB0aGVyZSBpcyBhIGZ1bmN0aW9uIHdoaWNoIGNo ZWNrIGlmIHRoYXQgYSBwYXJ0aWN1bGFyIENQVSBpcwphZmZlY3RlZC4gVGhpcyBuZWVkcyB0byBi ZSBkb25lIG9uIGV2ZXJ5IENQVXMgdG8gY292ZXIgaGV0ZXJvZ2Vub3VzCnN5c3RlbSBwcm9wZXJs eS4KCklmIGEgY2VydGFpbiBlcnJhdHVtIGhhcyBiZWVuIGRldGVjdGVkLCB0aGUgY2FwYWJpbGl0 eSBiaXQgd2lsbCBiZSBzZXQKYW5kIGxhdGVyIHRoZSBjYWxsIHRvIGFwcGx5X2FsdGVybmF0aXZl cygpIHdpbGwgdHJpZ2dlciB0aGUgYWN0dWFsIGNvZGUKcGF0Y2hpbmcuCgpUaGUgY29kZSBpcyBi YXNlZCBvbiB0aGUgZmlsZSBhcmNoL2FybTY0L2tlcm5lbC9jcHVfZXJyYXRhLmMgaW4gTGludXgK djQuNi1yYzMuCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0u Y29tPgotLS0KIHhlbi9hcmNoL2FybS9NYWtlZmlsZSAgICAgICAgICAgIHwgIDEgKwogeGVuL2Fy Y2gvYXJtL2NwdWVycmF0YS5jICAgICAgICAgfCAyNiArKysrKysrKysrKysrKysrKysrKysrKysr KwogeGVuL2FyY2gvYXJtL2NwdWZlYXR1cmUuYyAgICAgICAgfCAxNiArKysrKysrKysrKysrKysr CiB4ZW4vYXJjaC9hcm0vc2V0dXAuYyAgICAgICAgICAgICB8ICAzICsrKwogeGVuL2FyY2gvYXJt L3NtcGJvb3QuYyAgICAgICAgICAgfCAgMyArKysKIHhlbi9pbmNsdWRlL2FzbS1hcm0vY3B1ZXJy YXRhLmggIHwgIDYgKysrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2NwdWZlYXR1cmUuaCB8IDE1 ICsrKysrKysrKysrKysrKwogNyBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jCiBjcmVhdGUgbW9kZSAxMDA2 NDQgeGVuL2luY2x1ZGUvYXNtLWFybS9jcHVlcnJhdGEuaAoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L2FybS9NYWtlZmlsZSBiL3hlbi9hcmNoL2FybS9NYWtlZmlsZQppbmRleCAyZDMzMGFhLi4zMDc1 NzhjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vTWFrZWZpbGUKKysrIGIveGVuL2FyY2gvYXJt L01ha2VmaWxlCkBAIC03LDYgKzcsNyBAQCBzdWJkaXItJChDT05GSUdfQUNQSSkgKz0gYWNwaQog b2JqLSQoQ09ORklHX0FMVEVSTkFUSVZFKSArPSBhbHRlcm5hdGl2ZS5vCiBvYmoteSArPSBib290 ZmR0Lm8KIG9iai15ICs9IGNwdS5vCitvYmoteSArPSBjcHVlcnJhdGEubwogb2JqLXkgKz0gY3B1 ZmVhdHVyZS5vCiBvYmoteSArPSBkZWNvZGUubwogb2JqLXkgKz0gZGV2aWNlLm8KZGlmZiAtLWdp dCBhL3hlbi9hcmNoL2FybS9jcHVlcnJhdGEuYyBiL3hlbi9hcmNoL2FybS9jcHVlcnJhdGEuYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmQzOWY4Ci0tLSAvZGV2L251bGwK KysrIGIveGVuL2FyY2gvYXJtL2NwdWVycmF0YS5jCkBAIC0wLDAgKzEsMjYgQEAKKyNpbmNsdWRl IDx4ZW4vY29uZmlnLmg+CisjaW5jbHVkZSA8YXNtL2NwdWZlYXR1cmUuaD4KKyNpbmNsdWRlIDxh c20vY3B1ZXJyYXRhLmg+CisKKyNkZWZpbmUgTUlEUl9SQU5HRShtb2RlbCwgbWluLCBtYXgpICAg ICBcCisgICAgLm1hdGNoZXMgPSBpc19hZmZlY3RlZF9taWRyX3JhbmdlLCAgXAorICAgIC5taWRy X21vZGVsID0gbW9kZWwsICAgICAgICAgICAgICAgIFwKKyAgICAubWlkcl9yYW5nZV9taW4gPSBt aW4sICAgICAgICAgICAgICBcCisgICAgLm1pZHJfcmFuZ2VfbWF4ID0gbWF4CisKK3N0YXRpYyBi b29sX3QgX19tYXliZV91bnVzZWQKK2lzX2FmZmVjdGVkX21pZHJfcmFuZ2UoY29uc3Qgc3RydWN0 IGFybV9jcHVfY2FwYWJpbGl0aWVzICplbnRyeSkKK3sKKyAgICByZXR1cm4gTUlEUl9JU19DUFVf TU9ERUxfUkFOR0UoYm9vdF9jcHVfZGF0YS5taWRyLmJpdHMsIGVudHJ5LT5taWRyX21vZGVsLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyeS0+bWlkcl9yYW5nZV9taW4s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5LT5taWRyX3JhbmdlX21h eCk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYXJtX2NwdV9jYXBhYmlsaXRpZXMgYXJtX2Vy cmF0YVtdID0geworICAgIHt9LAorfTsKKwordm9pZCBjaGVja19sb2NhbF9jcHVfZXJyYXRhKHZv aWQpCit7CisgICAgdXBkYXRlX2NwdV9jYXBhYmlsaXRpZXMoYXJtX2VycmF0YSwgImVuYWJsZWQg d29ya2Fyb3VuZCBmb3IiKTsKK30KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9jcHVmZWF0dXJl LmMgYi94ZW4vYXJjaC9hcm0vY3B1ZmVhdHVyZS5jCmluZGV4IDdhMWI1NmIuLmFhN2M1YjEgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9jcHVmZWF0dXJlLmMKKysrIGIveGVuL2FyY2gvYXJtL2Nw dWZlYXR1cmUuYwpAQCAtMjQsNiArMjQsMjIgQEAKIAogREVDTEFSRV9CSVRNQVAoY3B1X2h3Y2Fw cywgQVJNX05DQVBTKTsKIAordm9pZCB1cGRhdGVfY3B1X2NhcGFiaWxpdGllcyhjb25zdCBzdHJ1 Y3QgYXJtX2NwdV9jYXBhYmlsaXRpZXMgKmNhcHMsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKmluZm8pCit7CisgICAgaW50IGk7CisKKyAgICBmb3IgKCBpID0gMDsg Y2Fwc1tpXS5tYXRjaGVzOyBpKysgKQorICAgIHsKKyAgICAgICAgaWYgKCAhY2Fwc1tpXS5tYXRj aGVzKCZjYXBzW2ldKSApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBpZiAoICFj cHVzX2hhdmVfY2FwKGNhcHNbaV0uY2FwYWJpbGl0eSkgJiYgY2Fwc1tpXS5kZXNjICkKKyAgICAg ICAgICAgIHByaW50aygiJXM6ICVzXG4iLCBpbmZvLCBjYXBzW2ldLmRlc2MpOworICAgICAgICBj cHVzX3NldF9jYXAoY2Fwc1tpXS5jYXBhYmlsaXR5KTsKKyAgICB9Cit9CisKIC8qCiAgKiBMb2Nh bCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vc2V0dXAu YyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jCmluZGV4IGM0Mzg5ZWYuLjY3ZWIxM2IgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL2FybS9zZXR1cC5jCisrKyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jCkBAIC00 Myw2ICs0Myw3IEBACiAjaW5jbHVkZSA8YXNtL2N1cnJlbnQuaD4KICNpbmNsdWRlIDxhc20vc2V0 dXAuaD4KICNpbmNsdWRlIDxhc20vZ2ljLmg+CisjaW5jbHVkZSA8YXNtL2NwdWVycmF0YS5oPgog I2luY2x1ZGUgPGFzbS9jcHVmZWF0dXJlLmg+CiAjaW5jbHVkZSA8YXNtL3BsYXRmb3JtLmg+CiAj aW5jbHVkZSA8YXNtL3Byb2NpbmZvLmg+CkBAIC0xNzEsNiArMTcyLDggQEAgc3RhdGljIHZvaWQg X19pbml0IHByb2Nlc3Nvcl9pZCh2b2lkKQogICAgIH0KIAogICAgIHByb2Nlc3Nvcl9zZXR1cCgp OworCisgICAgY2hlY2tfbG9jYWxfY3B1X2VycmF0YSgpOwogfQogCiB2b2lkIGR0X3VucmVzZXJ2 ZWRfcmVnaW9ucyhwYWRkcl90IHMsIHBhZGRyX3QgZSwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy bS9zbXBib290LmMgYi94ZW4vYXJjaC9hcm0vc21wYm9vdC5jCmluZGV4IGM1MTA5YmYuLjNmNWE3 N2IgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9zbXBib290LmMKKysrIGIveGVuL2FyY2gvYXJt L3NtcGJvb3QuYwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgPHhlbi90aW1lci5oPgogI2lu Y2x1ZGUgPHhlbi9pcnEuaD4KICNpbmNsdWRlIDx4ZW4vY29uc29sZS5oPgorI2luY2x1ZGUgPGFz bS9jcHVlcnJhdGEuaD4KICNpbmNsdWRlIDxhc20vZ2ljLmg+CiAjaW5jbHVkZSA8YXNtL3BzY2ku aD4KICNpbmNsdWRlIDxhc20vYWNwaS5oPgpAQCAtMzE2LDYgKzMxNyw4IEBAIHZvaWQgc3RhcnRf c2Vjb25kYXJ5KHVuc2lnbmVkIGxvbmcgYm9vdF9waHlzX29mZnNldCwKICAgICBsb2NhbF9pcnFf ZW5hYmxlKCk7CiAgICAgbG9jYWxfYWJvcnRfZW5hYmxlKCk7CiAKKyAgICBjaGVja19sb2NhbF9j cHVfZXJyYXRhKCk7CisKICAgICBwcmludGsoWEVOTE9HX0RFQlVHICJDUFUgJXUgYm9vdGVkLlxu Iiwgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAogICAgIHN0YXJ0dXBfY3B1X2lkbGVfbG9vcCgpOwpk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9jcHVlcnJhdGEuaCBiL3hlbi9pbmNsdWRl L2FzbS1hcm0vY3B1ZXJyYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u OGZmZDdiYQotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vY3B1ZXJyYXRh LmgKQEAgLTAsMCArMSw2IEBACisjaWZuZGVmIF9fQVJNX0NQVUVSUkFUQV9ICisjZGVmaW5lIF9f QVJNX0NQVUVSUkFUQV9ICisKK3ZvaWQgY2hlY2tfbG9jYWxfY3B1X2VycmF0YSh2b2lkKTsKKwor I2VuZGlmIC8qIF9fQVJNX0NQVUVSUkFUQV9IICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20tYXJtL2NwdWZlYXR1cmUuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vY3B1ZmVhdHVyZS5oCmlu ZGV4IDJiZWJhZDEuLmZiNTcyOTUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vY3B1 ZmVhdHVyZS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vY3B1ZmVhdHVyZS5oCkBAIC02Miw2 ICs2MiwyMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY3B1c19zZXRfY2FwKHVuc2lnbmVkIGludCBu dW0pCiAgICAgICAgIF9fc2V0X2JpdChudW0sIGNwdV9od2NhcHMpOwogfQogCitzdHJ1Y3QgYXJt X2NwdV9jYXBhYmlsaXRpZXMgeworICAgIGNvbnN0IGNoYXIgKmRlc2M7CisgICAgdTE2IGNhcGFi aWxpdHk7CisgICAgYm9vbF90ICgqbWF0Y2hlcykoY29uc3Qgc3RydWN0IGFybV9jcHVfY2FwYWJp bGl0aWVzICopOworICAgIHVuaW9uIHsKKyAgICAgICAgc3RydWN0IHsgICAgLyogVG8gYmUgdXNl ZCBmb3IgZXJhdHVtIGhhbmRsaW5nIG9ubHkgKi8KKyAgICAgICAgICAgIHUzMiBtaWRyX21vZGVs OworICAgICAgICAgICAgdTMyIG1pZHJfcmFuZ2VfbWluLCBtaWRyX3JhbmdlX21heDsKKyAgICAg ICAgfTsKKyAgICB9OworfTsKKwordm9pZCB1cGRhdGVfY3B1X2NhcGFiaWxpdGllcyhjb25zdCBz dHJ1Y3QgYXJtX2NwdV9jYXBhYmlsaXRpZXMgKmNhcHMsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGNoYXIgKmluZm8pOworCiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAK ICNlbmRpZgotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=