From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Chen Subject: [PATCH v4 04/19] xen/arm: Avoid setting/clearing HCR_RW at every context switch Date: Wed, 5 Apr 2017 17:09:06 +0800 Message-ID: <1491383361-22886-5-git-send-email-Wei.Chen@arm.com> References: <1491383361-22886-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: <1491383361-22886-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 VGhlIEhDUl9FTDIgZmxhZ3MgZm9yIDY0LWJpdCBhbmQgMzItYml0IGRvbWFpbnMgYXJlIGRpZmZl cmVudC4gQnV0CndoZW4gd2UgaW5pdGlhbGl6ZWQgdGhlIEhDUl9FTDIgZm9yIHZjcHUwIG9mIERv bTAgYW5kIGFsbCB2Y3B1cyBvZgpEb21VIGluIHZjcHVfaW5pdGlhbGlzZSwgd2UgZGlkbid0IGtu b3cgdGhlIGRvbWFpbidzIGFkZHJlc3Mgc2l6ZQppbmZvcm1hdGlvbi4gV2UgaGFkIHRvIHVzZSBj b21wYXRpYmxlIGZsYWdzIHRvIGluaXRpYWxpemUgSENSX0VMMiwKYW5kIHNldCBIQ1JfUlcgZm9y IDY0LWJpdCBkb21haW4gb3IgY2xlYXIgSENSX1JXIGZvciAzMi1iaXQgZG9tYWluCmF0IGV2ZXJ5 IGNvbnRleHQgc3dpdGNoLgoKQnV0LCBhZnRlciB3ZSBhZGRlZCB0aGUgSENSX0VMMiB0byB2Y3B1 J3MgY29udGV4dCwgdGhpcyBiZWhhdmlvdXIKc2VlbXMgYSBsaXR0bGUgZnVzc3kuIFdlIGNhbiB1 cGRhdGUgdGhlIEhDUl9SVyBiaXQgaW4gdmNwdSdzIGNvbnRleHQKYXMgc29vbiBhcyB3ZSBnZXQg dGhlIGRvbWFpbidzIGFkZHJlc3Mgc2l6ZSB0byBhdm9pZCBzZXR0aW5nL2NsZWFyaW5nCkhDUl9S VyBhdCBldmVyeSBjb250ZXh0IHN3aXRjaC4KClNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDxXZWku Q2hlbkBhcm0uY29tPgpBY2tlZC1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNv bT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9y Zz4KLS0tCiB4ZW4vYXJjaC9hcm0vYXJtNjQvZG9tY3RsLmMgIHwgNiArKysrKysKIHhlbi9hcmNo L2FybS9kb21haW4uYyAgICAgICAgfCA1ICsrKysrCiB4ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxk LmMgIHwgNyArKysrKysrCiB4ZW4vYXJjaC9hcm0vcDJtLmMgICAgICAgICAgIHwgNSAtLS0tLQog eGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaCB8IDEgKwogNSBmaWxlcyBjaGFuZ2VkLCAxOSBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9h cm02NC9kb21jdGwuYyBiL3hlbi9hcmNoL2FybS9hcm02NC9kb21jdGwuYwppbmRleCA0NGUxZTdi Li5hYjg3ODFmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vYXJtNjQvZG9tY3RsLmMKKysrIGIv eGVuL2FyY2gvYXJtL2FybTY0L2RvbWN0bC5jCkBAIC0xNCw2ICsxNCw4IEBACiAKIHN0YXRpYyBs b25nIHN3aXRjaF9tb2RlKHN0cnVjdCBkb21haW4gKmQsIGVudW0gZG9tYWluX3R5cGUgdHlwZSkK IHsKKyAgICBzdHJ1Y3QgdmNwdSAqdjsKKwogICAgIGlmICggZCA9PSBOVUxMICkKICAgICAgICAg cmV0dXJuIC1FSU5WQUw7CiAgICAgaWYgKCBkLT50b3RfcGFnZXMgIT0gMCApCkBAIC0yMyw2ICsy NSwxMCBAQCBzdGF0aWMgbG9uZyBzd2l0Y2hfbW9kZShzdHJ1Y3QgZG9tYWluICpkLCBlbnVtIGRv bWFpbl90eXBlIHR5cGUpCiAKICAgICBkLT5hcmNoLnR5cGUgPSB0eXBlOwogCisgICAgaWYgKCBp c182NGJpdF9kb21haW4oZCkgKQorICAgICAgICBmb3JfZWFjaF92Y3B1KGQsIHYpCisgICAgICAg ICAgICB2Y3B1X3N3aXRjaF90b19hYXJjaDY0X21vZGUodik7CisKICAgICByZXR1cm4gMDsKIH0K IApkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jIGIveGVuL2FyY2gvYXJtL2RvbWFp bi5jCmluZGV4IDVkMThiYjAuLjY5YzI4NTQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9kb21h aW4uYworKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluLmMKQEAgLTUzNyw2ICs1MzcsMTEgQEAgdm9p ZCB2Y3B1X2Rlc3Ryb3koc3RydWN0IHZjcHUgKnYpCiAgICAgZnJlZV94ZW5oZWFwX3BhZ2VzKHYt PmFyY2guc3RhY2ssIFNUQUNLX09SREVSKTsKIH0KIAordm9pZCB2Y3B1X3N3aXRjaF90b19hYXJj aDY0X21vZGUoc3RydWN0IHZjcHUgKnYpCit7CisgICAgdi0+YXJjaC5oY3JfZWwyIHw9IEhDUl9S VzsKK30KKwogaW50IGFyY2hfZG9tYWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l ZCBpbnQgZG9tY3JfZmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fYXJj aF9kb21haW5jb25maWcgKmNvbmZpZykKIHsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21h aW5fYnVpbGQuYyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwppbmRleCBkZTU5ZTVmLi4z YWJhY2MwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKKysrIGIveGVu L2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCkBAIC0yMTQ4LDYgKzIxNDgsMTAgQEAgaW50IGNvbnN0 cnVjdF9kb20wKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAg IH0KICAgICBkLT5hcmNoLnR5cGUgPSBraW5mby50eXBlOworCisgICAgaWYgKCBpc182NGJpdF9k b21haW4oZCkgKQorICAgICAgICB2Y3B1X3N3aXRjaF90b19hYXJjaDY0X21vZGUodik7CisKICNl bmRpZgogCiAgICAgYWxsb2NhdGVfbWVtb3J5KGQsICZraW5mbyk7CkBAIC0yMjQwLDYgKzIyNDQs OSBAQCBpbnQgY29uc3RydWN0X2RvbTAoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgICAgIHBy aW50aygiRmFpbGVkIHRvIGFsbG9jYXRlIGRvbTAgdmNwdSAlZCBvbiBwY3B1ICVkXG4iLCBpLCBj cHUpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoIGlzXzY0 Yml0X2RvbWFpbihkKSApCisgICAgICAgICAgICB2Y3B1X3N3aXRjaF90b19hYXJjaDY0X21vZGUo ZC0+dmNwdVtpXSk7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS94ZW4vYXJj aC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9hcm0vcDJtLmMKaW5kZXggODNjNGI3ZC4uMzRkNTc3NiAx MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jCisrKyBiL3hlbi9hcmNoL2FybS9wMm0uYwpA QCAtMTM3LDExICsxMzcsNiBAQCB2b2lkIHAybV9yZXN0b3JlX3N0YXRlKHN0cnVjdCB2Y3B1ICpu KQogICAgIFdSSVRFX1NZU1JFRzY0KHAybS0+dnR0YnIsIFZUVEJSX0VMMik7CiAgICAgaXNiKCk7 CiAKLSAgICBpZiAoIGlzXzMyYml0X2RvbWFpbihuLT5kb21haW4pICkKLSAgICAgICAgbi0+YXJj aC5oY3JfZWwyICY9IH5IQ1JfUlc7Ci0gICAgZWxzZQotICAgICAgICBuLT5hcmNoLmhjcl9lbDIg fD0gSENSX1JXOwotCiAgICAgV1JJVEVfU1lTUkVHKG4tPmFyY2guc2N0bHIsIFNDVExSX0VMMSk7 CiAgICAgaXNiKCk7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgg Yi94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oCmluZGV4IDdiMWRhY2MuLjY4MTg1ZTIgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLWFybS9kb21haW4uaApAQCAtMjY4LDYgKzI2OCw3IEBAIHN0cnVjdCBhcmNoX3ZjcHUKIAog dm9pZCB2Y3B1X3Nob3dfZXhlY3V0aW9uX3N0YXRlKHN0cnVjdCB2Y3B1ICopOwogdm9pZCB2Y3B1 X3Nob3dfcmVnaXN0ZXJzKGNvbnN0IHN0cnVjdCB2Y3B1ICopOwordm9pZCB2Y3B1X3N3aXRjaF90 b19hYXJjaDY0X21vZGUoc3RydWN0IHZjcHUgKik7CiAKIHVuc2lnbmVkIGludCBkb21haW5fbWF4 X3ZjcHVzKGNvbnN0IHN0cnVjdCBkb21haW4gKik7CiAKLS0gCjIuNy40CgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==