From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Chen Subject: [PATCH v2 04/19] xen/arm: Restore HCR_EL2 register Date: Thu, 30 Mar 2017 17:13:14 +0800 Message-ID: <1490865209-18283-5-git-send-email-Wei.Chen@arm.com> References: <1490865209-18283-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: <1490865209-18283-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 RUwyIHZhbHVlIGFuZCBzYXZlIGl0IGluIHRoZSB2Q1BVJ3MKY29udGV4dC4KCkhDUl9FTDIgcmVn aXN0ZXIgaGFzIG9ubHkgb25lIGJpdCBjYW4gYmUgdXBkYXRlZCBhdXRvbWF0aWNhbGx5IHdpdGhv dXQKZXhwbGljaXQgd3JpdGUgKEhDUl9WU0UpLiBCdXQgd2UgaGF2ZW4ndCB1c2VkIHRoaXMgYml0 IGN1cnJlbnRseSwgc28Kd2UgY2FuIGNvbnNpZGVyIHRoYXQgdGhlIEhDUl9FTDIgcmVnaXN0ZXIg d2lsbCBub3QgYmUgbW9kaWZpZWQgd2hpbGUKdGhlIGd1ZXN0IGlzIHJ1bm5pbmcuIFNvIHNhdmUg dGhlIEhDUl9FTDIgd2hpbGUgZ3Vlc3QgZXhpdGluZyB0bwpoeXBlcnZpc29yIGlzIG5vdCBuZWNj ZXNzYXJ5LiBXZSBqdXN0IGhhdmUgdG8gcmVzdG9yZSB0aGlzIHJlZ2lzdGVyIGZvcgplYWNoIHZD UFUgd2hpbGUgY29udGV4dCBzd2l0Y2hpbmcuCgpUaGUgcDJtX3Jlc3RvcmVfc3RhdGUgd2hpY2gg d2lsbCBiZSBpbnZva2VkIGluIGNvbnRleHQgc3dpdGNoIHByb2dyZXNzCmhhcyBpbmNsdWRlZCB0 aGUgd3JpdGluZyBvZiBIQ1JfRUwyIGFscmVhZHkuIEl0IHVwZGF0ZXMgdGhlIEhDUl9FTDIuUlcK Yml0IHRvIHRlbGwgdGhlIGhhcmR3YXJlIGhvdyB0byBpbnRlcnByZXQgdGhlIHN0YWdlLTEgcGFn ZSB0YWJsZSBhcyB0aGUKZW5jb2RpbmdzIGFyZSBkaWZmZXJlbnQgYmV0d2VlbiBBQXJjaDY0IGFu ZCBBQXJjaDMyLiBXZSBjYW4gcmV1c2UgdGhpcwp3cml0ZSB0byByZXN0b3JlIHRoZSBIQ1JfRUwy IGZvciBlYWNoIHZDUFUuIE9mIGNvdXJzZSwgdGhlIHZhbHVlIG9mIGVhY2gKdkNQVSdzIEhDUl9F TDIgc2hvdWxkIGJlIGFkanVzdGVkIHRvIGhhdmUgcHJvcGVyIEhDUl9FTDIuUlcgYml0IGluIHRo aXMKZnVuY3Rpb24uIEluIHRoZSBsYXRlciBwYXRjaCBvZiB0aGlzIHNlcmllcywgd2Ugd2lsbCBz ZXQgdGhlIEhDUl9FTDIuUlcKZm9yIGVhY2ggdkNQVSB3aGlsZSB0aGUgZG9tYWluIGlzIGNyZWF0 aW5nLgoKU2lnbmVkLW9mZi1ieTogd2VpIGNoZW4gPFdlaS5DaGVuQGFybS5jb20+Ci0tLQp2MS0+ djI6CjEuIFVzZSB2d2ZpIHRvIHNldCBIQ1JfRUwyIGZvciBlYWNoIHZDUFUgZGlyZWN0bHkuCjIu IEJhY2sgSENSX0VMMiBmb3IgaWRsZSB2Q1BVIHRvIGF2b2lkIHVzaW5nIHAybV9yZXN0b3JlX3N0 YXRlIHdpdGgKICAgYW4gdW5pbml0aWFsaXplZCBIQ1JfRUwyIHZhbHVlIGluIGNvbnRleHQuCjMu IFJlbW92ZSB3cml0aW5nIHRvIEhDUl9FTDIgZnJvbSBsZWF2ZV9oeXBlcnZpc29yX3RhaWwuCjQu IFVwZGF0ZSBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHdoeSByZXN0b3JlIEhDUl9FTDIgaW4K ICAgcDJtX3Jlc3RvcmVfc3RhdGUuCi0tLQogeGVuL2FyY2gvYXJtL2RvbWFpbi5jICAgICAgICB8 IDQgKysrKwogeGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jICB8IDcgKysrKysrKwogeGVuL2Fy Y2gvYXJtL3AybS5jICAgICAgICAgICB8IDkgKysrLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20tYXJt L2RvbWFpbi5oIHwgMyArKysKIDQgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgNiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJj aC9hcm0vZG9tYWluLmMKaW5kZXggYTMyN2EzYi4uYzY5ZTIwNCAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gvYXJtL2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21haW4uYwpAQCAtNTI3LDYgKzUy NywxMCBAQCBpbnQgdmNwdV9pbml0aWFsaXNlKHN0cnVjdCB2Y3B1ICp2KQogCiAgICAgdi0+YXJj aC5hY3RsciA9IFJFQURfU1lTUkVHMzIoQUNUTFJfRUwxKTsKIAorICAgIHYtPmFyY2guaGNyX2Vs MiA9IEhDUl9QVFd8SENSX0JTVV9JTk5FUnxIQ1JfQU1PfEhDUl9JTU98SENSX0ZNT3xIQ1JfVk18 CisgICAgICAgICAgICAgICAgICAgICAgKHZ3ZmkgIT0gTkFUSVZFID8gKEhDUl9UV0l8SENSX1RX RSkgOiAwKSB8CisgICAgICAgICAgICAgICAgICAgICAgSENSX1RTQ3xIQ1JfVEFDfEhDUl9TV0lP fEhDUl9USURDUHxIQ1JfRkI7CisKICAgICBwcm9jZXNzb3JfdmNwdV9pbml0aWFsaXNlKHYpOwog CiAgICAgaWYgKCAocmMgPSB2Y3B1X3ZnaWNfaW5pdCh2KSkgIT0gMCApCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMK aW5kZXggZGU1OWU1Zi4uOGFmMjIzZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9i dWlsZC5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwpAQCAtMjE3MSw2ICsyMTcx LDEzIEBAIGludCBjb25zdHJ1Y3RfZG9tMChzdHJ1Y3QgZG9tYWluICpkKQogICAgICAgICByZXR1 cm4gcmM7CiAKICAgICAvKgorICAgICAqIFRoZSBIQ1JfRUwyIHdpbGwgdGVtcG9yYXJpbHkgc3dp dGNoIHRvIGRvbTAncyBIQ1JfRUwyIHZhbHVlCisgICAgICogYnkgcDJtX3Jlc3RvcmVfc3RhdGUu IFdlIGhhdmUgdG8gc2F2ZSBIQ1JfRUwyIHRvIGlkbGUgdkNQVSdzCisgICAgICogY29udGV4dCBm b3IgcmVzdG9yaW5nIGl0IGluIGxhdGVyLgorICAgICAqLworICAgIGN1cnJlbnQtPmFyY2guaGNy X2VsMiA9IFJFQURfU1lTUkVHKEhDUl9FTDIpOworCisgICAgLyoKICAgICAgKiBUaGUgZm9sbG93 aW5nIGxvYWRzIHVzZSB0aGUgZG9tYWluJ3MgcDJtIGFuZCByZXF1aXJlIGN1cnJlbnQgdG8KICAg ICAgKiBiZSBhIHZjcHUgb2YgdGhlIGRvbWFpbiwgdGVtcG9yYXJpbHkgc3dpdGNoCiAgICAgICov CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9hcm0vcDJtLmMKaW5k ZXggNjI2Mzc2MC4uODNjNGI3ZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jCisrKyBi L3hlbi9hcmNoL2FybS9wMm0uYwpAQCAtMTI4LDI3ICsxMjgsMjQgQEAgdm9pZCBwMm1fc2F2ZV9z dGF0ZShzdHJ1Y3QgdmNwdSAqcCkKIAogdm9pZCBwMm1fcmVzdG9yZV9zdGF0ZShzdHJ1Y3QgdmNw dSAqbikKIHsKLSAgICByZWdpc3Rlcl90IGhjcjsKICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJt ID0gJm4tPmRvbWFpbi0+YXJjaC5wMm07CiAgICAgdWludDhfdCAqbGFzdF92Y3B1X3JhbjsKIAog ICAgIGlmICggaXNfaWRsZV92Y3B1KG4pICkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaGNyID0g UkVBRF9TWVNSRUcoSENSX0VMMik7Ci0KICAgICBXUklURV9TWVNSRUc2NChwMm0tPnZ0dGJyLCBW VFRCUl9FTDIpOwogICAgIGlzYigpOwogCiAgICAgaWYgKCBpc18zMmJpdF9kb21haW4obi0+ZG9t YWluKSApCi0gICAgICAgIGhjciAmPSB+SENSX1JXOworICAgICAgICBuLT5hcmNoLmhjcl9lbDIg Jj0gfkhDUl9SVzsKICAgICBlbHNlCi0gICAgICAgIGhjciB8PSBIQ1JfUlc7CisgICAgICAgIG4t PmFyY2guaGNyX2VsMiB8PSBIQ1JfUlc7CiAKICAgICBXUklURV9TWVNSRUcobi0+YXJjaC5zY3Rs ciwgU0NUTFJfRUwxKTsKICAgICBpc2IoKTsKIAotICAgIFdSSVRFX1NZU1JFRyhoY3IsIEhDUl9F TDIpOworICAgIFdSSVRFX1NZU1JFRyhuLT5hcmNoLmhjcl9lbDIsIEhDUl9FTDIpOwogICAgIGlz YigpOwogCiAgICAgbGFzdF92Y3B1X3JhbiA9ICZwMm0tPmxhc3RfdmNwdV9yYW5bc21wX3Byb2Nl c3Nvcl9pZCgpXTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmggYi94 ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oCmluZGV4IDA5ZmU1MDIuLjdiMWRhY2MgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKKysrIGIveGVuL2luY2x1ZGUvYXNt LWFybS9kb21haW4uaApAQCAtMjA0LDYgKzIwNCw5IEBAIHN0cnVjdCBhcmNoX3ZjcHUKICAgICBy ZWdpc3Rlcl90IHRwaWRyX2VsMTsKICAgICByZWdpc3Rlcl90IHRwaWRycm9fZWwwOwogCisgICAg LyogSFlQIGNvbmZpZ3VyYXRpb24gKi8KKyAgICByZWdpc3Rlcl90IGhjcl9lbDI7CisKICAgICB1 aW50MzJfdCB0ZWVjciwgdGVlaGJyOyAvKiBUaHVtYkVFLCAzMi1iaXQgZ3Vlc3RzIG9ubHkgKi8K ICNpZmRlZiBDT05GSUdfQVJNXzMyCiAgICAgLyoKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==