From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH 5/6] xen/arm: map reserved-memory regions as normal memory in dom0 Date: Tue, 26 Feb 2019 15:07:06 -0800 Message-ID: <1551222427-21749-5-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gylod-0002Lz-HJ for xen-devel@lists.xenproject.org; Tue, 26 Feb 2019 23:07:11 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , julien.grall@arm.com, sstabellini@kernel.org List-Id: xen-devel@lists.xenproject.org cmVzZXJ2ZWQtbWVtb3J5IHJlZ2lvbnMgc2hvdWxkIGJlIG1hcHBlZCBhcyBub3JtYWwgbWVtb3J5 LiBBdCB0aGUKbW9tZW50LCB0aGV5IGdldCByZW1hcHBlZCBhcyBkZXZpY2UgbWVtb3J5IGluIGRv bTAgYmVjYXVzZSBYZW4gZG9lc24ndAprbm93IGFueSBiZXR0ZXIuIEFkZCBhbiBleHBsaWNpdCBj aGVjayBmb3IgaXQuCgpIb3dldmVyLCByZXNlcnZlZC1tZW1vcnkgcmVnaW9ucyBhcmUgYWxsb3dl ZCB0byBvdmVybGFwIHBhcnRpYWxseSBvcgpjb21wbGV0ZWx5IHdpdGggbWVtb3J5IG5vZGVzLiBJ biB0aGVzZSBjYXNlcywgdGhlIG92ZXJsYXBwaW5nIG1lbW9yeSBpcwpyZXNlcnZlZC1tZW1vcnkg YW5kIHNob3VsZCBiZSBoYW5kbGVkIGFjY29yZGluZ2x5LgoKU2lnbmVkLW9mZi1ieTogU3RlZmFu byBTdGFiZWxsaW5pIDxzdGVmYW5vc0B4aWxpbnguY29tPgotLS0KIHhlbi9hcmNoL2FybS9kb21h aW5fYnVpbGQuYyB8ICA3ICsrKysKIHhlbi9hcmNoL2FybS9zZXR1cC5jICAgICAgICB8IDg0ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogMiBmaWxlcyBjaGFu Z2VkLCA3NyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v YXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKaW5k ZXggZjU1MjE1NC4uYzdkZjRjZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWls ZC5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwpAQCAtMTMwNyw2ICsxMzA3LDEz IEBAIHN0YXRpYyBpbnQgX19pbml0IGhhbmRsZV9ub2RlKHN0cnVjdCBkb21haW4gKmQsIHN0cnVj dCBrZXJuZWxfaW5mbyAqa2luZm8sCiAgICAgICAgICAgICAgICAiV0FSTklORzogUGF0aCAlcyBp cyByZXNlcnZlZCwgc2tpcCB0aGUgbm9kZSBhcyB3ZSBtYXkgcmUtdXNlIHRoZSBwYXRoLlxuIiwK ICAgICAgICAgICAgICAgIHBhdGgpOwogCisgICAgLyoKKyAgICAgKiByZXNlcnZlZC1tZW1vcnkg cmFuZ2VzIHNob3VsZCBiZSBtYXBwZWQgYXMgbm9ybWFsIG1lbW9yeSBpbiB0aGUKKyAgICAgKiBw Mm0uCisgICAgICovCisgICAgaWYgKCAhc3RyY21wKGR0X25vZGVfbmFtZShub2RlKSwgInJlc2Vy dmVkLW1lbW9yeSIpICkKKyAgICAgICAgcDJtdCA9IHAybV9yYW1fcnc7CisKICAgICByZXMgPSBo YW5kbGVfZGV2aWNlKGQsIG5vZGUsIHAybXQpOwogICAgIGlmICggcmVzKQogICAgICAgICByZXR1 cm4gcmVzOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3NldHVwLmMgYi94ZW4vYXJjaC9hcm0v c2V0dXAuYwppbmRleCA4MGYwMDI4Li43NGM0NzA3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0v c2V0dXAuYworKysgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYwpAQCAtNDcwLDEwICs0NzAsNTIgQEAg c3RhdGljIHZvaWQgX19pbml0IGluaXRfcGR4KHZvaWQpCiAgICAgfQogfQogCitzdGF0aWMgdm9p ZCBfX2luaXQgY2hlY2tfcmVzZXJ2ZWRfbWVtb3J5KHBhZGRyX3QgKmJhbmtfc3RhcnQsIHBhZGRy X3QgKmJhbmtfc2l6ZSkKK3sKKyAgICBwYWRkcl90IGJhbmtfZW5kID0gKmJhbmtfc3RhcnQgKyAq YmFua19zaXplOworICAgIHN0cnVjdCBtZW1pbmZvIG1lbSA9IGJvb3RpbmZvLm1lbTsKKyAgICBp bnQgaTsKKworICAgIGZvciAoIGkgPSAwOyBpIDwgYm9vdGluZm8ucmVzZXJ2ZWRfbWVtLm5yX2Jh bmtzOyBpKysgKQorICAgIHsKKyAgICAgICAgc3RydWN0IG1lbWJhbmsgcmJhbmsgPSBib290aW5m by5yZXNlcnZlZF9tZW0uYmFua1tpXTsKKworICAgICAgICBpZiAoICpiYW5rX3N0YXJ0IDwgcmJh bmsuc3RhcnQgJiYgYmFua19lbmQgPD0gcmJhbmsuc3RhcnQgKQorICAgICAgICAgICAgY29udGlu dWU7CisKKyAgICAgICAgaWYgKCAqYmFua19zdGFydCA+PSAocmJhbmsuc3RhcnQgKyByYmFuay5z aXplKSApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAvKiBtZW1vcnkgYmFuayBv dmVybGFwcyB3aXRoIHJlc2VydmVkIG1lbW9yeSByZWdpb24gKi8KKyAgICAgICAgaWYgKCByYmFu ay5zdGFydCA+ICpiYW5rX3N0YXJ0ICkKKyAgICAgICAgeworICAgICAgICAgICAgYmFua19lbmQg PSByYmFuay5zdGFydDsKKyAgICAgICAgICAgIGlmICggKmJhbmtfc3RhcnQgKyAqYmFua19zaXpl ID4gcmJhbmsuc3RhcnQgKyByYmFuay5zaXplICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICBtZW0uYmFua1ttZW0ubnJfYmFua3NdLnN0YXJ0ID0gcmJhbmsuc3RhcnQgKyByYmFuay5z aXplOworICAgICAgICAgICAgICAgIG1lbS5iYW5rW21lbS5ucl9iYW5rc10uc2l6ZSA9ICpiYW5r X3N0YXJ0ICsgKmJhbmtfc2l6ZSAtCisgICAgICAgICAgICAgICAgICAgIG1lbS5iYW5rW21lbS5u cl9iYW5rc10uc3RhcnQ7CisgICAgICAgICAgICAgICAgbWVtLm5yX2JhbmtzKys7CisgICAgICAg ICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoIHJiYW5rLnN0YXJ0ICsgcmJhbmsu c2l6ZSA+ICpiYW5rX3N0YXJ0KQorICAgICAgICB7CisgICAgICAgICAgIGlmIChyYmFuay5zdGFy dCArIHJiYW5rLnNpemUgPCBiYW5rX2VuZCApCisgICAgICAgICAgICAgICAqYmFua19zdGFydCA9 IHJiYW5rLnN0YXJ0ICsgcmJhbmsuc2l6ZTsKKyAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg ICAgKmJhbmtfc3RhcnQgPSBiYW5rX2VuZDsKKyAgICAgICAgfQorCisgICAgICAgICpiYW5rX3Np emUgPSBiYW5rX2VuZCAtICpiYW5rX3N0YXJ0OworICAgIH0KK30KKwogI2lmZGVmIENPTkZJR19B Uk1fMzIKIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9tbSh1bnNpZ25lZCBsb25nIGR0Yl9wYWRk ciwgc2l6ZV90IGR0Yl9zaXplKQogewotICAgIHBhZGRyX3QgcmFtX3N0YXJ0LCByYW1fZW5kLCBy YW1fc2l6ZTsKKyAgICBwYWRkcl90IHJhbV9zdGFydCA9IH4wOworICAgIHBhZGRyX3QgcmFtX2Vu ZCA9IDA7CisgICAgcGFkZHJfdCByYW1fc2l6ZSA9IDA7CiAgICAgcGFkZHJfdCBzLCBlOwogICAg IHVuc2lnbmVkIGxvbmcgcmFtX3BhZ2VzOwogICAgIHVuc2lnbmVkIGxvbmcgaGVhcF9wYWdlcywg eGVuaGVhcF9wYWdlcywgZG9taGVhcF9wYWdlczsKQEAgLTQ4NywxOCArNTI5LDE5IEBAIHN0YXRp YyB2b2lkIF9faW5pdCBzZXR1cF9tbSh1bnNpZ25lZCBsb25nIGR0Yl9wYWRkciwgc2l6ZV90IGR0 Yl9zaXplKQogCiAgICAgaW5pdF9wZHgoKTsKIAotICAgIHJhbV9zdGFydCA9IGJvb3RpbmZvLm1l bS5iYW5rWzBdLnN0YXJ0OwotICAgIHJhbV9zaXplICA9IGJvb3RpbmZvLm1lbS5iYW5rWzBdLnNp emU7Ci0gICAgcmFtX2VuZCAgID0gcmFtX3N0YXJ0ICsgcmFtX3NpemU7Ci0KLSAgICBmb3IgKCBp ID0gMTsgaSA8IGJvb3RpbmZvLm1lbS5ucl9iYW5rczsgaSsrICkKKyAgICBmb3IgKCBpID0gMDsg aSA8IGJvb3RpbmZvLm1lbS5ucl9iYW5rczsgaSsrICkKICAgICB7Ci0gICAgICAgIHBhZGRyX3Qg YmFua19zdGFydCA9IGJvb3RpbmZvLm1lbS5iYW5rW2ldLnN0YXJ0OwotICAgICAgICBwYWRkcl90 IGJhbmtfc2l6ZSA9IGJvb3RpbmZvLm1lbS5iYW5rW2ldLnNpemU7Ci0gICAgICAgIHBhZGRyX3Qg YmFua19lbmQgPSBiYW5rX3N0YXJ0ICsgYmFua19zaXplOworICAgICAgICBwYWRkcl90IGJhbmtf ZW5kOwogCi0gICAgICAgIHJhbV9zaXplICA9IHJhbV9zaXplICsgYmFua19zaXplOwotICAgICAg ICByYW1fc3RhcnQgPSBtaW4ocmFtX3N0YXJ0LGJhbmtfc3RhcnQpOworICAgICAgICBjaGVja19y ZXNlcnZlZF9tZW1vcnkoJmJvb3RpbmZvLm1lbS5iYW5rW2ldLnN0YXJ0LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmJvb3RpbmZvLm1lbS5iYW5rW2ldLnNpemUpOworCisgICAgICAg IGlmICggIWJvb3RpbmZvLm1lbS5iYW5rW2ldLnNpemUgKQorICAgICAgICAgICAgY29udGludWU7 CisKKyAgICAgICAgYmFua19lbmQgPSBib290aW5mby5tZW0uYmFua1tpXS5zdGFydCArIGJvb3Rp bmZvLm1lbS5iYW5rW2ldLnNpemU7CisgICAgICAgIHJhbV9zaXplICA9IHJhbV9zaXplICsgYm9v dGluZm8ubWVtLmJhbmtbaV0uc2l6ZTsKKyAgICAgICAgcmFtX3N0YXJ0ID0gbWluKHJhbV9zdGFy dCwgYm9vdGluZm8ubWVtLmJhbmtbaV0uc3RhcnQpOwogICAgICAgICByYW1fZW5kICAgPSBtYXgo cmFtX2VuZCxiYW5rX2VuZCk7CiAgICAgfQogCkBAIC01NzAsNiArNjEzLDkgQEAgc3RhdGljIHZv aWQgX19pbml0IHNldHVwX21tKHVuc2lnbmVkIGxvbmcgZHRiX3BhZGRyLCBzaXplX3QgZHRiX3Np emUpCiAgICAgICAgIHBhZGRyX3QgYmFua19zdGFydCA9IGJvb3RpbmZvLm1lbS5iYW5rW2ldLnN0 YXJ0OwogICAgICAgICBwYWRkcl90IGJhbmtfZW5kID0gYmFua19zdGFydCArIGJvb3RpbmZvLm1l bS5iYW5rW2ldLnNpemU7CiAKKyAgICAgICAgaWYgKCAhYm9vdGluZm8ubWVtLmJhbmtbaV0uc2l6 ZSApCisgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICBzID0gYmFua19zdGFydDsKICAg ICAgICAgd2hpbGUgKCBzIDwgYmFua19lbmQgKQogICAgICAgICB7CkBAIC02MjcsMTEgKzY3Mywy MSBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfbW0odW5zaWduZWQgbG9uZyBkdGJfcGFkZHIs IHNpemVfdCBkdGJfc2l6ZSkKICAgICB0b3RhbF9wYWdlcyA9IDA7CiAgICAgZm9yICggYmFuayA9 IDAgOyBiYW5rIDwgYm9vdGluZm8ubWVtLm5yX2JhbmtzOyBiYW5rKysgKQogICAgIHsKLSAgICAg ICAgcGFkZHJfdCBiYW5rX3N0YXJ0ID0gYm9vdGluZm8ubWVtLmJhbmtbYmFua10uc3RhcnQ7Ci0g ICAgICAgIHBhZGRyX3QgYmFua19zaXplID0gYm9vdGluZm8ubWVtLmJhbmtbYmFua10uc2l6ZTsK LSAgICAgICAgcGFkZHJfdCBiYW5rX2VuZCA9IGJhbmtfc3RhcnQgKyBiYW5rX3NpemU7CisgICAg ICAgIHBhZGRyX3QgYmFua19zdGFydDsKKyAgICAgICAgcGFkZHJfdCBiYW5rX3NpemU7CisgICAg ICAgIHBhZGRyX3QgYmFua19lbmQ7CiAgICAgICAgIHBhZGRyX3QgcywgZTsKIAorICAgICAgICBj aGVja19yZXNlcnZlZF9tZW1vcnkoJmJvb3RpbmZvLm1lbS5iYW5rW2JhbmtdLnN0YXJ0LAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJvb3RpbmZvLm1lbS5iYW5rW2JhbmtdLnNpemUp OworCisgICAgICAgIGJhbmtfc3RhcnQgPSBib290aW5mby5tZW0uYmFua1tiYW5rXS5zdGFydDsK KyAgICAgICAgYmFua19zaXplID0gYm9vdGluZm8ubWVtLmJhbmtbYmFua10uc2l6ZTsKKyAgICAg ICAgYmFua19lbmQgPSBiYW5rX3N0YXJ0ICsgYmFua19zaXplOworCisgICAgICAgIGlmICggIWJh bmtfc2l6ZSApCisgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICByYW1fc2l6ZSA9IHJh bV9zaXplICsgYmFua19zaXplOwogICAgICAgICByYW1fc3RhcnQgPSBtaW4ocmFtX3N0YXJ0LGJh bmtfc3RhcnQpOwogICAgICAgICByYW1fZW5kID0gbWF4KHJhbV9lbmQsYmFua19lbmQpOwotLSAK MS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs