From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v2 10/21] xen/arm: don't add duplicate boot modules Date: Fri, 6 Jul 2018 16:12:05 -0700 Message-ID: <1530918736-13965-10-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 dCBhZGRyZXNzKS4KCkRvbid0IHRyeSB0byBhZGQgY21kbGluZSBmb3IgInhlbixkb21haW4iIGNv bXBhdGlibGUgbm9kZXMuIEl0IHdpbGwgYmUKYWRkZWQgbGF0ZXIgZGlyZWN0bHkgYnkga2VybmVs X3Byb2JlLgoKTWFyayBrZXJuZWxzIGFuZCByYW1kaXNrcyBvZiAieGVuLGRvbWFpbiIgbm9kZXMg YXMgQk9PVE1PRF9LRVJORUxfRE9NQUlOCmFuZCBCT09UTU9EX1JBTURJU0tfRE9NQUlOIHJlc3Bl Y3RpdmVseSwgdG8gYXZvaWQgZ2V0dGluZyBjb25mdXNlZCBpbgprZXJuZWxfcHJvYmUsIHdoZXJl IHdlIHRyeSB0byBndWVzcyB3aGljaCBpcyB0aGUgZG9tMCBrZXJuZWwgYW5kIGluaXRyZAp0byBi ZSBjb21wYXRpYmxlIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgdGhlIG11bHRpYm9vdCBzcGVjLgoK U2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vc0B4aWxpbnguY29tPgoK LS0tCkNoYW5nZXMgaW4gdjI6Ci0gbmV3IHBhdGNoCi0tLQogeGVuL2FyY2gvYXJtL2Jvb3RmZHQu YyAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiB4ZW4vYXJjaC9hcm0vc2V0 dXAuYyAgICAgICAgfCAgOSArKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaCB8 ICAyICsrCiAzIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYyBiL3hlbi9hcmNoL2FybS9ib290 ZmR0LmMKaW5kZXggYjNlMWUwMC4uZjAwNWM1MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2Jv b3RmZHQuYworKysgYi94ZW4vYXJjaC9hcm0vYm9vdGZkdC5jCkBAIC0xNzQsNyArMTc0LDEyIEBA IHN0YXRpYyB2b2lkIF9faW5pdCBwcm9jZXNzX211bHRpYm9vdF9ub2RlKGNvbnN0IHZvaWQgKmZk dCwgaW50IG5vZGUsCiAgICAgcGFkZHJfdCBzdGFydCwgc2l6ZTsKICAgICBjb25zdCBjaGFyICpj bWRsaW5lOwogICAgIGludCBsZW47CisgICAgaW50IHBhcmVudF9ub2RlOwogCisgICAgcGFyZW50 X25vZGUgPSBmZHRfcGFyZW50X29mZnNldChmZHQsIG5vZGUpOworICAgIGlmICggcGFyZW50X25v ZGUgPCAwICkKKyAgICAgICAgcGFuaWMoIm5vZGUgJXMgbWlzc2luZyBhIHBhcmVudFxuIiwgbmFt ZSk7CisgCiAgICAgcHJvcCA9IGZkdF9nZXRfcHJvcGVydHkoZmR0LCBub2RlLCAicmVnIiwgJmxl bik7CiAgICAgaWYgKCAhcHJvcCApCiAgICAgICAgIHBhbmljKCJub2RlICVzIG1pc3NpbmcgYHJl ZycgcHJvcGVydHlcbiIsIG5hbWUpOwpAQCAtMjIwLDEzICsyMjUsMjMgQEAgc3RhdGljIHZvaWQg X19pbml0IHByb2Nlc3NfbXVsdGlib290X25vZGUoY29uc3Qgdm9pZCAqZmR0LCBpbnQgbm9kZSwK ICAgICAgICAgICAgIGtpbmQgPSBCT09UTU9EX1hTTTsKICAgICB9CiAKLSAgICBwcm9wID0gZmR0 X2dldF9wcm9wZXJ0eShmZHQsIG5vZGUsICJib290YXJncyIsICZsZW4pOwotICAgIGlmICggcHJv cCApCisgICAgaWYgKCBmZHRfbm9kZV9jaGVja19jb21wYXRpYmxlKGZkdCwgcGFyZW50X25vZGUs ICJ4ZW4sZG9tYWluIikgIT0gMCApCisgICAgeworICAgICAgICBwcm9wID0gZmR0X2dldF9wcm9w ZXJ0eShmZHQsIG5vZGUsICJib290YXJncyIsICZsZW4pOworICAgICAgICBpZiAoIHByb3AgKQor ICAgICAgICB7CisgICAgICAgICAgICBpZiAoIGxlbiA+IEJPT1RNT0RfTUFYX0NNRExJTkUgKQor ICAgICAgICAgICAgICAgIHBhbmljKCJtb2R1bGUgJXMgY29tbWFuZCBsaW5lIHRvbyBsb25nXG4i LCBuYW1lKTsKKyAgICAgICAgICAgIGNtZGxpbmUgPSBwcm9wLT5kYXRhOworICAgICAgICAgICAg c2FmZV9zdHJjcHkoZG9tMF9jbWRsaW5lLCBjbWRsaW5lKTsKKyAgICAgICAgfQorICAgIH0KKyAg ICBlbHNlCiAgICAgewotICAgICAgICBpZiAoIGxlbiA+IEJPT1RNT0RfTUFYX0NNRExJTkUgKQot ICAgICAgICAgICAgcGFuaWMoIm1vZHVsZSAlcyBjb21tYW5kIGxpbmUgdG9vIGxvbmdcbiIsIG5h bWUpOwotICAgICAgICBjbWRsaW5lID0gcHJvcC0+ZGF0YTsKLSAgICAgICAgc2FmZV9zdHJjcHko ZG9tMF9jbWRsaW5lLCBjbWRsaW5lKTsKKyAgICAgICAgaWYgKCBraW5kID09IEJPT1RNT0RfS0VS TkVMICkKKyAgICAgICAgICAgIGtpbmQgPSBCT09UTU9EX0tFUk5FTF9ET01BSU47CisgICAgICAg IGlmICgga2luZCA9PSBCT09UTU9EX1JBTURJU0sgKQorICAgICAgICAgICAga2luZCA9IEJPT1RN T0RfUkFNRElTS19ET01BSU47CiAgICAgfQogIAogICAgIGFkZF9ib290X21vZHVsZShraW5kLCBz dGFydCwgc2l6ZSk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vc2V0dXAuYyBiL3hlbi9hcmNo L2FybS9zZXR1cC5jCmluZGV4IDE4OGIyY2IuLmQ0MzE2YzcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L2FybS9zZXR1cC5jCisrKyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jCkBAIC0yMDcsNiArMjA3LDcg QEAgc3RydWN0IGJvb3Rtb2R1bGUgKmFkZF9ib290X21vZHVsZShib290bW9kdWxlX2tpbmQga2lu ZCwKIHsKICAgICBzdHJ1Y3QgYm9vdG1vZHVsZXMgKm1vZHMgPSAmYm9vdGluZm8ubW9kdWxlczsK ICAgICBzdHJ1Y3QgYm9vdG1vZHVsZSAqbW9kOworICAgIGludCBpOwogCiAgICAgaWYgKCBtb2Rz LT5ucl9tb2RzID09IE1BWF9NT0RVTEVTICkKICAgICB7CkBAIC0yMTQsNiArMjE1LDEyIEBAIHN0 cnVjdCBib290bW9kdWxlICphZGRfYm9vdF9tb2R1bGUoYm9vdG1vZHVsZV9raW5kIGtpbmQsCiAg ICAgICAgICAgICAgICBib290X21vZHVsZV9raW5kX2FzX3N0cmluZyhraW5kKSwgc3RhcnQsIHN0 YXJ0ICsgc2l6ZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KKyAgICBmb3IgKCBpID0g MCA7IGkgPCBtb2RzLT5ucl9tb2RzIDsgaSsrICkKKyAgICB7CisgICAgICAgIG1vZCA9ICZtb2Rz LT5tb2R1bGVbaV07CisgICAgICAgIGlmICggbW9kLT5raW5kID09IGtpbmQgJiYgbW9kLT5zdGFy dCA9PSBzdGFydCApCisgICAgICAgICAgICByZXR1cm4gbW9kOworICAgIH0KIAogICAgIG1vZCA9 ICZtb2RzLT5tb2R1bGVbbW9kcy0+bnJfbW9kcysrXTsKICAgICBtb2QtPmtpbmQgPSBraW5kOwpA QCAtMjQ2LDYgKzI1Myw4IEBAIGNvbnN0IGNoYXIgKiBfX2luaXQgYm9vdF9tb2R1bGVfa2luZF9h c19zdHJpbmcoYm9vdG1vZHVsZV9raW5kIGtpbmQpCiAgICAgY2FzZSBCT09UTU9EX0tFUk5FTDog IHJldHVybiAiS2VybmVsIjsKICAgICBjYXNlIEJPT1RNT0RfUkFNRElTSzogcmV0dXJuICJSYW1k aXNrIjsKICAgICBjYXNlIEJPT1RNT0RfWFNNOiAgICAgcmV0dXJuICJYU00iOworICAgIGNhc2Ug Qk9PVE1PRF9LRVJORUxfRE9NQUlOOiAgcmV0dXJuICJEb21VIEtlcm5lbCI7CisgICAgY2FzZSBC T09UTU9EX1JBTURJU0tfRE9NQUlOOiByZXR1cm4gIkRvbVUgUmFtZGlzayI7CiAgICAgY2FzZSBC T09UTU9EX1VOS05PV046IHJldHVybiAiVW5rbm93biI7CiAgICAgZGVmYXVsdDogQlVHKCk7CiAg ICAgfQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oIGIveGVuL2luY2x1 ZGUvYXNtLWFybS9zZXR1cC5oCmluZGV4IDZkMDhlYjQuLmY4ZjNlZmYgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3NldHVw LmgKQEAgLTE2LDYgKzE2LDggQEAgdHlwZWRlZiBlbnVtIHsKICAgICBCT09UTU9EX0tFUk5FTCwK ICAgICBCT09UTU9EX1JBTURJU0ssCiAgICAgQk9PVE1PRF9YU00sCisgICAgQk9PVE1PRF9LRVJO RUxfRE9NQUlOLAorICAgIEJPT1RNT0RfUkFNRElTS19ET01BSU4sCiAgICAgQk9PVE1PRF9VTktO T1dOCiB9ICBib290bW9kdWxlX2tpbmQ7CiAKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==