From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v4 06/23] xen/arm: don't add duplicate boot modules, introduce domU flag Date: Fri, 5 Oct 2018 11:47:14 -0700 Message-ID: <1538765251-25256-6-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 RG9uJ3QgYWRkIGR1cGxpY2F0ZSBib290IG1vZHVsZXMgKHNhbWUga2luZCBhbmQgc2FtZSBzdGFy dCBhZGRyZXNzKSwKdGhleSBhcmUgZnJlZWQgbGF0ZXIsIHdlIGRvbid0IHdhbnQgdG8gaW50cm9k dWNlIGRvdWJsZS1mcmVlIGVycm9ycy4KCkludHJvZHVjZSBhIGRvbVUgZmxhZyBpbiBzdHJ1Y3Qg Ym9vdG1vZHVsZSBhbmQgc3RydWN0IGJvb3RjbWRsaW5lLiBTZXQKaXQgZm9yIGtlcm5lbHMgYW5k IHJhbWRpc2tzIG9mICJ4ZW4sZG9tYWluIiBub2RlcyB0byBhdm9pZCBnZXR0aW5nCmNvbmZ1c2Vk IGluIGtlcm5lbF9wcm9iZSwgd2hlcmUgd2UgdHJ5IHRvIGd1ZXNzIHdoaWNoIGlzIHRoZSBkb20w IGtlcm5lbAphbmQgaW5pdHJkIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBvbGRlciB2ZXJzaW9ucyBv ZiB0aGUgbXVsdGlib290IHNwZWMuCgpib290X21vZHVsZV9maW5kX2J5X2tpbmQgYW5kIGJvb3Rf Y21kbGluZV9maW5kX2J5X2tpbmQgYXV0b21hdGljYWxseQpjaGVjayBmb3IgIWRvbVUgZW50cmll cyAodGhleSBhcmUgb25seSB1c2VkIGZvciBub24tZG9tVSBtb2R1bGVzKS4KClNpZ25lZC1vZmYt Ynk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFub3NAeGlsaW54LmNvbT4KCi0tLQpDaGFuZ2Vz IGluIHY0OgotIHVzZSB1bnNpZ25lZCBpbnQKLSBiZXR0ZXIgY29tbWl0IG1lc3NhZ2UKLSBpbnRy b2R1Y2UgZG9tVSBmbGFnIGFuZCB1c2FnZQoKQ2hhbmdlcyBpbiB2MjoKLSBuZXcgcGF0Y2gKLS0t CiB4ZW4vYXJjaC9hcm0vYm9vdGZkdC5jICAgICAgfCAxNCArKysrKysrKystLS0tLQogeGVuL2Fy Y2gvYXJtL3NldHVwLmMgICAgICAgIHwgMjEgKysrKysrKysrKysrKysrKystLS0tCiB4ZW4vaW5j bHVkZS9hc20tYXJtL3NldHVwLmggfCAgNCArKystCiAzIGZpbGVzIGNoYW5nZWQsIDI5IGluc2Vy dGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9ib290 ZmR0LmMgYi94ZW4vYXJjaC9hcm0vYm9vdGZkdC5jCmluZGV4IDI3MzAzMmIuLjM0OWFhOWQgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9ib290ZmR0LmMKKysrIGIveGVuL2FyY2gvYXJtL2Jvb3Rm ZHQuYwpAQCAtMTY0LDcgKzE2NCw4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcm9jZXNzX21lbW9y eV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCiB9CiAKIHN0YXRpYyB2b2lkIF9faW5p dCBhZGRfYm9vdF9jbWRsaW5lKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBib290bW9kdWxlX2tp bmQga2luZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg Km5hbWUsIGJvb3Rtb2R1bGVfa2luZCBraW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYm9vbCBkb21VKQogewogICAgIHN0cnVjdCBib290Y21kbGluZXMgKmNtZHMgPSAm Ym9vdGluZm8uY21kbGluZXM7CiAgICAgc3RydWN0IGJvb3RjbWRsaW5lICpjbWQ7CkBAIC0xODQs NiArMTg1LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGFkZF9ib290X2NtZGxpbmUoY29uc3Qgdm9p ZCAqZmR0LCBpbnQgbm9kZSwKIAogICAgIGNtZCA9ICZjbWRzLT5jbWRsaW5lW2NtZHMtPm5yX21v ZHMrK107CiAgICAgY21kLT5raW5kID0ga2luZDsKKyAgICBjbWQtPmRvbVUgPSBkb21VOwogCiAg ICAgQVNTRVJUKHN0cmxlbihuYW1lKSA8PSBEVF9NQVhfTkFNRSk7CiAgICAgc2FmZV9zdHJjcHko Y21kLT5kdF9uYW1lLCBuYW1lKTsKQEAgLTIwNiw2ICsyMDgsNyBAQCBzdGF0aWMgdm9pZCBfX2lu aXQgcHJvY2Vzc19tdWx0aWJvb3Rfbm9kZShjb25zdCB2b2lkICpmZHQsIGludCBub2RlLAogICAg IGludCBsZW4gPSBzaXplb2YoIi9jaG9zZW4iKTsKICAgICBjaGFyIHBhdGhbOF07IC8qIHNpemVv ZiAiL2Nob3NlbiIgKi8KICAgICBpbnQgcGFyZW50X25vZGU7CisgICAgYm9vbCBkb21VOwogCiAg ICAgcGFyZW50X25vZGUgPSBmZHRfcGFyZW50X29mZnNldChmZHQsIG5vZGUpOwogICAgIEFTU0VS VChwYXJlbnRfbm9kZSA+PSAwKTsKQEAgLTI2Myw4ICsyNjYsOSBAQCBzdGF0aWMgdm9pZCBfX2lu aXQgcHJvY2Vzc19tdWx0aWJvb3Rfbm9kZShjb25zdCB2b2lkICpmZHQsIGludCBub2RlLAogICAg ICAgICAgICAga2luZCA9IEJPT1RNT0RfWFNNOwogICAgIH0KIAotICAgIGFkZF9ib290X21vZHVs ZShraW5kLCBzdGFydCwgc2l6ZSk7Ci0gICAgYWRkX2Jvb3RfY21kbGluZShmZHQsIG5vZGUsIGZk dF9nZXRfbmFtZShmZHQsIHBhcmVudF9ub2RlLCAmbGVuKSwga2luZCk7CisgICAgZG9tVSA9IGZk dF9ub2RlX2NoZWNrX2NvbXBhdGlibGUoZmR0LCBwYXJlbnRfbm9kZSwgInhlbixkb21haW4iKSA9 PSAwOworICAgIGFkZF9ib290X21vZHVsZShraW5kLCBzdGFydCwgc2l6ZSwgZG9tVSk7CisgICAg YWRkX2Jvb3RfY21kbGluZShmZHQsIG5vZGUsIGZkdF9nZXRfbmFtZShmZHQsIHBhcmVudF9ub2Rl LCAmbGVuKSwga2luZCwgZG9tVSk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBwcm9jZXNzX2No b3Nlbl9ub2RlKGNvbnN0IHZvaWQgKmZkdCwgaW50IG5vZGUsCkBAIC0zMTAsNyArMzE0LDcgQEAg c3RhdGljIHZvaWQgX19pbml0IHByb2Nlc3NfY2hvc2VuX25vZGUoY29uc3Qgdm9pZCAqZmR0LCBp bnQgbm9kZSwKIAogICAgIHByaW50aygiSW5pdHJkICUiUFJJcGFkZHIiLSUiUFJJcGFkZHIiXG4i LCBzdGFydCwgZW5kKTsKIAotICAgIGFkZF9ib290X21vZHVsZShCT09UTU9EX1JBTURJU0ssIHN0 YXJ0LCBlbmQtc3RhcnQpOworICAgIGFkZF9ib290X21vZHVsZShCT09UTU9EX1JBTURJU0ssIHN0 YXJ0LCBlbmQtc3RhcnQsIGZhbHNlKTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgZWFybHlfc2Nh bl9ub2RlKGNvbnN0IHZvaWQgKmZkdCwKQEAgLTM4MSw3ICszODUsNyBAQCBzaXplX3QgX19pbml0 IGJvb3RfZmR0X2luZm8oY29uc3Qgdm9pZCAqZmR0LCBwYWRkcl90IHBhZGRyKQogICAgIGlmICgg cmV0IDwgMCApCiAgICAgICAgIHBhbmljKCJObyB2YWxpZCBkZXZpY2UgdHJlZVxuIik7CiAKLSAg ICBhZGRfYm9vdF9tb2R1bGUoQk9PVE1PRF9GRFQsIHBhZGRyLCBmZHRfdG90YWxzaXplKGZkdCkp OworICAgIGFkZF9ib290X21vZHVsZShCT09UTU9EX0ZEVCwgcGFkZHIsIGZkdF90b3RhbHNpemUo ZmR0KSwgZmFsc2UpOwogCiAgICAgZGV2aWNlX3RyZWVfZm9yX2VhY2hfbm9kZSgodm9pZCAqKWZk dCwgZWFybHlfc2Nhbl9ub2RlLCBOVUxMKTsKICAgICBlYXJseV9wcmludF9pbmZvKCk7CmRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vc2V0dXAuYyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jCmluZGV4 IGJjN2RkOTcuLmRiYWIyMzIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9zZXR1cC5jCisrKyBi L3hlbi9hcmNoL2FybS9zZXR1cC5jCkBAIC0yMDEsMTAgKzIwMSwxMiBAQCB2b2lkIF9faW5pdCBk dF91bnJlc2VydmVkX3JlZ2lvbnMocGFkZHJfdCBzLCBwYWRkcl90IGUsCiB9CiAKIHN0cnVjdCBi b290bW9kdWxlIF9faW5pdCAqYWRkX2Jvb3RfbW9kdWxlKGJvb3Rtb2R1bGVfa2luZCBraW5kLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBzdGFydCwg cGFkZHJfdCBzaXplKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGFkZHJfdCBzdGFydCwgcGFkZHJfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCBkb21VKQogewogICAgIHN0cnVjdCBib290bW9kdWxlcyAqbW9k cyA9ICZib290aW5mby5tb2R1bGVzOwogICAgIHN0cnVjdCBib290bW9kdWxlICptb2Q7CisgICAg dW5zaWduZWQgaW50IGk7CiAKICAgICBpZiAoIG1vZHMtPm5yX21vZHMgPT0gTUFYX01PRFVMRVMg KQogICAgIHsKQEAgLTIxMiwxMSArMjE0LDIyIEBAIHN0cnVjdCBib290bW9kdWxlIF9faW5pdCAq YWRkX2Jvb3RfbW9kdWxlKGJvb3Rtb2R1bGVfa2luZCBraW5kLAogICAgICAgICAgICAgICAgYm9v dF9tb2R1bGVfa2luZF9hc19zdHJpbmcoa2luZCksIHN0YXJ0LCBzdGFydCArIHNpemUpOwogICAg ICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgZm9yICggaSA9IDAgOyBpIDwgbW9kcy0+bnJf bW9kcyA7IGkrKyApCisgICAgeworICAgICAgICBtb2QgPSAmbW9kcy0+bW9kdWxlW2ldOworICAg ICAgICBpZiAoIG1vZC0+a2luZCA9PSBraW5kICYmIG1vZC0+c3RhcnQgPT0gc3RhcnQgKQorICAg ICAgICB7CisgICAgICAgICAgICBpZiAoICFkb21VICkKKyAgICAgICAgICAgICAgICBtb2QtPmRv bVUgPSBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiBtb2Q7CisgICAgICAgIH0KKyAgICB9CiAK ICAgICBtb2QgPSAmbW9kcy0+bW9kdWxlW21vZHMtPm5yX21vZHMrK107CiAgICAgbW9kLT5raW5k ID0ga2luZDsKICAgICBtb2QtPnN0YXJ0ID0gc3RhcnQ7CiAgICAgbW9kLT5zaXplID0gc2l6ZTsK KyAgICBtb2QtPmRvbVUgPSBkb21VOwogCiAgICAgcmV0dXJuIG1vZDsKIH0KQEAgLTIyOSw3ICsy NDIsNyBAQCBzdHJ1Y3QgYm9vdG1vZHVsZSAqIF9faW5pdCBib290X21vZHVsZV9maW5kX2J5X2tp bmQoYm9vdG1vZHVsZV9raW5kIGtpbmQpCiAgICAgZm9yIChpID0gMCA7IGkgPCBtb2RzLT5ucl9t b2RzIDsgaSsrICkKICAgICB7CiAgICAgICAgIG1vZCA9ICZtb2RzLT5tb2R1bGVbaV07Ci0gICAg ICAgIGlmICggbW9kLT5raW5kID09IGtpbmQgKQorICAgICAgICBpZiAoIG1vZC0+a2luZCA9PSBr aW5kICYmICFtb2QtPmRvbVUgKQogICAgICAgICAgICAgcmV0dXJuIG1vZDsKICAgICB9CiAgICAg cmV0dXJuIE5VTEw7CkBAIC0yNDQsNyArMjU3LDcgQEAgc3RydWN0IGJvb3RjbWRsaW5lICogX19p bml0IGJvb3RfY21kbGluZV9maW5kX2J5X2tpbmQoYm9vdG1vZHVsZV9raW5kIGtpbmQpCiAgICAg Zm9yICggaSA9IDAgOyBpIDwgY21kcy0+bnJfbW9kcyA7IGkrKyApCiAgICAgewogICAgICAgICBj bWQgPSAmY21kcy0+Y21kbGluZVtpXTsKLSAgICAgICAgaWYgKCBjbWQtPmtpbmQgPT0ga2luZCAp CisgICAgICAgIGlmICggY21kLT5raW5kID09IGtpbmQgJiYgIWNtZC0+ZG9tVSApCiAgICAgICAg ICAgICByZXR1cm4gY21kOwogICAgIH0KICAgICByZXR1cm4gTlVMTDsKQEAgLTczOCw3ICs3NTEs NyBAQCB2b2lkIF9faW5pdCBzdGFydF94ZW4odW5zaWduZWQgbG9uZyBib290X3BoeXNfb2Zmc2V0 LAogICAgIC8qIFJlZ2lzdGVyIFhlbidzIGxvYWQgYWRkcmVzcyBhcyBhIGJvb3QgbW9kdWxlLiAq LwogICAgIHhlbl9ib290bW9kdWxlID0gYWRkX2Jvb3RfbW9kdWxlKEJPT1RNT0RfWEVOLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocGFkZHJfdCkodWludHB0cl90KShfc3RhcnQgKyBi b290X3BoeXNfb2Zmc2V0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhZGRyX3Qp KHVpbnRwdHJfdCkoX2VuZCAtIF9zdGFydCArIDEpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHBhZGRyX3QpKHVpbnRwdHJfdCkoX2VuZCAtIF9zdGFydCArIDEpLCBmYWxzZSk7CiAg ICAgQlVHX09OKCF4ZW5fYm9vdG1vZHVsZSk7CiAKICAgICB4ZW5fcGFkZHIgPSBnZXRfeGVuX3Bh ZGRyKCk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVwLmggYi94ZW4vaW5j bHVkZS9hc20tYXJtL3NldHVwLmgKaW5kZXggYzJlZDVjYy4uNzExYjRhMiAxMDA2NDQKLS0tIGEv eGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vc2V0 dXAuaApAQCAtMzMsNiArMzMsNyBAQCBzdHJ1Y3QgbWVtaW5mbyB7CiAjZGVmaW5lIEJPT1RNT0Rf TUFYX0NNRExJTkUgMTAyNAogc3RydWN0IGJvb3Rtb2R1bGUgewogICAgIGJvb3Rtb2R1bGVfa2lu ZCBraW5kOworICAgIGJvb2wgZG9tVTsKICAgICBwYWRkcl90IHN0YXJ0OwogICAgIHBhZGRyX3Qg c2l6ZTsKIH07CkBAIC00MSw2ICs0Miw3IEBAIHN0cnVjdCBib290bW9kdWxlIHsKICNkZWZpbmUg RFRfTUFYX05BTUUgNDEKIHN0cnVjdCBib290Y21kbGluZSB7CiAgICAgYm9vdG1vZHVsZV9raW5k IGtpbmQ7CisgICAgYm9vbCBkb21VOwogICAgIGNoYXIgZHRfbmFtZVtEVF9NQVhfTkFNRV07CiAg ICAgY2hhciBjbWRsaW5lW0JPT1RNT0RfTUFYX0NNRExJTkVdOwogfTsKQEAgLTkxLDcgKzkzLDcg QEAgc2l6ZV90IF9faW5pdCBib290X2ZkdF9pbmZvKGNvbnN0IHZvaWQgKmZkdCwgcGFkZHJfdCBw YWRkcik7CiBjb25zdCBjaGFyIF9faW5pdCAqYm9vdF9mZHRfY21kbGluZShjb25zdCB2b2lkICpm ZHQpOwogCiBzdHJ1Y3QgYm9vdG1vZHVsZSAqYWRkX2Jvb3RfbW9kdWxlKGJvb3Rtb2R1bGVfa2lu ZCBraW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHN0YXJ0 LCBwYWRkcl90IHNpemUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRk cl90IHN0YXJ0LCBwYWRkcl90IHNpemUsIGJvb2wgZG9tVSk7CiBzdHJ1Y3QgYm9vdG1vZHVsZSAq Ym9vdF9tb2R1bGVfZmluZF9ieV9raW5kKGJvb3Rtb2R1bGVfa2luZCBraW5kKTsKIHN0cnVjdCBi b290Y21kbGluZSAqYm9vdF9jbWRsaW5lX2ZpbmRfYnlfa2luZChib290bW9kdWxlX2tpbmQga2lu ZCk7CiBjb25zdCBjaGFyICogX19pbml0IGJvb3RfbW9kdWxlX2tpbmRfYXNfc3RyaW5nKGJvb3Rt b2R1bGVfa2luZCBraW5kKTsKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL3hlbi1kZXZlbA==