From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH RFC 08/15] xen/arm: probe domU kernels and initrds Date: Wed, 13 Jun 2018 15:15:11 -0700 Message-ID: <1528928118-14960-8-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: artem_mygaiev@epam.com, Stefano Stabellini , sstabellini@kernel.org, andrii_anisov@epam.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org RmluZCBhZGRyZXNzZXMgYW5kIHNpemVzIG9uIGRldmljZSB0cmVlLgpJbnRyb2R1Y2UgYSBuZXcg Ym9vdF9tb2R1bGVfZmluZF9ieV9hZGRyX2FuZF9raW5kIGZ1bmN0aW9uIHRvIG1hdGNoIG5vdApq dXN0IG9uIGJvb3QgbW9kdWxlIGtpbmQsIGJ1dCBhbHNvIGJ5IGFkZHJlc3Mgc28gdGhhdCB3ZSBj YW4gc3VwcG9ydAptdWx0aXBsZSBkb21Vcy4KClNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gU3RhYmVs bGluaSA8c3RlZmFub3NAeGlsaW54LmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0va2VybmVsLmMgICAg ICAgfCA1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhl bi9hcmNoL2FybS9rZXJuZWwuaCAgICAgICB8ICAyICsrCiB4ZW4vYXJjaC9hcm0vc2V0dXAuYyAg ICAgICAgfCAxNSArKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmggfCAg MiArKwogNCBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVu L2FyY2gvYXJtL2tlcm5lbC5jIGIveGVuL2FyY2gvYXJtL2tlcm5lbC5jCmluZGV4IDhmZGZkOTEu LmM0MTA5MmUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9rZXJuZWwuYworKysgYi94ZW4vYXJj aC9hcm0va2VybmVsLmMKQEAgLTQ5Niw2ICs0OTYsNjAgQEAgZXJyOgogICAgIHJldHVybiByYzsK IH0KIAoraW50IGtlcm5lbF9wcm9iZV9kb21VKHN0cnVjdCBrZXJuZWxfaW5mbyAqaW5mbywgc3Ry dWN0IGR0X2RldmljZV9ub2RlICpkb21VKSAKK3sKKyAgICBzdHJ1Y3QgYm9vdG1vZHVsZSAqbW9k OworICAgIHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqbm9kZTsKKyAgICB1NjQga2VybmVsX2FkZHIs IGluaXRyZF9hZGRyLCBzaXplOworICAgIGludCByYzsKKworICAgIGR0X2Zvcl9lYWNoX2NoaWxk X25vZGUoZG9tVSwgbm9kZSkKKyAgICB7CisgICAgICAgIGlmICggZHRfZGV2aWNlX2lzX2NvbXBh dGlibGUobm9kZSwgIm11bHRpYm9vdCxkb21VLWtlcm5lbCIpICkKKyAgICAgICAgeworICAgICAg ICAgICAgdTMyIGxlbjsKKyAgICAgICAgICAgIGNvbnN0IF9fYmUzMiAqdmFsOworICAgICAgICAg ICAgdmFsID0gZHRfZ2V0X3Byb3BlcnR5KG5vZGUsICJyZWciLCAmbGVuKTsKKyAgICAgICAgICAg IGR0X2dldF9yYW5nZSgmdmFsLCBub2RlLCAma2VybmVsX2FkZHIsICZzaXplKTsKKyAgICAgICAg fQorICAgICAgICBlbHNlIGlmICggZHRfZGV2aWNlX2lzX2NvbXBhdGlibGUobm9kZSwgIm11bHRp Ym9vdCxkb21VLXJhbWRpc2siKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHUzMiBsZW47Cisg ICAgICAgICAgICBjb25zdCBfX2JlMzIgKnZhbDsKKyAgICAgICAgICAgIHZhbCA9IGR0X2dldF9w cm9wZXJ0eShub2RlLCAicmVnIiwgJmxlbik7CisgICAgICAgICAgICBkdF9nZXRfcmFuZ2UoJnZh bCwgbm9kZSwgJmluaXRyZF9hZGRyLCAmc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQor ICAgICAgICAgICAgY29udGludWU7CisgICAgfQorICAgIGluZm8tPmtlcm5lbF9ib290bW9kdWxl ID0gbW9kID0gYm9vdF9tb2R1bGVfZmluZF9ieV9hZGRyX2FuZF9raW5kKAorCQkJCQkJCQkJICAg IEJPT1RNT0RfRE9NVV9LRVJORUwsIGtlcm5lbF9hZGRyKTsKKyAgICBpbmZvLT5pbml0cmRfYm9v dG1vZHVsZSA9IGJvb3RfbW9kdWxlX2ZpbmRfYnlfYWRkcl9hbmRfa2luZCgKKwkJCQkJCQkgICAg ICBCT09UTU9EX0RPTVVfUkFNRElTSywgaW5pdHJkX2FkZHIpOworICAgIHByaW50aygiTG9hZGlu ZyBEb21VIGtlcm5lbCBmcm9tIGJvb3QgbW9kdWxlIEAgJSJQUklwYWRkciJcbiIsCisJCSAgIGlu Zm8tPmtlcm5lbF9ib290bW9kdWxlLT5zdGFydCk7CisgICAgaWYgKCBpbmZvLT5pbml0cmRfYm9v dG1vZHVsZSApCisgICAgICAgIHByaW50aygiTG9hZGluZyByYW1kaXNrIGZyb20gYm9vdCBtb2R1 bGUgQCAlIlBSSXBhZGRyIlxuIiwKKyAgICAgICAgICAgICAgIGluZm8tPmluaXRyZF9ib290bW9k dWxlLT5zdGFydCk7CisKKyAgICAvKiBpZiBpdCBpcyBhIGd6aXAnZWQgaW1hZ2UsIDMyYml0IG9y IDY0Yml0LCB1bmNvbXByZXNzIGl0ICovCisgICAgcmMgPSBrZXJuZWxfZGVjb21wcmVzcyhtb2Qp OworICAgIGlmIChyYyA8IDAgJiYgcmMgIT0gLUVJTlZBTCkKKyAgICAgICAgcmV0dXJuIHJjOwor CisjaWZkZWYgQ09ORklHX0FSTV82NAorICAgIHJjID0ga2VybmVsX3ppbWFnZTY0X3Byb2JlKGlu Zm8sIG1vZC0+c3RhcnQsIG1vZC0+c2l6ZSk7CisgICAgaWYgKHJjIDwgMCkKKyNlbmRpZgorICAg ICAgICByYyA9IGtlcm5lbF91aW1hZ2VfcHJvYmUoaW5mbywgbW9kLT5zdGFydCwgbW9kLT5zaXpl KTsKKyAgICBpZiAocmMgPCAwKQorICAgICAgICByYyA9IGtlcm5lbF96aW1hZ2UzMl9wcm9iZShp bmZvLCBtb2QtPnN0YXJ0LCBtb2QtPnNpemUpOworICAgIGlmIChyYyA8IDApCisgICAgICAgIHJj ID0ga2VybmVsX2VsZl9wcm9iZShpbmZvLCBtb2QtPnN0YXJ0LCBtb2QtPnNpemUpOworCisgICAg cmV0dXJuIHJjOworfQorCiBpbnQga2VybmVsX3Byb2JlKHN0cnVjdCBrZXJuZWxfaW5mbyAqaW5m bykKIHsKICAgICBzdHJ1Y3QgYm9vdG1vZHVsZSAqbW9kID0gYm9vdF9tb2R1bGVfZmluZF9ieV9r aW5kKEJPT1RNT0RfS0VSTkVMKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9rZXJuZWwuaCBi L3hlbi9hcmNoL2FybS9rZXJuZWwuaAppbmRleCA2ZDY5NTA5Li44ZTE2MTRiIDEwMDY0NAotLS0g YS94ZW4vYXJjaC9hcm0va2VybmVsLmgKKysrIGIveGVuL2FyY2gvYXJtL2tlcm5lbC5oCkBAIC02 NCw2ICs2NCw4IEBAIHN0cnVjdCBrZXJuZWxfaW5mbyB7CiAgKi8KIGludCBrZXJuZWxfcHJvYmUo c3RydWN0IGtlcm5lbF9pbmZvICppbmZvKTsKIAoraW50IGtlcm5lbF9wcm9iZV9kb21VKHN0cnVj dCBrZXJuZWxfaW5mbyAqaW5mbywgc3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlKTsKKwogLyoK ICAqIExvYWRzIHRoZSBrZXJuZWwgaW50byBndWVzdCBSQU0uCiAgKgpkaWZmIC0tZ2l0IGEveGVu L2FyY2gvYXJtL3NldHVwLmMgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYwppbmRleCA4MjU5M2M4Li45 OGJkYjI0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vc2V0dXAuYworKysgYi94ZW4vYXJjaC9h cm0vc2V0dXAuYwpAQCAtMjQxLDYgKzI0MSwyMSBAQCBzdHJ1Y3QgYm9vdG1vZHVsZSAqIF9faW5p dCBib290X21vZHVsZV9maW5kX2J5X2tpbmQoYm9vdG1vZHVsZV9raW5kIGtpbmQpCiAgICAgcmV0 dXJuIE5VTEw7CiB9CiAKK3N0cnVjdCBib290bW9kdWxlICogX19pbml0IGJvb3RfbW9kdWxlX2Zp bmRfYnlfYWRkcl9hbmRfa2luZChib290bW9kdWxlX2tpbmQga2luZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHN0 YXJ0KQoreworICAgIHN0cnVjdCBib290bW9kdWxlcyAqbW9kcyA9ICZib290aW5mby5tb2R1bGVz OworICAgIHN0cnVjdCBib290bW9kdWxlICptb2Q7CisgICAgaW50IGk7CisgICAgZm9yIChpID0g MCA7IGkgPCBtb2RzLT5ucl9tb2RzIDsgaSsrICkKKyAgICB7CisgICAgICAgIG1vZCA9ICZtb2Rz LT5tb2R1bGVbaV07CisgICAgICAgIGlmICggbW9kLT5raW5kID09IGtpbmQgJiYgbW9kLT5zdGFy dCA9PSBzdGFydCApCisgICAgICAgICAgICByZXR1cm4gbW9kOworICAgIH0KKyAgICByZXR1cm4g TlVMTDsKK30KKwogY29uc3QgY2hhciAqIF9faW5pdCBib290X21vZHVsZV9raW5kX2FzX3N0cmlu Zyhib290bW9kdWxlX2tpbmQga2luZCkKIHsKICAgICBzd2l0Y2ggKCBraW5kICkKZGlmZiAtLWdp dCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0 dXAuaAppbmRleCA4NmFhYzBlLi45MDM3ODJmIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t YXJtL3NldHVwLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oCkBAIC04Myw2ICs4 Myw4IEBAIHN0cnVjdCBib290bW9kdWxlICphZGRfYm9vdF9tb2R1bGUoYm9vdG1vZHVsZV9raW5k IGtpbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3Qgc3RhcnQs IHBhZGRyX3Qgc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciAqY21kbGluZSk7CiBzdHJ1Y3QgYm9vdG1vZHVsZSAqYm9vdF9tb2R1bGVfZmluZF9ieV9r aW5kKGJvb3Rtb2R1bGVfa2luZCBraW5kKTsKK3N0cnVjdCBib290bW9kdWxlICogX19pbml0IGJv b3RfbW9kdWxlX2ZpbmRfYnlfYWRkcl9hbmRfa2luZChib290bW9kdWxlX2tpbmQga2luZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwYWRkcl90IHN0YXJ0KTsKIGNvbnN0IGNoYXIgKiBfX2luaXQgYm9vdF9tb2R1bGVfa2luZF9h c19zdHJpbmcoYm9vdG1vZHVsZV9raW5kIGtpbmQpOwogCiAjZW5kaWYKLS0gCjEuOS4xCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==