From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergej Proskurin Subject: [PATCH v2 21/25] arm/altp2m: Add HVMOP_altp2m_change_gfn. Date: Mon, 1 Aug 2016 19:10:24 +0200 Message-ID: <20160801171028.11615-22-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-0006Lq-Pj 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 VGhpcyBjb21taXQgYWRkcyB0aGUgZnVuY3Rpb25hbGl0eSB0byBjaGFuZ2UgbWZuIG1hcHBpbmdz IGZvciBzcGVjaWZpZWQKZ2ZuJ3MgaW4gYWx0cDJtIHZpZXdzLiBUaGlzIG1lY2hhbmlzbSBjYW4g YmUgdXNlZCB3aXRoaW4gdGhlIGNvbnRleHQgb2YKVk1JLCBlLmcuLCB0byBlc3RhYmxpc2ggc3Rl YWx0aHkgZGVidWdnaW5nLgoKU2lnbmVkLW9mZi1ieTogU2VyZ2VqIFByb3NrdXJpbiA8cHJvc2t1 cmluQHNlYy5pbi50dW0uZGU+Ci0tLQpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGlu aUBrZXJuZWwub3JnPgpDYzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KLS0t CiB4ZW4vYXJjaC9hcm0vYWx0cDJtLmMgICAgICAgIHwgMTE2ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL2FybS9odm0uYyAgICAgICAgICAgfCAg IDcgKystCiB4ZW4vYXJjaC9hcm0vcDJtLmMgICAgICAgICAgIHwgIDE0ICsrKysrKwogeGVuL2lu Y2x1ZGUvYXNtLWFybS9hbHRwMm0uaCB8ICAgNiArKysKIHhlbi9pbmNsdWRlL2FzbS1hcm0vcDJt LmggICAgfCAgIDQgKysKIDUgZmlsZXMgY2hhbmdlZCwgMTQ2IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYWx0cDJtLmMgYi94ZW4vYXJjaC9h cm0vYWx0cDJtLmMKaW5kZXggNzhmYzFkNS4uZGI4NmMxNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv YXJtL2FsdHAybS5jCisrKyBiL3hlbi9hcmNoL2FybS9hbHRwMm0uYwpAQCAtMjk0LDYgKzI5NCwx MjIgQEAgb3V0OgogICAgIGFsdHAybV91bmxvY2soZCk7CiB9CiAKK2ludCBhbHRwMm1fY2hhbmdl X2dmbihzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBpZHgsCisgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3Qgb2xkX2dmbiwKKyAgICAgICAgICAg ICAgICAgICAgICBnZm5fdCBuZXdfZ2ZuKQoreworICAgIHN0cnVjdCBwMm1fZG9tYWluICpocDJt LCAqYXAybTsKKyAgICBwYWRkcl90IG9sZF9ncGEgPSBwZm5fdG9fcGFkZHIoZ2ZuX3gob2xkX2dm bikpOworICAgIG1mbl90IG1mbjsKKyAgICB4ZW5tZW1fYWNjZXNzX3QgeG1hOworICAgIHAybV90 eXBlX3QgcDJtdDsKKyAgICB1bnNpZ25lZCBpbnQgbGV2ZWw7CisgICAgaW50IHJjID0gLUVJTlZB TDsKKworICAgIHN0YXRpYyBjb25zdCBwMm1fYWNjZXNzX3QgbWVtYWNjZXNzW10gPSB7CisjZGVm aW5lIEFDQ0VTUyhhYykgW1hFTk1FTV9hY2Nlc3NfIyNhY10gPSBwMm1fYWNjZXNzXyMjYWMKKyAg ICAgICAgQUNDRVNTKG4pLAorICAgICAgICBBQ0NFU1MociksCisgICAgICAgIEFDQ0VTUyh3KSwK KyAgICAgICAgQUNDRVNTKHJ3KSwKKyAgICAgICAgQUNDRVNTKHgpLAorICAgICAgICBBQ0NFU1Mo cngpLAorICAgICAgICBBQ0NFU1Mod3gpLAorICAgICAgICBBQ0NFU1Mocnd4KSwKKyAgICAgICAg QUNDRVNTKHJ4MnJ3KSwKKyAgICAgICAgQUNDRVNTKG4ycnd4KSwKKyN1bmRlZiBBQ0NFU1MKKyAg ICB9OworCisgICAgaWYgKCBpZHggPj0gTUFYX0FMVFAyTSB8fCBkLT5hcmNoLmFsdHAybV92dHRi cltpZHhdID09IElOVkFMSURfVlRUQlIgKQorICAgICAgICByZXR1cm4gcmM7CisKKyAgICBocDJt ID0gcDJtX2dldF9ob3N0cDJtKGQpOworICAgIGFwMm0gPSBkLT5hcmNoLmFsdHAybV9wMm1baWR4 XTsKKworICAgIGFsdHAybV9sb2NrKGQpOworCisgICAgLyoKKyAgICAgKiBGbGlwIG1lbV9hY2Nl c3NfZW5hYmxlZCB0byB0cnVlIHdoZW4gYSBwZXJtaXNzaW9uIGlzIHNldCwgYXMgdG8gcHJldmVu dAorICAgICAqIGFsbG9jYXRpbmcgb3IgaW5zZXJ0aW5nIHN1cGVyLXBhZ2VzLgorICAgICAqLwor ICAgIGFwMm0tPm1lbV9hY2Nlc3NfZW5hYmxlZCA9IHRydWU7CisKKyAgICBtZm4gPSBwMm1fbG9v a3VwX2F0dHIoYXAybSwgb2xkX2dmbiwgJnAybXQsICZsZXZlbCwgTlVMTCwgTlVMTCk7CisKKyAg ICAvKiBDaGVjayB3aGV0aGVyIHRoZSBwYWdlIG5lZWRzIHRvIGJlIHJlc2V0LiAqLworICAgIGlm ICggZ2ZuX2VxKG5ld19nZm4sIElOVkFMSURfR0ZOKSApCisgICAgeworICAgICAgICAvKiBJZiBt Zm4gaXMgbWFwcGVkIGJ5IG9sZF9ncGEsIHJlbW92ZSBvbGRfZ3BhIGZyb20gdGhlIGFsdHAybSB0 YWJsZS4gKi8KKyAgICAgICAgaWYgKCAhbWZuX2VxKG1mbiwgSU5WQUxJRF9NRk4pICkKKyAgICAg ICAgeworICAgICAgICAgICAgcmMgPSByZW1vdmVfYWx0cDJtX2VudHJ5KGQsIGFwMm0sIG9sZF9n cGEsIHBmbl90b19wYWRkcihtZm5feChtZm4pKSwgbGV2ZWwpOworICAgICAgICAgICAgaWYgKCBy YyApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmMgPSAtRUlOVkFMOworICAgICAg ICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAg cmMgPSAwOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICAvKiBDaGVjayBob3N0IHAy bSBpZiBubyB2YWxpZCBlbnRyeSBpbiBhbHRwMm0gcHJlc2VudC4gKi8KKyAgICBpZiAoIG1mbl9l cShtZm4sIElOVkFMSURfTUZOKSApCisgICAgeworICAgICAgICBtZm4gPSBwMm1fbG9va3VwX2F0 dHIoaHAybSwgb2xkX2dmbiwgJnAybXQsICZsZXZlbCwgTlVMTCwgJnhtYSk7CisgICAgICAgIGlm ICggbWZuX2VxKG1mbiwgSU5WQUxJRF9NRk4pIHx8IChwMm10ICE9IHAybV9yYW1fcncpICkKKyAg ICAgICAgeworICAgICAgICAgICAgcmMgPSAtRUlOVkFMOworICAgICAgICAgICAgZ290byBvdXQ7 CisgICAgICAgIH0KKworICAgICAgICAvKiBJZiB0aGlzIGlzIGEgc3VwZXJwYWdlLCBjb3B5IHRo YXQgZmlyc3QuICovCisgICAgICAgIGlmICggbGV2ZWwgIT0gMyApCisgICAgICAgIHsKKyAgICAg ICAgICAgIHJjID0gbW9kaWZ5X2FsdHAybV9lbnRyeShkLCBhcDJtLCBvbGRfZ3BhLCBwZm5fdG9f cGFkZHIobWZuX3gobWZuKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGV2ZWwsIHAybXQsIG1lbWFjY2Vzc1t4bWFdKTsKKyAgICAgICAgICAgIGlmICggcmMgKQorICAg ICAgICAgICAgeworICAgICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKKyAgICAgICAgICAgICAg ICBnb3RvIG91dDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIG1mbiA9 IHAybV9sb29rdXBfYXR0cihhcDJtLCBuZXdfZ2ZuLCAmcDJtdCwgJmxldmVsLCBOVUxMLCAmeG1h KTsKKworICAgIC8qIElmIG5ld19nZm4gaXMgbm90IHBhcnQgb2YgYWx0cDJtLCBnZXQgdGhlIG1h cHBpbmcgaW5mb3JtYXRpb24gZnJvbSBocDJtICovCisgICAgaWYgKCBtZm5fZXEobWZuLCBJTlZB TElEX01GTikgKQorICAgICAgICBtZm4gPSBwMm1fbG9va3VwX2F0dHIoaHAybSwgbmV3X2dmbiwg JnAybXQsICZsZXZlbCwgTlVMTCwgJnhtYSk7CisKKyAgICBpZiAoIG1mbl9lcShtZm4sIElOVkFM SURfTUZOKSB8fCAocDJtdCAhPSBwMm1fcmFtX3J3KSApCisgICAgeworICAgICAgICByYyA9IC1F SU5WQUw7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAgIC8qIFNldCBtZW0gYWNjZXNz IGF0dHJpYnV0ZXMgLSBjdXJyZW50bHkgc3VwcG9ydGluZyBvbmx5IG9uZSAoNEspIHBhZ2UuICov CisgICAgbGV2ZWwgPSAzOworICAgIHJjID0gbW9kaWZ5X2FsdHAybV9lbnRyeShkLCBhcDJtLCBv bGRfZ3BhLCBwZm5fdG9fcGFkZHIobWZuX3gobWZuKSksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxldmVsLCBwMm10LCBtZW1hY2Nlc3NbeG1hXSk7CisgICAgaWYgKCByYyApCisgICAg eworICAgICAgICByYyA9IC1FSU5WQUw7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAg IHJjID0gMDsKKworb3V0OgorICAgIGFsdHAybV91bmxvY2soZCk7CisKKyAgICByZXR1cm4gcmM7 Cit9CisKKwogc3RhdGljIHZvaWQgYWx0cDJtX3ZjcHVfcmVzZXQoc3RydWN0IHZjcHUgKnYpCiB7 CiAgICAgc3RydWN0IGFsdHAybXZjcHUgKmF2ID0gJnZjcHVfYWx0cDJtKHYpOwpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gvYXJtL2h2bS5jIGIveGVuL2FyY2gvYXJtL2h2bS5jCmluZGV4IDAwYTI0NGEu LjM4YjMyZGUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9odm0uYworKysgYi94ZW4vYXJjaC9h cm0vaHZtLmMKQEAgLTE0Miw3ICsxNDIsMTIgQEAgc3RhdGljIGludCBkb19hbHRwMm1fb3AoWEVO X0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2Fz ZSBIVk1PUF9hbHRwMm1fY2hhbmdlX2dmbjoKLSAgICAgICAgcmMgPSAtRU9QTk9UU1VQUDsKKyAg ICAgICAgaWYgKCBhLnUuY2hhbmdlX2dmbi5wYWQxIHx8IGEudS5jaGFuZ2VfZ2ZuLnBhZDIgKQor ICAgICAgICAgICAgcmMgPSAtRUlOVkFMOworICAgICAgICBlbHNlCisgICAgICAgICAgICByYyA9 IGFsdHAybV9jaGFuZ2VfZ2ZuKGQsIGEudS5jaGFuZ2VfZ2ZuLnZpZXcsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF9nZm4oYS51LmNoYW5nZV9nZm4ub2xkX2dmbiksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9nZm4oYS51LmNoYW5nZV9nZm4ubmV3X2dm bikpOwogICAgICAgICBicmVhazsKICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9w Mm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwppbmRleCBiZWU4YmU3Li4yZjQ3NTFiIDEwMDY0NAot LS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKKysrIGIveGVuL2FyY2gvYXJtL3AybS5jCkBAIC0xMzIx LDYgKzEzMjEsMjAgQEAgdm9pZCBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdlKHN0cnVjdCBkb21h aW4gKmQsCiAgICAgcDJtX3JlbW92ZV9tYXBwaW5nKGQsIHAybV9nZXRfaG9zdHAybShkKSwgZ2Zu LCAoMSA8PCBwYWdlX29yZGVyKSwgbWZuKTsKIH0KIAoraW50IHJlbW92ZV9hbHRwMm1fZW50cnko c3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHAybV9kb21haW4gKmFwMm0sCisgICAgICAgICAgICAg ICAgICAgICAgICBwYWRkcl90IGdwYSwgcGFkZHJfdCBtYWRkciwgdW5zaWduZWQgaW50IGxldmVs KQoreworICAgIHBhZGRyX3Qgc2l6ZSA9IGxldmVsX3NpemVzW2xldmVsXTsKKyAgICBwYWRkcl90 IG1hc2sgPSBsZXZlbF9tYXNrc1tsZXZlbF07CisgICAgZ2ZuX3QgZ2ZuID0gX2dmbihwYWRkcl90 b19wZm4oZ3BhICYgbWFzaykpOworICAgIG1mbl90IG1mbiA9IF9tZm4ocGFkZHJfdG9fcGZuKG1h ZGRyICYgbWFzaykpOworICAgIHVuc2lnbmVkIGxvbmcgbnIgPSBwYWRkcl90b19wZm4oc2l6ZSk7 CisKKyAgICBBU1NFUlQocDJtX2lzX2FsdHAybShhcDJtKSk7CisKKyAgICByZXR1cm4gcDJtX3Jl bW92ZV9tYXBwaW5nKGQsIGFwMm0sIGdmbiwgbnIsIG1mbik7Cit9CisKIGludCBtb2RpZnlfYWx0 cDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBwMm1fZG9tYWluICphcDJtLAogICAg ICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBncGEsIHBhZGRyX3QgbWFkZHIsIHVuc2lnbmVk IGludCBsZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgIHAybV90eXBlX3QgdCwgcDJtX2Fj Y2Vzc190IGEpCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2FsdHAybS5oIGIveGVu L2luY2x1ZGUvYXNtLWFybS9hbHRwMm0uaAppbmRleCA4YmZiYzZhLi42NGZiZmY3IDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2FsdHAybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1h cm0vYWx0cDJtLmgKQEAgLTk5LDQgKzk5LDEwIEBAIHZvaWQgYWx0cDJtX3Byb3BhZ2F0ZV9jaGFu Z2Uoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX3R5 cGVfdCBwMm10LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fYWNjZXNzX3QgcDJt YSk7CiAKKy8qIENoYW5nZSBhIGdmbi0+bWZuIG1hcHBpbmcgKi8KK2ludCBhbHRwMm1fY2hhbmdl X2dmbihzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBpZHgsCisgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3Qgb2xkX2dmbiwKKyAgICAgICAgICAg ICAgICAgICAgICBnZm5fdCBuZXdfZ2ZuKTsKKwogI2VuZGlmIC8qIF9fQVNNX0FSTV9BTFRQMk1f SCAqLwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaCBiL3hlbi9pbmNsdWRl L2FzbS1hcm0vcDJtLmgKaW5kZXggMTZlMzNjYS4uODQzM2Q2NiAxMDA2NDQKLS0tIGEveGVuL2lu Y2x1ZGUvYXNtLWFybS9wMm0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oCkBAIC0x ODIsNiArMTgyLDEwIEBAIG1mbl90IHAybV9sb29rdXBfYXR0cihzdHJ1Y3QgcDJtX2RvbWFpbiAq cDJtLCBnZm5fdCBnZm4sIHAybV90eXBlX3QgKnQsCiAgICAgICAgICAgICAgICAgICAgICAgdW5z aWduZWQgaW50ICpsZXZlbCwgdW5zaWduZWQgaW50ICptYXR0ciwKICAgICAgICAgICAgICAgICAg ICAgICB4ZW5tZW1fYWNjZXNzX3QgKnhtYSk7CiAKKy8qIFJlbW92ZSBhbiBhbHRwMm0gdmlldydz IGVudHJ5LiAqLworaW50IHJlbW92ZV9hbHRwMm1fZW50cnkoc3RydWN0IGRvbWFpbiAqZCwgc3Ry dWN0IHAybV9kb21haW4gKnAybSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3QgZ3Bh LCBwYWRkcl90IG1hZGRyLCB1bnNpZ25lZCBpbnQgbGV2ZWwpOworCiAvKiBNb2RpZnkgYW4gYWx0 cDJtIHZpZXcncyBlbnRyeSBvciBpdHMgYXR0cmlidXRlcy4gKi8KIGludCBtb2RpZnlfYWx0cDJt X2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAg ICAgICAgICAgICAgICAgICBwYWRkcl90IGdwYSwgcGFkZHJfdCBtYWRkciwgdW5zaWduZWQgaW50 IGxldmVsLAotLSAKMi45LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK