From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH 1/5] xen/arm: copy dtb fragment to guest dtb Date: Wed, 5 Dec 2018 09:28:07 -0800 Message-ID: <1544030891-11906-1-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: julien.grall@arm.com Cc: Stefano Stabellini , Achin.Gupta@arm.com, sstabellini@kernel.org, andrii_anisov@epam.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org UmVhZCB0aGUgZHRiIGZyYWdtZW50IGNvcnJlc3BvbmRpbmcgdG8gYSBwYXNzdGhyb3VnaCBkZXZp Y2UgZnJvbSBtZW1vcnkKYXQgdGhlIGxvY2F0aW9uIHJlZmVycmVkIHRvIGJ5IHRoZSAibXVsdGli b290LGR0YiIgY29tcGF0aWJsZSBub2RlLgoKQ29weSB0aGUgZnJhZ21lbnQgdG8gdGhlIGd1ZXN0 IGR0Yi4KCkFkZCBhIGR0Yl9ib290bW9kdWxlIGZpZWxkIHRvIHN0cnVjdCBrZXJuZWxfaW5mbyB0 byBmaW5kIHRoZSBkdGIKZnJhZ21lbnQgZm9yIGEgZ3Vlc3QuCgpTaWduZWQtb2ZmLWJ5OiBTdGVm YW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+Ci0tLQogeGVuL2FyY2gvYXJtL2Rv bWFpbl9idWlsZC5jICB8IDc3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2tlcm5lbC5oIHwgIDIgKy0KIDIgZmlsZXMgY2hh bmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL2FybS9kb21haW5fYnVpbGQuYyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwppbmRl eCBiMGVjM2YwLi5jYzZiNDY0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxk LmMKKysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCkBAIC0xNCw2ICsxNCw3IEBACiAj aW5jbHVkZSA8eGVuL2d1ZXN0X2FjY2Vzcy5oPgogI2luY2x1ZGUgPHhlbi9pb2NhcC5oPgogI2lu Y2x1ZGUgPHhlbi9hY3BpLmg+CisjaW5jbHVkZSA8eGVuL3ZtYXAuaD4KICNpbmNsdWRlIDx4ZW4v d2FybmluZy5oPgogI2luY2x1ZGUgPGFjcGkvYWN0YWJsZXMuaD4KICNpbmNsdWRlIDxhc20vZGV2 aWNlLmg+CkBAIC0xNjY5LDYgKzE2NzAsNTkgQEAgc3RhdGljIGludCBfX2luaXQgbWFrZV92cGww MTFfdWFydF9ub2RlKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHZvaWQgKmZkdCkKIH0KICNlbmRp ZgogCitzdGF0aWMgaW50IF9faW5pdCBjb3B5X3Byb3BlcnRpZXModm9pZCAqZmR0LCB2b2lkICpw ZmR0LCBpbnQgbm9kZW9mZikKK3sKKyAgICBpbnQgcHJvcG9mZiwgbmFtZW9mZiwgcjsKKyAgICBj b25zdCBzdHJ1Y3QgZmR0X3Byb3BlcnR5ICpwcm9wOworCisgICAgZm9yICggcHJvcG9mZiA9IGZk dF9maXJzdF9wcm9wZXJ0eV9vZmZzZXQocGZkdCwgbm9kZW9mZik7CisgICAgICAgICAgcHJvcG9m ZiA+PSAwOworICAgICAgICAgIHByb3BvZmYgPSBmZHRfbmV4dF9wcm9wZXJ0eV9vZmZzZXQocGZk dCwgcHJvcG9mZikgKSB7CisKKyAgICAgICAgaWYgKCAhKHByb3AgPSBmZHRfZ2V0X3Byb3BlcnR5 X2J5X29mZnNldChwZmR0LCBwcm9wb2ZmLCBOVUxMKSkgKQorICAgICAgICAgICAgcmV0dXJuIC1G RFRfRVJSX0lOVEVSTkFMOworCisgICAgICAgIG5hbWVvZmYgPSBmZHQzMl90b19jcHUocHJvcC0+ bmFtZW9mZik7CisgICAgICAgIHIgPSBmZHRfcHJvcGVydHkoZmR0LCBmZHRfc3RyaW5nKHBmZHQs IG5hbWVvZmYpLAorICAgICAgICAgICAgICAgICAgICAgICAgIHByb3AtPmRhdGEsIGZkdDMyX3Rv X2NwdShwcm9wLT5sZW4pKTsKKyAgICAgICAgaWYgKCByICkKKyAgICAgICAgICAgIHJldHVybiBy OworICAgIH0KKworICAgIC8qIEZEVF9FUlJfTk9URk9VTkQgPT4gVGhlcmUgaXMgbm8gbW9yZSBw cm9wZXJ0aWVzIGZvciB0aGlzIG5vZGUgKi8KKyAgICByZXR1cm4gKCBwcm9wb2ZmICE9IC1GRFRf RVJSX05PVEZPVU5EICkgPyBwcm9wb2ZmIDogMDsKK30KKworc3RhdGljIGludCBfX2luaXQgY29w eV9ub2RlKHZvaWQgKmZkdCwgdm9pZCAqcGZkdCwgaW50IG5vZGVvZmYsIGludCBkZXB0aCkKK3sK KyAgICBpbnQgcjsKKworICAgIHIgPSBmZHRfYmVnaW5fbm9kZShmZHQsIGZkdF9nZXRfbmFtZShw ZmR0LCBub2Rlb2ZmLCBOVUxMKSk7CisgICAgaWYgKCByICkKKyAgICAgICAgcmV0dXJuIHI7CisK KyAgICByID0gY29weV9wcm9wZXJ0aWVzKGZkdCwgcGZkdCwgbm9kZW9mZik7CisgICAgaWYgKCBy ICkKKyAgICAgICAgcmV0dXJuIHI7CisKKyAgICBmb3IgKCBub2Rlb2ZmID0gZmR0X2ZpcnN0X3N1 Ym5vZGUocGZkdCwgbm9kZW9mZik7CisgICAgICAgICAgbm9kZW9mZiA+PSAwOworICAgICAgICAg IG5vZGVvZmYgPSBmZHRfbmV4dF9zdWJub2RlKHBmZHQsIG5vZGVvZmYpICkgeworICAgICAgICBy ID0gY29weV9ub2RlKGZkdCwgcGZkdCwgbm9kZW9mZiwgZGVwdGggKyAxKTsKKyAgICAgICAgaWYg KCByICkKKyAgICAgICAgICAgIHJldHVybiByOworICAgIH0KKworICAgIGlmICggbm9kZW9mZiAh PSAtRkRUX0VSUl9OT1RGT1VORCApCisgICAgICAgIHJldHVybiBub2Rlb2ZmOworCisgICAgciA9 IGZkdF9lbmRfbm9kZShmZHQpOworICAgIGlmICggciApCisgICAgICAgIHJldHVybiByOworCisg ICAgcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBUaGUgbWF4IHNpemUgZm9yIERUIGlzIDJNQi4gSG93 ZXZlciwgdGhlIGdlbmVyYXRlZCBEVCBpcyBzbWFsbCwgNEtCCiAgKiBhcmUgZW5vdWdoIGZvciBu b3csIGJ1dCB3ZSBtaWdodCBoYXZlIHRvIGluY3JlYXNlIGl0IGluIHRoZSBmdXR1cmUuCkBAIC0x NzQwLDYgKzE3OTQsMjkgQEAgc3RhdGljIGludCBfX2luaXQgcHJlcGFyZV9kdGJfZG9tVShzdHJ1 Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvKQogICAgICAgICAgICAgZ290 byBlcnI7CiAgICAgfQogCisgICAgaWYgKCBraW5mby0+ZHRiX2Jvb3Rtb2R1bGUgKSB7CisgICAg ICAgIGludCBub2Rlb2ZmLCByZXM7CisgICAgICAgIHZvaWQgKnBmZHQ7CisKKyAgICAgICAgcGZk dCA9IGlvcmVtYXBfY2FjaGUoa2luZm8tPmR0Yl9ib290bW9kdWxlLT5zdGFydCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAga2luZm8tPmR0Yl9ib290bW9kdWxlLT5zaXplKTsKKyAgICAg ICAgaWYgKCBwZmR0ID09IE5VTEwgKQorICAgICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CisKKyAg ICAgICAgaWYgKCBmZHRfbWFnaWMocGZkdCkgIT0gRkRUX01BR0lDICkKKyAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOworCisgICAgICAgIG5vZGVvZmYgPSBmZHRfcGF0aF9vZmZzZXQocGZkdCwg Ii9wYXNzdGhyb3VnaCIpOworICAgICAgICBpZiAobm9kZW9mZiA8IDApCisgICAgICAgICAgICBy ZXR1cm4gbm9kZW9mZjsKKworICAgICAgICByZXMgPSBjb3B5X25vZGUoa2luZm8tPmZkdCwgcGZk dCwgbm9kZW9mZiwgMCk7CisgICAgICAgIGlmICggcmVzICkKKyAgICAgICAgICAgIHJldHVybiBy ZXM7CisKKyAgICAgICAgaW91bm1hcChwZmR0KTsKKyAgICB9CisKICAgICByZXQgPSBmZHRfZW5k X25vZGUoa2luZm8tPmZkdCk7CiAgICAgaWYgKCByZXQgPCAwICkKICAgICAgICAgZ290byBlcnI7 CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2tlcm5lbC5oIGIveGVuL2luY2x1ZGUv YXNtLWFybS9rZXJuZWwuaAppbmRleCAzM2YzZTcyLi43MjBkZWM0IDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS9hc20tYXJtL2tlcm5lbC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0va2VybmVs LmgKQEAgLTI4LDcgKzI4LDcgQEAgc3RydWN0IGtlcm5lbF9pbmZvIHsKICAgICBwYWRkcl90IGdu dHRhYl9zaXplOwogCiAgICAgLyogYm9vdCBibG9iIGxvYWQgYWRkcmVzc2VzICovCi0gICAgY29u c3Qgc3RydWN0IGJvb3Rtb2R1bGUgKmtlcm5lbF9ib290bW9kdWxlLCAqaW5pdHJkX2Jvb3Rtb2R1 bGU7CisgICAgY29uc3Qgc3RydWN0IGJvb3Rtb2R1bGUgKmtlcm5lbF9ib290bW9kdWxlLCAqaW5p dHJkX2Jvb3Rtb2R1bGUsICpkdGJfYm9vdG1vZHVsZTsKICAgICBjb25zdCBjaGFyKiBjbWRsaW5l OwogICAgIHBhZGRyX3QgZHRiX3BhZGRyOwogICAgIHBhZGRyX3QgaW5pdHJkX3BhZGRyOwotLSAK MS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs