From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergej Proskurin Subject: [PATCH v2 19/25] arm/altp2m: Add altp2m_propagate_change. Date: Mon, 1 Aug 2016 19:10:22 +0200 Message-ID: <20160801171028.11615-20-proskurin@sec.in.tum.de> References: <20160801171028.11615-1-proskurin@sec.in.tum.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bUGkD-0006Lf-MI for xen-devel@lists.xenproject.org; Mon, 01 Aug 2016 17:11:13 +0000 In-Reply-To: <20160801171028.11615-1-proskurin@sec.in.tum.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Sergej Proskurin , Julien Grall , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org VGhpcyBjb21taXQgaW50cm9kdWNlcyB0aGUgZnVuY3Rpb24gImFsdHAybV9wcm9wYWdhdGVfY2hh bmdlIiB0aGF0IGlzCnJlc3BvbnNpYmxlIHRvIHByb3BhZ2F0ZSBjaGFuZ2VzIGFwcGxpZWQgdG8g dGhlIGhvc3QncyBwMm0gdG8gYSBzcGVjaWZpYwpvciBldmVuIGFsbCBhbHRwMm0gdmlld3MuIElu IHRoaXMgd2F5LCBYZW4gY2FuIGluLS9kZWNyZWFzZSB0aGUgZ3Vlc3QncwpwaHlzbWVtIGF0IHJ1 bi10aW1lIHdpdGhvdXQgbGVhdmluZyB0aGUgYWx0cDJtIHZpZXdzIHdpdGgKc3RhbGxlZC9pbnZh bGlkIGVudHJpZXMuCgpTaWduZWQtb2ZmLWJ5OiBTZXJnZWogUHJvc2t1cmluIDxwcm9za3VyaW5A c2VjLmluLnR1bS5kZT4KLS0tCkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtl cm5lbC5vcmc+CkNjOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgotLS0KIHhl bi9hcmNoL2FybS9hbHRwMm0uYyAgICAgICAgfCA3NSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gvYXJtL3AybS5jICAgICAgICAgICB8IDE0ICsr KysrKysrKwogeGVuL2luY2x1ZGUvYXNtLWFybS9hbHRwMm0uaCB8ICA5ICsrKysrKwogeGVuL2lu Y2x1ZGUvYXNtLWFybS9wMm0uaCAgICB8ICA1ICsrKwogNCBmaWxlcyBjaGFuZ2VkLCAxMDMgaW5z ZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9hbHRwMm0uYyBiL3hlbi9hcmNo L2FybS9hbHRwMm0uYwppbmRleCBmOThmZDczLi5mM2MxY2ZmIDEwMDY0NAotLS0gYS94ZW4vYXJj aC9hcm0vYWx0cDJtLmMKKysrIGIveGVuL2FyY2gvYXJtL2FsdHAybS5jCkBAIC0xMzMsNiArMTMz LDgxIEBAIG91dDoKICAgICByZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBhbHRw Mm1fcmVzZXQoc3RydWN0IHAybV9kb21haW4gKnAybSkKK3sKKyAgICByZWFkX2xvY2soJnAybS0+ bG9jayk7CisKKyAgICBwMm1fZmx1c2hfdGFibGUocDJtKTsKKyAgICBwMm1fZmx1c2hfdGxiKHAy bSk7CisKKyAgICBwMm0tPmxvd2VzdF9tYXBwZWRfZ2ZuID0gSU5WQUxJRF9HRk47CisgICAgcDJt LT5tYXhfbWFwcGVkX2dmbiA9IF9nZm4oMCk7CisKKyAgICByZWFkX3VubG9jaygmcDJtLT5sb2Nr KTsKK30KKwordm9pZCBhbHRwMm1fcHJvcGFnYXRlX2NoYW5nZShzdHJ1Y3QgZG9tYWluICpkLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZm5fdCBzZ2ZuLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtZm5fdCBzbWZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBt YXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fdHlwZV90IHAybXQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9hY2Nlc3NfdCBwMm1hKQoreworICAgIHN0cnVj dCBwMm1fZG9tYWluICpwMm07CisgICAgbWZuX3QgbTsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyAg ICB1bnNpZ25lZCBpbnQgcmVzZXRfY291bnQgPSAwOworICAgIHVuc2lnbmVkIGludCBsYXN0X3Jl c2V0X2lkeCA9IH4wOworCisgICAgaWYgKCAhYWx0cDJtX2FjdGl2ZShkKSApCisgICAgICAgIHJl dHVybjsKKworICAgIGFsdHAybV9sb2NrKGQpOworCisgICAgZm9yICggaSA9IDA7IGkgPCBNQVhf QUxUUDJNOyBpKysgKQorICAgIHsKKyAgICAgICAgaWYgKCBkLT5hcmNoLmFsdHAybV92dHRicltp XSA9PSBJTlZBTElEX1ZUVEJSICkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIHAy bSA9IGQtPmFyY2guYWx0cDJtX3AybVtpXTsKKworICAgICAgICBtID0gcDJtX2xvb2t1cF9hdHRy KHAybSwgc2dmbiwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCk7CisKKyAgICAgICAgLyogQ2hlY2sg Zm9yIGEgZHJvcHBlZCBwYWdlIHRoYXQgbWF5IGltcGFjdCB0aGlzIGFsdHAybS4gKi8KKyAgICAg ICAgaWYgKCAobWZuX2VxKHNtZm4sIElOVkFMSURfTUZOKSB8fCBwMm10ID09IHAybV9pbnZhbGlk KSAmJgorICAgICAgICAgICAgIGdmbl94KHNnZm4pID49IGdmbl94KHAybS0+bG93ZXN0X21hcHBl ZF9nZm4pICYmCisgICAgICAgICAgICAgZ2ZuX3goc2dmbikgPD0gZ2ZuX3gocDJtLT5tYXhfbWFw cGVkX2dmbikgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoICFyZXNldF9jb3VudCsrICkK KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBhbHRwMm1fcmVzZXQocDJtKTsKKyAgICAg ICAgICAgICAgICBsYXN0X3Jlc2V0X2lkeCA9IGk7CisgICAgICAgICAgICB9CisgICAgICAgICAg ICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyogQXQgbGVhc3QgMiBhbHRw Mm0ncyBpbXBhY3RlZCwgc28gcmVzZXQgZXZlcnl0aGluZy4gKi8KKyAgICAgICAgICAgICAgICBm b3IgKCBpID0gMDsgaSA8IE1BWF9BTFRQMk07IGkrKyApCisgICAgICAgICAgICAgICAgeworICAg ICAgICAgICAgICAgICAgICBpZiAoIGkgPT0gbGFzdF9yZXNldF9pZHggfHwKKyAgICAgICAgICAg ICAgICAgICAgICAgICBkLT5hcmNoLmFsdHAybV92dHRicltpXSA9PSBJTlZBTElEX1ZUVEJSICkK KyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgICAg IHAybSA9IGQtPmFyY2guYWx0cDJtX3AybVtpXTsKKyAgICAgICAgICAgICAgICAgICAgYWx0cDJt X3Jlc2V0KHAybSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGdvdG8gb3V0 OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCAhbWZuX2VxKG0s IElOVkFMSURfTUZOKSApCisgICAgICAgICAgICBtb2RpZnlfYWx0cDJtX3JhbmdlKGQsIHAybSwg c2dmbiwgbnIsIHNtZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2ssIHAy bXQsIHAybWEpOworICAgIH0KKworb3V0OgorICAgIGFsdHAybV91bmxvY2soZCk7Cit9CisKIHN0 YXRpYyB2b2lkIGFsdHAybV92Y3B1X3Jlc2V0KHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHN0cnVj dCBhbHRwMm12Y3B1ICphdiA9ICZ2Y3B1X2FsdHAybSh2KTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwppbmRleCBlMGE3ZjM4Li4zMTgxMGU2IDEw MDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKKysrIGIveGVuL2FyY2gvYXJtL3AybS5jCkBA IC05OTIsNiArOTkyLDcgQEAgc3RhdGljIGludCBhcHBseV9wMm1fY2hhbmdlcyhzdHJ1Y3QgZG9t YWluICpkLAogICAgIGNvbnN0IGJvb2xfdCBwcmVlbXB0ID0gIWlzX2lkbGVfdmNwdShjdXJyZW50 KTsKICAgICBib29sX3QgZmx1c2ggPSBmYWxzZTsKICAgICBib29sX3QgZmx1c2hfcHQ7CisgICAg Ym9vbF90IGVudHJ5X3dyaXR0ZW4gPSBmYWxzZTsKICAgICBQQUdFX0xJU1RfSEVBRChmcmVlX3Bh Z2VzKTsKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsKIApAQCAtMTExMiw2ICsxMTEzLDcgQEAg c3RhdGljIGludCBhcHBseV9wMm1fY2hhbmdlcyhzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZhZGRyLCAmbWFkZHIsICZmbHVzaCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0LCBhKTsKICAgICAgICAgICAgIGlmICggcmV0IDwg MCApIHsgcmMgPSByZXQgOyBnb3RvIG91dDsgfQorICAgICAgICAgICAgaWYgKCByZXQgKSBlbnRy eV93cml0dGVuID0gMTsKICAgICAgICAgICAgIGNvdW50ICs9IHJldDsKIAogICAgICAgICAgICAg aWYgKCByZXQgIT0gUDJNX09ORV9QUk9HUkVTU19OT1AgKQpAQCAtMTIwOCw2ICsxMjEwLDkgQEAg b3V0OgogCiAgICAgcDJtX3dyaXRlX3VubG9jayhwMm0pOwogCisgICAgaWYgKCByYyA+PSAwICYm IGVudHJ5X3dyaXR0ZW4gJiYgcDJtX2lzX2hvc3RwMm0ocDJtKSApCisgICAgICAgIGFsdHAybV9w cm9wYWdhdGVfY2hhbmdlKGQsIHNnZm4sIG5yLCBzbWZuLCBtYXNrLCB0LCBhKTsKKwogICAgIGlm ICggcmMgPCAwICYmICggb3AgPT0gSU5TRVJUICkgJiYKICAgICAgICAgIGFkZHIgIT0gc3RhcnRf Z3BhZGRyICkKICAgICB7CkBAIC0xMzMxLDYgKzEzMzYsMTUgQEAgaW50IG1vZGlmeV9hbHRwMm1f ZW50cnkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHAybV9kb21haW4gKmFwMm0sCiAgICAgcmV0 dXJuIGFwcGx5X3AybV9jaGFuZ2VzKGQsIGFwMm0sIElOU0VSVCwgZ2ZuLCBuciwgbWZuLCAwLCB0 LCBhKTsKIH0KIAoraW50IG1vZGlmeV9hbHRwMm1fcmFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwgc3Ry dWN0IHAybV9kb21haW4gKmFwMm0sCisgICAgICAgICAgICAgICAgICAgICAgICBnZm5fdCBzZ2Zu LCB1bnNpZ25lZCBsb25nIG5yLCBtZm5fdCBzbWZuLAorICAgICAgICAgICAgICAgICAgICAgICAg dWludDMyX3QgbSwgcDJtX3R5cGVfdCB0LCBwMm1fYWNjZXNzX3QgYSkKK3sKKyAgICBBU1NFUlQo cDJtX2lzX2FsdHAybShhcDJtKSk7CisKKyAgICByZXR1cm4gYXBwbHlfcDJtX2NoYW5nZXMoZCwg YXAybSwgSU5TRVJULCBzZ2ZuLCBuciwgc21mbiwgbSwgdCwgYSk7Cit9CisKIGludCBwMm1fYWxs b2NfdGFibGUoc3RydWN0IHAybV9kb21haW4gKnAybSkKIHsKICAgICB1bnNpZ25lZCBpbnQgaTsK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vYWx0cDJtLmggYi94ZW4vaW5jbHVkZS9h c20tYXJtL2FsdHAybS5oCmluZGV4IGRjNDFmOTMuLjlhZWI3ZDYgMTAwNjQ0Ci0tLSBhL3hlbi9p bmNsdWRlL2FzbS1hcm0vYWx0cDJtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9hbHRwMm0u aApAQCAtODEsNCArODEsMTMgQEAgaW50IGFsdHAybV9zZXRfbWVtX2FjY2VzcyhzdHJ1Y3QgZG9t YWluICpkLAogICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fYWNjZXNzX3QgYSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgZ2ZuKTsKIAorLyogUHJvcGFnYXRlcyBjaGFuZ2Vz IG1hZGUgdG8gaG9zdHAybSB0byBhZmZlY3RlZCBhbHRwMm0gdmlld3MuICovCit2b2lkIGFsdHAy bV9wcm9wYWdhdGVfY2hhbmdlKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdmbl90IHNnZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGxvbmcgbnIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl90IHNtZm4sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG1hc2ssCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHAybV90eXBlX3QgcDJtdCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcDJtX2FjY2Vzc190IHAybWEpOworCiAjZW5kaWYgLyogX19BU01fQVJNX0FMVFAyTV9I ICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oIGIveGVuL2luY2x1ZGUv YXNtLWFybS9wMm0uaAppbmRleCA5ODU5YWQxLi41OTE4NmM5IDEwMDY0NAotLS0gYS94ZW4vaW5j bHVkZS9hc20tYXJtL3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vcDJtLmgKQEAgLTE5 MSw2ICsxOTEsMTEgQEAgaW50IG1vZGlmeV9hbHRwMm1fZW50cnkoc3RydWN0IGRvbWFpbiAqZCwg c3RydWN0IHAybV9kb21haW4gKnAybSwKICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3Qg Z3BhLCBwYWRkcl90IG1hZGRyLCB1bnNpZ25lZCBpbnQgbGV2ZWwsCiAgICAgICAgICAgICAgICAg ICAgICAgICBwMm1fdHlwZV90IHQsIHAybV9hY2Nlc3NfdCBhKTsKIAorLyogTW9kaWZ5IGFuIGFs dHAybSB2aWV3J3MgcmFuZ2Ugb2YgZW50cmllcyBvciB0aGVpciBhdHRyaWJ1dGVzLiAqLworaW50 IG1vZGlmeV9hbHRwMm1fcmFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHAybV9kb21haW4g KnAybSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGdmbl90IHNnZm4sIHVuc2lnbmVkIGxvbmcg bnIsIG1mbl90IHNtZm4sCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBtYXNrLCBw Mm1fdHlwZV90IHQsIHAybV9hY2Nlc3NfdCBhKTsKKwogLyogQ2xlYW4gJiBpbnZhbGlkYXRlIGNh Y2hlcyBjb3JyZXNwb25kaW5nIHRvIGEgcmVnaW9uIG9mIGd1ZXN0IGFkZHJlc3Mgc3BhY2UgKi8K IGludCBwMm1fY2FjaGVfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3Qgc3RhcnQsIHVuc2ln bmVkIGxvbmcgbnIpOwogCi0tIAoyLjkuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=