Skip site navigation (1)Skip section navigation (2)
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>