From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v6 08/26] xen/arm: probe domU kernels and initrds Date: Fri, 2 Nov 2018 16:45:00 -0700 Message-ID: <1541202318-9840-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: 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 RmluZCBhZGRyZXNzZXMsIHNpemVzIG9uIGRldmljZSB0cmVlIGZyb20ga2VybmVsX3Byb2JlLgpG aW5kIHRoZSBjbWRsaW5lIGZyb20gdGhlIGJvb3RjbWRsaW5lcyBhcnJheS4KCkludHJvZHVjZSBh IG5ldyBib290X21vZHVsZV9maW5kX2J5X2FkZHJfYW5kX2tpbmQgZnVuY3Rpb24gdG8gbWF0Y2gg bm90Cmp1c3Qgb24gYm9vdCBtb2R1bGUga2luZCwgYnV0IGFsc28gYnkgYWRkcmVzcyBzbyB0aGF0 IHdlIGNhbiBzdXBwb3J0Cm11bHRpcGxlIGRvbWFpbnMuCgpJbnRyb2R1Y2UgYSBib290X2NtZGxp bmVfZmluZF9ieV9uYW1lIGZ1bmN0aW9uIHRvIGZpbmQgdGhlIHJpZ2h0IHN0cnVjdApjbWRsaW5l IGJhc2VkIG9uIHRoZSBkZXZpY2UgdHJlZSBub2RlIG5hbWUgb2YgdGhlICJ4ZW4sZG9tYWluIgpj b21wYXRpYmxlIG5vZGUuCgpTZXQgY29tbWFuZCBsaW5lIGZvciBkb20wIGluIGtlcm5lbF9wcm9i ZSBmb3IgY29uc2lzdGVuY3kuCgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0 ZWZhbm9zQHhpbGlueC5jb20+Ci0tLQpDaGFuZ2VzIGluIHY2OgotIHN0eWxlIGltcHJvdmVtZW50 IGluIGNvbW1lbnQKLSByZW1vdmUgcmVkdW5kYW50IGNtZGxpbmUgYXNzaWdubWVudCBpbiBjb25z dHJ1Y3RfZG9tMAoKQ2hhbmdlcyBpbiB2NToKLSBjb25zdGlmeSBrZXJuZWxfcHJvYmUKLSBhZGQg QVNTRVJUIGFuZCBjb21tZW50IGluIGtlcm5lbF9wcm9iZQotIGxpbWl0IHZhcmlhYmxlIHNjb3Bl Ci0gZml4IHByaW50ayBtZXNzYWdlCi0gaW50L3Vuc2lnbmVkIGludAotIHNldCBjbWRsaW5lIGZv ciBkb20wIHRvbwotIGltcHJvdmUgY29kZSByZWFkYWJpbGl0eQoKQ2hhbmdlcyBpbiB2MzoKLSBy ZXRyaWV2ZSBjbWRsaW5lIGZyb20gYm9vdGNtZGxpbmVzIGFycmF5CgpDaGFuZ2VzIGluIHYyOgot IGZpeCBpbmRlbnRhdGlvbgotIHVuaWZ5IGtlcm5lbF9wcm9iZSB3aXRoIGtlcm5lbF9wcm9iZV9k b21VCi0gZmluZCBjbWRsaW5lIG9uIGRldmljZV90cmVlIGZyb20ga2VybmVsX3Byb2JlCi0tLQog eGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jIHwgIDQgKy0tCiB4ZW4vYXJjaC9hcm0va2VybmVs LmMgICAgICAgfCA2NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0KIHhlbi9hcmNoL2FybS9rZXJuZWwuaCAgICAgICB8ICAyICstCiB4ZW4vYXJjaC9hcm0vc2V0 dXAuYyAgICAgICAgfCAzMSArKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20t YXJtL3NldHVwLmggfCAgMyArKysKIDUgZmlsZXMgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKSwg MTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5j IGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCmluZGV4IDZiMTViYzcuLjU5YzlmMzQgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYworKysgYi94ZW4vYXJjaC9hcm0v ZG9tYWluX2J1aWxkLmMKQEAgLTIxMDcsNyArMjEwNyw2IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBm aW5kX2dudHRhYl9yZWdpb24oc3RydWN0IGRvbWFpbiAqZCwKIAogaW50IF9faW5pdCBjb25zdHJ1 Y3RfZG9tMChzdHJ1Y3QgZG9tYWluICpkKQogewotICAgIGNvbnN0IHN0cnVjdCBib290Y21kbGlu ZSAqa2VybmVsID0gYm9vdF9jbWRsaW5lX2ZpbmRfYnlfa2luZChCT09UTU9EX0tFUk5FTCk7CiAg ICAgc3RydWN0IGtlcm5lbF9pbmZvIGtpbmZvID0ge307CiAgICAgc3RydWN0IHZjcHUgKnNhdmVk X2N1cnJlbnQ7CiAgICAgaW50IHJjLCBpLCBjcHU7CkBAIC0yMTM1LDcgKzIxMzQsNyBAQCBpbnQg X19pbml0IGNvbnN0cnVjdF9kb20wKHN0cnVjdCBkb21haW4gKmQpCiAgICAga2luZm8udW5hc3Np Z25lZF9tZW0gPSBkb20wX21lbTsKICAgICBraW5mby5kID0gZDsKIAotICAgIHJjID0ga2VybmVs X3Byb2JlKCZraW5mbyk7CisgICAgcmMgPSBrZXJuZWxfcHJvYmUoJmtpbmZvLCBOVUxMKTsKICAg ICBpZiAoIHJjIDwgMCApCiAgICAgICAgIHJldHVybiByYzsKIApAQCAtMjE1Myw3ICsyMTUyLDYg QEAgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tMChzdHJ1Y3QgZG9tYWluICpkKQogCiAjZW5kaWYK IAotICAgIGtpbmZvLmNtZGxpbmUgPSAoa2VybmVsICE9IE5VTEwpID8gJmtlcm5lbC0+Y21kbGlu ZVswXSA6IE5VTEw7CiAgICAgYWxsb2NhdGVfbWVtb3J5KGQsICZraW5mbyk7CiAgICAgZmluZF9n bnR0YWJfcmVnaW9uKGQsICZraW5mbyk7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9rZXJu ZWwuYyBiL3hlbi9hcmNoL2FybS9rZXJuZWwuYwppbmRleCBkYTg0MTBlLi5kNmM4MTBiIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC9hcm0va2VybmVsLmMKKysrIGIveGVuL2FyY2gvYXJtL2tlcm5lbC5j CkBAIC00MjEsMjIgKzQyMSw3MiBAQCBzdGF0aWMgaW50IF9faW5pdCBrZXJuZWxfemltYWdlMzJf cHJvYmUoc3RydWN0IGtlcm5lbF9pbmZvICppbmZvLAogICAgIHJldHVybiAwOwogfQogCi1pbnQg X19pbml0IGtlcm5lbF9wcm9iZShzdHJ1Y3Qga2VybmVsX2luZm8gKmluZm8pCitpbnQgX19pbml0 IGtlcm5lbF9wcm9iZShzdHJ1Y3Qga2VybmVsX2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmRvbWFpbikKIHsKLSAgICBzdHJ1 Y3QgYm9vdG1vZHVsZSAqbW9kID0gYm9vdF9tb2R1bGVfZmluZF9ieV9raW5kKEJPT1RNT0RfS0VS TkVMKTsKKyAgICBzdHJ1Y3QgYm9vdG1vZHVsZSAqbW9kID0gTlVMTDsKKyAgICBzdHJ1Y3QgYm9v dGNtZGxpbmUgKmNtZCA9IE5VTEw7CisgICAgc3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlOwor ICAgIHU2NCBrZXJuZWxfYWRkciwgaW5pdHJkX2FkZHIsIHNpemU7CiAgICAgaW50IHJjOwogCisg ICAgLyogZG9tYWluIGlzIE5VTEwgb25seSBmb3IgdGhlIGhhcmR3YXJlIGRvbWFpbiAqLworICAg IGlmICggZG9tYWluID09IE5VTEwgKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzX2hhcmR3YXJl X2RvbWFpbihpbmZvLT5kKSk7CisKKyAgICAgICAgbW9kID0gYm9vdF9tb2R1bGVfZmluZF9ieV9r aW5kKEJPT1RNT0RfS0VSTkVMKTsKKworICAgICAgICBpbmZvLT5rZXJuZWxfYm9vdG1vZHVsZSA9 IG1vZDsKKyAgICAgICAgaW5mby0+aW5pdHJkX2Jvb3Rtb2R1bGUgPSBib290X21vZHVsZV9maW5k X2J5X2tpbmQoQk9PVE1PRF9SQU1ESVNLKTsKKworICAgICAgICBjbWQgPSBib290X2NtZGxpbmVf ZmluZF9ieV9raW5kKEJPT1RNT0RfS0VSTkVMKTsKKyAgICAgICAgaWYgKCBjbWQgKQorICAgICAg ICAgICAgaW5mby0+Y21kbGluZSA9ICZjbWQtPmNtZGxpbmVbMF07CisgICAgfQorICAgIGVsc2UK KyAgICB7CisgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMOworCisgICAgICAgIGR0X2Zv cl9lYWNoX2NoaWxkX25vZGUoZG9tYWluLCBub2RlKQorICAgICAgICB7CisgICAgICAgICAgICBp ZiAoIGR0X2RldmljZV9pc19jb21wYXRpYmxlKG5vZGUsICJtdWx0aWJvb3Qsa2VybmVsIikgKQor ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHUzMiBsZW47CisgICAgICAgICAgICAgICAg Y29uc3QgX19iZTMyICp2YWw7CisKKyAgICAgICAgICAgICAgICB2YWwgPSBkdF9nZXRfcHJvcGVy dHkobm9kZSwgInJlZyIsICZsZW4pOworICAgICAgICAgICAgICAgIGR0X2dldF9yYW5nZSgmdmFs LCBub2RlLCAma2VybmVsX2FkZHIsICZzaXplKTsKKyAgICAgICAgICAgICAgICBtb2QgPSBib290 X21vZHVsZV9maW5kX2J5X2FkZHJfYW5kX2tpbmQoCisgICAgICAgICAgICAgICAgICAgICAgICBC T09UTU9EX0tFUk5FTCwga2VybmVsX2FkZHIpOworICAgICAgICAgICAgICAgIGluZm8tPmtlcm5l bF9ib290bW9kdWxlID0gbW9kOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAo IGR0X2RldmljZV9pc19jb21wYXRpYmxlKG5vZGUsICJtdWx0aWJvb3QscmFtZGlzayIpICkKKyAg ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB1MzIgbGVuOworICAgICAgICAgICAgICAgIGNv bnN0IF9fYmUzMiAqdmFsOworCisgICAgICAgICAgICAgICAgdmFsID0gZHRfZ2V0X3Byb3BlcnR5 KG5vZGUsICJyZWciLCAmbGVuKTsKKyAgICAgICAgICAgICAgICBkdF9nZXRfcmFuZ2UoJnZhbCwg bm9kZSwgJmluaXRyZF9hZGRyLCAmc2l6ZSk7CisgICAgICAgICAgICAgICAgaW5mby0+aW5pdHJk X2Jvb3Rtb2R1bGUgPSBib290X21vZHVsZV9maW5kX2J5X2FkZHJfYW5kX2tpbmQoCisgICAgICAg ICAgICAgICAgICAgICAgICBCT09UTU9EX1JBTURJU0ssIGluaXRyZF9hZGRyKTsKKyAgICAgICAg ICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg ICAgfQorICAgICAgICBuYW1lID0gZHRfbm9kZV9uYW1lKGRvbWFpbik7CisgICAgICAgIGNtZCA9 IGJvb3RfY21kbGluZV9maW5kX2J5X25hbWUobmFtZSk7CisgICAgICAgIGlmICggY21kICkKKyAg ICAgICAgICAgIGluZm8tPmNtZGxpbmUgPSAmY21kLT5jbWRsaW5lWzBdOworICAgIH0KICAgICBp ZiAoICFtb2QgfHwgIW1vZC0+c2l6ZSApCiAgICAgewogICAgICAgICBwcmludGsoWEVOTE9HX0VS UiAiTWlzc2luZyBrZXJuZWwgYm9vdCBtb2R1bGU/XG4iKTsKICAgICAgICAgcmV0dXJuIC1FTk9F TlQ7CiAgICAgfQogCi0gICAgaW5mby0+a2VybmVsX2Jvb3Rtb2R1bGUgPSBtb2Q7Ci0KLSAgICBw cmludGsoIkxvYWRpbmcga2VybmVsIGZyb20gYm9vdCBtb2R1bGUgQCAlIlBSSXBhZGRyIlxuIiwg bW9kLT5zdGFydCk7Ci0KLSAgICBpbmZvLT5pbml0cmRfYm9vdG1vZHVsZSA9IGJvb3RfbW9kdWxl X2ZpbmRfYnlfa2luZChCT09UTU9EX1JBTURJU0spOworICAgIHByaW50aygiTG9hZGluZyBEb20l ZCBrZXJuZWwgZnJvbSBib290IG1vZHVsZSBAICUiUFJJcGFkZHIiXG4iLAorICAgICAgICAgICBp bmZvLT5kLT5kb21haW5faWQsIGluZm8tPmtlcm5lbF9ib290bW9kdWxlLT5zdGFydCk7CiAgICAg aWYgKCBpbmZvLT5pbml0cmRfYm9vdG1vZHVsZSApCiAgICAgICAgIHByaW50aygiTG9hZGluZyBy YW1kaXNrIGZyb20gYm9vdCBtb2R1bGUgQCAlIlBSSXBhZGRyIlxuIiwKICAgICAgICAgICAgICAg IGluZm8tPmluaXRyZF9ib290bW9kdWxlLT5zdGFydCk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0va2VybmVsLmggYi94ZW4vYXJjaC9hcm0va2VybmVsLmgKaW5kZXggMzliNzgyOC4uNDMyMGY3 MiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2tlcm5lbC5oCisrKyBiL3hlbi9hcmNoL2FybS9r ZXJuZWwuaApAQCAtNTUsNyArNTUsNyBAQCBzdHJ1Y3Qga2VybmVsX2luZm8gewogICogIC0+dHlw ZQogICogIC0+bG9hZCBob29rLCBhbmQgc2V0cyBsb2FkZXIgc3BlY2lmaWMgdmFyaWFibGVzIC0+ emltYWdlCiAgKi8KLWludCBrZXJuZWxfcHJvYmUoc3RydWN0IGtlcm5lbF9pbmZvICppbmZvKTsK K2ludCBrZXJuZWxfcHJvYmUoc3RydWN0IGtlcm5lbF9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3Qg ZHRfZGV2aWNlX25vZGUgKmRvbWFpbik7CiAKIC8qCiAgKiBMb2FkcyB0aGUga2VybmVsIGludG8g Z3Vlc3QgUkFNLgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3NldHVwLmMgYi94ZW4vYXJjaC9h cm0vc2V0dXAuYwppbmRleCBjNjllODcyLi5kYmJhOGYzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9h cm0vc2V0dXAuYworKysgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYwpAQCAtMjk3LDYgKzI5NywzNyBA QCBzdHJ1Y3QgYm9vdGNtZGxpbmUgKiBfX2luaXQgYm9vdF9jbWRsaW5lX2ZpbmRfYnlfa2luZChi b290bW9kdWxlX2tpbmQga2luZCkKICAgICByZXR1cm4gTlVMTDsKIH0KIAorc3RydWN0IGJvb3Rj bWRsaW5lICogX19pbml0IGJvb3RfY21kbGluZV9maW5kX2J5X25hbWUoY29uc3QgY2hhciAqbmFt ZSkKK3sKKyAgICBzdHJ1Y3QgYm9vdGNtZGxpbmVzICptb2RzID0gJmJvb3RpbmZvLmNtZGxpbmVz OworICAgIHN0cnVjdCBib290Y21kbGluZSAqbW9kOworICAgIHVuc2lnbmVkIGludCBpOworCisg ICAgZm9yIChpID0gMCA7IGkgPCBtb2RzLT5ucl9tb2RzIDsgaSsrICkKKyAgICB7CisgICAgICAg IG1vZCA9ICZtb2RzLT5jbWRsaW5lW2ldOworICAgICAgICBpZiAoIHN0cmNtcChtb2QtPmR0X25h bWUsIG5hbWUpID09IDAgKQorICAgICAgICAgICAgcmV0dXJuIG1vZDsKKyAgICB9CisgICAgcmV0 dXJuIE5VTEw7Cit9CisKK3N0cnVjdCBib290bW9kdWxlICogX19pbml0IGJvb3RfbW9kdWxlX2Zp bmRfYnlfYWRkcl9hbmRfa2luZChib290bW9kdWxlX2tpbmQga2luZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHN0 YXJ0KQoreworICAgIHN0cnVjdCBib290bW9kdWxlcyAqbW9kcyA9ICZib290aW5mby5tb2R1bGVz OworICAgIHN0cnVjdCBib290bW9kdWxlICptb2Q7CisgICAgdW5zaWduZWQgaW50IGk7CisKKyAg ICBmb3IgKGkgPSAwIDsgaSA8IG1vZHMtPm5yX21vZHMgOyBpKysgKQorICAgIHsKKyAgICAgICAg bW9kID0gJm1vZHMtPm1vZHVsZVtpXTsKKyAgICAgICAgaWYgKCBtb2QtPmtpbmQgPT0ga2luZCAm JiBtb2QtPnN0YXJ0ID09IHN0YXJ0ICkKKyAgICAgICAgICAgIHJldHVybiBtb2Q7CisgICAgfQor ICAgIHJldHVybiBOVUxMOworfQorCiBjb25zdCBjaGFyICogX19pbml0IGJvb3RfbW9kdWxlX2tp bmRfYXNfc3RyaW5nKGJvb3Rtb2R1bGVfa2luZCBraW5kKQogewogICAgIHN3aXRjaCAoIGtpbmQg KQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oIGIveGVuL2luY2x1ZGUv YXNtLWFybS9zZXR1cC5oCmluZGV4IDNhMzAzMjkuLjMzZmIwNGUgMTAwNjQ0Ci0tLSBhL3hlbi9p bmNsdWRlL2FzbS1hcm0vc2V0dXAuaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmgK QEAgLTEwMSw5ICsxMDEsMTIgQEAgY29uc3QgY2hhciBfX2luaXQgKmJvb3RfZmR0X2NtZGxpbmUo Y29uc3Qgdm9pZCAqZmR0KTsKIHN0cnVjdCBib290bW9kdWxlICphZGRfYm9vdF9tb2R1bGUoYm9v dG1vZHVsZV9raW5kIGtpbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh ZGRyX3Qgc3RhcnQsIHBhZGRyX3Qgc2l6ZSwgYm9vbCBkb21VKTsKIHN0cnVjdCBib290bW9kdWxl ICpib290X21vZHVsZV9maW5kX2J5X2tpbmQoYm9vdG1vZHVsZV9raW5kIGtpbmQpOworc3RydWN0 IGJvb3Rtb2R1bGUgKiBfX2luaXQgYm9vdF9tb2R1bGVfZmluZF9ieV9hZGRyX2FuZF9raW5kKGJv b3Rtb2R1bGVfa2luZCBraW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3Qgc3RhcnQpOwogdm9pZCBhZGRfYm9vdF9j bWRsaW5lKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmNtZGxpbmUsCiAgICAgICAgICAg ICAgICAgICAgICAgYm9vdG1vZHVsZV9raW5kIGtpbmQsIGJvb2wgZG9tVSk7CiBzdHJ1Y3QgYm9v dGNtZGxpbmUgKmJvb3RfY21kbGluZV9maW5kX2J5X2tpbmQoYm9vdG1vZHVsZV9raW5kIGtpbmQp Oworc3RydWN0IGJvb3RjbWRsaW5lICogX19pbml0IGJvb3RfY21kbGluZV9maW5kX2J5X25hbWUo Y29uc3QgY2hhciAqbmFtZSk7CiBjb25zdCBjaGFyICogX19pbml0IGJvb3RfbW9kdWxlX2tpbmRf YXNfc3RyaW5nKGJvb3Rtb2R1bGVfa2luZCBraW5kKTsKIAogI2VuZGlmCi0tIAoxLjkuMQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=