From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 41D14A0C55 for ; Wed, 13 Oct 2021 16:13:50 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3CC5A410DA; Wed, 13 Oct 2021 16:13:50 +0200 (CEST) Received: from mail-ot1-f97.google.com (mail-ot1-f97.google.com [209.85.210.97]) by mails.dpdk.org (Postfix) with ESMTP id A488640E64 for ; Wed, 13 Oct 2021 16:13:48 +0200 (CEST) Received: by mail-ot1-f97.google.com with SMTP id b4-20020a9d7544000000b00552ab826e3aso2082289otl.4 for ; Wed, 13 Oct 2021 07:13:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=mime-version:subject:from:to:cc:message-id:date; bh=KsB35cypAdvehMJT37R+wFV8aUp2M2AyNvriLCWCm0Y=; b=fljLtawgixExdauJDxcVzq08A8GR7Fki+cqwyuul7uhzRsKHxMEUxIrZUXdNIXENgZ v00Z3sWqTeAM1CI+lMEAoMuFi6KmQhYkuAayOfz4uz0+I+6qD2aC20Dys0cgvd1LxGCu QGCjOZYFt633uKIzM0FwrRCegknbliRSUBc0w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:subject:from:to:cc:message-id:date; bh=KsB35cypAdvehMJT37R+wFV8aUp2M2AyNvriLCWCm0Y=; b=qNVKQW71nlnml2hmzAFivsG4Jr09YLnEO6HbBjoPhx/QOe+oGOb+TDGa5tEAdo7Q6I UnyhBEwuo53wp9dCxgiDfB89ZZuOviqsBPFWFXQIsjJNomZQG5j32w0Ekj0a75VIRlfG QBKYovPSqRV62UJjeTxywMcJ70NnjCwzP4HhCQBQW9lG2/hsglIL7gMuGbcKnX76bAgT 3DIitdfWMyMbysOGT7SvaBPs7zERfYsWvXNrgD1bZ54gvQCLGzpzVaMOpaXkiPcUlJdo SWOMH/f2dMlFpDTtBCMOxqySBNz2XYO/XsFXp0YVCoOTTxDBePQZqpWVuZEkOU4ideFs 2cRg== X-Gm-Message-State: AOAM5309aZiZQpwsx4EvsfG5zJS8bKWByqZctKA92o7X3XMNeA3MKXl7 QQSAZ/XHUCkkAMaiZkmpNhRVf/kMX/W7a9xI1xD0/HOtcMtZKw== X-Google-Smtp-Source: ABdhPJzGTN67LuHOP+ZJ4VsWeintVKSesiC/YPdrrMpoC16udJYO9W96PL4ORw6f3BxuBDLfooiUcwE9ykwj X-Received: by 2002:a05:6830:246f:: with SMTP id x47mr31915466otr.287.1634134427905; Wed, 13 Oct 2021 07:13:47 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [132.177.123.84]) by smtp-relay.gmail.com with ESMTPS id y22sm3711869ooj.3.2021.10.13.07.13.47 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Oct 2021 07:13:47 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from dpdk-ubuntu.dpdklab.iol.unh.edu (targon.iol.unh.edu [132.177.125.242]) by postal.iol.unh.edu (Postfix) with ESMTP id 5F488605247D; Wed, 13 Oct 2021 10:13:47 -0400 (EDT) Received: from dpdk-ubuntu.dpdklab.iol.unh.edu (localhost [IPv6:::1]) by dpdk-ubuntu.dpdklab.iol.unh.edu (Postfix) with ESMTP id 5D1E06009A; Wed, 13 Oct 2021 14:13:47 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============6589714223001227313==" MIME-Version: 1.0 From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Message-Id: <20211013141347.5D1E06009A@dpdk-ubuntu.dpdklab.iol.unh.edu> Date: Wed, 13 Oct 2021 14:13:47 +0000 (UTC) Subject: [dpdk-test-report] |WARNING| pw101348-101353 [PATCH] [v6, 6/6] ethdev: hide eth dev related structures X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Sender: "test-report" --===============6589714223001227313== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogaW9sLXRlc3RpbmcKVGVzdC1TdGF0dXM6IFdBUk5JTkcKaHR0cDovL2RwZGsu b3JnL3BhdGNoLzEwMTM0OAoKX2FwcGx5IHBhdGNoIGZhaWx1cmVfCgpTdWJtaXR0ZXI6IEtvbnN0 YW50aW4gQW5hbnlldiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4KRGF0ZTogV2VkbmVz ZGF5LCBPY3RvYmVyIDEzIDIwMjEgMTM6Mzc6MDQgCkFwcGxpZWQgb246IENvbW1pdElEOjJmMzc1 ODc1MWIxNTc3NjBlYmI2ZmM1MWNkOTI4NDEwNzNiYjExNWMKQXBwbHkgcGF0Y2ggc2V0IDEwMTM0 OC0xMDEzNTMgZmFpbGVkOgoKQ2hlY2tpbmcgcGF0Y2ggZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVs ZWFzZV8yMV8xMS5yc3QuLi4KSHVuayAjMSBzdWNjZWVkZWQgYXQgMjczIChvZmZzZXQgLTI2IGxp bmVzKS4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvYXJrL2Fya19ldGhkZXZfcnguYy4uLgpD aGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9hcmsvYXJrX2V0aGRldl9yeC5oLi4uCkNoZWNraW5n IHBhdGNoIGRyaXZlcnMvbmV0L2F0bGFudGljL2F0bF9ldGhkZXYuaC4uLgpDaGVja2luZyBwYXRj aCBkcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfcnh0eC5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZl cnMvbmV0L2JueHQvYm54dF9ldGhkZXYuYy4uLgpIdW5rICMxIHN1Y2NlZWRlZCBhdCAzMTUwIChv ZmZzZXQgLTQgbGluZXMpLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9kcGFhL2RwYWFfZXRo ZGV2LmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvZHBhYTIvZHBhYTJfZXRoZGV2LmMu Li4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvZTEwMDAvZTEwMDBfZXRoZGV2LmguLi4KZXJy b3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJY29uc3Qgc3RydWN0IHJ0ZV9ldGhfcnhjb25mICpy eF9jb25mLAoJCXN0cnVjdCBydGVfbWVtcG9vbCAqbWJfcG9vbCk7Cgp1aW50MzJfdCBldGhfaWdi X3J4X3F1ZXVlX2NvdW50KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LAoJCXVpbnQxNl90IHJ4X3F1 ZXVlX2lkKTsKCmludCBldGhfaWdiX3J4X2Rlc2NyaXB0b3Jfc3RhdHVzKHZvaWQgKnJ4X3F1ZXVl LCB1aW50MTZfdCBvZmZzZXQpOwppbnQgZXRoX2lnYl90eF9kZXNjcmlwdG9yX3N0YXR1cyh2b2lk ICp0eF9xdWV1ZSwgdWludDE2X3Qgb2Zmc2V0KTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L2UxMDAwL2UxMDAwX2V0aGRldi5oOjM5OQplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZv cjoKCQljb25zdCBzdHJ1Y3QgcnRlX2V0aF9yeGNvbmYgKnJ4X2NvbmYsCgkJc3RydWN0IHJ0ZV9t ZW1wb29sICptYl9wb29sKTsKCnVpbnQzMl90IGV0aF9lbV9yeF9xdWV1ZV9jb3VudChzdHJ1Y3Qg cnRlX2V0aF9kZXYgKmRldiwKCQl1aW50MTZfdCByeF9xdWV1ZV9pZCk7CgppbnQgZXRoX2VtX3J4 X2Rlc2NyaXB0b3Jfc3RhdHVzKHZvaWQgKnJ4X3F1ZXVlLCB1aW50MTZfdCBvZmZzZXQpOwppbnQg ZXRoX2VtX3R4X2Rlc2NyaXB0b3Jfc3RhdHVzKHZvaWQgKnR4X3F1ZXVlLCB1aW50MTZfdCBvZmZz ZXQpOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvZTEwMDAvZTEwMDBfZXRoZGV2 Lmg6NDc0CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2UxMDAwL2VtX3J4dHguYy4uLgpDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC9lMTAwMC9pZ2Jfcnh0eC5jLi4uCkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvbmV0L2VuaWMvZW5pY19ldGhkZXYuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJz L25ldC9mbTEway9mbTEway5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCXN0cnVj dCBydGVfbWJ1ZiAqKnJ4X3BrdHMsIHVpbnQxNl90IG5iX3BrdHMpOwoKdWludDMyX3QKZm0xMGtf ZGV2X3J4X3F1ZXVlX2NvdW50KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MTZfdCByeF9x dWV1ZV9pZCk7CgppbnQKZm0xMGtfZGV2X3J4X2Rlc2NyaXB0b3Jfc3RhdHVzKHZvaWQgKnJ4X3F1 ZXVlLCB1aW50MTZfdCBvZmZzZXQpOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQv Zm0xMGsvZm0xMGsuaDozMjQKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvZm0xMGsvZm0xMGtf cnh0eC5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2huczMvaG5zM19yeHR4LmMuLi4K Q2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaG5zMy9obnMzX3J4dHguaC4uLgpDaGVja2luZyBw YXRjaCBkcml2ZXJzL25ldC9pNDBlL2k0MGVfcnh0eC5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZl cnMvbmV0L2k0MGUvaTQwZV9yeHR4LmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Cmlu dCBpNDBlX2FsbG9jX3J4X3F1ZXVlX21idWZzKHN0cnVjdCBpNDBlX3J4X3F1ZXVlICpyeHEpOwp2 b2lkIGk0MGVfcnhfcXVldWVfcmVsZWFzZV9tYnVmcyhzdHJ1Y3QgaTQwZV9yeF9xdWV1ZSAqcnhx KTsKCnVpbnQzMl90IGk0MGVfZGV2X3J4X3F1ZXVlX2NvdW50KHN0cnVjdCBydGVfZXRoX2RldiAq ZGV2LAoJCQkJIHVpbnQxNl90IHJ4X3F1ZXVlX2lkKTsKaW50IGk0MGVfZGV2X3J4X2Rlc2NyaXB0 b3Jfc3RhdHVzKHZvaWQgKnJ4X3F1ZXVlLCB1aW50MTZfdCBvZmZzZXQpOwppbnQgaTQwZV9kZXZf dHhfZGVzY3JpcHRvcl9zdGF0dXModm9pZCAqdHhfcXVldWUsIHVpbnQxNl90IG9mZnNldCk7CgoK ZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvaTQwZS9pNDBlX3J4dHguaDoyMjkKQ2hl Y2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYy4uLgpDaGVja2luZyBwYXRj aCBkcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5oLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMv bmV0L2ljZS9pY2Vfcnh0eC5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2ljZS9pY2Vf cnh0eC5oLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2lnYy9pZ2NfdHhyeC5jLi4uCkNo ZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2lnYy9pZ2NfdHhyeC5oLi4uCmVycm9yOiB3aGlsZSBz ZWFyY2hpbmcgZm9yOgoJCWNvbnN0IHN0cnVjdCBydGVfZXRoX3J4Y29uZiAqcnhfY29uZiwKCQlz dHJ1Y3QgcnRlX21lbXBvb2wgKm1iX3Bvb2wpOwoKdWludDMyX3QgZXRoX2lnY19yeF9xdWV1ZV9j b3VudChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwKCQl1aW50MTZfdCByeF9xdWV1ZV9pZCk7Cgpp bnQgZXRoX2lnY19yeF9kZXNjcmlwdG9yX3N0YXR1cyh2b2lkICpyeF9xdWV1ZSwgdWludDE2X3Qg b2Zmc2V0KTsKCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9pZ2MvaWdjX3R4cngu aDoyMgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuaC4uLgpl cnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQl1aW50MTZfdCBuYl90eF9kZXNjLCB1bnNpZ25l ZCBpbnQgc29ja2V0X2lkLAoJCWNvbnN0IHN0cnVjdCBydGVfZXRoX3R4Y29uZiAqdHhfY29uZik7 Cgp1aW50MzJfdCBpeGdiZV9kZXZfcnhfcXVldWVfY291bnQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXYsCgkJdWludDE2X3QgcnhfcXVldWVfaWQpOwoKaW50IGl4Z2JlX2Rldl9yeF9kZXNjcmlwdG9y X3N0YXR1cyh2b2lkICpyeF9xdWV1ZSwgdWludDE2X3Qgb2Zmc2V0KTsKaW50IGl4Z2JlX2Rldl90 eF9kZXNjcmlwdG9yX3N0YXR1cyh2b2lkICp0eF9xdWV1ZSwgdWludDE2X3Qgb2Zmc2V0KTsKCmVy cm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5oOjU5NApD aGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9yeHR4LmMuLi4KQ2hlY2tpbmcg cGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4LmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVy cy9uZXQvbWx4NS9tbHg1X3J4LmguLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbmV0dnNj L2huX3J4dHguYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9uZXR2c2MvaG5fdmFyLmgu Li4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbmZwL25mcF9yeHR4LmMuLi4KQ2hlY2tpbmcg cGF0Y2ggZHJpdmVycy9uZXQvbmZwL25mcF9yeHR4LmguLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVy cy9uZXQvb2N0ZW9udHgyL290eDJfZXRoZGV2LmguLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBm b3I6CgkJCSAgIHN0cnVjdCBydGVfZXRoX2J1cnN0X21vZGUgKm1vZGUpOwppbnQgb3R4Ml90eF9i dXJzdF9tb2RlX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQs CgkJCSAgIHN0cnVjdCBydGVfZXRoX2J1cnN0X21vZGUgKm1vZGUpOwp1aW50MzJfdCBvdHgyX25p eF9yeF9xdWV1ZV9jb3VudChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYsIHVpbnQxNl90IHFp ZHgpOwppbnQgb3R4Ml9uaXhfdHhfZG9uZV9jbGVhbnVwKHZvaWQgKnR4cSwgdWludDMyX3QgZnJl ZV9jbnQpOwppbnQgb3R4Ml9uaXhfcnhfZGVzY3JpcHRvcl9zdGF0dXModm9pZCAqcnhfcXVldWUs IHVpbnQxNl90IG9mZnNldCk7CmludCBvdHgyX25peF90eF9kZXNjcmlwdG9yX3N0YXR1cyh2b2lk ICp0eF9xdWV1ZSwgdWludDE2X3Qgb2Zmc2V0KTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZl cnMvbmV0L29jdGVvbnR4Mi9vdHgyX2V0aGRldi5oOjQzMQpDaGVja2luZyBwYXRjaCBkcml2ZXJz L25ldC9vY3Rlb250eDIvb3R4Ml9ldGhkZXZfb3BzLmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVy cy9uZXQvc2ZjL3NmY19ldGhkZXYuYy4uLgpIdW5rICMxIHN1Y2NlZWRlZCBhdCAxMjgyIChvZmZz ZXQgLTc0IGxpbmVzKS4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvdGh1bmRlcngvbmljdmZf ZXRoZGV2LmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvdGh1bmRlcngvbmljdmZfcnh0 eC5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3RodW5kZXJ4L25pY3ZmX3J4dHguaC4u LgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC90eGdiZS90eGdiZV9ldGhkZXYuaC4uLgpDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC90eGdiZS90eGdiZV9yeHR4LmMuLi4KQ2hlY2tpbmcgcGF0 Y2ggZHJpdmVycy9uZXQvdmhvc3QvcnRlX2V0aF92aG9zdC5jLi4uCkNoZWNraW5nIHBhdGNoIGxp Yi9ldGhkZXYvcnRlX2V0aGRldi5oLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJICAg IGRldi0+ZGF0YS0+cnhfcXVldWVzW3F1ZXVlX2lkXSA9PSBOVUxMKQoJCXJldHVybiAtRUlOVkFM OwoKCXJldHVybiAoaW50KSgqZGV2LT5yeF9xdWV1ZV9jb3VudCkoZGV2LCBxdWV1ZV9pZCk7Cn0K Ci8qKkB7QG5hbWUgUnggaGFyZHdhcmUgZGVzY3JpcHRvciBzdGF0ZXMKCmVycm9yOiBwYXRjaCBm YWlsZWQ6IGxpYi9ldGhkZXYvcnRlX2V0aGRldi5oOjUwNDAKQ2hlY2tpbmcgcGF0Y2ggbGliL2V0 aGRldi9ydGVfZXRoZGV2X2NvcmUuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKLyoq PCBAaW50ZXJuYWwgUHJlcGFyZSBvdXRwdXQgcGFja2V0cyBvbiBhIHRyYW5zbWl0IHF1ZXVlIG9m IGFuIEV0aGVybmV0IGRldmljZS4gKi8KCgp0eXBlZGVmIHVpbnQzMl90ICgqZXRoX3J4X3F1ZXVl X2NvdW50X3QpKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LAoJCQkJCSB1aW50MTZfdCByeF9xdWV1 ZV9pZCk7Ci8qKjwgQGludGVybmFsIEdldCBudW1iZXIgb2YgdXNlZCBkZXNjcmlwdG9ycyBvbiBh IHJlY2VpdmUgcXVldWUuICovCgp0eXBlZGVmIGludCAoKmV0aF9yeF9kZXNjcmlwdG9yX3N0YXR1 c190KSh2b2lkICpyeHEsIHVpbnQxNl90IG9mZnNldCk7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBs aWIvZXRoZGV2L3J0ZV9ldGhkZXZfY29yZS5oOjQxCkFwcGxpZWQgcGF0Y2ggZG9jL2d1aWRlcy9y ZWxfbm90ZXMvcmVsZWFzZV8yMV8xMS5yc3QgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJz L25ldC9hcmsvYXJrX2V0aGRldl9yeC5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9u ZXQvYXJrL2Fya19ldGhkZXZfcnguaCBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0 L2F0bGFudGljL2F0bF9ldGhkZXYuaCBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0 L2F0bGFudGljL2F0bF9yeHR4LmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9i bnh0L2JueHRfZXRoZGV2LmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9kcGFh L2RwYWFfZXRoZGV2LmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9kcGFhMi9k cGFhMl9ldGhkZXYuYyBjbGVhbmx5LgpBcHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC9lMTAwMC9l MTAwMF9ldGhkZXYuaCB3aXRoIDIgcmVqZWN0cy4uLgpSZWplY3RlZCBodW5rICMxLgpSZWplY3Rl ZCBodW5rICMyLgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L2UxMDAwL2VtX3J4dHguYyBjbGVh bmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L2UxMDAwL2lnYl9yeHR4LmMgY2xlYW5seS4K QXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9lbmljL2VuaWNfZXRoZGV2LmMgY2xlYW5seS4KQXBw bHlpbmcgcGF0Y2ggZHJpdmVycy9uZXQvZm0xMGsvZm0xMGsuaCB3aXRoIDEgcmVqZWN0Li4uClJl amVjdGVkIGh1bmsgIzEuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvZm0xMGsvZm0xMGtfcnh0 eC5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvaG5zMy9obnMzX3J4dHguYyBj bGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L2huczMvaG5zM19yeHR4LmggY2xlYW5s eS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9pNDBlL2k0MGVfcnh0eC5jIGNsZWFubHkuCkFw cGx5aW5nIHBhdGNoIGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9yeHR4Lmggd2l0aCAxIHJlamVjdC4u LgpSZWplY3RlZCBodW5rICMxLgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4LmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5o IGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvaWNlL2ljZV9yeHR4LmMgY2xlYW5s eS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9pY2UvaWNlX3J4dHguaCBjbGVhbmx5LgpBcHBs aWVkIHBhdGNoIGRyaXZlcnMvbmV0L2lnYy9pZ2NfdHhyeC5jIGNsZWFubHkuCkFwcGx5aW5nIHBh dGNoIGRyaXZlcnMvbmV0L2lnYy9pZ2NfdHhyeC5oIHdpdGggMSByZWplY3QuLi4KUmVqZWN0ZWQg aHVuayAjMS4KQXBwbHlpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2Lmgg d2l0aCAxIHJlamVjdC4uLgpSZWplY3RlZCBodW5rICMxLgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMv bmV0L2l4Z2JlL2l4Z2JlX3J4dHguYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0 L21seDUvbWx4NV9yeC5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9t bHg1X3J4LmggY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9uZXR2c2MvaG5fcnh0 eC5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbmV0dnNjL2huX3Zhci5oIGNs ZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbmZwL25mcF9yeHR4LmMgY2xlYW5seS4K QXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9uZnAvbmZwX3J4dHguaCBjbGVhbmx5LgpBcHBseWlu ZyBwYXRjaCBkcml2ZXJzL25ldC9vY3Rlb250eDIvb3R4Ml9ldGhkZXYuaCB3aXRoIDEgcmVqZWN0 Li4uClJlamVjdGVkIGh1bmsgIzEuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvb2N0ZW9udHgy L290eDJfZXRoZGV2X29wcy5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvc2Zj L3NmY19ldGhkZXYuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L3RodW5kZXJ4 L25pY3ZmX2V0aGRldi5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvdGh1bmRl cngvbmljdmZfcnh0eC5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvdGh1bmRl cngvbmljdmZfcnh0eC5oIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvdHhnYmUv dHhnYmVfZXRoZGV2LmggY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC90eGdiZS90 eGdiZV9yeHR4LmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC92aG9zdC9ydGVf ZXRoX3Zob3N0LmMgY2xlYW5seS4KQXBwbHlpbmcgcGF0Y2ggbGliL2V0aGRldi9ydGVfZXRoZGV2 Lmggd2l0aCAxIHJlamVjdC4uLgpSZWplY3RlZCBodW5rICMxLgpBcHBseWluZyBwYXRjaCBsaWIv ZXRoZGV2L3J0ZV9ldGhkZXZfY29yZS5oIHdpdGggMSByZWplY3QuLi4KUmVqZWN0ZWQgaHVuayAj MS4KZGlmZiBhL2RyaXZlcnMvbmV0L2UxMDAwL2UxMDAwX2V0aGRldi5oIGIvZHJpdmVycy9uZXQv ZTEwMDAvZTEwMDBfZXRoZGV2LmgJKHJlamVjdGVkIGh1bmtzKQpAQCAtMzk5LDggKzM5OSw3IEBA IGludCBldGhfaWdiX3J4X3F1ZXVlX3NldHVwKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50 MTZfdCByeF9xdWV1ZV9pZCwKIAkJY29uc3Qgc3RydWN0IHJ0ZV9ldGhfcnhjb25mICpyeF9jb25m LAogCQlzdHJ1Y3QgcnRlX21lbXBvb2wgKm1iX3Bvb2wpOwogCi11aW50MzJfdCBldGhfaWdiX3J4 X3F1ZXVlX2NvdW50KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LAotCQl1aW50MTZfdCByeF9xdWV1 ZV9pZCk7Cit1aW50MzJfdCBldGhfaWdiX3J4X3F1ZXVlX2NvdW50KHZvaWQgKnJ4X3F1ZXVlKTsK IAogaW50IGV0aF9pZ2JfcnhfZGVzY3JpcHRvcl9zdGF0dXModm9pZCAqcnhfcXVldWUsIHVpbnQx Nl90IG9mZnNldCk7CiBpbnQgZXRoX2lnYl90eF9kZXNjcmlwdG9yX3N0YXR1cyh2b2lkICp0eF9x dWV1ZSwgdWludDE2X3Qgb2Zmc2V0KTsKQEAgLTQ3NCw4ICs0NzMsNyBAQCBpbnQgZXRoX2VtX3J4 X3F1ZXVlX3NldHVwKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MTZfdCByeF9xdWV1ZV9p ZCwKIAkJY29uc3Qgc3RydWN0IHJ0ZV9ldGhfcnhjb25mICpyeF9jb25mLAogCQlzdHJ1Y3QgcnRl X21lbXBvb2wgKm1iX3Bvb2wpOwogCi11aW50MzJfdCBldGhfZW1fcnhfcXVldWVfY291bnQoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYsCi0JCXVpbnQxNl90IHJ4X3F1ZXVlX2lkKTsKK3VpbnQzMl90 IGV0aF9lbV9yeF9xdWV1ZV9jb3VudCh2b2lkICpyeF9xdWV1ZSk7CiAKIGludCBldGhfZW1fcnhf ZGVzY3JpcHRvcl9zdGF0dXModm9pZCAqcnhfcXVldWUsIHVpbnQxNl90IG9mZnNldCk7CiBpbnQg ZXRoX2VtX3R4X2Rlc2NyaXB0b3Jfc3RhdHVzKHZvaWQgKnR4X3F1ZXVlLCB1aW50MTZfdCBvZmZz ZXQpOwpkaWZmIGEvZHJpdmVycy9uZXQvZm0xMGsvZm0xMGsuaCBiL2RyaXZlcnMvbmV0L2ZtMTBr L2ZtMTBrLmgJKHJlamVjdGVkIGh1bmtzKQpAQCAtMzI0LDcgKzMyNCw3IEBAIHVpbnQxNl90IGZt MTBrX3JlY3Zfc2NhdHRlcmVkX3BrdHModm9pZCAqcnhfcXVldWUsCiAJCXN0cnVjdCBydGVfbWJ1 ZiAqKnJ4X3BrdHMsIHVpbnQxNl90IG5iX3BrdHMpOwogCiB1aW50MzJfdAotZm0xMGtfZGV2X3J4 X3F1ZXVlX2NvdW50KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MTZfdCByeF9xdWV1ZV9p ZCk7CitmbTEwa19kZXZfcnhfcXVldWVfY291bnQodm9pZCAqcnhfcXVldWUpOwogCiBpbnQKIGZt MTBrX2Rldl9yeF9kZXNjcmlwdG9yX3N0YXR1cyh2b2lkICpyeF9xdWV1ZSwgdWludDE2X3Qgb2Zm c2V0KTsKZGlmZiBhL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9yeHR4LmggYi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfcnh0eC5oCShyZWplY3RlZCBodW5rcykKQEAgLTIyOSw4ICsyMjksNyBAQCBpbnQg aTQwZV90eF9kb25lX2NsZWFudXAodm9pZCAqdHhxLCB1aW50MzJfdCBmcmVlX2NudCk7CiBpbnQg aTQwZV9hbGxvY19yeF9xdWV1ZV9tYnVmcyhzdHJ1Y3QgaTQwZV9yeF9xdWV1ZSAqcnhxKTsKIHZv aWQgaTQwZV9yeF9xdWV1ZV9yZWxlYXNlX21idWZzKHN0cnVjdCBpNDBlX3J4X3F1ZXVlICpyeHEp OwogCi11aW50MzJfdCBpNDBlX2Rldl9yeF9xdWV1ZV9jb3VudChzdHJ1Y3QgcnRlX2V0aF9kZXYg KmRldiwKLQkJCQkgdWludDE2X3QgcnhfcXVldWVfaWQpOwordWludDMyX3QgaTQwZV9kZXZfcnhf cXVldWVfY291bnQodm9pZCAqcnhfcXVldWUpOwogaW50IGk0MGVfZGV2X3J4X2Rlc2NyaXB0b3Jf c3RhdHVzKHZvaWQgKnJ4X3F1ZXVlLCB1aW50MTZfdCBvZmZzZXQpOwogaW50IGk0MGVfZGV2X3R4 X2Rlc2NyaXB0b3Jfc3RhdHVzKHZvaWQgKnR4X3F1ZXVlLCB1aW50MTZfdCBvZmZzZXQpOwogCmRp ZmYgYS9kcml2ZXJzL25ldC9pZ2MvaWdjX3R4cnguaCBiL2RyaXZlcnMvbmV0L2lnYy9pZ2NfdHhy eC5oCShyZWplY3RlZCBodW5rcykKQEAgLTIyLDggKzIyLDcgQEAgaW50IGV0aF9pZ2NfcnhfcXVl dWVfc2V0dXAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQxNl90IHJ4X3F1ZXVlX2lkLAog CQljb25zdCBzdHJ1Y3QgcnRlX2V0aF9yeGNvbmYgKnJ4X2NvbmYsCiAJCXN0cnVjdCBydGVfbWVt cG9vbCAqbWJfcG9vbCk7CiAKLXVpbnQzMl90IGV0aF9pZ2NfcnhfcXVldWVfY291bnQoc3RydWN0 IHJ0ZV9ldGhfZGV2ICpkZXYsCi0JCXVpbnQxNl90IHJ4X3F1ZXVlX2lkKTsKK3VpbnQzMl90IGV0 aF9pZ2NfcnhfcXVldWVfY291bnQodm9pZCAqcnhfcXVldWUpOwogCiBpbnQgZXRoX2lnY19yeF9k ZXNjcmlwdG9yX3N0YXR1cyh2b2lkICpyeF9xdWV1ZSwgdWludDE2X3Qgb2Zmc2V0KTsKIApkaWZm IGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9peGdiZS9p eGdiZV9ldGhkZXYuaAkocmVqZWN0ZWQgaHVua3MpCkBAIC01OTQsOCArNTk0LDcgQEAgaW50ICBp eGdiZV9kZXZfdHhfcXVldWVfc2V0dXAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQxNl90 IHR4X3F1ZXVlX2lkLAogCQl1aW50MTZfdCBuYl90eF9kZXNjLCB1bnNpZ25lZCBpbnQgc29ja2V0 X2lkLAogCQljb25zdCBzdHJ1Y3QgcnRlX2V0aF90eGNvbmYgKnR4X2NvbmYpOwogCi11aW50MzJf dCBpeGdiZV9kZXZfcnhfcXVldWVfY291bnQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsCi0JCXVp bnQxNl90IHJ4X3F1ZXVlX2lkKTsKK3VpbnQzMl90IGl4Z2JlX2Rldl9yeF9xdWV1ZV9jb3VudCh2 b2lkICpyeF9xdWV1ZSk7CiAKIGludCBpeGdiZV9kZXZfcnhfZGVzY3JpcHRvcl9zdGF0dXModm9p ZCAqcnhfcXVldWUsIHVpbnQxNl90IG9mZnNldCk7CiBpbnQgaXhnYmVfZGV2X3R4X2Rlc2NyaXB0 b3Jfc3RhdHVzKHZvaWQgKnR4X3F1ZXVlLCB1aW50MTZfdCBvZmZzZXQpOwpkaWZmIGEvZHJpdmVy cy9uZXQvb2N0ZW9udHgyL290eDJfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9vY3Rlb250eDIvb3R4 Ml9ldGhkZXYuaAkocmVqZWN0ZWQgaHVua3MpCkBAIC00MzEsNyArNDMxLDcgQEAgaW50IG90eDJf cnhfYnVyc3RfbW9kZV9nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVl X2lkLAogCQkJICAgc3RydWN0IHJ0ZV9ldGhfYnVyc3RfbW9kZSAqbW9kZSk7CiBpbnQgb3R4Ml90 eF9idXJzdF9tb2RlX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDE2X3QgcXVldWVf aWQsCiAJCQkgICBzdHJ1Y3QgcnRlX2V0aF9idXJzdF9tb2RlICptb2RlKTsKLXVpbnQzMl90IG90 eDJfbml4X3J4X3F1ZXVlX2NvdW50KHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2RldiwgdWludDE2 X3QgcWlkeCk7Cit1aW50MzJfdCBvdHgyX25peF9yeF9xdWV1ZV9jb3VudCh2b2lkICpyeF9xdWV1 ZSk7CiBpbnQgb3R4Ml9uaXhfdHhfZG9uZV9jbGVhbnVwKHZvaWQgKnR4cSwgdWludDMyX3QgZnJl ZV9jbnQpOwogaW50IG90eDJfbml4X3J4X2Rlc2NyaXB0b3Jfc3RhdHVzKHZvaWQgKnJ4X3F1ZXVl LCB1aW50MTZfdCBvZmZzZXQpOwogaW50IG90eDJfbml4X3R4X2Rlc2NyaXB0b3Jfc3RhdHVzKHZv aWQgKnR4X3F1ZXVlLCB1aW50MTZfdCBvZmZzZXQpOwpkaWZmIGEvbGliL2V0aGRldi9ydGVfZXRo ZGV2LmggYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaAkocmVqZWN0ZWQgaHVua3MpCkBAIC01MDQw LDcgKzUwNDAsNyBAQCBydGVfZXRoX3J4X3F1ZXVlX2NvdW50KHVpbnQxNl90IHBvcnRfaWQsIHVp bnQxNl90IHF1ZXVlX2lkKQogCSAgICBkZXYtPmRhdGEtPnJ4X3F1ZXVlc1txdWV1ZV9pZF0gPT0g TlVMTCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlyZXR1cm4gKGludCkoKmRldi0+cnhfcXVldWVf Y291bnQpKGRldiwgcXVldWVfaWQpOworCXJldHVybiAoaW50KSgqZGV2LT5yeF9xdWV1ZV9jb3Vu dCkoZGV2LT5kYXRhLT5yeF9xdWV1ZXNbcXVldWVfaWRdKTsKIH0KIAogLyoqQHtAbmFtZSBSeCBo YXJkd2FyZSBkZXNjcmlwdG9yIHN0YXRlcwpkaWZmIGEvbGliL2V0aGRldi9ydGVfZXRoZGV2X2Nv cmUuaCBiL2xpYi9ldGhkZXYvcnRlX2V0aGRldl9jb3JlLmgJKHJlamVjdGVkIGh1bmtzKQpAQCAt NDEsOCArNDEsNyBAQCB0eXBlZGVmIHVpbnQxNl90ICgqZXRoX3R4X3ByZXBfdCkodm9pZCAqdHhx LAogLyoqPCBAaW50ZXJuYWwgUHJlcGFyZSBvdXRwdXQgcGFja2V0cyBvbiBhIHRyYW5zbWl0IHF1 ZXVlIG9mIGFuIEV0aGVybmV0IGRldmljZS4gKi8KIAogCi10eXBlZGVmIHVpbnQzMl90ICgqZXRo X3J4X3F1ZXVlX2NvdW50X3QpKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LAotCQkJCQkgdWludDE2 X3QgcnhfcXVldWVfaWQpOwordHlwZWRlZiB1aW50MzJfdCAoKmV0aF9yeF9xdWV1ZV9jb3VudF90 KSh2b2lkICpyeHEpOwogLyoqPCBAaW50ZXJuYWwgR2V0IG51bWJlciBvZiB1c2VkIGRlc2NyaXB0 b3JzIG9uIGEgcmVjZWl2ZSBxdWV1ZS4gKi8KIAogdHlwZWRlZiBpbnQgKCpldGhfcnhfZGVzY3Jp cHRvcl9zdGF0dXNfdCkodm9pZCAqcnhxLCB1aW50MTZfdCBvZmZzZXQpOwpDaGVja2luZyBwYXRj aCBsaWIvZXRoZGV2L2V0aGRldl9wcml2YXRlLmMuLi4KQ2hlY2tpbmcgcGF0Y2ggbGliL2V0aGRl di9ydGVfZXRoZGV2LmguLi4KSHVuayAjMSBzdWNjZWVkZWQgYXQgNDgzMCAob2Zmc2V0IC01NCBs aW5lcykuCkh1bmsgIzIgc3VjY2VlZGVkIGF0IDQ5NDggKG9mZnNldCAtNTQgbGluZXMpLgplcnJv cjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKc3RhdGljIGlubGluZSBpbnQKcnRlX2V0aF9yeF9xdWV1 ZV9jb3VudCh1aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdCBxdWV1ZV9pZCkKewoJc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXY7CgoJUlRFX0VUSF9WQUxJRF9QT1JUSURfT1JfRVJSX1JFVChwb3J0X2lk LCAtRU5PREVWKTsKCWRldiA9ICZydGVfZXRoX2RldmljZXNbcG9ydF9pZF07CglSVEVfRlVOQ19Q VFJfT1JfRVJSX1JFVCgqZGV2LT5yeF9xdWV1ZV9jb3VudCwgLUVOT1RTVVApOwoJaWYgKHF1ZXVl X2lkID49IGRldi0+ZGF0YS0+bmJfcnhfcXVldWVzIHx8CgkgICAgZGV2LT5kYXRhLT5yeF9xdWV1 ZXNbcXVldWVfaWRdID09IE5VTEwpCgkJcmV0dXJuIC1FSU5WQUw7CgoJcmV0dXJuIChpbnQpKCpk ZXYtPnJ4X3F1ZXVlX2NvdW50KShkZXYtPmRhdGEtPnJ4X3F1ZXVlc1txdWV1ZV9pZF0pOwp9Cgov KipAe0BuYW1lIFJ4IGhhcmR3YXJlIGRlc2NyaXB0b3Igc3RhdGVzCgplcnJvcjogcGF0Y2ggZmFp bGVkOiBsaWIvZXRoZGV2L3J0ZV9ldGhkZXYuaDo1MDMxCkh1bmsgIzQgc3VjY2VlZGVkIGF0IDUw OTggKG9mZnNldCAtNDAgbGluZXMpLgpIdW5rICM1IHN1Y2NlZWRlZCBhdCA1MTY4IChvZmZzZXQg LTQwIGxpbmVzKS4KSHVuayAjNiBzdWNjZWVkZWQgYXQgNTI4NiAob2Zmc2V0IC00MCBsaW5lcyku Ckh1bmsgIzcgc3VjY2VlZGVkIGF0IDUzOTcgKG9mZnNldCAtNDAgbGluZXMpLgpDaGVja2luZyBw YXRjaCBsaWIvZXRoZGV2L3ZlcnNpb24ubWFwLi4uCkFwcGxpZWQgcGF0Y2ggbGliL2V0aGRldi9l dGhkZXZfcHJpdmF0ZS5jIGNsZWFubHkuCkFwcGx5aW5nIHBhdGNoIGxpYi9ldGhkZXYvcnRlX2V0 aGRldi5oIHdpdGggMSByZWplY3QuLi4KSHVuayAjMSBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzIg YXBwbGllZCBjbGVhbmx5LgpSZWplY3RlZCBodW5rICMzLgpIdW5rICM0IGFwcGxpZWQgY2xlYW5s eS4KSHVuayAjNSBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzYgYXBwbGllZCBjbGVhbmx5LgpIdW5r ICM3IGFwcGxpZWQgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBsaWIvZXRoZGV2L3ZlcnNpb24ubWFw IGNsZWFubHkuCmRpZmYgYS9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaCBiL2xpYi9ldGhkZXYvcnRl X2V0aGRldi5oCShyZWplY3RlZCBodW5rcykKQEAgLTUwMzEsMTYgKzUwNzAsMjcgQEAgcnRlX2V0 aF9yeF9idXJzdCh1aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdCBxdWV1ZV9pZCwKIHN0YXRpYyBp bmxpbmUgaW50CiBydGVfZXRoX3J4X3F1ZXVlX2NvdW50KHVpbnQxNl90IHBvcnRfaWQsIHVpbnQx Nl90IHF1ZXVlX2lkKQogewotCXN0cnVjdCBydGVfZXRoX2RldiAqZGV2OworCXN0cnVjdCBydGVf ZXRoX2ZwX29wcyAqcDsKKwl2b2lkICpxZDsKKworCWlmIChwb3J0X2lkID49IFJURV9NQVhfRVRI UE9SVFMgfHwKKwkJCXF1ZXVlX2lkID49IFJURV9NQVhfUVVFVUVTX1BFUl9QT1JUKSB7CisJCVJU RV9FVEhERVZfTE9HKEVSUiwKKwkJCSJJbnZhbGlkIHBvcnRfaWQ9JXUgb3IgcXVldWVfaWQ9JXVc biIsCisJCQlwb3J0X2lkLCBxdWV1ZV9pZCk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8q IGZldGNoIHBvaW50ZXIgdG8gcXVldWUgZGF0YSAqLworCXAgPSAmcnRlX2V0aF9mcF9vcHNbcG9y dF9pZF07CisJcWQgPSBwLT5yeHEuZGF0YVtxdWV1ZV9pZF07CiAKIAlSVEVfRVRIX1ZBTElEX1BP UlRJRF9PUl9FUlJfUkVUKHBvcnRfaWQsIC1FTk9ERVYpOwotCWRldiA9ICZydGVfZXRoX2Rldmlj ZXNbcG9ydF9pZF07Ci0JUlRFX0ZVTkNfUFRSX09SX0VSUl9SRVQoKmRldi0+cnhfcXVldWVfY291 bnQsIC1FTk9UU1VQKTsKLQlpZiAocXVldWVfaWQgPj0gZGV2LT5kYXRhLT5uYl9yeF9xdWV1ZXMg fHwKLQkgICAgZGV2LT5kYXRhLT5yeF9xdWV1ZXNbcXVldWVfaWRdID09IE5VTEwpCisJUlRFX0ZV TkNfUFRSX09SX0VSUl9SRVQoKnAtPnJ4X3F1ZXVlX2NvdW50LCAtRU5PVFNVUCk7CisJaWYgKHFk ID09IE5VTEwpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JcmV0dXJuIChpbnQpKCpkZXYtPnJ4X3F1 ZXVlX2NvdW50KShkZXYtPmRhdGEtPnJ4X3F1ZXVlc1txdWV1ZV9pZF0pOworCXJldHVybiAoaW50 KSgqcC0+cnhfcXVldWVfY291bnQpKHFkKTsKIH0KIAogLyoqQHtAbmFtZSBSeCBoYXJkd2FyZSBk ZXNjcmlwdG9yIHN0YXRlcwpDaGVja2luZyBwYXRjaCBhcHAvdGVzdC1wbWQvY29uZmlnLmMuLi4K Q2hlY2tpbmcgcGF0Y2ggZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMV8xMS5yc3QuLi4K ZXJyb3I6IGRvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjFfMTEucnN0OiBkb2VzIG5vdCBt YXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBsaWIvZXRoZGV2L3J0ZV9ldGhkZXYuYy4uLgpDaGVj a2luZyBwYXRjaCBsaWIvZXRoZGV2L3J0ZV9ldGhkZXYuaC4uLgplcnJvcjogbGliL2V0aGRldi9y dGVfZXRoZGV2Lmg6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9ldGhk ZXYvdmVyc2lvbi5tYXAuLi4KZXJyb3I6IGxpYi9ldGhkZXYvdmVyc2lvbi5tYXA6IGRvZXMgbm90 IG1hdGNoIGluZGV4CkFwcGxpZWQgcGF0Y2ggYXBwL3Rlc3QtcG1kL2NvbmZpZy5jIGNsZWFubHku CkFwcGxpZWQgcGF0Y2ggbGliL2V0aGRldi9ydGVfZXRoZGV2LmMgY2xlYW5seS4KQ2hlY2tpbmcg cGF0Y2ggZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMV8xMS5yc3QuLi4KZXJyb3I6IGRv Yy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjFfMTEucnN0OiBkb2VzIG5vdCBtYXRjaCBpbmRl eApDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NvbW1vbi9vY3Rlb250eDIvb3R4Ml9zZWNfaWRldi5j Li4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL29jdGVvbnR4Mi9vdHgyX2NyeXB0b2Rl dl9vcHMuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9jeGdiZS9iYXNlL2FkYXB0ZXIu aC4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9kcGFhMi9kcGFhMl9wdHAuYy4uLgpDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC9uZXR2c2MvaG5fdmFyLmguLi4KZXJyb3I6IGRyaXZlcnMv bmV0L25ldHZzYy9obl92YXIuaDogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2gg bGliL2V0aGRldi9ldGhkZXZfZHJpdmVyLmguLi4KQ2hlY2tpbmcgcGF0Y2ggbGliL2V0aGRldi9y dGVfZXRoZGV2X2NvcmUuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCmV4dGVybiBz dHJ1Y3QgcnRlX2V0aF9mcF9vcHMgcnRlX2V0aF9mcF9vcHNbUlRFX01BWF9FVEhQT1JUU107CgoK LyoqCiAqIEBpbnRlcm5hbAogKiBTdHJ1Y3R1cmUgdXNlZCB0byBob2xkIGluZm9ybWF0aW9uIGFi b3V0IHRoZSBjYWxsYmFja3MgdG8gYmUgY2FsbGVkIGZvciBhCiAqIHF1ZXVlIG9uIFJYIGFuZCBU WC4KICovCnN0cnVjdCBydGVfZXRoX3J4dHhfY2FsbGJhY2sgewoJc3RydWN0IHJ0ZV9ldGhfcnh0 eF9jYWxsYmFjayAqbmV4dDsKCXVuaW9uewoJCXJ0ZV9yeF9jYWxsYmFja19mbiByeDsKCQlydGVf dHhfY2FsbGJhY2tfZm4gdHg7Cgl9IGZuOwoJdm9pZCAqcGFyYW07Cn07CgovKioKICogQGludGVy bmFsCiAqIFRoZSBnZW5lcmljIGRhdGEgc3RydWN0dXJlIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGV0 aGVybmV0IGRldmljZS4KICoKICogUG9pbnRlcnMgdG8gYnVyc3Qtb3JpZW50ZWQgcGFja2V0IHJl Y2VpdmUgYW5kIHRyYW5zbWl0IGZ1bmN0aW9ucyBhcmUKICogbG9jYXRlZCBhdCB0aGUgYmVnaW5u aW5nIG9mIHRoZSBzdHJ1Y3R1cmUsIGFsb25nIHdpdGggdGhlIHBvaW50ZXIgdG8KICogd2hlcmUg YWxsIHRoZSBkYXRhIGVsZW1lbnRzIGZvciB0aGUgcGFydGljdWxhciBkZXZpY2UgYXJlIHN0b3Jl ZCBpbiBzaGFyZWQKICogbWVtb3J5LiBUaGlzIHNwbGl0IGFsbG93cyB0aGUgZnVuY3Rpb24gcG9p bnRlciBhbmQgZHJpdmVyIGRhdGEgdG8gYmUgcGVyLQogKiBwcm9jZXNzLCB3aGlsZSB0aGUgYWN0 dWFsIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgdGhlIGRldmljZSBpcyBzaGFyZWQuCiAqLwpzdHJ1 Y3QgcnRlX2V0aF9kZXYgewoJZXRoX3J4X2J1cnN0X3QgcnhfcGt0X2J1cnN0OyAvKio8IFBvaW50 ZXIgdG8gUE1EIHJlY2VpdmUgZnVuY3Rpb24uICovCglldGhfdHhfYnVyc3RfdCB0eF9wa3RfYnVy c3Q7IC8qKjwgUG9pbnRlciB0byBQTUQgdHJhbnNtaXQgZnVuY3Rpb24uICovCglldGhfdHhfcHJl cF90IHR4X3BrdF9wcmVwYXJlOyAvKio8IFBvaW50ZXIgdG8gUE1EIHRyYW5zbWl0IHByZXBhcmUg ZnVuY3Rpb24uICovCgoJZXRoX3J4X3F1ZXVlX2NvdW50X3QgICAgICAgcnhfcXVldWVfY291bnQ7 IC8qKjwgR2V0IHRoZSBudW1iZXIgb2YgdXNlZCBSWCBkZXNjcmlwdG9ycy4gKi8KCWV0aF9yeF9k ZXNjcmlwdG9yX3N0YXR1c190IHJ4X2Rlc2NyaXB0b3Jfc3RhdHVzOyAvKio8IENoZWNrIHRoZSBz dGF0dXMgb2YgYSBSeCBkZXNjcmlwdG9yLiAqLwoJZXRoX3R4X2Rlc2NyaXB0b3Jfc3RhdHVzX3Qg dHhfZGVzY3JpcHRvcl9zdGF0dXM7IC8qKjwgQ2hlY2sgdGhlIHN0YXR1cyBvZiBhIFR4IGRlc2Ny aXB0b3IuICovCgoJLyoqCgkgKiBOZXh0IHR3byBmaWVsZHMgYXJlIHBlci1kZXZpY2UgZGF0YSBi dXQgKmRhdGEgaXMgc2hhcmVkIGJldHdlZW4KCSAqIHByaW1hcnkgYW5kIHNlY29uZGFyeSBwcm9j ZXNzZXMgYW5kICpwcm9jZXNzX3ByaXZhdGUgaXMgcGVyLXByb2Nlc3MKCSAqIHByaXZhdGUuIFRo ZSBzZWNvbmQgb25lIGlzIG1hbmFnZWQgYnkgUE1EcyBpZiBuZWNlc3NhcnkuCgkgKi8KCXN0cnVj dCBydGVfZXRoX2Rldl9kYXRhICpkYXRhOyAgLyoqPCBQb2ludGVyIHRvIGRldmljZSBkYXRhLiAq LwoJdm9pZCAqcHJvY2Vzc19wcml2YXRlOyAvKio8IFBvaW50ZXIgdG8gcGVyLXByb2Nlc3MgZGV2 aWNlIGRhdGEuICovCgljb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHMgKmRldl9vcHM7IC8qKjwgRnVu Y3Rpb25zIGV4cG9ydGVkIGJ5IFBNRCAqLwoJc3RydWN0IHJ0ZV9kZXZpY2UgKmRldmljZTsgLyoq PCBCYWNraW5nIGRldmljZSAqLwoJc3RydWN0IHJ0ZV9pbnRyX2hhbmRsZSAqaW50cl9oYW5kbGU7 IC8qKjwgRGV2aWNlIGludGVycnVwdCBoYW5kbGUgKi8KCS8qKiBVc2VyIGFwcGxpY2F0aW9uIGNh bGxiYWNrcyBmb3IgTklDIGludGVycnVwdHMgKi8KCXN0cnVjdCBydGVfZXRoX2Rldl9jYl9saXN0 IGxpbmtfaW50cl9jYnM7CgkvKioKCSAqIFVzZXItc3VwcGxpZWQgZnVuY3Rpb25zIGNhbGxlZCBm cm9tIHJ4X2J1cnN0IHRvIHBvc3QtcHJvY2VzcwoJICogcmVjZWl2ZWQgcGFja2V0cyBiZWZvcmUg cGFzc2luZyB0aGVtIHRvIHRoZSB1c2VyCgkgKi8KCXN0cnVjdCBydGVfZXRoX3J4dHhfY2FsbGJh Y2sgKnBvc3RfcnhfYnVyc3RfY2JzW1JURV9NQVhfUVVFVUVTX1BFUl9QT1JUXTsKCS8qKgoJICog VXNlci1zdXBwbGllZCBmdW5jdGlvbnMgY2FsbGVkIGZyb20gdHhfYnVyc3QgdG8gcHJlLXByb2Nl c3MKCSAqIHJlY2VpdmVkIHBhY2tldHMgYmVmb3JlIHBhc3NpbmcgdGhlbSB0byB0aGUgZHJpdmVy IGZvciB0cmFuc21pc3Npb24uCgkgKi8KCXN0cnVjdCBydGVfZXRoX3J4dHhfY2FsbGJhY2sgKnBy ZV90eF9idXJzdF9jYnNbUlRFX01BWF9RVUVVRVNfUEVSX1BPUlRdOwoJZW51bSBydGVfZXRoX2Rl dl9zdGF0ZSBzdGF0ZTsgLyoqPCBGbGFnIGluZGljYXRpbmcgdGhlIHBvcnQgc3RhdGUgKi8KCXZv aWQgKnNlY3VyaXR5X2N0eDsgLyoqPCBDb250ZXh0IGZvciBzZWN1cml0eSBvcHMgKi8KCgl1aW50 NjRfdCByZXNlcnZlZF82NHNbNF07IC8qKjwgUmVzZXJ2ZWQgZm9yIGZ1dHVyZSBmaWVsZHMgKi8K CXZvaWQgKnJlc2VydmVkX3B0cnNbNF07ICAgLyoqPCBSZXNlcnZlZCBmb3IgZnV0dXJlIGZpZWxk cyAqLwp9IF9fcnRlX2NhY2hlX2FsaWduZWQ7CgpzdHJ1Y3QgcnRlX2V0aF9kZXZfc3Jpb3Y7CnN0 cnVjdCBydGVfZXRoX2Rldl9vd25lcjsKCi8qKgogKiBAaW50ZXJuYWwKICogVGhlIGRhdGEgcGFy dCwgd2l0aCBubyBmdW5jdGlvbiBwb2ludGVycywgYXNzb2NpYXRlZCB3aXRoIGVhY2ggZXRoZXJu ZXQgZGV2aWNlLgogKgogKiBUaGlzIHN0cnVjdHVyZSBpcyBzYWZlIHRvIHBsYWNlIGluIHNoYXJl ZCBtZW1vcnkgdG8gYmUgY29tbW9uIGFtb25nIGRpZmZlcmVudAogKiBwcm9jZXNzZXMgaW4gYSBt dWx0aS1wcm9jZXNzIGNvbmZpZ3VyYXRpb24uCiAqLwpzdHJ1Y3QgcnRlX2V0aF9kZXZfZGF0YSB7 CgljaGFyIG5hbWVbUlRFX0VUSF9OQU1FX01BWF9MRU5dOyAvKio8IFVuaXF1ZSBpZGVudGlmaWVy IG5hbWUgKi8KCgl2b2lkICoqcnhfcXVldWVzOyAvKio8IEFycmF5IG9mIHBvaW50ZXJzIHRvIFJY IHF1ZXVlcy4gKi8KCXZvaWQgKip0eF9xdWV1ZXM7IC8qKjwgQXJyYXkgb2YgcG9pbnRlcnMgdG8g VFggcXVldWVzLiAqLwoJdWludDE2X3QgbmJfcnhfcXVldWVzOyAvKio8IE51bWJlciBvZiBSWCBx dWV1ZXMuICovCgl1aW50MTZfdCBuYl90eF9xdWV1ZXM7IC8qKjwgTnVtYmVyIG9mIFRYIHF1ZXVl cy4gKi8KCglzdHJ1Y3QgcnRlX2V0aF9kZXZfc3Jpb3Ygc3Jpb3Y7ICAgIC8qKjwgU1JJT1YgZGF0 YSAqLwoKCXZvaWQgKmRldl9wcml2YXRlOwoJCQkvKio8IFBNRC1zcGVjaWZpYyBwcml2YXRlIGRh dGEuCgkJCSAqICAgQHNlZSBydGVfZXRoX2Rldl9yZWxlYXNlX3BvcnQoKQoJCQkgKi8KCglzdHJ1 Y3QgcnRlX2V0aF9saW5rIGRldl9saW5rOyAgIC8qKjwgTGluay1sZXZlbCBpbmZvcm1hdGlvbiAm IHN0YXR1cy4gKi8KCXN0cnVjdCBydGVfZXRoX2NvbmYgZGV2X2NvbmY7ICAgLyoqPCBDb25maWd1 cmF0aW9uIGFwcGxpZWQgdG8gZGV2aWNlLiAqLwoJdWludDE2X3QgbXR1OyAgICAgICAgICAgICAg ICAgICAvKio8IE1heGltdW0gVHJhbnNtaXNzaW9uIFVuaXQuICovCgl1aW50MzJfdCBtaW5fcnhf YnVmX3NpemU7CgkJCS8qKjwgQ29tbW9uIFJYIGJ1ZmZlciBzaXplIGhhbmRsZWQgYnkgYWxsIHF1 ZXVlcy4gKi8KCgl1aW50NjRfdCByeF9tYnVmX2FsbG9jX2ZhaWxlZDsgLyoqPCBSWCByaW5nIG1i dWYgYWxsb2NhdGlvbiBmYWlsdXJlcy4gKi8KCXN0cnVjdCBydGVfZXRoZXJfYWRkciAqbWFjX2Fk ZHJzOwoJCQkvKio8IERldmljZSBFdGhlcm5ldCBsaW5rIGFkZHJlc3MuCgkJCSAqICAgQHNlZSBy dGVfZXRoX2Rldl9yZWxlYXNlX3BvcnQoKQoJCQkgKi8KCXVpbnQ2NF90IG1hY19wb29sX3NlbFtF VEhfTlVNX1JFQ0VJVkVfTUFDX0FERFJdOwoJCQkvKio8IEJpdG1hcCBhc3NvY2lhdGluZyBNQUMg YWRkcmVzc2VzIHRvIHBvb2xzLiAqLwoJc3RydWN0IHJ0ZV9ldGhlcl9hZGRyICpoYXNoX21hY19h ZGRyczsKCQkJLyoqPCBEZXZpCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9ldGhkZXYvcnRlX2V0 aGRldl9jb3JlLmg6MTA5CkNoZWNraW5nIHBhdGNoIGxpYi9ldGhkZXYvdmVyc2lvbi5tYXAuLi4K ZXJyb3I6IGxpYi9ldGhkZXYvdmVyc2lvbi5tYXA6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNr aW5nIHBhdGNoIGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYy4uLgpDaGVj a2luZyBwYXRjaCBsaWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmMuLi4KQ2hl Y2tpbmcgcGF0Y2ggbGliL2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5jLi4uCkNoZWNraW5nIHBhdGNo IGxpYi9tZXRyaWNzL3J0ZV9tZXRyaWNzX3RlbGVtZXRyeS5jLi4uCkFwcGxpZWQgcGF0Y2ggZHJp dmVycy9jb21tb24vb2N0ZW9udHgyL290eDJfc2VjX2lkZXYuYyBjbGVhbmx5LgpBcHBsaWVkIHBh dGNoIGRyaXZlcnMvY3J5cHRvL29jdGVvbnR4Mi9vdHgyX2NyeXB0b2Rldl9vcHMuYyBjbGVhbmx5 LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L2N4Z2JlL2Jhc2UvYWRhcHRlci5oIGNsZWFubHku CkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvZHBhYTIvZHBhYTJfcHRwLmMgY2xlYW5seS4KQXBw bGllZCBwYXRjaCBsaWIvZXRoZGV2L2V0aGRldl9kcml2ZXIuaCBjbGVhbmx5LgpBcHBseWluZyBw YXRjaCBsaWIvZXRoZGV2L3J0ZV9ldGhkZXZfY29yZS5oIHdpdGggMSByZWplY3QuLi4KUmVqZWN0 ZWQgaHVuayAjMS4KQXBwbGllZCBwYXRjaCBsaWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9h ZGFwdGVyLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBsaWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0 aF90eF9hZGFwdGVyLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBsaWIvZXZlbnRkZXYvcnRlX2V2 ZW50ZGV2LmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBsaWIvbWV0cmljcy9ydGVfbWV0cmljc190 ZWxlbWV0cnkuYyBjbGVhbmx5LgpkaWZmIGEvbGliL2V0aGRldi9ydGVfZXRoZGV2X2NvcmUuaCBi L2xpYi9ldGhkZXYvcnRlX2V0aGRldl9jb3JlLmgJKHJlamVjdGVkIGh1bmtzKQpAQCAtMTA5LDE1 MyArMTA5LDQgQEAgc3RydWN0IHJ0ZV9ldGhfZnBfb3BzIHsKIAogZXh0ZXJuIHN0cnVjdCBydGVf ZXRoX2ZwX29wcyBydGVfZXRoX2ZwX29wc1tSVEVfTUFYX0VUSFBPUlRTXTsKIAotCi0vKioKLSAq IEBpbnRlcm5hbAotICogU3RydWN0dXJlIHVzZWQgdG8gaG9sZCBpbmZvcm1hdGlvbiBhYm91dCB0 aGUgY2FsbGJhY2tzIHRvIGJlIGNhbGxlZCBmb3IgYQotICogcXVldWUgb24gUlggYW5kIFRYLgot ICovCi1zdHJ1Y3QgcnRlX2V0aF9yeHR4X2NhbGxiYWNrIHsKLQlzdHJ1Y3QgcnRlX2V0aF9yeHR4 X2NhbGxiYWNrICpuZXh0OwotCXVuaW9uewotCQlydGVfcnhfY2FsbGJhY2tfZm4gcng7Ci0JCXJ0 ZV90eF9jYWxsYmFja19mbiB0eDsKLQl9IGZuOwotCXZvaWQgKnBhcmFtOwotfTsKLQotLyoqCi0g KiBAaW50ZXJuYWwKLSAqIFRoZSBnZW5lcmljIGRhdGEgc3RydWN0dXJlIGFzc29jaWF0ZWQgd2l0 aCBlYWNoIGV0aGVybmV0IGRldmljZS4KLSAqCi0gKiBQb2ludGVycyB0byBidXJzdC1vcmllbnRl ZCBwYWNrZXQgcmVjZWl2ZSBhbmQgdHJhbnNtaXQgZnVuY3Rpb25zIGFyZQotICogbG9jYXRlZCBh dCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJ1Y3R1cmUsIGFsb25nIHdpdGggdGhlIHBvaW50ZXIg dG8KLSAqIHdoZXJlIGFsbCB0aGUgZGF0YSBlbGVtZW50cyBmb3IgdGhlIHBhcnRpY3VsYXIgZGV2 aWNlIGFyZSBzdG9yZWQgaW4gc2hhcmVkCi0gKiBtZW1vcnkuIFRoaXMgc3BsaXQgYWxsb3dzIHRo ZSBmdW5jdGlvbiBwb2ludGVyIGFuZCBkcml2ZXIgZGF0YSB0byBiZSBwZXItCi0gKiBwcm9jZXNz LCB3aGlsZSB0aGUgYWN0dWFsIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgdGhlIGRldmljZSBpcyBz aGFyZWQuCi0gKi8KLXN0cnVjdCBydGVfZXRoX2RldiB7Ci0JZXRoX3J4X2J1cnN0X3QgcnhfcGt0 X2J1cnN0OyAvKio8IFBvaW50ZXIgdG8gUE1EIHJlY2VpdmUgZnVuY3Rpb24uICovCi0JZXRoX3R4 X2J1cnN0X3QgdHhfcGt0X2J1cnN0OyAvKio8IFBvaW50ZXIgdG8gUE1EIHRyYW5zbWl0IGZ1bmN0 aW9uLiAqLwotCWV0aF90eF9wcmVwX3QgdHhfcGt0X3ByZXBhcmU7IC8qKjwgUG9pbnRlciB0byBQ TUQgdHJhbnNtaXQgcHJlcGFyZSBmdW5jdGlvbi4gKi8KLQotCWV0aF9yeF9xdWV1ZV9jb3VudF90 ICAgICAgIHJ4X3F1ZXVlX2NvdW50OyAvKio8IEdldCB0aGUgbnVtYmVyIG9mIHVzZWQgUlggZGVz Y3JpcHRvcnMuICovCi0JZXRoX3J4X2Rlc2NyaXB0b3Jfc3RhdHVzX3QgcnhfZGVzY3JpcHRvcl9z dGF0dXM7IC8qKjwgQ2hlY2sgdGhlIHN0YXR1cyBvZiBhIFJ4IGRlc2NyaXB0b3IuICovCi0JZXRo X3R4X2Rlc2NyaXB0b3Jfc3RhdHVzX3QgdHhfZGVzY3JpcHRvcl9zdGF0dXM7IC8qKjwgQ2hlY2sg dGhlIHN0YXR1cyBvZiBhIFR4IGRlc2NyaXB0b3IuICovCi0KLQkvKioKLQkgKiBOZXh0IHR3byBm aWVsZHMgYXJlIHBlci1kZXZpY2UgZGF0YSBidXQgKmRhdGEgaXMgc2hhcmVkIGJldHdlZW4KLQkg KiBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgcHJvY2Vzc2VzIGFuZCAqcHJvY2Vzc19wcml2YXRlIGlz IHBlci1wcm9jZXNzCi0JICogcHJpdmF0ZS4gVGhlIHNlY29uZCBvbmUgaXMgbWFuYWdlZCBieSBQ TURzIGlmIG5lY2Vzc2FyeS4KLQkgKi8KLQlzdHJ1Y3QgcnRlX2V0aF9kZXZfZGF0YSAqZGF0YTsg IC8qKjwgUG9pbnRlciB0byBkZXZpY2UgZGF0YS4gKi8KLQl2b2lkICpwcm9jZXNzX3ByaXZhdGU7 IC8qKjwgUG9pbnRlciB0byBwZXItcHJvY2VzcyBkZXZpY2UgZGF0YS4gKi8KLQljb25zdCBzdHJ1 Y3QgZXRoX2Rldl9vcHMgKmRldl9vcHM7IC8qKjwgRnVuY3Rpb25zIGV4cG9ydGVkIGJ5IFBNRCAq LwotCXN0cnVjdCBydGVfZGV2aWNlICpkZXZpY2U7IC8qKjwgQmFja2luZyBkZXZpY2UgKi8KLQlz dHJ1Y3QgcnRlX2ludHJfaGFuZGxlICppbnRyX2hhbmRsZTsgLyoqPCBEZXZpY2UgaW50ZXJydXB0 IGhhbmRsZSAqLwotCS8qKiBVc2VyIGFwcGxpY2F0aW9uIGNhbGxiYWNrcyBmb3IgTklDIGludGVy cnVwdHMgKi8KLQlzdHJ1Y3QgcnRlX2V0aF9kZXZfY2JfbGlzdCBsaW5rX2ludHJfY2JzOwotCS8q KgotCSAqIFVzZXItc3VwcGxpZWQgZnVuY3Rpb25zIGNhbGxlZCBmcm9tIHJ4X2J1cnN0IHRvIHBv c3QtcHJvY2VzcwotCSAqIHJlY2VpdmVkIHBhY2tldHMgYmVmb3JlIHBhc3NpbmcgdGhlbSB0byB0 aGUgdXNlcgotCSAqLwotCXN0cnVjdCBydGVfZXRoX3J4dHhfY2FsbGJhY2sgKnBvc3RfcnhfYnVy c3RfY2JzW1JURV9NQVhfUVVFVUVTX1BFUl9QT1JUXTsKLQkvKioKLQkgKiBVc2VyLXN1cHBsaWVk IGZ1bmN0aW9ucyBjYWxsZWQgZnJvbSB0eF9idXJzdCB0byBwcmUtcHJvY2VzcwotCSAqIHJlY2Vp dmVkIHBhY2tldHMgYmVmb3JlIHBhc3NpbmcgdGhlbSB0byB0aGUgZHJpdmVyIGZvciB0cmFuc21p c3Npb24uCi0JICovCi0Jc3RydWN0IHJ0ZV9ldGhfcnh0eF9jYWxsYmFjayAqcHJlX3R4X2J1cnN0 X2Nic1tSVEVfTUFYX1FVRVVFU19QRVJfUE9SVF07Ci0JZW51bSBydGVfZXRoX2Rldl9zdGF0ZSBz dGF0ZTsgLyoqPCBGbGFnIGluZGljYXRpbmcgdGhlIHBvcnQgc3RhdGUgKi8KLQl2b2lkICpzZWN1 cml0eV9jdHg7IC8qKjwgQ29udGV4dCBmb3Igc2VjdXJpdHkgb3BzICovCi0KLQl1aW50NjRfdCBy ZXNlcnZlZF82NHNbNF07IC8qKjwgUmVzZXJ2ZWQgZm9yIGZ1dHVyZSBmaWVsZHMgKi8KLQl2b2lk ICpyZXNlcnZlZF9wdHJzWzRdOyAgIC8qKjwgUmVzZXJ2ZWQgZm9yIGZ1dHVyZSBmaWVsZHMgKi8K LX0gX19ydGVfY2FjaGVfYWxpZ25lZDsKLQotc3RydWN0IHJ0ZV9ldGhfZGV2X3NyaW92Owotc3Ry dWN0IHJ0ZV9ldGhfZGV2X293bmVyOwotCi0vKioKLSAqIEBpbnRlcm5hbAotICogVGhlIGRhdGEg cGFydCwgd2l0aCBubyBmdW5jdGlvbiBwb2ludGVycywgYXNzb2NpYXRlZCB3aXRoIGVhY2ggZXRo ZXJuZXQgZGV2aWNlLgotICoKLSAqIFRoaXMgc3RydWN0dXJlIGlzIHNhZmUgdG8gcGxhY2UgaW4g c2hhcmVkIG1lbW9yeSB0byBiZSBjb21tb24gYW1vbmcgZGlmZmVyZW50Ci0gKiBwcm9jZXNzZXMg aW4gYSBtdWx0aS1wcm9jZXNzIGNvbmZpZ3VyYXRpb24uCi0gKi8KLXN0cnVjdCBydGVfZXRoX2Rl dl9kYXRhIHsKLQljaGFyIG5hbWVbUlRFX0VUSF9OQU1FX01BWF9MRU5dOyAvKio8IFVuaXF1ZSBp ZGVudGlmaWVyIG5hbWUgKi8KLQotCXZvaWQgKipyeF9xdWV1ZXM7IC8qKjwgQXJyYXkgb2YgcG9p bnRlcnMgdG8gUlggcXVldWVzLiAqLwotCXZvaWQgKip0eF9xdWV1ZXM7IC8qKjwgQXJyYXkgb2Yg cG9pbnRlcnMgdG8gVFggcXVldWVzLiAqLwotCXVpbnQxNl90IG5iX3J4X3F1ZXVlczsgLyoqPCBO dW1iZXIgb2YgUlggcXVldWVzLiAqLwotCXVpbnQxNl90IG5iX3R4X3F1ZXVlczsgLyoqPCBOdW1i ZXIgb2YgVFggcXVldWVzLiAqLwotCi0Jc3RydWN0IHJ0ZV9ldGhfZGV2X3NyaW92IHNyaW92OyAg ICAvKio8IFNSSU9WIGRhdGEgKi8KLQotCXZvaWQgKmRldl9wcml2YXRlOwotCQkJLyoqPCBQTUQt c3BlY2lmaWMgcHJpdmF0ZSBkYXRhLgotCQkJICogICBAc2VlIHJ0ZV9ldGhfZGV2X3JlbGVhc2Vf cG9ydCgpCi0JCQkgKi8KLQotCXN0cnVjdCBydGVfZXRoX2xpbmsgZGV2X2xpbms7ICAgLyoqPCBM aW5rLWxldmVsIGluZm9ybWF0aW9uICYgc3RhdHVzLiAqLwotCXN0cnVjdCBydGVfZXRoX2NvbmYg ZGV2X2NvbmY7ICAgLyoqPCBDb25maWd1cmF0aW9uIGFwcGxpZWQgdG8gZGV2aWNlLiAqLwotCXVp bnQxNl90IG10dTsgICAgICAgICAgICAgICAgICAgLyoqPCBNYXhpbXVtIFRyYW5zbWlzc2lvbiBV bml0LiAqLwotCXVpbnQzMl90IG1pbl9yeF9idWZfc2l6ZTsKLQkJCS8qKjwgQ29tbW9uIFJYIGJ1 ZmZlciBzaXplIGhhbmRsZWQgYnkgYWxsIHF1ZXVlcy4gKi8KLQotCXVpbnQ2NF90IHJ4X21idWZf YWxsb2NfZmFpbGVkOyAvKio8IFJYIHJpbmcgbWJ1ZiBhbGxvY2F0aW9uIGZhaWx1cmVzLiAqLwot CXN0cnVjdCBydGVfZXRoZXJfYWRkciAqbWFjX2FkZHJzOwotCQkJLyoqPCBEZXZpY2UgRXRoZXJu ZXQgbGluayBhZGRyZXNzLgotCQkJICogICBAc2VlIHJ0ZV9ldGhfZGV2X3JlbGVhc2VfcG9ydCgp Ci0JCQkgKi8KLQl1aW50NjRfdCBtYWNfcG9vbF9zZWxbRVRIX05VTV9SRUNFSVZFX01BQ19BRERS XTsKLQkJCS8qKjwgQml0bWFwIGFzc29jaWF0aW5nIE1BQyBhZGRyZXNzZXMgdG8gcG9vbHMuICov Ci0Jc3RydWN0IHJ0ZV9ldGhlcl9hZGRyICpoYXNoX21hY19hZGRyczsKLQkJCS8qKjwgRGV2aWNl IEV0aGVybmV0IE1BQyBhZGRyZXNzZXMgb2YgaGFzaCBmaWx0ZXJpbmcuCi0JCQkgKiAgIEBzZWUg cnRlX2V0aF9kZXZfcmVsZWFzZV9wb3J0KCkKLQkJCSAqLwotCXVpbnQxNl90IHBvcnRfaWQ7ICAg ICAgICAgICAvKio8IERldmljZSBbZXh0ZXJuYWxdIHBvcnQgaWRlbnRpZmllci4gKi8KLQotCV9f ZXh0ZW5zaW9uX18KLQl1aW50OF90IHByb21pc2N1b3VzICAgOiAxLCAvKio8IFJYIHByb21pc2N1 b3VzIG1vZGUgT04oMSkgLyBPRkYoMCkuICovCi0JCXNjYXR0ZXJlZF9yeCA6IDEsICAvKio8IFJY IG9mIHNjYXR0ZXJlZCBwYWNrZXRzIGlzIE9OKDEpIC8gT0ZGKDApICovCi0JCWFsbF9tdWx0aWNh c3QgOiAxLCAvKio8IFJYIGFsbCBtdWx0aWNhc3QgbW9kZSBPTigxKSAvIE9GRigwKS4gKi8KLQkJ ZGV2X3N0YXJ0ZWQgOiAxLCAgIC8qKjwgRGV2aWNlIHN0YXRlOiBTVEFSVEVEKDEpIC8gU1RPUFBF RCgwKS4gKi8KLQkJbHJvICAgICAgICAgOiAxLCAgIC8qKjwgUlggTFJPIGlzIE9OKDEpIC8gT0ZG KDApICovCi0JCWRldl9jb25maWd1cmVkIDogMTsKLQkJLyoqPCBJbmRpY2F0ZXMgd2hldGhlciB0 aGUgZGV2aWNlIGlzIGNvbmZpZ3VyZWQuCi0JCSAqICAgQ09ORklHVVJFRCgxKSAvIE5PVCBDT05G SUdVUkVEKDApLgotCQkgKi8KLQl1aW50OF90IHJ4X3F1ZXVlX3N0YXRlW1JURV9NQVhfUVVFVUVT X1BFUl9QT1JUXTsKLQkJLyoqPCBRdWV1ZXMgc3RhdGU6IEhBSVJQSU4oMikgLyBTVEFSVEVEKDEp IC8gU1RPUFBFRCgwKS4gKi8KLQl1aW50OF90IHR4X3F1ZXVlX3N0YXRlW1JURV9NQVhfUVVFVUVT X1BFUl9QT1JUXTsKLQkJLyoqPCBRdWV1ZXMgc3RhdGU6IEhBSVJQSU4oMikgLyBTVEFSVEVEKDEp IC8gU1RPUFBFRCgwKS4gKi8KLQl1aW50MzJfdCBkZXZfZmxhZ3M7ICAgICAgICAgICAgIC8qKjwg Q2FwYWJpbGl0aWVzLiAqLwotCWludCBudW1hX25vZGU7ICAgICAgICAgICAgICAgICAgLyoqPCBO VU1BIG5vZGUgY29ubmVjdGlvbi4gKi8KLQlzdHJ1Y3QgcnRlX3ZsYW5fZmlsdGVyX2NvbmYgdmxh bl9maWx0ZXJfY29uZjsKLQkJCS8qKjwgVkxBTiBmaWx0ZXIgY29uZmlndXJhdGlvbi4gKi8KLQlz dHJ1Y3QgcnRlX2V0aF9kZXZfb3duZXIgb3duZXI7IC8qKjwgVGhlIHBvcnQgb3duZXIuICovCi0J dWludDE2X3QgcmVwcmVzZW50b3JfaWQ7Ci0JCQkvKio8IFN3aXRjaC1zcGVjaWZpYyBpZGVudGlm aWVyLgotCQkJICogICBWYWxpZCBpZiBSVEVfRVRIX0RFVl9SRVBSRVNFTlRPUiBpbiBkZXZfZmxh Z3MuCi0JCQkgKi8KLQl1aW50MTZfdCBiYWNrZXJfcG9ydF9pZDsKLQkJCS8qKjwgUG9ydCBJRCBv ZiB0aGUgYmFja2luZyBkZXZpY2UuCi0JCQkgKiAgIFRoaXMgZGV2aWNlIHdpbGwgYmUgdXNlZCB0 byBxdWVyeSByZXByZXNlbnRvcgotCQkJICogICBpbmZvIGFuZCBjYWxjdWxhdGUgcmVwcmVzZW50 b3IgSURzLgotCQkJICogICBWYWxpZCBpZiBSVEVfRVRIX0RFVl9SRVBSRVNFTlRPUiBpbiBkZXZf ZmxhZ3MuCi0JCQkgKi8KLQotCXB0aHJlYWRfbXV0ZXhfdCBmbG93X29wc19tdXRleDsgLyoqPCBy dGVfZmxvdyBvcHMgbXV0ZXguICovCi0JdWludDY0X3QgcmVzZXJ2ZWRfNjRzWzRdOyAvKio8IFJl c2VydmVkIGZvciBmdXR1cmUgZmllbGRzICovCi0Jdm9pZCAqcmVzZXJ2ZWRfcHRyc1s0XTsgICAv Kio8IFJlc2VydmVkIGZvciBmdXR1cmUgZmllbGRzICovCi19IF9fcnRlX2NhY2hlX2FsaWduZWQ7 Ci0KLS8qKgotICogQGludGVybmFsCi0gKiBUaGUgcG9vbCBvZiAqcnRlX2V0aF9kZXYqIHN0cnVj dHVyZXMuIFRoZSBzaXplIG9mIHRoZSBwb29sCi0gKiBpcyBjb25maWd1cmVkIGF0IGNvbXBpbGUt dGltZSBpbiB0aGUgPHJ0ZV9ldGhkZXYuYz4gZmlsZS4KLSAqLwotZXh0ZXJuIHN0cnVjdCBydGVf ZXRoX2RldiBydGVfZXRoX2RldmljZXNbXTsKLQogI2VuZGlmIC8qIF9SVEVfRVRIREVWX0NPUkVf SF8gKi8KCmh0dHBzOi8vbGFiLmRwZGsub3JnL3Jlc3VsdHMvZGFzaGJvYXJkL3BhdGNoc2V0cy8x OTM3Mi8KClVOSC1JT0wgRFBESyBDb21tdW5pdHkgTGFiCg== --===============6589714223001227313==--