From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v3 11/25] xen/arm: probe domU kernels and initrds Date: Tue, 31 Jul 2018 16:27:54 -0700 Message-ID: <1533079688-9541-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 RmluZCBhZGRyZXNzZXMsIHNpemVzIG9uIGRldmljZSB0cmVlIGZyb20ga2VybmVsX3Byb2JlLgpG aW5kIHRoZSBjbWRsaW5lIGZyb20gdGhlIGJvb3RjbWRsaW5lcyBhcnJheS4KCkludHJvZHVjZSBh IG5ldyBib290X21vZHVsZV9maW5kX2J5X2FkZHJfYW5kX2tpbmQgZnVuY3Rpb24gdG8gbWF0Y2gg bm90Cmp1c3Qgb24gYm9vdCBtb2R1bGUga2luZCwgYnV0IGFsc28gYnkgYWRkcmVzcyBzbyB0aGF0 IHdlIGNhbiBzdXBwb3J0Cm11bHRpcGxlIGRvbWFpbnMuCgpJbnRyb2R1Y2UgYSBib290X2NtZGxp bmVfZmluZF9ieV9uYW1lIGZ1bmN0aW9uIHRvIGZpbmQgdGhlIHJpZ2h0IHN0cnVjdApjbWRsaW5l IGJhc2VkIG9uIHRoZSBkZXZpY2UgdHJlZSBub2RlIG5hbWUgb2YgdGhlICJ4ZW4sZG9tYWluIgpj b21wYXRpYmxlIG5vZGUuCgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZh bm9zQHhpbGlueC5jb20+Ci0tLQpDaGFuZ2VzIGluIHYzOgotIHJldHJpZXZlIGNtZGxpbmUgZnJv bSBib290Y21kbGluZXMgYXJyYXkKCkNoYW5nZXMgaW4gdjI6Ci0gZml4IGluZGVudGF0aW9uCi0g dW5pZnkga2VybmVsX3Byb2JlIHdpdGgga2VybmVsX3Byb2JlX2RvbVUKLSBmaW5kIGNtZGxpbmUg b24gZGV2aWNlX3RyZWUgZnJvbSBrZXJuZWxfcHJvYmUKLS0tCiB4ZW4vYXJjaC9hcm0vZG9tYWlu X2J1aWxkLmMgfCAgMiArLQogeGVuL2FyY2gvYXJtL2tlcm5lbC5jICAgICAgIHwgNDkgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiB4ZW4vYXJjaC9hcm0va2Vy bmVsLmggICAgICAgfCAgMiArLQogeGVuL2FyY2gvYXJtL3NldHVwLmMgICAgICAgIHwgMjkgKysr KysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmggfCAg MyArKysKIDUgZmlsZXMgY2hhbmdlZCwgNzYgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0v ZG9tYWluX2J1aWxkLmMKaW5kZXggZWJhMWI3Ny4uOGQ4Mjg0OSAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gvYXJtL2RvbWFpbl9idWlsZC5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwpA QCAtMjEzNiw3ICsyMTM2LDcgQEAgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tMChzdHJ1Y3QgZG9t YWluICpkKQogICAgIGtpbmZvLnVuYXNzaWduZWRfbWVtID0gZG9tMF9tZW07CiAgICAga2luZm8u ZCA9IGQ7CiAKLSAgICByYyA9IGtlcm5lbF9wcm9iZSgma2luZm8pOworICAgIHJjID0ga2VybmVs X3Byb2JlKCZraW5mbywgTlVMTCk7CiAgICAgaWYgKCByYyA8IDAgKQogICAgICAgICByZXR1cm4g cmM7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9rZXJuZWwuYyBiL3hlbi9hcmNoL2FybS9r ZXJuZWwuYwppbmRleCAwMDBkOTM5Li4xMmM2ODg0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0v a2VybmVsLmMKKysrIGIveGVuL2FyY2gvYXJtL2tlcm5lbC5jCkBAIC00MjEsMjIgKzQyMSw1NyBA QCBzdGF0aWMgaW50IF9faW5pdCBrZXJuZWxfemltYWdlMzJfcHJvYmUoc3RydWN0IGtlcm5lbF9p bmZvICppbmZvLAogICAgIHJldHVybiAwOwogfQogCi1pbnQgX19pbml0IGtlcm5lbF9wcm9iZShz dHJ1Y3Qga2VybmVsX2luZm8gKmluZm8pCitpbnQgX19pbml0IGtlcm5lbF9wcm9iZShzdHJ1Y3Qg a2VybmVsX2luZm8gKmluZm8sIHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqZG9tYWluKSAKIHsKLSAg ICBzdHJ1Y3QgYm9vdG1vZHVsZSAqbW9kID0gYm9vdF9tb2R1bGVfZmluZF9ieV9raW5kKEJPT1RN T0RfS0VSTkVMKTsKKyAgICBzdHJ1Y3QgYm9vdG1vZHVsZSAqbW9kOworICAgIHN0cnVjdCBkdF9k ZXZpY2Vfbm9kZSAqbm9kZTsKKyAgICB1NjQga2VybmVsX2FkZHIsIGluaXRyZF9hZGRyLCBzaXpl OworICAgIGNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMOwogICAgIGludCByYzsKIAorICAgIGlmICgg ZG9tYWluID09IE5VTEwgKQorICAgIHsKKyAgICAgICAgbW9kID0gYm9vdF9tb2R1bGVfZmluZF9i eV9raW5kKEJPT1RNT0RfS0VSTkVMKTsKKworICAgICAgICBpbmZvLT5rZXJuZWxfYm9vdG1vZHVs ZSA9IG1vZDsKKyAgICAgICAgaW5mby0+aW5pdHJkX2Jvb3Rtb2R1bGUgPSBib290X21vZHVsZV9m aW5kX2J5X2tpbmQoQk9PVE1PRF9SQU1ESVNLKTsKKyAgICB9IGVsc2UgeworICAgICAgICBkdF9m b3JfZWFjaF9jaGlsZF9ub2RlKGRvbWFpbiwgbm9kZSkKKyAgICAgICAgeworICAgICAgICAgICAg aWYgKCBkdF9kZXZpY2VfaXNfY29tcGF0aWJsZShub2RlLCAibXVsdGlib290LGtlcm5lbCIpICkK KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB1MzIgbGVuOworICAgICAgICAgICAgICAg IGNvbnN0IF9fYmUzMiAqdmFsOworICAgICAgICAgICAgICAgIHZhbCA9IGR0X2dldF9wcm9wZXJ0 eShub2RlLCAicmVnIiwgJmxlbik7CisgICAgICAgICAgICAgICAgZHRfZ2V0X3JhbmdlKCZ2YWws IG5vZGUsICZrZXJuZWxfYWRkciwgJnNpemUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg ZWxzZSBpZiAoIGR0X2RldmljZV9pc19jb21wYXRpYmxlKG5vZGUsICJtdWx0aWJvb3QscmFtZGlz ayIpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB1MzIgbGVuOworICAgICAgICAg ICAgICAgIGNvbnN0IF9fYmUzMiAqdmFsOworICAgICAgICAgICAgICAgIHZhbCA9IGR0X2dldF9w cm9wZXJ0eShub2RlLCAicmVnIiwgJmxlbik7CisgICAgICAgICAgICAgICAgZHRfZ2V0X3Jhbmdl KCZ2YWwsIG5vZGUsICZpbml0cmRfYWRkciwgJnNpemUpOworICAgICAgICAgICAgfQorICAgICAg ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAg IGlmICgga2VybmVsX2FkZHIgKQorICAgICAgICAgICAgaW5mby0+a2VybmVsX2Jvb3Rtb2R1bGUg PSBtb2QgPSBib290X21vZHVsZV9maW5kX2J5X2FkZHJfYW5kX2tpbmQoCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJPT1RNT0RfS0VSTkVMX0RPTUFJTiwga2VybmVsX2Fk ZHIpOworICAgICAgICBpZiAoIGluaXRyZF9hZGRyICkKKyAgICAgICAgICAgIGluZm8tPmluaXRy ZF9ib290bW9kdWxlID0gYm9vdF9tb2R1bGVfZmluZF9ieV9hZGRyX2FuZF9raW5kKAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCT09UTU9EX1JBTURJU0tfRE9NQUlOLCBp bml0cmRfYWRkcik7CisgICAgICAgIG5hbWUgPSBkdF9ub2RlX25hbWUoZG9tYWluKTsKKyAgICAg ICAgaW5mby0+Y21kbGluZSA9ICZib290X2NtZGxpbmVfZmluZF9ieV9uYW1lKG5hbWUpLT5jbWRs aW5lWzBdOworICAgIH0KICAgICBpZiAoICFtb2QgfHwgIW1vZC0+c2l6ZSApCiAgICAgewogICAg ICAgICBwcmludGsoWEVOTE9HX0VSUiAiTWlzc2luZyBrZXJuZWwgYm9vdCBtb2R1bGU/XG4iKTsK ICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CiAgICAgfQogCi0gICAgaW5mby0+a2VybmVsX2Jvb3Rt b2R1bGUgPSBtb2Q7Ci0KLSAgICBwcmludGsoIkxvYWRpbmcga2VybmVsIGZyb20gYm9vdCBtb2R1 bGUgQCAlIlBSSXBhZGRyIlxuIiwgbW9kLT5zdGFydCk7Ci0KLSAgICBpbmZvLT5pbml0cmRfYm9v dG1vZHVsZSA9IGJvb3RfbW9kdWxlX2ZpbmRfYnlfa2luZChCT09UTU9EX1JBTURJU0spOworICAg IHByaW50aygiTG9hZGluZyBEb21VIGtlcm5lbCBmcm9tIGJvb3QgbW9kdWxlIEAgJSJQUklwYWRk ciJcbiIsCisgICAgICAgICAgIGluZm8tPmtlcm5lbF9ib290bW9kdWxlLT5zdGFydCk7CiAgICAg aWYgKCBpbmZvLT5pbml0cmRfYm9vdG1vZHVsZSApCiAgICAgICAgIHByaW50aygiTG9hZGluZyBy YW1kaXNrIGZyb20gYm9vdCBtb2R1bGUgQCAlIlBSSXBhZGRyIlxuIiwKICAgICAgICAgICAgICAg IGluZm8tPmluaXRyZF9ib290bW9kdWxlLT5zdGFydCk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0va2VybmVsLmggYi94ZW4vYXJjaC9hcm0va2VybmVsLmgKaW5kZXggMzliNzgyOC4uNGE2NTI4 OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2tlcm5lbC5oCisrKyBiL3hlbi9hcmNoL2FybS9r ZXJuZWwuaApAQCAtNTUsNyArNTUsNyBAQCBzdHJ1Y3Qga2VybmVsX2luZm8gewogICogIC0+dHlw ZQogICogIC0+bG9hZCBob29rLCBhbmQgc2V0cyBsb2FkZXIgc3BlY2lmaWMgdmFyaWFibGVzIC0+ emltYWdlCiAgKi8KLWludCBrZXJuZWxfcHJvYmUoc3RydWN0IGtlcm5lbF9pbmZvICppbmZvKTsK K2ludCBrZXJuZWxfcHJvYmUoc3RydWN0IGtlcm5lbF9pbmZvICppbmZvLCBzdHJ1Y3QgZHRfZGV2 aWNlX25vZGUgKmRvbWFpbik7CiAKIC8qCiAgKiBMb2FkcyB0aGUga2VybmVsIGludG8gZ3Vlc3Qg UkFNLgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3NldHVwLmMgYi94ZW4vYXJjaC9hcm0vc2V0 dXAuYwppbmRleCBiMWExMTdmLi5jMzIwZGY5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vc2V0 dXAuYworKysgYi94ZW4vYXJjaC9hcm0vc2V0dXAuYwpAQCAtMjU1LDYgKzI1NSwzNSBAQCBzdHJ1 Y3QgYm9vdGNtZGxpbmUgKiBfX2luaXQgYm9vdF9jbWRsaW5lX2ZpbmRfYnlfa2luZChib290bW9k dWxlX2tpbmQga2luZCkKICAgICByZXR1cm4gTlVMTDsKIH0KIAorc3RydWN0IGJvb3RjbWRsaW5l ICogX19pbml0IGJvb3RfY21kbGluZV9maW5kX2J5X25hbWUoY29uc3QgY2hhciAqbmFtZSkKK3sK KyAgICBzdHJ1Y3QgYm9vdGNtZGxpbmVzICptb2RzID0gJmJvb3RpbmZvLmNtZGxpbmVzOworICAg IHN0cnVjdCBib290Y21kbGluZSAqbW9kOworICAgIGludCBpOworICAgIGZvciAoaSA9IDAgOyBp IDwgbW9kcy0+bnJfbW9kcyA7IGkrKyApCisgICAgeworICAgICAgICBtb2QgPSAmbW9kcy0+Y21k bGluZVtpXTsKKyAgICAgICAgaWYgKCBzdHJjbXAobW9kLT5kdF9uYW1lLCBuYW1lKSA9PSAwICkK KyAgICAgICAgICAgIHJldHVybiBtb2Q7CisgICAgfQorICAgIHJldHVybiBOVUxMOworfQorCitz dHJ1Y3QgYm9vdG1vZHVsZSAqIF9faW5pdCBib290X21vZHVsZV9maW5kX2J5X2FkZHJfYW5kX2tp bmQoYm9vdG1vZHVsZV9raW5kIGtpbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBzdGFydCkKK3sKKyAgICBzdHJ1 Y3QgYm9vdG1vZHVsZXMgKm1vZHMgPSAmYm9vdGluZm8ubW9kdWxlczsKKyAgICBzdHJ1Y3QgYm9v dG1vZHVsZSAqbW9kOworICAgIGludCBpOworICAgIGZvciAoaSA9IDAgOyBpIDwgbW9kcy0+bnJf bW9kcyA7IGkrKyApCisgICAgeworICAgICAgICBtb2QgPSAmbW9kcy0+bW9kdWxlW2ldOworICAg ICAgICBpZiAoIG1vZC0+a2luZCA9PSBraW5kICYmIG1vZC0+c3RhcnQgPT0gc3RhcnQgKQorICAg ICAgICAgICAgcmV0dXJuIG1vZDsKKyAgICB9CisgICAgcmV0dXJuIE5VTEw7Cit9CisKIGNvbnN0 IGNoYXIgKiBfX2luaXQgYm9vdF9tb2R1bGVfa2luZF9hc19zdHJpbmcoYm9vdG1vZHVsZV9raW5k IGtpbmQpCiB7CiAgICAgc3dpdGNoICgga2luZCApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20tYXJtL3NldHVwLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmgKaW5kZXggMzUzYzMy YS4uNDU1MWY3MiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oCisrKyBi L3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaApAQCAtOTQsNyArOTQsMTAgQEAgY29uc3QgY2hh ciBfX2luaXQgKmJvb3RfZmR0X2NtZGxpbmUoY29uc3Qgdm9pZCAqZmR0KTsKIHN0cnVjdCBib290 bW9kdWxlICphZGRfYm9vdF9tb2R1bGUoYm9vdG1vZHVsZV9raW5kIGtpbmQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3Qgc3RhcnQsIHBhZGRyX3Qgc2l6ZSk7CiBz dHJ1Y3QgYm9vdG1vZHVsZSAqYm9vdF9tb2R1bGVfZmluZF9ieV9raW5kKGJvb3Rtb2R1bGVfa2lu ZCBraW5kKTsKK3N0cnVjdCBib290bW9kdWxlICogX19pbml0IGJvb3RfbW9kdWxlX2ZpbmRfYnlf YWRkcl9hbmRfa2luZChib290bW9kdWxlX2tpbmQga2luZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHN0YXJ0KTsK IHN0cnVjdCBib290Y21kbGluZSAqYm9vdF9jbWRsaW5lX2ZpbmRfYnlfa2luZChib290bW9kdWxl X2tpbmQga2luZCk7CitzdHJ1Y3QgYm9vdGNtZGxpbmUgKiBfX2luaXQgYm9vdF9jbWRsaW5lX2Zp bmRfYnlfbmFtZShjb25zdCBjaGFyICpuYW1lKTsKIGNvbnN0IGNoYXIgKiBfX2luaXQgYm9vdF9t b2R1bGVfa2luZF9hc19zdHJpbmcoYm9vdG1vZHVsZV9raW5kIGtpbmQpOwogCiAjZW5kaWYKLS0g CjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==