From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Chen Subject: [PATCH 02/18] xen/arm: Restore HCR_EL2 register Date: Mon, 13 Mar 2017 18:55:47 +0800 Message-ID: <1489402563-4978-3-git-send-email-Wei.Chen@arm.com> References: <1489402563-4978-1-git-send-email-Wei.Chen@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1489402563-4978-1-git-send-email-Wei.Chen@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: sstabellini@kernel.org, wei.chen@arm.com, steve.capper@arm.com, Kaly.Xin@arm.com, julien.grall@arm.com, nd@arm.com List-Id: xen-devel@lists.xenproject.org RGlmZmVyZW50IGRvbWFpbnMgbWF5IGhhdmUgZGlmZmVyZW50IEhDUl9FTDIgZmxhZ3MuIEZvciBl eGFtcGxlLCB0aGUKNjQtYml0IGRvbWFpbiBuZWVkcyBIQ1JfUlcgZmxhZyBidXQgdGhlIDMyLWJp dCBkb2VzIG5vdCBuZWVkIGl0LiBTbwp3ZSBnaXZlIGVhY2ggZG9tYWluIGEgZGVmYXVsdCBIQ1Jf RUwyIHZhbHVlIGFuZCBzYXZlIGl0IGluIHRoZSBWQ1BVJ3MKY29udGV4dC4KCkhDUl9FTDIgcmVn aXN0ZXIgaGFzIG9ubHkgb25lIGJpdCBjYW4gYmUgdXBkYXRlZCBhdXRvbWF0aWNhbGx5IHdpdGhv dXQKZXhwbGljaXQgd3JpdGUgKEhDUl9WU0UpLiBCdXQgd2UgaGF2ZW4ndCB1c2VkIHRoaXMgYml0 IGN1cnJlbnRseSwgc28Kd2UgY2FuIGNvbnNpZGVyIHRoYXQgdGhlIEhDUl9FTDIgcmVnaXN0ZXIg d2lsbCBub3QgYmUgbW9kaWZpZWQgd2hpbGUKdGhlIGd1ZXN0IGlzIHJ1bm5pbmcuIFNvIHNhdmUg dGhlIEhDUl9FTDIgd2hpbGUgZ3Vlc3QgZXhpdGluZyB0bwpoeXBlcnZpc29yIGlzIG5vdCBuZWNj ZXNzYXJ5LiBXZSBqdXN0IGhhdmUgdG8gcmVzdG9yZSB0aGlzIHJlZ2lzdGVyIGZvcgplYWNoIFZD UFUgd2hpbGUgbGVhdmluZyBoeXBlcnZpc29yLgoKV2UgcHJlZmVyIHRvIHJlc3RvcmUgSENSX0VM MiBpbiBsZWF2ZV9oeXBlcnZpc29yX3RhaWwgcmF0aGVyIHRoYW4gaW4KY3R4dF9zd2l0Y2hfdG8u IEJlY2F1c2UgdGhlIGxlYXZlX2h5cGVydmlzb3JfdGFpbCBpcyB0aGUgY2xvc2VzdCBwbGFjZQp0 byB0aGUgZXhjZXB0aW9uIHJldHVybi4gSW4gdGhpcyBjYXNlLCB3ZSBkb24ndCBuZWVkIHRvIHdh cnJhbnQgdGhlCkhDUl9FTDIgd2lsbCBub3QgYmUgY2hhbmdlZCBiZXR3ZWVuIGN0eHRfc3dpdGNo X3RvIGFuZCBleGNlcHRpb24gcmV0dXJuLgoKRXZlbiB0aG91Z2ggd2UgaGF2ZSByZXN0b3JlZCBI Q1JfRUwyIGluIGxlYXZlX2h5cGVydmlzb3JfdGFpbCwgd2Ugc3RpbGwKaGF2ZSB0byBrZWVwIHRo ZSB3cml0ZSB0byBIQ1JfRUwyIGluIHAybV9yZXN0b3JlX3N0YXRlLiBUaGF0IGJlY2F1c2UKcDJt X3Jlc3RvcmVfc3RhdGUgY291bGQgYmUgdXNlZCB0byBzd2l0Y2ggYmV0d2VlbiB0d28gcDJtIGFu ZCBwb3NzaWJseQp0byBkbyBhZGRyZXNzIHRyYW5zbGF0aW9uIHVzaW5nIGhhcmR3YXJlLiBGb3Ig aW5zdGFuY2Ugd2hlbiBidWlsZGluZwp0aGUgaGFyZHdhcmUgZG9tYWluLCB3ZSBhcmUgdXNpbmcg dGhlIGluc3RydWN0aW9uIHRvIGJlZm9yZSBjb3B5aW5nCmRhdGEuIER1cmluZyB0aGUgdHJhbnNs YXRpb24sIHNvbWUgYml0cyBvZiBiYXNlIHJlZ2lzdGVyIChzdWNoIGFzIFNDVExSCmFuZCBIQ1Ip IGNvdWxkIGJlIGNhY2hlZCBpbiBUTEIgYW5kIHVzZWQgZm9yIHRoZSB0cmFuc2xhdGlvbi4KCldl IGhhZCBzb21lIGlzc3VlcyBpbiB0aGUgcGFzdCAoc2VlIGNvbW1pdCBiM2NiZTEyOWQgInhlbjog YXJtOiBFbnN1cmUKSENSX0VMMi5SVyBpcyBzZXQgY29ycmVjdGx5IHdoZW4gYnVpbGRpbmcgZG9t MCIpLCBzbyB3ZSBzaG91bGQgcHJvYmFibHkKa2VlcCB0aGUgd3JpdGUgdG8gSENSX0VMMiBpbiBw Mm1fcmVzdG9yZV9zdGF0ZS4KClNpZ25lZC1vZmYtYnk6IHdlaSBjaGVuIDxXZWkuQ2hlbkBhcm0u Y29tPgotLS0KIHhlbi9hcmNoL2FybS9kb21haW4uYyAgICAgICAgfCAgMiArKwogeGVuL2FyY2gv YXJtL3AybS5jICAgICAgICAgICB8IDE1ICsrKysrKysrKy0tLS0tLQogeGVuL2FyY2gvYXJtL3Ry YXBzLmMgICAgICAgICB8ICAxICsKIHhlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmggfCAgMyAr KysKIDQgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMK aW5kZXggYmIzMjdkYS4uNWQxOGJiMCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbi5j CisrKyBiL3hlbi9hcmNoL2FybS9kb21haW4uYwpAQCAtNTEzLDYgKzUxMyw4IEBAIGludCB2Y3B1 X2luaXRpYWxpc2Uoc3RydWN0IHZjcHUgKnYpCiAKICAgICB2LT5hcmNoLmFjdGxyID0gUkVBRF9T WVNSRUczMihBQ1RMUl9FTDEpOwogCisgICAgdi0+YXJjaC5oY3JfZWwyID0gZ2V0X2RlZmF1bHRf aGNyX2ZsYWdzKCk7CisKICAgICBwcm9jZXNzb3JfdmNwdV9pbml0aWFsaXNlKHYpOwogCiAgICAg aWYgKCAocmMgPSB2Y3B1X3ZnaWNfaW5pdCh2KSkgIT0gMCApCmRpZmYgLS1naXQgYS94ZW4vYXJj aC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9hcm0vcDJtLmMKaW5kZXggMWZjNmNhMy4uYzQ5YmZhNiAx MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jCisrKyBiL3hlbi9hcmNoL2FybS9wMm0uYwpA QCAtMTI4LDI2ICsxMjgsMjkgQEAgdm9pZCBwMm1fc2F2ZV9zdGF0ZShzdHJ1Y3QgdmNwdSAqcCkK IAogdm9pZCBwMm1fcmVzdG9yZV9zdGF0ZShzdHJ1Y3QgdmNwdSAqbikKIHsKLSAgICByZWdpc3Rl cl90IGhjcjsKICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtID0gJm4tPmRvbWFpbi0+YXJjaC5w Mm07CiAKICAgICBpZiAoIGlzX2lkbGVfdmNwdShuKSApCiAgICAgICAgIHJldHVybjsKIAotICAg IGhjciA9IFJFQURfU1lTUkVHKEhDUl9FTDIpOwotCiAgICAgV1JJVEVfU1lTUkVHNjQocDJtLT52 dHRiciwgVlRUQlJfRUwyKTsKICAgICBpc2IoKTsKIAogICAgIGlmICggaXNfMzJiaXRfZG9tYWlu KG4tPmRvbWFpbikgKQotICAgICAgICBoY3IgJj0gfkhDUl9SVzsKKyAgICAgICAgbi0+YXJjaC5o Y3JfZWwyICY9IH5IQ1JfUlc7CiAgICAgZWxzZQotICAgICAgICBoY3IgfD0gSENSX1JXOworICAg ICAgICBuLT5hcmNoLmhjcl9lbDIgfD0gSENSX1JXOwogCiAgICAgV1JJVEVfU1lTUkVHKG4tPmFy Y2guc2N0bHIsIFNDVExSX0VMMSk7CiAgICAgaXNiKCk7CiAKLSAgICBXUklURV9TWVNSRUcoaGNy LCBIQ1JfRUwyKTsKKyAgICAvKgorICAgICAqIHAybV9yZXN0b3JlX3N0YXRlIGNvdWxkIGJlIHVz ZWQgdG8gc3dpdGNoIGJldHdlZW4gdHdvIHAybSBhbmQgcG9zc2libHkKKyAgICAgKiB0byBkbyBh ZGRyZXNzIHRyYW5zbGF0aW9uIHVzaW5nIGhhcmR3YXJlLiBBbmQgdGhlc2Ugb3BlcmF0aW9ucyBt YXkKKyAgICAgKiBoYXBwZW4gZHVyaW5nIHRoZSBpbnRlcnZhbCBiZXR3ZWVuIGVudGVyL2xlYXZl IGh5cGVydmlvciwgc28gd2Ugc2hvdWxkCisgICAgICogcHJvYmFibHkga2VlcCB0aGUgd3JpdGUg dG8gSENSX0VMMiBoZXJlLgorICAgICAqLworICAgIFdSSVRFX1NZU1JFRyhuLT5hcmNoLmhjcl9l bDIsIEhDUl9FTDIpOwogICAgIGlzYigpOwogfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v dHJhcHMuYyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCmluZGV4IGQzNDNjNjYuLjk3OTJkMDIgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS90cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90cmFwcy5j CkBAIC0yODExLDYgKzI4MTEsNyBAQCBhc21saW5rYWdlIHZvaWQgbGVhdmVfaHlwZXJ2aXNvcl90 YWlsKHZvaWQpCiAgICAgICAgIGxvY2FsX2lycV9kaXNhYmxlKCk7CiAgICAgICAgIGlmICghc29m dGlycV9wZW5kaW5nKHNtcF9wcm9jZXNzb3JfaWQoKSkpIHsKICAgICAgICAgICAgIGdpY19pbmpl Y3QoKTsKKyAgICAgICAgICAgIFdSSVRFX1NZU1JFRyhjdXJyZW50LT5hcmNoLmhjcl9lbDIsIEhD Ul9FTDIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIGxvY2FsX2ly cV9lbmFibGUoKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmggYi94 ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oCmluZGV4IDA5ZmU1MDIuLjdiMWRhY2MgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKKysrIGIveGVuL2luY2x1ZGUvYXNt LWFybS9kb21haW4uaApAQCAtMjA0LDYgKzIwNCw5IEBAIHN0cnVjdCBhcmNoX3ZjcHUKICAgICBy ZWdpc3Rlcl90IHRwaWRyX2VsMTsKICAgICByZWdpc3Rlcl90IHRwaWRycm9fZWwwOwogCisgICAg LyogSFlQIGNvbmZpZ3VyYXRpb24gKi8KKyAgICByZWdpc3Rlcl90IGhjcl9lbDI7CisKICAgICB1 aW50MzJfdCB0ZWVjciwgdGVlaGJyOyAvKiBUaHVtYkVFLCAzMi1iaXQgZ3Vlc3RzIG9ubHkgKi8K ICNpZmRlZiBDT05GSUdfQVJNXzMyCiAgICAgLyoKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==