From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v2 11/21] xen/arm: probe domU kernels and initrds Date: Fri, 6 Jul 2018 16:12:06 -0700 Message-ID: <1530918736-13965-11-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 , sstabellini@kernel.org, andrii_anisov@epam.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org RmluZCBhZGRyZXNzZXMsIHNpemVzIGFuZCBjbWRsaW5lcyBvbiBkZXZpY2UgdHJlZSBmcm9tIGtl cm5lbF9wcm9iZS4KCkludHJvZHVjZSBhIG5ldyBib290X21vZHVsZV9maW5kX2J5X2FkZHJfYW5k X2tpbmQgZnVuY3Rpb24gdG8gbWF0Y2ggbm90Cmp1c3Qgb24gYm9vdCBtb2R1bGUga2luZCwgYnV0 IGFsc28gYnkgYWRkcmVzcyBzbyB0aGF0IHdlIGNhbiBzdXBwb3J0Cm11bHRpcGxlIGRvbWFpbnMu CgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm9zQHhpbGlueC5jb20+ Ci0tLQpDaGFuZ2VzIGluIHYyOgotIGZpeCBpbmRlbnRhdGlvbgotIHVuaWZ5IGtlcm5lbF9wcm9i ZSB3aXRoIGtlcm5lbF9wcm9iZV9kb21VCi0gZmluZCBjbWRsaW5lIG9uIGRldmljZV90cmVlIGZy b20ga2VybmVsX3Byb2JlCi0tLQogeGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jIHwgIDIgKy0K IHhlbi9hcmNoL2FybS9rZXJuZWwuYyAgICAgICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLQogeGVuL2FyY2gvYXJtL2tlcm5lbC5oICAgICAgIHwgIDIg Ky0KIHhlbi9hcmNoL2FybS9zZXR1cC5jICAgICAgICB8IDE1ICsrKysrKysrKysrKysrKwogeGVu L2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oIHwgIDIgKysKIDUgZmlsZXMgY2hhbmdlZCwgNTkgaW5z ZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9t YWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKaW5kZXggZDdlNjQyYi4u M2RkYWZmYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCisrKyBiL3hl bi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwpAQCAtMjE1Myw3ICsyMTUzLDcgQEAgaW50IF9faW5p dCBjb25zdHJ1Y3RfZG9tMChzdHJ1Y3QgZG9tYWluICpkKQogICAgIGtpbmZvLnVuYXNzaWduZWRf bWVtID0gZG9tMF9tZW07CiAgICAga2luZm8uZCA9IGQ7CiAKLSAgICByYyA9IGtlcm5lbF9wcm9i ZSgma2luZm8pOworICAgIHJjID0ga2VybmVsX3Byb2JlKCZraW5mbywgTlVMTCk7CiAgICAgaWYg KCByYyA8IDAgKQogICAgICAgICByZXR1cm4gcmM7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy bS9rZXJuZWwuYyBiL3hlbi9hcmNoL2FybS9rZXJuZWwuYwppbmRleCA4ZmRmZDkxLi5hOWZhNTQw IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0va2VybmVsLmMKKysrIGIveGVuL2FyY2gvYXJtL2tl cm5lbC5jCkBAIC00OTYsMjIgKzQ5Niw1NSBAQCBlcnI6CiAgICAgcmV0dXJuIHJjOwogfQogCi1p bnQga2VybmVsX3Byb2JlKHN0cnVjdCBrZXJuZWxfaW5mbyAqaW5mbykKK2ludCBrZXJuZWxfcHJv YmUoc3RydWN0IGtlcm5lbF9pbmZvICppbmZvLCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmRvbWFp bikgCiB7Ci0gICAgc3RydWN0IGJvb3Rtb2R1bGUgKm1vZCA9IGJvb3RfbW9kdWxlX2ZpbmRfYnlf a2luZChCT09UTU9EX0tFUk5FTCk7CisgICAgc3RydWN0IGJvb3Rtb2R1bGUgKm1vZDsKKyAgICBz dHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5vZGU7CisgICAgdTY0IGtlcm5lbF9hZGRyLCBpbml0cmRf YWRkciwgc2l6ZTsKKyAgICBjb25zdCBjaGFyICpjbWRsaW5lID0gTlVMTDsKICAgICBpbnQgcmM7 CiAKKyAgICBpZiAoIGRvbWFpbiA9PSBOVUxMICkKKyAgICB7CisgICAgICAgIG1vZCA9IGJvb3Rf bW9kdWxlX2ZpbmRfYnlfa2luZChCT09UTU9EX0tFUk5FTCk7CisKKyAgICAgICAgaW5mby0+a2Vy bmVsX2Jvb3Rtb2R1bGUgPSBtb2Q7CisgICAgICAgIGluZm8tPmluaXRyZF9ib290bW9kdWxlID0g Ym9vdF9tb2R1bGVfZmluZF9ieV9raW5kKEJPT1RNT0RfUkFNRElTSyk7CisgICAgfSBlbHNlIHsK KyAgICAgICAgZHRfZm9yX2VhY2hfY2hpbGRfbm9kZShkb21haW4sIG5vZGUpCisgICAgICAgIHsK KyAgICAgICAgICAgIGlmICggZHRfZGV2aWNlX2lzX2NvbXBhdGlibGUobm9kZSwgIm11bHRpYm9v dCxrZXJuZWwiKSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdTMyIGxlbjsKKyAg ICAgICAgICAgICAgICBjb25zdCBfX2JlMzIgKnZhbDsKKyAgICAgICAgICAgICAgICB2YWwgPSBk dF9nZXRfcHJvcGVydHkobm9kZSwgInJlZyIsICZsZW4pOworICAgICAgICAgICAgICAgIGR0X2dl dF9yYW5nZSgmdmFsLCBub2RlLCAma2VybmVsX2FkZHIsICZzaXplKTsKKyAgICAgICAgICAgICAg ICBjbWRsaW5lID0gZHRfZ2V0X3Byb3BlcnR5KG5vZGUsICJib290YXJncyIsICZsZW4pOworICAg ICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAoIGR0X2RldmljZV9pc19jb21wYXRpYmxl KG5vZGUsICJtdWx0aWJvb3QscmFtZGlzayIpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICB1MzIgbGVuOworICAgICAgICAgICAgICAgIGNvbnN0IF9fYmUzMiAqdmFsOworICAgICAg ICAgICAgICAgIHZhbCA9IGR0X2dldF9wcm9wZXJ0eShub2RlLCAicmVnIiwgJmxlbik7CisgICAg ICAgICAgICAgICAgZHRfZ2V0X3JhbmdlKCZ2YWwsIG5vZGUsICZpbml0cmRfYWRkciwgJnNpemUp OworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGNvbnRp bnVlOworICAgICAgICB9CisgICAgICAgIGluZm8tPmtlcm5lbF9ib290bW9kdWxlID0gbW9kID0g Ym9vdF9tb2R1bGVfZmluZF9ieV9hZGRyX2FuZF9raW5kKAorICAgICAgICAgICAgICAgIEJPT1RN T0RfS0VSTkVMX0RPTUFJTiwga2VybmVsX2FkZHIpOworICAgICAgICBpbmZvLT5pbml0cmRfYm9v dG1vZHVsZSA9IGJvb3RfbW9kdWxlX2ZpbmRfYnlfYWRkcl9hbmRfa2luZCgKKyAgICAgICAgICAg ICAgICBCT09UTU9EX1JBTURJU0tfRE9NQUlOLCBpbml0cmRfYWRkcik7CisgICAgICAgIGluZm8t PmNtZGxpbmUgPSBjbWRsaW5lOworICAgIH0KICAgICBpZiAoICFtb2QgfHwgIW1vZC0+c2l6ZSAp CiAgICAgewogICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAiTWlzc2luZyBrZXJuZWwgYm9vdCBt b2R1bGU/XG4iKTsKICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CiAgICAgfQogCi0gICAgaW5mby0+ a2VybmVsX2Jvb3Rtb2R1bGUgPSBtb2Q7Ci0KLSAgICBwcmludGsoIkxvYWRpbmcga2VybmVsIGZy b20gYm9vdCBtb2R1bGUgQCAlIlBSSXBhZGRyIlxuIiwgbW9kLT5zdGFydCk7Ci0KLSAgICBpbmZv LT5pbml0cmRfYm9vdG1vZHVsZSA9IGJvb3RfbW9kdWxlX2ZpbmRfYnlfa2luZChCT09UTU9EX1JB TURJU0spOworICAgIHByaW50aygiTG9hZGluZyBEb21VIGtlcm5lbCBmcm9tIGJvb3QgbW9kdWxl IEAgJSJQUklwYWRkciJcbiIsCisgICAgICAgICAgIGluZm8tPmtlcm5lbF9ib290bW9kdWxlLT5z dGFydCk7CiAgICAgaWYgKCBpbmZvLT5pbml0cmRfYm9vdG1vZHVsZSApCiAgICAgICAgIHByaW50 aygiTG9hZGluZyByYW1kaXNrIGZyb20gYm9vdCBtb2R1bGUgQCAlIlBSSXBhZGRyIlxuIiwKICAg ICAgICAgICAgICAgIGluZm8tPmluaXRyZF9ib290bW9kdWxlLT5zdGFydCk7CmRpZmYgLS1naXQg YS94ZW4vYXJjaC9hcm0va2VybmVsLmggYi94ZW4vYXJjaC9hcm0va2VybmVsLmgKaW5kZXggYTQ3 YWE0Yy4uNjRiNjJlNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2tlcm5lbC5oCisrKyBiL3hl bi9hcmNoL2FybS9rZXJuZWwuaApAQCAtNjMsNyArNjMsNyBAQCBzdHJ1Y3Qga2VybmVsX2luZm8g ewogICogIC0+dHlwZQogICogIC0+bG9hZCBob29rLCBhbmQgc2V0cyBsb2FkZXIgc3BlY2lmaWMg dmFyaWFibGVzIC0+e3ppbWFnZSxlbGZ9CiAgKi8KLWludCBrZXJuZWxfcHJvYmUoc3RydWN0IGtl cm5lbF9pbmZvICppbmZvKTsKK2ludCBrZXJuZWxfcHJvYmUoc3RydWN0IGtlcm5lbF9pbmZvICpp bmZvLCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmRvbWFpbik7CiAKIC8qCiAgKiBMb2FkcyB0aGUg a2VybmVsIGludG8gZ3Vlc3QgUkFNLgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3NldHVwLmMg Yi94ZW4vYXJjaC9hcm0vc2V0dXAuYwppbmRleCBkNDMxNmM3Li43NzM5YTgwIDEwMDY0NAotLS0g YS94ZW4vYXJjaC9hcm0vc2V0dXAuYworKysgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYwpAQCAtMjQ0 LDYgKzI0NCwyMSBAQCBzdHJ1Y3QgYm9vdG1vZHVsZSAqIF9faW5pdCBib290X21vZHVsZV9maW5k X2J5X2tpbmQoYm9vdG1vZHVsZV9raW5kIGtpbmQpCiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKK3N0 cnVjdCBib290bW9kdWxlICogX19pbml0IGJvb3RfbW9kdWxlX2ZpbmRfYnlfYWRkcl9hbmRfa2lu ZChib290bW9kdWxlX2tpbmQga2luZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHN0YXJ0KQoreworICAgIHN0cnVj dCBib290bW9kdWxlcyAqbW9kcyA9ICZib290aW5mby5tb2R1bGVzOworICAgIHN0cnVjdCBib290 bW9kdWxlICptb2Q7CisgICAgaW50IGk7CisgICAgZm9yIChpID0gMCA7IGkgPCBtb2RzLT5ucl9t b2RzIDsgaSsrICkKKyAgICB7CisgICAgICAgIG1vZCA9ICZtb2RzLT5tb2R1bGVbaV07CisgICAg ICAgIGlmICggbW9kLT5raW5kID09IGtpbmQgJiYgbW9kLT5zdGFydCA9PSBzdGFydCApCisgICAg ICAgICAgICByZXR1cm4gbW9kOworICAgIH0KKyAgICByZXR1cm4gTlVMTDsKK30KKwogY29uc3Qg Y2hhciAqIF9faW5pdCBib290X21vZHVsZV9raW5kX2FzX3N0cmluZyhib290bW9kdWxlX2tpbmQg a2luZCkKIHsKICAgICBzd2l0Y2ggKCBraW5kICkKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz bS1hcm0vc2V0dXAuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaAppbmRleCBmOGYzZWZm Li5kMGUyM2Y0IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oCkBAIC04Miw2ICs4Miw4IEBAIGNvbnN0IGNoYXIg X19pbml0ICpib290X2ZkdF9jbWRsaW5lKGNvbnN0IHZvaWQgKmZkdCk7CiBzdHJ1Y3QgYm9vdG1v ZHVsZSAqYWRkX2Jvb3RfbW9kdWxlKGJvb3Rtb2R1bGVfa2luZCBraW5kLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHN0YXJ0LCBwYWRkcl90IHNpemUpOwogc3Ry dWN0IGJvb3Rtb2R1bGUgKmJvb3RfbW9kdWxlX2ZpbmRfYnlfa2luZChib290bW9kdWxlX2tpbmQg a2luZCk7CitzdHJ1Y3QgYm9vdG1vZHVsZSAqIF9faW5pdCBib290X21vZHVsZV9maW5kX2J5X2Fk ZHJfYW5kX2tpbmQoYm9vdG1vZHVsZV9raW5kIGtpbmQsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBzdGFydCk7CiBj b25zdCBjaGFyICogX19pbml0IGJvb3RfbW9kdWxlX2tpbmRfYXNfc3RyaW5nKGJvb3Rtb2R1bGVf a2luZCBraW5kKTsKIAogI2VuZGlmCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h bi9saXN0aW5mby94ZW4tZGV2ZWw=