From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH 09/10] ARM: bcm2835: Add the mailbox property channel driver. Date: Mon, 2 Mar 2015 12:54:43 -0800 Message-ID: <1425329684-23968-10-git-send-email-eric@anholt.net> References: <1425329684-23968-1-git-send-email-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1425329684-23968-1-git-send-email-eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-rpi-kernel" Errors-To: linux-rpi-kernel-bounces+glkr-linux-rpi-kernel=m.gmane.org-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: linux-arm-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Jassi Brar , linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: devicetree@vger.kernel.org TWFueSBvZiB0aGUgb3BlcmF0aW9ucyB3aXRoIHRoZSBmaXJtd2FyZSBhcmUgZG9uZSB0aHJvdWdo IHRoaXMgbWFpbGJveApjaGFubmVsIHBhaXIgd2l0aCBhIHNwZWNpZmljIHBhY2tldCBmb3JtYXQu ICBOb3RhYmx5LCBpdCdzIHVzZWQgZm9yCmNsb2NrIGNvbnRyb2wsIHdoaWNoIGlzIGFwcGFyZW50 bHkgbm90IGFjdHVhbGx5IHRvdGFsbHkgcG9zc2libGUgdG8gZG8KZnJvbSB0aGUgQVJNIHNpZGUg KHNvbWUgcmVncyBhcmVuJ3QgYWRkcmVzc2FibGUpLiAgSSBuZWVkIGNsb2NrCmNvbnRyb2wgZm9y IHRoZSBWQzQgRFJNIGRyaXZlciwgdG8gdHVybiBvbiB0aGUgM0QgZW5naW5lLgoKU2lnbmVkLW9m Zi1ieTogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KLS0tCiBkcml2ZXJzL21haWxib3gv TWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9tYWlsYm94 L2JjbTI4MzUtbWFpbGJveC1wcm9wZXJ0eS5jICAgICAgIHwgMTcyICsrKysrKysrKysrKysrKysr KysrKysrCiBpbmNsdWRlL2xpbnV4L21haWxib3gvYmNtMjgzNS1tYWlsYm94LXByb3BlcnR5Lmgg fCAxMDYgKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMjc5IGluc2VydGlvbnMoKykK IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21haWxib3gvYmNtMjgzNS1tYWlsYm94LXByb3Bl cnR5LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xpbnV4L21haWxib3gvYmNtMjgzNS1t YWlsYm94LXByb3BlcnR5LmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL21haWxib3gvTWFrZWZpbGUg Yi9kcml2ZXJzL21haWxib3gvTWFrZWZpbGUKaW5kZXggNjE5ZDgxNS4uMDMxODk2NiAxMDA2NDQK LS0tIGEvZHJpdmVycy9tYWlsYm94L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvbWFpbGJveC9NYWtl ZmlsZQpAQCAtMTIsMyArMTIsNCBAQCBvYmotJChDT05GSUdfQUxURVJBX01CT1gpCSs9IG1haWxi b3gtYWx0ZXJhLm8KIAogb2JqLSQoQ09ORklHX0JDTTI4MzVfTUJPWCkJKz0gYmNtMjgzNS1tYWls Ym94Lm8KIG9iai0kKENPTkZJR19CQ00yODM1X01CT1gpCSs9IGJjbTI4MzUtbWFpbGJveC1wb3dl ci5vCitvYmotJChDT05GSUdfQkNNMjgzNV9NQk9YKQkrPSBiY20yODM1LW1haWxib3gtcHJvcGVy dHkubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tYWlsYm94L2JjbTI4MzUtbWFpbGJveC1wcm9wZXJ0 eS5jIGIvZHJpdmVycy9tYWlsYm94L2JjbTI4MzUtbWFpbGJveC1wcm9wZXJ0eS5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzNTkwYTkKLS0tIC9kZXYvbnVsbAorKysgYi9k cml2ZXJzL21haWxib3gvYmNtMjgzNS1tYWlsYm94LXByb3BlcnR5LmMKQEAgLTAsMCArMSwxNzIg QEAKKy8qCisgKiAgQ29weXJpZ2h0IMKpIDIwMTUgQnJvYWRjb20KKyAqCisgKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLgorICovCisKKy8qCisgKiBEZWZpbmVzIGEgbW9kdWxlIGZvciBhY2Nlc3NpbmcgdGhlIHBy b3BlcnR5IGNoYW5uZWwgb2YgdGhlCisgKiBCQ00yODM1IG1haWxib3guCisgKgorICogVGhlIHBy b3BlcnR5IGludGVyZmFjZSBsZXRzIHlvdSBzdWJtaXQgYSBidXMgYWRkcmVzcyBmb3IgYQorICog c2VxdWVuY2Ugb2YgY29tbWFuZCBwYWNrZXRzIHRvIHRoZSBmaXJtd2FyZS4KKyAqLworCisjaW5j bHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9tYWlsYm94X2NsaWVu dC5oPgorI2luY2x1ZGUgPGxpbnV4L21haWxib3gvYmNtMjgzNS1tYWlsYm94LXByb3BlcnR5Lmg+ CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2 aWNlLmg+CisKK3N0YXRpYyBERUZJTkVfTVVURVgocHJvcGVydHlfbG9jayk7CisKK3N0cnVjdCBi Y21fbWJveF9wcm9wZXJ0eSB7CisJc3RydWN0IGRldmljZSAqZGV2OworCXN0cnVjdCBtYm94X2Ns aWVudCBjbDsKKwlzdHJ1Y3QgbWJveF9jaGFuICpjaGFuOworCXN0cnVjdCBjb21wbGV0aW9uIGM7 Cit9OworCitzdHJ1Y3QgYmNtX21ib3hfcHJvcGVydHkgKm1ib3hfcHJvcGVydHk7CisKK3N0YXRp YyB2b2lkIHJlc3BvbnNlX2NhbGxiYWNrKHN0cnVjdCBtYm94X2NsaWVudCAqY2wsIHZvaWQgKm1z c2cpCit7CisJY29tcGxldGUoJm1ib3hfcHJvcGVydHktPmMpOworfQorCisvKgorICogUmVxdWVz dHMgdGhlIGFjdHVhbCBwcm9wZXJ0eSB0cmFuc2FjdGlvbiB0aHJvdWdoIHRoZSBCQ00yODM1Cisg KiBtYWlsYm94IGRyaXZlci4KKyAqLworc3RhdGljIGludAorYmNtX21ib3hfcHJvcGVydHlfdHJh bnNhY3Rpb24oZG1hX2FkZHJfdCBidXNfYWRkcikKK3sKKwlpbnQgcmV0OworCisJcmVpbml0X2Nv bXBsZXRpb24oJm1ib3hfcHJvcGVydHktPmMpOworCXJldCA9IG1ib3hfc2VuZF9tZXNzYWdlKG1i b3hfcHJvcGVydHktPmNoYW4sICh2b2lkICopYnVzX2FkZHIpOworCWlmIChyZXQgPj0gMCkgewor CQl3YWl0X2Zvcl9jb21wbGV0aW9uKCZtYm94X3Byb3BlcnR5LT5jKTsKKwkJcmV0ID0gMDsKKwl9 IGVsc2UgeworCQlkZXZfZXJyKG1ib3hfcHJvcGVydHktPmRldiwgIm1ib3hfc2VuZF9tZXNzYWdl IHJldHVybmVkICVkXG4iLAorCQkJcmV0KTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCisvKgor ICogU3VibWl0cyBhIHNldCBvZiBjb25jYXRlbmF0ZWQgdGFncyB0byB0aGUgVlBVIGZpcm13YXJl IHRocm91Z2ggdGhlCisgKiBtYWlsYm94IHByb3BlcnR5IGludGVyZmFjZS4KKyAqCisgKiBUaGUg YnVmZmVyIGhlYWRlciBhbmQgdGhlIGVuZGluZyB0YWcgYXJlIGFkZGVkIGJ5IHRoaXMgZnVuY3Rp b24gYW5kCisgKiBkb24ndCBuZWVkIHRvIGJlIHN1cHBsaWVkLCBqdXN0IHRoZSBhY3R1YWwgdGFn cyBmb3IgeW91ciBvcGVyYXRpb24uCisgKiBTZWUgc3RydWN0IGJjbV9tYm94X3Byb3BlcnR5X3Rh Z19oZWFkZXIgZm9yIHRoZSBwZXItdGFnIHN0cnVjdHVyZS4KKyAqLworaW50IGJjbV9tYm94X3By b3BlcnR5KHZvaWQgKmRhdGEsIHNpemVfdCB0YWdfc2l6ZSkKK3sKKwlzaXplX3Qgc2l6ZSA9IHRh Z19zaXplICsgMTI7CisJdm9pZCBfX2lvbWVtICpidWY7CisJZG1hX2FkZHJfdCBidXNfYWRkcjsK KwlpbnQgcmV0ID0gMDsKKworCS8qIFBhY2tldHMgYXJlIHByb2Nlc3NlZCBhIGR3b3JkIGF0IGEg dGltZS4gKi8KKwlpZiAoc2l6ZSAmIDMpCisJCXJldHVybiAtRUlOVkFMOworCisJYnVmID0gZG1h X2FsbG9jX2NvaGVyZW50KE5VTEwsIFBBR0VfQUxJR04oc2l6ZSksICZidXNfYWRkciwgR0ZQX0FU T01JQyk7CisJaWYgKCFidWYpCisJCXJldHVybiAtRU5PTUVNOworCisJLyogVGhlIGZpcm13YXJl IHdpbGwgZXJyb3Igb3V0IHdpdGhvdXQgcGFyc2luZyBpbiB0aGlzIGNhc2UuICovCisJV0FSTl9P TihzaXplID49IDEwMjQgKiAxMDI0KTsKKworCXdyaXRlbChzaXplLCBidWYpOworCXdyaXRlbChi Y21fbWJveF9zdGF0dXNfcmVxdWVzdCwgYnVmICsgNCk7CisJbWVtY3B5X3RvaW8oYnVmICsgOCwg ZGF0YSwgdGFnX3NpemUpOworCXdyaXRlbChiY21fbWJveF9wcm9wZXJ0eV9lbmQsIGJ1ZiArIHNp emUgLSA0KTsKKworCW11dGV4X2xvY2soJnByb3BlcnR5X2xvY2spOworCXJldCA9IGJjbV9tYm94 X3Byb3BlcnR5X3RyYW5zYWN0aW9uKGJ1c19hZGRyKTsKKwltdXRleF91bmxvY2soJnByb3BlcnR5 X2xvY2spOworCisJbWVtY3B5X2Zyb21pbyhkYXRhLCBidWYgKyA4LCB0YWdfc2l6ZSk7CisJaWYg KHJlYWRsKGJ1ZiArIDQpICE9IGJjbV9tYm94X3N0YXR1c19zdWNjZXNzKSB7CisJCS8qCisJCSAq IFRoZSB0YWcgbmFtZSBoZXJlIG1pZ2h0IG5vdCBiZSB0aGUgb25lIGNhdXNpbmcgdGhlCisJCSAq IGVycm9yLCBpZiB0aGVyZSB3ZXJlIG11bHRpcGxlIHRhZ3MgaW4gdGhlIHJlcXVlc3QuCisJCSAq IEJ1dCBzaW5nbGUtdGFnIGlzIHRoZSBtb3N0IGNvbW1vbiwgc28gZ28gd2l0aCBpdC4KKwkJICov CisJCWRldl9lcnIobWJveF9wcm9wZXJ0eS0+ZGV2LAorCQkJIlJlcXVlc3QgMHglMDh4IHJldHVy bmVkIHN0YXR1cyAweCUwOHhcbiIsCisJCQlyZWFkbChidWYgKyA4KSwgcmVhZGwoYnVmICsgNCkp OworCQlyZXQgPSAtRUlOVkFMOworCX0KKworCWRtYV9mcmVlX2NvaGVyZW50KE5VTEwsIFBBR0Vf QUxJR04oc2l6ZSksIGJ1ZiwgYnVzX2FkZHIpOworCisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9T WU1CT0xfR1BMKGJjbV9tYm94X3Byb3BlcnR5KTsKKworCitzdGF0aWMgaW50IGJjbTI4MzVfbWJv eF9wcm9wZXJ0eV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVj dCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7CisJaW50IHJldCA9IDA7CisKKwltYm94X3Byb3Bl cnR5ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCptYm94X3Byb3BlcnR5KSwKKwkJCQkgICAg ICAgR0ZQX0tFUk5FTCk7CisJaWYgKCFtYm94X3Byb3BlcnR5KSB7CisJCWRldl9lcnIoZGV2LCAi RmFpbGVkIHRvIGFsbG9jYXRlIGRldmljZSBtZW1vcnlcbiIpOworCQlyZXR1cm4gLUVOT01FTTsK Kwl9CisKKwltYm94X3Byb3BlcnR5LT5jbC5kZXYgPSBkZXY7CisJbWJveF9wcm9wZXJ0eS0+Y2wu cnhfY2FsbGJhY2sgPSByZXNwb25zZV9jYWxsYmFjazsKKwltYm94X3Byb3BlcnR5LT5jbC50eF9i bG9jayA9IHRydWU7CisKKwltYm94X3Byb3BlcnR5LT5jaGFuID0gbWJveF9yZXF1ZXN0X2NoYW5u ZWwoJm1ib3hfcHJvcGVydHktPmNsLCAwKTsKKwlpZiAoIW1ib3hfcHJvcGVydHktPmNoYW4pIHsK KwkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gZ2V0IG1ib3ggY2hhbm5lbFxuIik7CisJCXJldHVy biAtRU5PREVWOworCX0KKworCWluaXRfY29tcGxldGlvbigmbWJveF9wcm9wZXJ0eS0+Yyk7CisK KwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBtYm94X3Byb3BlcnR5KTsKKwltYm94X3Byb3Bl cnR5LT5kZXYgPSBkZXY7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGJjbTI4MzVf bWJveF9wcm9wZXJ0eV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlt Ym94X2ZyZWVfY2hhbm5lbChtYm94X3Byb3BlcnR5LT5jaGFuKTsKKworCXJldHVybiAwOworfQor CitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBiY20yODM1X21ib3hfcHJvcGVydHlf b2ZfbWF0Y2hbXSA9IHsKKwl7IC5jb21wYXRpYmxlID0gImJyY20sYmNtMjgzNS1tYm94LXByb3Bl cnR5IiwgfSwKKwl7fSwKK307CitNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBiY20yODM1X21ib3hf cHJvcGVydHlfb2ZfbWF0Y2gpOworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBiY20y ODM1X21ib3hfcHJvcGVydHlfZHJpdmVyID0geworCS5kcml2ZXIgPSB7CisJCS5uYW1lID0gImJj bTI4MzUtbWJveC1wcm9wZXJ0eSIsCisJCS5vd25lciA9IFRISVNfTU9EVUxFLAorCQkub2ZfbWF0 Y2hfdGFibGUgPSBiY20yODM1X21ib3hfcHJvcGVydHlfb2ZfbWF0Y2gsCisJfSwKKwkucHJvYmUJ CT0gYmNtMjgzNV9tYm94X3Byb3BlcnR5X3Byb2JlLAorCS5yZW1vdmUJCT0gYmNtMjgzNV9tYm94 X3Byb3BlcnR5X3JlbW92ZSwKK307Cittb2R1bGVfcGxhdGZvcm1fZHJpdmVyKGJjbTI4MzVfbWJv eF9wcm9wZXJ0eV9kcml2ZXIpOworCitNT0RVTEVfQVVUSE9SKCJFcmljIEFuaG9sdCA8ZXJpY0Bh bmhvbHQubmV0PiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJCQ00yODM1IG1haWxib3ggcHJvcGVy dHkgY2hhbm5lbCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwpkaWZmIC0tZ2l0IGEvaW5j bHVkZS9saW51eC9tYWlsYm94L2JjbTI4MzUtbWFpbGJveC1wcm9wZXJ0eS5oIGIvaW5jbHVkZS9s aW51eC9tYWlsYm94L2JjbTI4MzUtbWFpbGJveC1wcm9wZXJ0eS5oCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjc4M2MwNjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xp bnV4L21haWxib3gvYmNtMjgzNS1tYWlsYm94LXByb3BlcnR5LmgKQEAgLTAsMCArMSwxMDYgQEAK Ky8qCisgKiAgQ29weXJpZ2h0IMKpIDIwMTUgQnJvYWRjb20KKyAqCisgKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQor ICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2 ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LgorICovCisKK2VudW0gYmNtX21ib3hfcHJvcGVydHlfc3RhdHVzIHsKKwliY21fbWJveF9zdGF0 dXNfcmVxdWVzdCA9IDAsCisJYmNtX21ib3hfc3RhdHVzX3N1Y2Nlc3MgPSAweDgwMDAwMDAwLAor CWJjbV9tYm94X3N0YXR1c19lcnJvciA9ICAgMHg4MDAwMDAwMSwKK307CisKK3N0cnVjdCBiY21f bWJveF9wcm9wZXJ0eV90YWdfaGVhZGVyIHsKKwkvKiBPbmUgb2YgZW51bV9tYm94X3Byb3BlcnR5 X3RhZy4gKi8KKwl1MzIgdGFnOworCisJLyogVGhlIG51bWJlciBvZiBieXRlcyBpbiB0aGUgdmFs dWUgYnVmZmVyIGZvbGxvd2luZyB0aGlzCisJICogc3RydWN0LgorCSAqLworCXUzMiBidWZfc2l6 ZTsKKworCS8qCisJICogT24gc3VibWl0LCB0aGUgbGVuZ3RoIG9mIHRoZSByZXF1ZXN0ICh0aG91 Z2ggaXQgZG9lc24ndAorCSAqIGFwcGVhciB0byBiZSBjdXJyZW50bHkgdXNlZCBieSB0aGUgZmly bXdhcmUpLiAgT24gcmV0dXJuLAorCSAqIHRoZSBsZW5ndGggb2YgdGhlIHJlc3BvbnNlIChhbHdh eXMgNCBieXRlIGFsaWduZWQpLCB3aXRoCisJICogdGhlIGxvdyBiaXQgc2V0LgorCSAqLworCXUz MiByZXFfcmVzcF9zaXplOworfTsKKworZW51bSBiY21fbWJveF9wcm9wZXJ0eV90YWcgeworCWJj bV9tYm94X3Byb3BlcnR5X2VuZCA9IDAsCisJYmNtX21ib3hfZ2V0X2Zpcm13YXJlX3JldmlzaW9u ID0gICAgICAgICAgICAgICAgICAweDAwMDAwMDAxLAorCisJYmNtX21ib3hfc2V0X2N1cnNvcl9p bmZvID0gICAgICAgICAgICAgICAgICAgICAgICAweDAwMDA4MDEwLAorCWJjbV9tYm94X3NldF9j dXJzb3Jfc3RhdGUgPSAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwODAxMSwKKworCWJjbV9t Ym94X2dldF9ib2FyZF9tb2RlbCA9ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMSwK KwliY21fbWJveF9nZXRfYm9hcmRfcmV2aXNpb24gPSAgICAgICAgICAgICAgICAgICAgIDB4MDAw MTAwMDIsCisJYmNtX21ib3hfZ2V0X2JvYXJkX21hY19hZGRyZXNzID0gICAgICAgICAgICAgICAg ICAweDAwMDEwMDAzLAorCWJjbV9tYm94X2dldF9ib2FyZF9zZXJpYWwgPSAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDAxMDAwNCwKKwliY21fbWJveF9nZXRfYXJtX21lbW9yeSA9ICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwMTAwMDUsCisJYmNtX21ib3hfZ2V0X3ZjX21lbW9yeSA9ICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEwMDA2LAorCWJjbV9tYm94X2dldF9jbG9ja3Mg PSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwNywKKwliY21fbWJveF9nZXRf cG93ZXJfc3RhdGUgPSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMjAwMDEsCisJYmNtX21i b3hfZ2V0X3RpbWluZyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIwMDAyLAor CWJjbV9tYm94X3NldF9wb3dlcl9zdGF0ZSA9ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAy ODAwMSwKKwliY21fbWJveF9nZXRfY2xvY2tfc3RhdGUgPSAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAwMzAwMDEsCisJYmNtX21ib3hfZ2V0X2Nsb2NrX3JhdGUgPSAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwMDMwMDAyLAorCWJjbV9tYm94X2dldF92b2x0YWdlID0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDAzMDAwMywKKwliY21fbWJveF9nZXRfbWF4X2Nsb2NrX3JhdGUg PSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMzAwMDQsCisJYmNtX21ib3hfZ2V0X21heF92b2x0 YWdlID0gICAgICAgICAgICAgICAgICAgICAgICAweDAwMDMwMDA1LAorCWJjbV9tYm94X2dldF90 ZW1wZXJhdHVyZSA9ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAzMDAwNiwKKwliY21fbWJv eF9nZXRfbWluX2Nsb2NrX3JhdGUgPSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMzAwMDcsCisJ YmNtX21ib3hfZ2V0X21pbl92b2x0YWdlID0gICAgICAgICAgICAgICAgICAgICAgICAweDAwMDMw MDA4LAorCWJjbV9tYm94X2dldF90dXJibyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDAzMDAwOSwKKwliY21fbWJveF9nZXRfbWF4X3RlbXBlcmF0dXJlID0gICAgICAgICAgICAg ICAgICAgIDB4MDAwMzAwMGEsCisJYmNtX21ib3hfYWxsb2NhdGVfbWVtb3J5ID0gICAgICAgICAg ICAgICAgICAgICAgICAweDAwMDMwMDBjLAorCWJjbV9tYm94X2xvY2tfbWVtb3J5ID0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDAzMDAwZCwKKwliY21fbWJveF91bmxvY2tfbWVtb3J5 ID0gICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMzAwMGUsCisJYmNtX21ib3hfcmVsZWFz ZV9tZW1vcnkgPSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDMwMDBmLAorCWJjbV9tYm94 X2V4ZWN1dGVfY29kZSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAzMDAxMCwKKwli Y21fbWJveF9nZXRfZGlzcG1hbnhfcmVzb3VyY2VfbWVtX2hhbmRsZSA9ICAgICAgIDB4MDAwMzAw MTQsCisJYmNtX21ib3hfZ2V0X2VkaWRfYmxvY2sgPSAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwMDMwMDIwLAorCWJjbV9tYm94X3NldF9jbG9ja19zdGF0ZSA9ICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDAzODAwMSwKKwliY21fbWJveF9zZXRfY2xvY2tfcmF0ZSA9ICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAwMzgwMDIsCisJYmNtX21ib3hfc2V0X3ZvbHRhZ2UgPSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwMDM4MDAzLAorCWJjbV9tYm94X3NldF90dXJibyA9ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAzODAwOSwKKworCS8qIERpc3BtYW54IHRh Z3MgKi8KKwliY21fbWJveF9mcmFtZWJ1ZmZlcl9hbGxvY2F0ZSA9ICAgICAgICAgICAgICAgICAg IDB4MDAwNDAwMDEsCisJYmNtX21ib3hfZnJhbWVidWZmZXJfYmxhbmsgPSAgICAgICAgICAgICAg ICAgICAgICAweDAwMDQwMDAyLAorCWJjbV9tYm94X2ZyYW1lYnVmZmVyX2dldF9waHlzaWNhbF93 aWR0aF9oZWlnaHQgPSAgMHgwMDA0MDAwMywKKwliY21fbWJveF9mcmFtZWJ1ZmZlcl9nZXRfdmly dHVhbF93aWR0aF9oZWlnaHQgPSAgIDB4MDAwNDAwMDQsCisJYmNtX21ib3hfZnJhbWVidWZmZXJf Z2V0X2RlcHRoID0gICAgICAgICAgICAgICAgICAweDAwMDQwMDA1LAorCWJjbV9tYm94X2ZyYW1l YnVmZmVyX2dldF9waXhlbF9vcmRlciA9ICAgICAgICAgICAgMHgwMDA0MDAwNiwKKwliY21fbWJv eF9mcmFtZWJ1ZmZlcl9nZXRfYWxwaGFfbW9kZSA9ICAgICAgICAgICAgIDB4MDAwNDAwMDcsCisJ YmNtX21ib3hfZnJhbWVidWZmZXJfZ2V0X3BpdGNoID0gICAgICAgICAgICAgICAgICAweDAwMDQw MDA4LAorCWJjbV9tYm94X2ZyYW1lYnVmZmVyX2dldF92aXJ0dWFsX29mZnNldCA9ICAgICAgICAg MHgwMDA0MDAwOSwKKwliY21fbWJveF9mcmFtZWJ1ZmZlcl9nZXRfb3ZlcnNjYW4gPSAgICAgICAg ICAgICAgIDB4MDAwNDAwMGEsCisJYmNtX21ib3hfZnJhbWVidWZmZXJfZ2V0X3BhbGV0dGUgPSAg ICAgICAgICAgICAgICAweDAwMDQwMDBiLAorCWJjbV9tYm94X2ZyYW1lYnVmZmVyX3JlbGVhc2Ug PSAgICAgICAgICAgICAgICAgICAgMHgwMDA0ODAwMSwKKwliY21fbWJveF9mcmFtZWJ1ZmZlcl90 ZXN0X3BoeXNpY2FsX3dpZHRoX2hlaWdodCA9IDB4MDAwNDQwMDMsCisJYmNtX21ib3hfZnJhbWVi dWZmZXJfdGVzdF92aXJ0dWFsX3dpZHRoX2hlaWdodCA9ICAweDAwMDQ0MDA0LAorCWJjbV9tYm94 X2ZyYW1lYnVmZmVyX3Rlc3RfZGVwdGggPSAgICAgICAgICAgICAgICAgMHgwMDA0NDAwNSwKKwli Y21fbWJveF9mcmFtZWJ1ZmZlcl90ZXN0X3BpeGVsX29yZGVyID0gICAgICAgICAgIDB4MDAwNDQw MDYsCisJYmNtX21ib3hfZnJhbWVidWZmZXJfdGVzdF9hbHBoYV9tb2RlID0gICAgICAgICAgICAw eDAwMDQ0MDA3LAorCWJjbV9tYm94X2ZyYW1lYnVmZmVyX3Rlc3RfdmlydHVhbF9vZmZzZXQgPSAg ICAgICAgMHgwMDA0NDAwOSwKKwliY21fbWJveF9mcmFtZWJ1ZmZlcl90ZXN0X292ZXJzY2FuID0g ICAgICAgICAgICAgIDB4MDAwNDQwMGEsCisJYmNtX21ib3hfZnJhbWVidWZmZXJfdGVzdF9wYWxl dHRlID0gICAgICAgICAgICAgICAweDAwMDQ0MDBiLAorCWJjbV9tYm94X2ZyYW1lYnVmZmVyX3Nl dF9waHlzaWNhbF93aWR0aF9oZWlnaHQgPSAgMHgwMDA0ODAwMywKKwliY21fbWJveF9mcmFtZWJ1 ZmZlcl9zZXRfdmlydHVhbF93aWR0aF9oZWlnaHQgPSAgIDB4MDAwNDgwMDQsCisJYmNtX21ib3hf ZnJhbWVidWZmZXJfc2V0X2RlcHRoID0gICAgICAgICAgICAgICAgICAweDAwMDQ4MDA1LAorCWJj bV9tYm94X2ZyYW1lYnVmZmVyX3NldF9waXhlbF9vcmRlciA9ICAgICAgICAgICAgMHgwMDA0ODAw NiwKKwliY21fbWJveF9mcmFtZWJ1ZmZlcl9zZXRfYWxwaGFfbW9kZSA9ICAgICAgICAgICAgIDB4 MDAwNDgwMDcsCisJYmNtX21ib3hfZnJhbWVidWZmZXJfc2V0X3ZpcnR1YWxfb2Zmc2V0ID0gICAg ICAgICAweDAwMDQ4MDA5LAorCWJjbV9tYm94X2ZyYW1lYnVmZmVyX3NldF9vdmVyc2NhbiA9ICAg ICAgICAgICAgICAgMHgwMDA0ODAwYSwKKwliY21fbWJveF9mcmFtZWJ1ZmZlcl9zZXRfcGFsZXR0 ZSA9ICAgICAgICAgICAgICAgIDB4MDAwNDgwMGIsCisKKwliY21fbWJveF9nZXRfY29tbWFuZF9s aW5lID0gICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNTAwMDEsCisJYmNtX21ib3hfZ2V0X2Rt YV9jaGFubmVscyA9ICAgICAgICAgICAgICAgICAgICAgICAweDAwMDYwMDAxLAorfTsKKworaW50 IGJjbV9tYm94X3Byb3BlcnR5KHZvaWQgKmRhdGEsIHNpemVfdCB0YWdfc2l6ZSk7Ci0tIAoyLjEu NAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4 LXJwaS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LXJwaS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJw aS1rZXJuZWwK