Date: Thu, 16 Nov 2023 19:03:35 +0000 From: "titus_edc.ro (Titus Manea)" <phabric-noreply@FreeBSD.org> To: freebsd-arm@freebsd.org Subject: [Differential] D42638: Rockchip RNG Message-ID: <d0957a9db152ebc6cc15e86a0f83e5c2@localhost.localdomain> In-Reply-To: <differential-rev-PHID-DREV-d2ijur6r7trb5hmp22or-req@reviews.freebsd.org> References: <differential-rev-PHID-DREV-d2ijur6r7trb5hmp22or-req@reviews.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--b1_d0957a9db152ebc6cc15e86a0f83e5c2 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 dGl0dXNfZWRjLnJvIGNyZWF0ZWQgdGhpcyByZXZpc2lvbi4KdGl0dXNfZWRjLnJvIGFkZGVkIGEg cmV2aWV3ZXI6IGZyZWVic2QtYXJtLWxpc3QuCkhlcmFsZCBhZGRlZCBzdWJzY3JpYmVyczogZW1h c3RlLCBpbXAuCkhlcmFsZCBhZGRlZCBhIHJldmlld2VyOiBhbmRyZXcuCkhlcmFsZCBhZGRlZCBh IHJldmlld2VyOiBhbmRyZXcuCkhlcmFsZCBhZGRlZCBhIHJldmlld2VyOiBhbmRyZXcuCnRpdHVz X2VkYy5ybyByZXF1ZXN0ZWQgcmV2aWV3IG9mIHRoaXMgcmV2aXNpb24uCgpSRVZJU0lPTiBTVU1N QVJZCiAgcm9ja2NoaXAgcm5nIHN1cHBvcnQsIHNpbWlsYXIgd2l0aCBiY20yODM1X3JuZwogIHJh bmRvbSBkYXRhIGdlbmVyYXRlZCBpcyBwYXNzZWQgdG8KICByYW5kb21faGFydmVzdF9xdWV1ZQog IAogIHYxIGFuZCB2MiBzdXBwb3J0ZWQgb25seSB2MiB0ZXN0ZWQKICByYW5kb21uZXNzIG9mIGRh dGEgZ2VuZXJhdGVkIG9ubHkgdGVzdGVkIHdpdGggdGhlICdleWUgdGVzdCcKClJFUE9TSVRPUlkK ICByRyBGcmVlQlNEIHNyYyByZXBvc2l0b3J5CgpSRVZJU0lPTiBERVRBSUwKICBodHRwczovL3Jl dmlld3MuZnJlZWJzZC5vcmcvRDQyNjM4CgpBRkZFQ1RFRCBGSUxFUwogIGFybTY0L3JvY2tjaGlw L3JrX3JuZy5jCgpFTUFJTCBQUkVGRVJFTkNFUwogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9y Zy9zZXR0aW5ncy9wYW5lbC9lbWFpbHByZWZlcmVuY2VzLwoKVG86IHRpdHVzX2VkYy5ybywgZnJl ZWJzZC1hcm0tbGlzdCwgYW5kcmV3CkNjOiBpbXAsIGVtYXN0ZSwgcHN0ZWYK --b1_d0957a9db152ebc6cc15e86a0f83e5c2 Content-Type: text/x-patch; charset=utf-8; name="D42638.130216.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D42638.130216.patch" ZGlmZiAtLWdpdCBhL2FybTY0L3JvY2tjaGlwL3JrX3JuZy5jIGIvYXJtNjQvcm9ja2NoaXAvcmtf cm5nLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tIC9kZXYvbnVsbAorKysgYi9hcm02NC9yb2Nr Y2hpcC9ya19ybmcuYwpAQCAtMCwwICsxLDM3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAy MyB0aXR1c20gdGl0dXNAZWRjLnJvCisgKgorICogYmFzZWQgb24gJE9wZW5CU0Q6IHJrcm5nLmMs diAxLjUgMjAyMy8wNC8xNCAwMToxMTozMiBkbGcgRXhwICQKKyAqIENvcHlyaWdodCAoYykgMjAy MCBNYXJrIEtldHRlbmlzIDxrZXR0ZW5pc0BvcGVuYnNkLm9yZz4KKyAqCisgKiBSZWRpc3RyaWJ1 dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBg YEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBB UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVU T1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElO RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisg KiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT IElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRP UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ CisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg VEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisKKyNpbmNsdWRlIDxz eXMvcGFyYW0uaD4KKyNpbmNsdWRlIDxzeXMva2VybmVsLmg+CisjaW5jbHVkZSA8c3lzL2t0ci5o PgorI2luY2x1ZGUgPHN5cy9sb2NrLmg+CisjaW5jbHVkZSA8c3lzL21hbGxvYy5oPgorI2luY2x1 ZGUgPHN5cy9tb2R1bGUuaD4KKyNpbmNsdWRlIDxzeXMvcmFuZG9tLmg+CisjaW5jbHVkZSA8c3lz L3NlbGluZm8uaD4KKyNpbmNsdWRlIDxzeXMvc3lzdG0uaD4KKyNpbmNsdWRlIDxzeXMvYnVzLmg+ CisjaW5jbHVkZSA8ZGV2L2V4dHJlcy9jbGsvY2xrLmg+CisjaW5jbHVkZSA8ZGV2L2V4dHJlcy9o d3Jlc2V0L2h3cmVzZXQuaD4KKyNpbmNsdWRlIDxzeXMvcm1hbi5oPgorCisjaW5jbHVkZSA8bWFj aGluZS9idXMuaD4KKyNpbmNsdWRlIDxtYWNoaW5lL3Jlc291cmNlLmg+CisKKyNpbmNsdWRlIDxk ZXYvb2Z3L29wZW5maXJtLmg+CisjaW5jbHVkZSA8ZGV2L29mdy9vZndfYnVzLmg+CisjaW5jbHVk ZSA8ZGV2L29mdy9vZndfYnVzX3N1YnIuaD4KKworI2luY2x1ZGUgPGRldi9yYW5kb20vcmFuZG9t ZGV2Lmg+CisjaW5jbHVkZSA8ZGV2L3JhbmRvbS9yYW5kb21faGFydmVzdHEuaD4KKworc3RhdGlj IGRldmljZV9hdHRhY2hfdCBya19ybmdfYXR0YWNoOworc3RhdGljIGRldmljZV9kZXRhY2hfdCBy a19ybmdfZGV0YWNoOworc3RhdGljIGRldmljZV9wcm9iZV90IHJrX3JuZ19wcm9iZTsKKworLyog VjEgKi8KKyNkZWZpbmUgUk5HX1YxX0NUUkwJCQkJMHgwMDA4CisjZGVmaW5lICBSTkdfVjFfQ1RS TF9TVEFSVAkJCSgxIDw8IDgpCisjZGVmaW5lIFJOR19WMV9DVFJMMgkJCQkweDAyMDAKKyNkZWZp bmUgIFJOR19WMV9DVFJMMl9PU0NfRU5BQkxFCQkoMSA8PCAxNikKKyNkZWZpbmUgUk5HX1YxX0RB VEEwCQkJCTB4MDIwNAorCisvKiBUcnVlIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yIChUUk5HKSAq LworI2RlZmluZSBSTkdfVjJfUlNUX0NUTAkJCQkweDAwMDQKKyNkZWZpbmUgIFJOR19WMl9SU1Rf Q1RMX1NXX1JOR19SRVNFVAkJKDB4MVUgPDwgMSkKKyNkZWZpbmUgUk5HX1YyX0NUTAkJCQkweDA0 MDAKKyNkZWZpbmUgIFJOR19WMl9DVExfUk5HX1NUQVJUCQkJKDB4MVUgPDwgMCkKKyNkZWZpbmUg IFJOR19WMl9DVExfUk5HX0VOQUJMRQkJCSgweDFVIDw8IDEpCisjZGVmaW5lICBSTkdfVjJfQ1RM X1JJTkdfU0VMX01BU0sJCSgweDNVIDw8IDIpCisjZGVmaW5lICBSTkdfVjJfQ1RMX1JJTkdfU0VM X1NMT1dFU1QJCSgweDBVIDw8IDIpCisjZGVmaW5lICBSTkdfVjJfQ1RMX1JJTkdfU0VMX1NMT1cJ CSgweDFVIDw8IDIpCisjZGVmaW5lICBSTkdfVjJfQ1RMX1JJTkdfU0VMX0ZBU1QJCSgweDJVIDw8 IDIpCisjZGVmaW5lICBSTkdfVjJfQ1RMX1JJTkdfU0VMX0ZBU1RFU1QJCSgweDNVIDw8IDIpCisj ZGVmaW5lICBSTkdfVjJfQ1RMX1JOR19MRU5fTUFTSwkJKDB4M1UgPDwgNCkKKyNkZWZpbmUgIFJO R19WMl9DVExfUk5HX0xFTl82NAkJCSgweDBVIDw8IDQpCisjZGVmaW5lICBSTkdfVjJfQ1RMX1JO R19MRU5fMTI4CQkJKDB4MVUgPDwgNCkKKyNkZWZpbmUgIFJOR19WMl9DVExfUk5HX0xFTl8xOTIJ CQkoMHgyVSA8PCA0KQorI2RlZmluZSAgUk5HX1YyX0NUTF9STkdfTEVOXzI1NgkJCSgweDNVIDw8 IDQpCisjZGVmaW5lIFJOR19WMl9TQU1QTEVfQ05UCQkJMHgwNDA0CisjZGVmaW5lIFJOR19WMl9E QVRBMAkJCQkweDA0MTAKKworI2RlZmluZQlSTkdfRFdPUkRTCQk4CisjZGVmaW5lCVJOR19DQUxM T1VUX1RJQ0tTCShoeiAqIDQpCisjZGVmaW5lIFJOR19USU1FT1VUX1RJQ0tTCTEwMAorCisjZGVm aW5lCVdSNChfc2MsIF9yLCBfdikJYnVzX3dyaXRlXzQoKF9zYyktPnNjX3Jlc1swXSwgKF9yKSwg KF92KSkKKyNkZWZpbmUJUkQ0KF9zYywgX3IpCQlidXNfcmVhZF80KChfc2MpLT5zY19yZXNbMF0s IChfcikpCisKKyNpZiAwCisgI2RlZmluZSBkcHJpbnRmKGRldiwgZm9ybWF0LCBhcmcuLi4pICAg ICBkZXZpY2VfcHJpbnRmKGRldiwgIiVzOiAiIGZvcm1hdCwgX19mdW5jX18sIGFyZykKKyNlbHNl CisgI2RlZmluZSBkcHJpbnRmKGRldiwgZm9ybWF0LCBhcmcuLi4pCisjZW5kaWYKKworc3RhdGlj IHN0cnVjdCByZXNvdXJjZV9zcGVjIHJrX3JuZ19zcGVjW10gPSB7CisgICAgICAgIHsgU1lTX1JF U19NRU1PUlksICAgICAgIDAsICAgICAgUkZfQUNUSVZFIH0sCisgICAgICAgIHsgLTEsIDAgfQor fTsKKworCitzdHJ1Y3Qgcmtfcm5nX3NvZnRjIHsKKwlkZXZpY2VfdAkJc2NfZGV2OworCXN0cnVj dCByZXNvdXJjZSAJKnNjX3Jlc1sxXTsKKwlzdHJ1Y3Qgcmtfcm5nX2NvbmYgCSogc2NfY29uZjsK KwlzdHJ1Y3QgY2FsbG91dAkJc2Nfcm5ndG87CisJdWludDhfdCAJCXNjX3BzdGF0OworCXVpbnQ4 X3QgCQlzY193ZG9nOworfTsKKworc3RydWN0IHJrX3JuZ19jb25mIHsKKwl1bnNpZ25lZCBpbnQJ dmVyOworCWNvbnN0IGNoYXIJKm5hbWU7CisJdWludDMyX3QJKCpvbikoc3RydWN0IHJrX3JuZ19z b2Z0YyAqc2MpOworCXZvaWQgCQkoKm9mZikoc3RydWN0IHJrX3JuZ19zb2Z0YyAqc2MpOworCWJ1 c19zaXplX3QJZGF0YV9vdXQ7Cit9OworCitlbnVtIFJLX1JOR19QU1RBVCB7CisJUktfUk5HX1NU T1BQRUQgPSAwLAorCVJLX1JOR19TVEFSVElORywKKwlSS19STkdfU1RBUlRFRAorCX07CisKK3N0 YXRpYyB1aW50MzJfdAkJcmtfcm5nX3YxX29uKHN0cnVjdCBya19ybmdfc29mdGMgKik7CitzdGF0 aWMgdm9pZAkJcmtfcm5nX3YxX29mZihzdHJ1Y3Qgcmtfcm5nX3NvZnRjICopOworCitzdGF0aWMg Y29uc3Qgc3RydWN0IHJrX3JuZ19jb25mIHJrdjFfY29uZiA9IHsKKwkudmVyCQk9IDEsCisJLm5h bWUJCT0gIlJvY2tjaGlwIFJORyB2MSIsCisJLm9uCQk9IHJrX3JuZ192MV9vbiwKKwkub2ZmCQk9 IHJrX3JuZ192MV9vZmYsCisJLmRhdGFfb3V0CT0gUk5HX1YxX0RBVEEwLAorfTsKKworc3RhdGlj IHVpbnQzMl90CQlya19ybmdfdjJfb24oc3RydWN0IHJrX3JuZ19zb2Z0YyAqKTsKK3N0YXRpYyB2 b2lkCQlya19ybmdfdjJfb2ZmKHN0cnVjdCBya19ybmdfc29mdGMgKik7CisKK3N0YXRpYyBjb25z dCBzdHJ1Y3Qgcmtfcm5nX2NvbmYgcmt2Ml9jb25mID0geworCS52ZXIJCT0gMiwKKwkubmFtZQkJ PSAiUm9ja2NoaXAgUk5HIHYyIiwKKwkub24JCT0gcmtfcm5nX3YyX29uLAorCS5vZmYJCT0gcmtf cm5nX3YyX29mZiwKKwkuZGF0YV9vdXQJPSBSTkdfVjJfREFUQTAsCit9OworCitzdGF0aWMgc3Ry dWN0IG9md19jb21wYXRfZGF0YSBjb21wYXRfZGF0YVtdID0geworCXsicm9ja2NoaXAsY3J5cHRv djEtcm5nIiwJCSh1aW50cHRyX3QpJnJrdjFfY29uZn0sCisJeyJyb2NrY2hpcCxjcnlwdG92Mi1y bmciLAkJKHVpbnRwdHJfdCkmcmt2Ml9jb25mfSwKKwl7TlVMTCwJCQkJMH0KK307CisKK3N0YXRp YyB1aW50MzJfdAorcmtfcm5nX3YxX29uKHN0cnVjdCBya19ybmdfc29mdGMgKnNjKQoreworCWlm KHNjLT5zY19wc3RhdCA9PSBSS19STkdfU1RPUFBFRCkgeworCQlXUjQoc2MsIFJOR19WMV9DVFJM MiwgUk5HX1YxX0NUUkwyX09TQ19FTkFCTEUgfDEwMCk7CisJCVdSNChzYywgUk5HX1YxX0NUUkws IChSTkdfVjFfQ1RSTF9TVEFSVCA8PCAxNikgfCBSTkdfVjFfQ1RSTF9TVEFSVCk7CisJCXNjLT5z Y19wc3RhdCA9IFJLX1JOR19TVEFSVElORzsKKwkJfSBlbHNlIHsKKwkJc2MtPnNjX3BzdGF0ID0g KFJENChzYywgUk5HX1YxX0NUUkwpICYgUk5HX1YxX0NUUkxfU1RBUlQpID8KKwkJCVJLX1JOR19T VEFSVElORyA6IFJLX1JOR19TVEFSVEVEOworCX0KKwlyZXR1cm4gKHNjLT5zY19wc3RhdCk7Cit9 CisKKworCitzdGF0aWMgdm9pZAorcmtfcm5nX3YxX29mZihzdHJ1Y3Qgcmtfcm5nX3NvZnRjICpz YykKK3sKKwlXUjQoc2MsIFJOR19WMV9DVFJMLCAoUk5HX1YxX0NUUkxfU1RBUlQgPDwgMTYpIHwg MCk7CisJc2MtPnNjX3BzdGF0ID0gUktfUk5HX1NUT1BQRUQ7Cit9CisKK3N0YXRpYyB1aW50MzJf dAorcmtfcm5nX3YyX29uKHN0cnVjdCBya19ybmdfc29mdGMgKnNjKQoreworCSB1aW50MzJfdCBt YXNrLCB2YWw7CisKKwkgaWYoc2MtPnNjX3BzdGF0ID09IFJLX1JOR19TVE9QUEVEKSB7CisJCW1h c2sgPSBSTkdfVjJfQ1RMX1JOR19TVEFSVCB8IFJOR19WMl9DVExfUk5HX0VOQUJMRSB8CisJCSAg ICBSTkdfVjJfQ1RMX1JJTkdfU0VMX01BU0sgfCBSTkdfVjJfQ1RMX1JOR19MRU5fTUFTSzsKKwkJ dmFsID0gUk5HX1YyX0NUTF9STkdfU1RBUlQgfCBSTkdfVjJfQ1RMX1JOR19FTkFCTEUgfAorCQkg ICAgUk5HX1YyX0NUTF9SSU5HX1NFTF9TTE9XIHwgUk5HX1YyX0NUTF9STkdfTEVOXzI1NjsKKwkJ ICAgIFdSNChzYywgUk5HX1YyX1NBTVBMRV9DTlQsIDEwMCk7CisJCSAgICBXUjQoc2MsIFJOR19W Ml9DVEwsIChtYXNrIDw8IDE2KSB8IHZhbCk7CisJCSAgICBzYy0+c2NfcHN0YXQgPSBSS19STkdf U1RBUlRJTkc7CisJIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgc2MtPnNjX3BzdGF0ID0gKFJE NChzYywgUk5HX1YyX0NUTCkgJiBSTkdfVjJfQ1RMX1JOR19TVEFSVCkgPworICAgICAgICAgICAg ICAgICAgICAgICAgUktfUk5HX1NUQVJUSU5HIDogUktfUk5HX1NUQVJURUQ7CisKKwkgfQorCSBy ZXR1cm4gKHNjLT5zY19wc3RhdCk7Cit9CisKKworc3RhdGljIHZvaWQKK3JrX3JuZ192Ml9vZmYo c3RydWN0IHJrX3JuZ19zb2Z0YyAqc2MpCit7CisJdWludDMyX3QgdmFsID0gUk5HX1YyX0NUTF9S TkdfU1RBUlQgfCBSTkdfVjJfQ1RMX1JOR19FTkFCTEU7CisKKwlXUjQoc2MsIFJOR19WMl9DVEws ICh2YWwgPDwgMTYpIHwgMCk7CisJc2MtPnNjX3BzdGF0ID0gUktfUk5HX1NUT1BQRUQ7Cit9CisK KworCitzdGF0aWMgdm9pZAorcmtfcm5nX2hhcnZlc3Qodm9pZCAqYXJnKQoreworCXN0cnVjdCBy a19ybmdfc29mdGMgKnNjID0gYXJnOworCXVpbnQzMl90IHJlZywgYnVmW1JOR19EV09SRFNdOwor CisJaWYoc2MtPnNjX3dkb2cgPiBSTkdfVElNRU9VVF9USUNLUykgeworCQlzYy0+c2Nfd2RvZyA9 IDA7CisJCWRwcmludGYoc2MtPnNjX2RldiwgIndhdGNoZG9nIHRpbWVvdXQgYWZ0ZXIgJWQgdHJp ZXNcbiIsIFJOR19USU1FT1VUX1RJQ0tTKTsKKwkJZ290byBvdXQ7CisJfQorCisJaWYoc2MtPnNj X2NvbmYtPm9uKHNjKSAhPSBSS19STkdfU1RBUlRFRCkgeworCQlzYy0+c2Nfd2RvZysrOworCQlj YWxsb3V0X3Jlc2V0X3NidCgmc2MtPnNjX3JuZ3RvLCBTQlRfMVVTICogMTAwLCAwLCBya19ybmdf aGFydmVzdCwgc2MsIDApOworCQlyZXR1cm47CisJfQorCisJZm9yKHJlZyA9IDA7IHJlZyA8IFJO R19EV09SRFM7cmVnKyspIHsKKwkJYnVmW3JlZ10gPSBSRDQoc2MsIChzYy0+c2NfY29uZi0+ZGF0 YV9vdXQgKyAocmVnIDw8IDIpKSk7CisJCWRwcmludGYoc2MtPnNjX2RldiwgInJlZ1slZF0gPT4g JTA4eFxuIiwgcmVnLCBidWZbcmVnXSk7CisJfQorCXJhbmRvbV9oYXJ2ZXN0X3F1ZXVlKGJ1Ziwg c2l6ZW9mKGJ1ZiksIFJBTkRPTV9QVVJFX0JST0FEQ09NKTsKKworb3V0OgorCXNjLT5zY193ZG9n ID0gMDsKKwlzYy0+c2NfY29uZi0+b2ZmKHNjKTsKKwljYWxsb3V0X3Jlc2V0KCZzYy0+c2Nfcm5n dG8sIFJOR19DQUxMT1VUX1RJQ0tTLCBya19ybmdfaGFydmVzdCwgc2MpOworfQorCisKK3N0YXRp YyBpbnQKK3JrX3JuZ19wcm9iZShkZXZpY2VfdCBkZXYpCit7CisJc3RydWN0IHJrX3JuZ19jb25m ICpjb21wYXQ7CisJaWYgKCFvZndfYnVzX3N0YXR1c19va2F5KGRldikpCisJCXJldHVybiAoRU5Y SU8pOworCisJY29tcGF0ID0gKHN0cnVjdCBya19ybmdfY29uZiAqKSBvZndfYnVzX3NlYXJjaF9j b21wYXRpYmxlKGRldiwgY29tcGF0X2RhdGEpLT5vY2RfZGF0YTsKKwlpZiAoIWNvbXBhdCkKKwkJ cmV0dXJuIChFTlhJTyk7CisKKwlkZXZpY2Vfc2V0X2Rlc2MoZGV2LCBjb21wYXQtPm5hbWUpOwor CisJcmV0dXJuIChCVVNfUFJPQkVfREVGQVVMVCk7Cit9CisKK3N0YXRpYyBpbnQKK3JrX3JuZ19h dHRhY2goZGV2aWNlX3QgZGV2KQoreworCXN0cnVjdCBya19ybmdfc29mdGMgKnNjOworCWludCBl cnJvciA9IDAsIGksIG5jZWxsczsKKwljbGtfdCBjbGs7CisJaHdyZXNldF90IGh3cmVzZXQgPSBO VUxMOworCXBoYW5kbGVfdCBub2RlOworCisJc2MgPSBkZXZpY2VfZ2V0X3NvZnRjKGRldik7CisJ c2MtPnNjX2RldiA9IGRldjsKKworCXNjLT5zY19jb25mID0gKHN0cnVjdCBya19ybmdfY29uZiAq KW9md19idXNfc2VhcmNoX2NvbXBhdGlibGUoZGV2LCBjb21wYXRfZGF0YSktPm9jZF9kYXRhOwor CWlmKCFzYy0+c2NfY29uZikgeworCQllcnJvciA9IEVOWElPOworCQlnb3RvIGZhaWw7CisJfQor CisgICAgICAgIGlmIChidXNfYWxsb2NfcmVzb3VyY2VzKGRldiwgcmtfcm5nX3NwZWMsIHNjLT5z Y19yZXMpICE9IDApIHsKKyAgICAgICAgICAgICAgICBkZXZpY2VfcHJpbnRmKGRldiwgImNhbm5v dCBhbGxvY2F0ZSByZXNvdXJjZXMgZm9yIGRldmljZVxuIik7CisgICAgICAgICAgICAgICAgZXJy b3IgPSBFTlhJTzsKKyAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIH0KKworICAg ICAgICBub2RlID0gb2Z3X2J1c19nZXRfbm9kZShkZXYpOworCisJaWYgKE9GX2hhc3Byb3Aobm9k ZSwgImFzc2lnbmVkLWNsb2NrcyIpKSB7CisJCWVycm9yID0gY2xrX3NldF9hc3NpZ25lZChkZXYs IG5vZGUpOworCQlpZihlcnJvcikgeworCQkJZGV2aWNlX3ByaW50ZihkZXYsICJDb3VsZCBub3Qg c2V0IGFzc2lnbmVkIGNsb2Nrc1xuIik7CisJCQlnb3RvIGZhaWw7CisJCX0KKwl9CisKKyAgICAg ICAgZXJyb3IgPSBvZndfYnVzX3BhcnNlX3hyZWZfbGlzdF9nZXRfbGVuZ3RoKG5vZGUsICJjbG9j a3MiLAorICAgICAgICAgICAgIiNjbG9jay1jZWxscyIsICZuY2VsbHMpOworICAgICAgICBpZiAo ZXJyb3IgIT0gMCB8fCBuY2VsbHMgPCAyKSB7CisgICAgICAgICAgICAgICAgZGV2aWNlX3ByaW50 ZihkZXYsICJjb3VsZG4ndCBmaW5kIGVub3VnaCBjbG9ja3NcbiIpOworICAgICAgICAgICAgICAg IGVycm9yID0gRU5YSU87CisgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICB9CisK Kwlmb3IoaSA9IDA7aSA8IG5jZWxscztpKyspIHsKKwkJZXJyb3IgPSBjbGtfZ2V0X2J5X29md19p bmRleChkZXYsIG5vZGUsIGksICZjbGspOworCQlpZihlcnJvcikgeworCQkJZGV2aWNlX3ByaW50 ZihkZXYsICJDb3VsZCBub3QgZ2V0IGNsb2NrICMlZFxuIiwgaSk7CisJCQllcnJvciA9IEVOWElP OworCQkJZ290byBmYWlsOworCQkgfQorCisJCWVycm9yID0gY2xrX2VuYWJsZShjbGspOworCQlp ZihlcnJvcikgeworCQkJZGV2aWNlX3ByaW50ZihkZXYsICJDb3VsZCBub3QgZW5hYmxlIGNsb2Nr ICMlc1xuIiwgY2xrX2dldF9uYW1lKGNsaykpOworCQkJZXJyb3IgPSBFTlhJTzsKKwkJCWdvdG8g ZmFpbDsKKwkJIH0KKwl9CisKKwllcnJvciA9IGh3cmVzZXRfZ2V0X2J5X29md19uYW1lKGRldiwg bm9kZSwgInJlc2V0IiwgJmh3cmVzZXQpOworICAgICAgICBpZiAoZXJyb3IgIT0gMCAmJiBlcnJv ciAhPSBFTk9FTlQpIHsKKyAgICAgICAgICAgICAgICBkZXZpY2VfcHJpbnRmKGRldiwgIkNhbm5v dCBnZXQgJ3Jlc2V0JyByZXNldFxuIik7CisgICAgICAgICAgICAgICAgZXJyb3IgPSBFTlhJTzsK KyAgICAgICAgICAgICAgIC8qIGdvdG8gZmFpbDsqLworICAgICAgICB9CisKKyAgICAgICAgaWYg KGh3cmVzZXQgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGVycm9yID0gaHdyZXNldF9kZWFz c2VydChod3Jlc2V0KTsKKyAgICAgICAgICAgICAgICBpZiAoZXJyb3IgIT0gMCkgeworICAgICAg ICAgICAgICAgICAgICAgICAgZGV2aWNlX3ByaW50ZihkZXYsICJDYW5ub3QgZGVhc3NlcnQgcmVz ZXRcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgfQorCisJLyogSW5pdGlhbGl6ZSBjYWxsb3V0ICovCisJY2FsbG91dF9p bml0KCZzYy0+c2Nfcm5ndG8sIENBTExPVVRfTVBTQUZFKTsKKwljYWxsb3V0X3Jlc2V0KCZzYy0+ c2Nfcm5ndG8sIGh6LCBya19ybmdfaGFydmVzdCwgc2MpOworCisJcmV0dXJuICgwKTsKK2ZhaWw6 CisJcmV0dXJuIChlcnJvcik7Cit9CisKK3N0YXRpYyBpbnQKK3JrX3JuZ19kZXRhY2goZGV2aWNl X3QgZGV2KQoreworCXN0cnVjdCBya19ybmdfc29mdGMgKnNjOworCisJc2MgPSBkZXZpY2VfZ2V0 X3NvZnRjKGRldik7CisKKwkvKiBTdG9wIHRoZSBSTkcgKi8KKwlpZihzYy0+c2NfcHN0YXQgIT0g UktfUk5HX1NUT1BQRUQpCisJCXNjLT5zY19jb25mLT5vZmYoc2MpOworCS8qIERyYWluIHRoZSBj YWxsb3V0IGl0ICovCisJY2FsbG91dF9kcmFpbigmc2MtPnNjX3JuZ3RvKTsKKworCS8qIFJlbGVh c2UgbWVtb3J5IHJlc291cmNlICovCisJaWYgKHNjLT5zY19yZXNbMF0gIT0gTlVMTCkKKwkJYnVz X3JlbGVhc2VfcmVzb3VyY2UoZGV2LCBTWVNfUkVTX01FTU9SWSwgMCwgc2MtPnNjX3Jlc1swXSk7 CisKKwlyZXR1cm4gKDApOworfQorCitzdGF0aWMgZGV2aWNlX21ldGhvZF90IHJrX3JuZ19tZXRo b2RzW10gPSB7CisJLyogRGV2aWNlIGludGVyZmFjZSAqLworCURFVk1FVEhPRChkZXZpY2VfcHJv YmUsCQlya19ybmdfcHJvYmUpLAorCURFVk1FVEhPRChkZXZpY2VfYXR0YWNoLAlya19ybmdfYXR0 YWNoKSwKKwlERVZNRVRIT0QoZGV2aWNlX2RldGFjaCwJcmtfcm5nX2RldGFjaCksCisKKwlERVZN RVRIT0RfRU5ECit9OworCitzdGF0aWMgZHJpdmVyX3Qgcmtfcm5nX2RyaXZlciA9IHsKKwkicmty bmciLAorCXJrX3JuZ19tZXRob2RzLAorCXNpemVvZihzdHJ1Y3Qgcmtfcm5nX3NvZnRjKQorfTsK KworRFJJVkVSX01PRFVMRShya19ybmcsIHNpbXBsZWJ1cywgcmtfcm5nX2RyaXZlciwgMCwgMCk7 CitEUklWRVJfTU9EVUxFKHJrX3JuZywgb2Z3YnVzLCBya19ybmdfZHJpdmVyLCAwLCAwKTsKK01P RFVMRV9WRVJTSU9OKHJrX3JuZywgMSk7CitNT0RVTEVfREVQRU5EKHJrX3JuZywgcmFuZG9tZGV2 LCAxLCAxLCAxKTsKCg== --b1_d0957a9db152ebc6cc15e86a0f83e5c2--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d0957a9db152ebc6cc15e86a0f83e5c2>