Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Feb 2016 07:14:23 +0000
From:      "Sgalabov_gmail.com (Stanislav Galabov)" <phabric-noreply@FreeBSD.org>
To:        freebsd-mips@freebsd.org
Subject:   [Differential] [Request, 300 lines] D5182: Introduce INTRNG support for MIPS
Message-ID:  <differential-rev-PHID-DREV-muscnzpiloxhx7x5i5tj-req@FreeBSD.org>

next in thread | raw e-mail | index | archive | help

--b1_2605dca0d18e66e19079744da586f2d6
Content-Type: text/plain; charset = "utf-8"
Content-Transfer-Encoding: 8bit

Sgalabov_gmail.com created this revision.
Sgalabov_gmail.com added reviewers: MIPS, adrian, kan.
Sgalabov_gmail.com added a subscriber: freebsd-mips-list.
Sgalabov_gmail.com set the repository for this revision to rS FreeBSD src repository.
Sgalabov_gmail.com added a project: MIPS.
Herald added a subscriber: imp.

REVISION SUMMARY
  This introduces INTRNG support for the MIPS platforms. It is taken from ARM and the work has been done by Alexander Kabaev as part of his CI20 port.
  
  I have tried to extract the INTRNG-related changes only and am also relying on this as part of the Ralink/Mediatek support.
  
  To follow:
  
  1. proper MIPS timer attachment when using INTRNG
  2. suggestion to remove bus_space_fdt on MIPS and have bus_space_generic do the right things when mapping/unmapping bus space.

REPOSITORY
  rS FreeBSD src repository

REVISION DETAIL
  https://reviews.freebsd.org/D5182

AFFECTED FILES
  sys/conf/options.mips
  sys/mips/include/intr.h
  sys/mips/include/smp.h
  sys/mips/mips/exception.S
  sys/mips/mips/nexus.c

EMAIL PREFERENCES
  https://reviews.freebsd.org/settings/panel/emailpreferences/

To: Sgalabov_gmail.com, MIPS, adrian, kan
Cc: imp, freebsd-mips-list

--b1_2605dca0d18e66e19079744da586f2d6
Content-Type: text/x-patch; charset=utf-8; name="D5182.12991.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="D5182.12991.patch"

ZGlmZiAtLWdpdCBhL3N5cy9taXBzL21pcHMvbmV4dXMuYw0gYi9zeXMvbWlwcy9taXBzL25leHVz
LmMKLS0tIGEvc3lzL21pcHMvbWlwcy9uZXh1cy5jDQorKysgYi9zeXMvbWlwcy9taXBzL25leHVz
LmMKQEAgLTM2LDYgKzM2LDcgQEAKICAqIHRoaXMgY29kZSBpbXBsZW1lbnRzIHRoZSBjb3JlIHJl
c291cmNlIG1hbmFnZXJzIGZvciBpbnRlcnJ1cHQNCiAgKiByZXF1ZXN0cyBhbmQgbWVtb3J5IGFk
ZHJlc3Mgc3BhY2UuDQogICovDQorI2luY2x1ZGUgIm9wdF9wbGF0Zm9ybS5oIg0KIA0KICNpbmNs
dWRlIDxzeXMvY2RlZnMuaD4NCiBfX0ZCU0RJRCgiJEZyZWVCU0QkIik7DQpAQCAtNTMsMTMgKzU0
LDIyIEBACiAjaW5jbHVkZSA8dm0vcG1hcC5oPg0KIA0KICNpbmNsdWRlIDxtYWNoaW5lL2J1cy5o
Pg0KLSNpbmNsdWRlIDxtYWNoaW5lL2ludHJfbWFjaGRlcC5oPg0KICNpbmNsdWRlIDxtYWNoaW5l
L3BtYXAuaD4NCiAjaW5jbHVkZSA8bWFjaGluZS9yZXNvdXJjZS5oPg0KICNpbmNsdWRlIDxtYWNo
aW5lL3ZtcGFyYW0uaD4NCiANCisjaWZkZWYgTUlQU19JTlRSTkcNCisjaW5jbHVkZSA8bWFjaGlu
ZS9pbnRyLmg+DQorI2Vsc2UNCisjaW5jbHVkZSA8bWFjaGluZS9pbnRyX21hY2hkZXAuaD4NCisj
ZW5kaWYNCiAjaW5jbHVkZSAib3B0X3BsYXRmb3JtLmgiDQogDQorI2lmZGVmIEZEVA0KKyNpbmNs
dWRlIDxtYWNoaW5lL2ZkdC5oPg0KKyNpbmNsdWRlICJvZndfYnVzX2lmLmgiDQorI2VuZGlmDQor
DQogI3VuZGVmIE5FWFVTX0RFQlVHDQogI2lmZGVmIE5FWFVTX0RFQlVHDQogI2RlZmluZSBkcHJp
bnRmIHByaW50Zg0KQEAgLTEwNyw2ICsxMTcsMTkgQEAKIAkJICAgIGRyaXZlcl9pbnRyX3QgKmlu
dHIsIHZvaWQgKmFyZywgdm9pZCAqKmNvb2tpZXApOw0KIHN0YXRpYyBpbnQJbmV4dXNfdGVhcmRv
d25faW50cihkZXZpY2VfdCwgZGV2aWNlX3QsIHN0cnVjdCByZXNvdXJjZSAqLA0KIAkJICAgIHZv
aWQgKik7DQorI2lmZGVmIE1JUFNfSU5UUk5HDQorI2lmZGVmIFNNUA0KK3N0YXRpYwlpbnQJbmV4
dXNfYmluZF9pbnRyKGRldmljZV90LCBkZXZpY2VfdCwgc3RydWN0IHJlc291cmNlICosIGludCk7
DQorI2VuZGlmDQorI2lmZGVmCUZEVA0KK3N0YXRpYyBpbnQJbmV4dXNfb2Z3X21hcF9pbnRyKGRl
dmljZV90IGRldiwgZGV2aWNlX3QgY2hpbGQsIHBoYW5kbGVfdCBpcGFyZW50LA0KKwkJICAgIGlu
dCBpY2VsbHMsIHBjZWxsX3QgKmludHIpOw0KKyNlbmRpZg0KK3N0YXRpYwlpbnQJbmV4dXNfZGVz
Y3JpYmVfaW50cihkZXZpY2VfdCBkZXYsIGRldmljZV90IGNoaWxkLA0KKwkJICAgIHN0cnVjdCBy
ZXNvdXJjZSAqaXJxLCB2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKmRlc2NyKTsNCitzdGF0aWMg
aW50CW5leHVzX2NvbmZpZ19pbnRyKGRldmljZV90IGRldiwgaW50IGlycSwgZW51bSBpbnRyX3Ry
aWdnZXIgdHJpZywNCisJCSAgICBlbnVtIGludHJfcG9sYXJpdHkgcG9sKTsNCisjZW5kaWYNCiAN
CiBzdGF0aWMgZGV2aWNlX21ldGhvZF90IG5leHVzX21ldGhvZHNbXSA9IHsNCiAJLyogRGV2aWNl
IGludGVyZmFjZSAqLw0KQEAgLTEyNyw3ICsxNTAsMTYgQEAKIAlERVZNRVRIT0QoYnVzX2FjdGl2
YXRlX3Jlc291cmNlLG5leHVzX2FjdGl2YXRlX3Jlc291cmNlKSwNCiAJREVWTUVUSE9EKGJ1c19k
ZWFjdGl2YXRlX3Jlc291cmNlLAluZXh1c19kZWFjdGl2YXRlX3Jlc291cmNlKSwNCiAJREVWTUVU
SE9EKGJ1c19oaW50ZWRfY2hpbGQsCW5leHVzX2hpbnRlZF9jaGlsZCksDQotDQorI2lmZGVmIE1J
UFNfSU5UUk5HDQorCURFVk1FVEhPRChidXNfY29uZmlnX2ludHIsCW5leHVzX2NvbmZpZ19pbnRy
KSwNCisJREVWTUVUSE9EKGJ1c19kZXNjcmliZV9pbnRyLAluZXh1c19kZXNjcmliZV9pbnRyKSwN
CisjaWZkZWYgU01QDQorCURFVk1FVEhPRChidXNfYmluZF9pbnRyLAluZXh1c19iaW5kX2ludHIp
LA0KKyNlbmRpZg0KKyNpZmRlZiBGRFQNCisJREVWTUVUSE9EKG9md19idXNfbWFwX2ludHIsCW5l
eHVzX29md19tYXBfaW50ciksDQorI2VuZGlmDQorI2VuZGlmDQogCXsgMCwgMCB9DQogfTsNCiAN
CkBAIC0zODEsNiArNDEzLDcgQEAKIAl2b2lkICp2YWRkcjsNCiAJdm1fcGFkZHJfdCBwYWRkcjsN
CiAJdm1fc2l6ZV90IHBzaXplOw0KKwlpbnQgZXJyOw0KIA0KIAkvKg0KIAkgKiBJZiB0aGlzIGlz
IGEgbWVtb3J5IHJlc291cmNlLCB1c2UgcG1hcF9tYXBkZXYgdG8gbWFwIGl0Lg0KQEAgLTM4OCwx
MCArNDIxLDI1IEBACiAJaWYgKHR5cGUgPT0gU1lTX1JFU19NRU1PUlkgfHwgdHlwZSA9PSBTWVNf
UkVTX0lPUE9SVCkgew0KIAkJcGFkZHIgPSBybWFuX2dldF9zdGFydChyKTsNCiAJCXBzaXplID0g
cm1hbl9nZXRfc2l6ZShyKTsNCi0JCXZhZGRyID0gcG1hcF9tYXBkZXYocGFkZHIsIHBzaXplKTsN
CisjaWZkZWYgRkRUDQorCQllcnIgPSBidXNfc3BhY2VfbWFwKGZkdGJ1c19ic190YWcsIHBhZGRy
LCBwc2l6ZSwgMCwNCisJCSAgICAoYnVzX3NwYWNlX2hhbmRsZV90ICopJnZhZGRyKTsNCisJCWlm
IChlcnIgIT0gMCkgew0KKwkJCXJtYW5fZGVhY3RpdmF0ZV9yZXNvdXJjZShyKTsNCisJCQlyZXR1
cm4gKGVycik7DQorCQl9DQorCQlybWFuX3NldF9idXN0YWcociwgZmR0YnVzX2JzX3RhZyk7DQor
I2Vsc2UNCisJCXZhZGRyID0gKGJ1c19zcGFjZV9oYW5kbGVfdClwbWFwX21hcGRldihwYWRkciwN
CisJCSAgICAodm1fc2l6ZV90KXBzaXplKTsNCisJCWlmICh2YWRkciA9PSAwKSB7DQorCQkJcm1h
bl9kZWFjdGl2YXRlX3Jlc291cmNlKHIpOw0KKwkJCXJldHVybiAoRU5PTUVNKTsNCisJCX0NCisJ
CXJtYW5fc2V0X2J1c3RhZyhyLCBtaXBzX2J1c19zcGFjZV9nZW5lcmljKTsNCisjZW5kaWYNCiAN
CiAJCXJtYW5fc2V0X3ZpcnR1YWwociwgdmFkZHIpOw0KLQkJcm1hbl9zZXRfYnVzdGFnKHIsIG1p
cHNfYnVzX3NwYWNlX2dlbmVyaWMpOw0KIAkJcm1hbl9zZXRfYnVzaGFuZGxlKHIsIChidXNfc3Bh
Y2VfaGFuZGxlX3QpKHVpbnRwdHJfdCl2YWRkcik7DQogCX0NCiANCkBAIC00MDIsMTEgKzQ1MCwy
MCBAQAogbmV4dXNfZGVhY3RpdmF0ZV9yZXNvdXJjZShkZXZpY2VfdCBidXMsIGRldmljZV90IGNo
aWxkLCBpbnQgdHlwZSwgaW50IHJpZCwNCiAJCQkgIHN0cnVjdCByZXNvdXJjZSAqcikNCiB7DQot
CXZtX29mZnNldF90IHZhOw0KLQkNCi0JaWYgKHR5cGUgPT0gU1lTX1JFU19NRU1PUlkpIHsNCi0J
CXZhID0gKHZtX29mZnNldF90KXJtYW5fZ2V0X3ZpcnR1YWwocik7DQotCQlwbWFwX3VubWFwZGV2
KHZhLCBybWFuX2dldF9zaXplKHIpKTsNCisJYnVzX3NwYWNlX2hhbmRsZV90IHZhZGRyOw0KKwli
dXNfc2l6ZV90IHBzaXplOw0KKw0KKwl2YWRkciA9IHJtYW5fZ2V0X2J1c2hhbmRsZShyKTsNCisN
CisJaWYgKHR5cGUgPT0gU1lTX1JFU19NRU1PUlkgJiYgdmFkZHIgIT0gMCkgew0KKwkJcHNpemUg
PSAoYnVzX3NpemVfdClybWFuX2dldF9zaXplKHIpOw0KKyNpZmRlZiBGRFQNCisJCWJ1c19zcGFj
ZV91bm1hcChmZHRidXNfYnNfdGFnLCB2YWRkciwgcHNpemUpOw0KKyNlbHNlDQorCQlwbWFwX3Vu
bWFwZGV2KCh2bV9vZmZzZXRfdCl2YWRkciwgcHNpemUpOw0KKyNlbmRpZg0KKwkJcm1hbl9zZXRf
dmlydHVhbChyLCBOVUxMKTsNCisJCXJtYW5fc2V0X2J1c2hhbmRsZShyLCAwKTsNCiAJfQ0KIA0K
IAlyZXR1cm4gKHJtYW5fZGVhY3RpdmF0ZV9yZXNvdXJjZShyKSk7DQpAQCAtNDE2LDkgKzQ3Mywx
NiBAQAogbmV4dXNfc2V0dXBfaW50cihkZXZpY2VfdCBkZXYsIGRldmljZV90IGNoaWxkLCBzdHJ1
Y3QgcmVzb3VyY2UgKnJlcywgaW50IGZsYWdzLA0KICAgICBkcml2ZXJfZmlsdGVyX3QgKmZpbHQs
IGRyaXZlcl9pbnRyX3QgKmludHIsIHZvaWQgKmFyZywgdm9pZCAqKmNvb2tpZXApDQogew0KLQly
ZWdpc3Rlcl90IHM7DQogCWludCBpcnE7DQogDQorI2lmZGVmIE1JUFNfSU5UUk5HDQorCWZvciAo
aXJxID0gcm1hbl9nZXRfc3RhcnQocmVzKTsgaXJxIDw9IHJtYW5fZ2V0X2VuZChyZXMpOyBpcnEr
Kykgew0KKwkJaW50cl9pcnFfYWRkX2hhbmRsZXIoY2hpbGQsIGZpbHQsIGludHIsIGFyZywgaXJx
LCBmbGFncywNCisJCSAgICBjb29raWVwKTsNCisJfQ0KKyNlbHNlDQorCXJlZ2lzdGVyX3QgczsN
CisNCiAJcyA9IGludHJfZGlzYWJsZSgpOw0KIAlpcnEgPSBybWFuX2dldF9zdGFydChyZXMpOw0K
IAlpZiAoaXJxID49IE5VTV9NSVBTX0lSUVMpIHsNCkBAIC00MjksNiArNDkzLDcgQEAKIAljcHVf
ZXN0YWJsaXNoX2hhcmRpbnRyKGRldmljZV9nZXRfbmFtZXVuaXQoY2hpbGQpLCBmaWx0LCBpbnRy
LCBhcmcsDQogCSAgICBpcnEsIGZsYWdzLCBjb29raWVwKTsNCiAJaW50cl9yZXN0b3JlKHMpOw0K
KyNlbmRpZg0KIAlyZXR1cm4gKDApOw0KIH0NCiANCkBAIC00MzYsOSArNTAxLDUzIEBACiBuZXh1
c190ZWFyZG93bl9pbnRyKGRldmljZV90IGRldiwgZGV2aWNlX3QgY2hpbGQsIHN0cnVjdCByZXNv
dXJjZSAqciwgdm9pZCAqaWgpDQogew0KIA0KKyNpZmRlZiBNSVBTX0lOVFJORw0KKwlyZXR1cm4g
KGludHJfaXJxX3JlbW92ZV9oYW5kbGVyKGNoaWxkLCBybWFuX2dldF9zdGFydChyKSwgaWgpKTsN
CisjZWxzZQ0KIAlwcmludGYoIlVuaW1wbGVtZW50ZWQgJXMgYXQgJXM6JWRcbiIsIF9fZnVuY19f
LCBfX0ZJTEVfXywgX19MSU5FX18pOw0KIAlyZXR1cm4gKDApOw0KKyNlbmRpZg0KK30NCisNCisj
aWZkZWYgTUlQU19JTlRSTkcNCitzdGF0aWMgaW50DQorbmV4dXNfY29uZmlnX2ludHIoZGV2aWNl
X3QgZGV2LCBpbnQgaXJxLCBlbnVtIGludHJfdHJpZ2dlciB0cmlnLA0KKyAgICBlbnVtIGludHJf
cG9sYXJpdHkgcG9sKQ0KK3sNCisJaW50IHJldCA9IEVOT0RFVjsNCisNCisjaWZkZWYgTUlQU19J
TlRSTkcNCisJcmV0ID0gaW50cl9pcnFfY29uZmlnKGlycSwgdHJpZywgcG9sKTsNCisjZW5kaWYN
CisJcmV0dXJuIChyZXQpOw0KK30NCisNCitzdGF0aWMgaW50DQorbmV4dXNfZGVzY3JpYmVfaW50
cihkZXZpY2VfdCBkZXYsIGRldmljZV90IGNoaWxkLCBzdHJ1Y3QgcmVzb3VyY2UgKmlycSwNCisg
ICAgdm9pZCAqY29va2llLCBjb25zdCBjaGFyICpkZXNjcikNCit7DQorDQorCXJldHVybiAoaW50
cl9pcnFfZGVzY3JpYmUocm1hbl9nZXRfc3RhcnQoaXJxKSwgY29va2llLCBkZXNjcikpOw0KK30N
CisNCisjaWZkZWYgU01QDQorc3RhdGljIGludA0KK25leHVzX2JpbmRfaW50cihkZXZpY2VfdCBk
ZXYsIGRldmljZV90IGNoaWxkLCBzdHJ1Y3QgcmVzb3VyY2UgKmlycSwgaW50IGNwdSkNCit7DQor
DQorCXJldHVybiAoaW50cl9pcnFfYmluZChybWFuX2dldF9zdGFydChpcnEpLCBjcHUpKTsNCit9
DQorI2VuZGlmDQorDQorI2lmZGVmIEZEVA0KK3N0YXRpYyBpbnQNCituZXh1c19vZndfbWFwX2lu
dHIoZGV2aWNlX3QgZGV2LCBkZXZpY2VfdCBjaGlsZCwgcGhhbmRsZV90IGlwYXJlbnQsIGludCBp
Y2VsbHMsDQorICAgIHBjZWxsX3QgKmludHIpDQorew0KKwlyZXR1cm4gKGludHJfZmR0X21hcF9p
cnEoaXBhcmVudCwgaW50ciwgaWNlbGxzKSk7DQogfQ0KKyNlbmRpZg0KKyNlbmRpZiAvKiBNSVBT
X0lOVFJORyAqLw0KIA0KIHN0YXRpYyB2b2lkDQogbmV4dXNfaGludGVkX2NoaWxkKGRldmljZV90
IGJ1cywgY29uc3QgY2hhciAqZG5hbWUsIGludCBkdW5pdCkNCkBAIC00OTMsNCArNjAyLDUgQEAK
IAl9DQogfQ0KIA0KLURSSVZFUl9NT0RVTEUobmV4dXMsIHJvb3QsIG5leHVzX2RyaXZlciwgbmV4
dXNfZGV2Y2xhc3MsIDAsIDApOw0KK0VBUkxZX0RSSVZFUl9NT0RVTEUobmV4dXMsIHJvb3QsIG5l
eHVzX2RyaXZlciwgbmV4dXNfZGV2Y2xhc3MsIDAsIDAsDQorICAgIEJVU19QQVNTX0JVUyArIEJV
U19QQVNTX09SREVSX0VBUkxZKTsNCmRpZmYgLS1naXQgYS9zeXMvbWlwcy9taXBzL2V4Y2VwdGlv
bi5TDSBiL3N5cy9taXBzL21pcHMvZXhjZXB0aW9uLlMKLS0tIGEvc3lzL21pcHMvbWlwcy9leGNl
cHRpb24uUw0KKysrIGIvc3lzL21pcHMvbWlwcy9leGNlcHRpb24uUwpAQCAtNjQwLDcgKzY0MCwx
MSBAQAogICogIENhbGwgdGhlIGludGVycnVwdCBoYW5kbGVyLiBhMCBwb2ludHMgYXQgdGhlIHNh
dmVkIGZyYW1lLg0KICAqLw0KIAlQVFJfTEEJZ3AsIF9DX0xBQkVMKF9ncCkNCisjaWZkZWYgTUlQ
U19JTlRSTkcNCisJUFRSX0xBCWswLCBfQ19MQUJFTChpbnRyX2lycV9oYW5kbGVyKQ0KKyNlbHNl
DQogCVBUUl9MQQlrMCwgX0NfTEFCRUwoY3B1X2ludHIpDQorI2VuZGlmDQogCWphbHIJazANCiAJ
UkVHX1MJYTMsIENBTExGUkFNRV9SQSArIEtFUk5fUkVHX1NJWkUoc3ApCQkjIGZvciBkZWJ1Z2dp
bmcNCiANCkBAIC03NTIsNyArNzU2LDExIEBACiAvKg0KICAqIENhbGwgdGhlIGludGVycnVwdCBo
YW5kbGVyLg0KICAqLw0KKyNpZmRlZiBNSVBTX0lOVFJORw0KKwlQVFJfTEEJazAsIF9DX0xBQkVM
KGludHJfaXJxX2hhbmRsZXIpDQorI2Vsc2UNCiAJUFRSX0xBCWswLCBfQ19MQUJFTChjcHVfaW50
cikNCisjZW5kaWYNCiAJamFscglrMA0KIAlSRUdfUwlhMywgQ0FMTEZSQU1FX1JBKHNwKQkjIGZv
ciBkZWJ1Z2dpbmcNCiANCkBAIC0xMTg0LDYgKzExOTIsNyBAQAogCVBUUl9BRERVIHNwLCBzcCwg
Q0FMTEZSQU1FX1NJWg0KIEVORChNaXBzRlBUcmFwKQ0KIA0KKyNpZm5kZWYgTUlQU19JTlRSTkcN
CiAvKg0KICAqIEludGVycnVwdCBjb3VudGVycyBmb3Igdm1zdGF0Lg0KICAqLw0KQEAgLTEyMTAs
NiArMTIxOSw3IEBACiAjZWxzZQ0KIAkuaW50ICBJTlRSQ05UX0NPVU5UICogKF9NSVBTX1NaTE9O
RyAvIDgpICogMg0KICNlbmRpZg0KKyNlbmRpZiAvKiBNSVBTX0lOVFJORyAqLw0KIA0KIA0KIC8q
DQpkaWZmIC0tZ2l0IGEvc3lzL21pcHMvaW5jbHVkZS9zbXAuaA0gYi9zeXMvbWlwcy9pbmNsdWRl
L3NtcC5oCi0tLSBhL3N5cy9taXBzL2luY2x1ZGUvc21wLmgNCisrKyBiL3N5cy9taXBzL2luY2x1
ZGUvc21wLmgKQEAgLTIxLDYgKzIxLDExIEBACiANCiAjaW5jbHVkZSA8bWFjaGluZS9wY2IuaD4N
CiANCisjaWZkZWYgTUlQU19JTlRSTkcNCisjIGRlZmluZSBNSVBTX0lQSV9DT1VOVAkxDQorIyBk
ZWZpbmUgSU5UUl9JUElfQ09VTlQJTUlQU19JUElfQ09VTlQNCisjZW5kaWYNCisNCiAvKg0KICAq
IEludGVycHJvY2Vzc29yIGludGVycnVwdHMgZm9yIFNNUC4NCiAgKi8NCmRpZmYgLS1naXQgYS9z
eXMvbWlwcy9pbmNsdWRlL2ludHIuaCBiL3N5cy9taXBzL2luY2x1ZGUvaW50ci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzL21pcHMvaW5jbHVkZS9pbnRyLmgK
QEAgLTAsMCArMSwxNDkgQEAKKy8qIAkkTmV0QlNEOiBpbnRyLmgsdiAxLjcgMjAwMy8wNi8xNiAy
MDowMTowMCB0aG9ycGVqIEV4cCAkCSovDQorDQorLyotDQorICogQ29weXJpZ2h0IChjKSAxOTk3
IE1hcmsgQnJpbmljb21iZS4NCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAqDQorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0DQorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zDQorICogYXJlIG1ldDoNCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4NCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLg0KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJl
cyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQ0KKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93
aW5nIGFja25vd2xlZGdlbWVudDoNCisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUg
ZGV2ZWxvcGVkIGJ5IE1hcmsgQnJpbmljb21iZQ0KKyAqCWZvciB0aGUgTmV0QlNEIFByb2plY3Qu
DQorICogNC4gVGhlIG5hbWUgb2YgdGhlIGNvbXBhbnkgbm9yIHRoZSBuYW1lIG9mIHRoZSBhdXRo
b3IgbWF5IGJlIHVzZWQgdG8NCisgKiAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYw0KKyAqICAgIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4NCisgKg0KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQNCisgKiBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRg0KKyAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuDQorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULA0KKyAqIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
Uw0KKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUg0KKyAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQ0KKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUDQor
ICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWQ0KKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YNCisgKiBTVUNIIERBTUFHRS4N
CisgKg0KKyAqICRGcmVlQlNEJA0KKyAqDQorICovDQorDQorI2lmbmRlZiBfTUFDSElORV9JTlRS
X0hfDQorI2RlZmluZSBfTUFDSElORV9JTlRSX0hfDQorDQorI2lmZGVmIEZEVA0KKyNpbmNsdWRl
IDxkZXYvb2Z3L29wZW5maXJtLmg+DQorI2VuZGlmDQorDQorI2lmbmRlZiBOSVJRDQorI2RlZmlu
ZQlOSVJRCQkxMjgJLyogWFhYIC0gSXQgc2hvdWxkIGJlIGFuIG9wdGlvbiBhbmQgbWF0Y2ggc2l6
ZSB1c2VkIGluIGV4Y2VwdGlvbi5TICovDQorI2VuZGlmDQorDQorI2lmZGVmIG5vdHlldA0KKyNk
ZWZpbmUJSU5UUl9TT0xPCUlOVFJfTUQxDQordHlwZWRlZiBpbnQgaW50cl9pcnFfZmlsdGVyX3Qo
dm9pZCAqYXJnLCBzdHJ1Y3QgdHJhcGZyYW1lICp0Zik7DQorI2Vsc2UNCit0eXBlZGVmIGludCBp
bnRyX2lycV9maWx0ZXJfdCh2b2lkICphcmcpOw0KKyNlbmRpZg0KKw0KKyNkZWZpbmUgSU5UUl9J
U1JDX05BTUVMRU4JKE1BWENPTUxFTiArIDEpDQorDQordHlwZWRlZiB2b2lkIGludHJfaXBpX2Zp
bHRlcl90KHZvaWQgKmFyZyk7DQorDQorZW51bSBpbnRyX2lzcmNfdHlwZSB7DQorCUlOVFJfSVNS
Q1RfTkFNRVNQQUNFLA0KKwlJTlRSX0lTUkNUX0ZEVA0KK307DQorDQorI2RlZmluZSBJTlRSX0lT
UkNGX1JFR0lTVEVSRUQJMHgwMQkvKiByZWdpc3RlcmVkIGluIGEgY29udHJvbGxlciAqLw0KKyNk
ZWZpbmUgSU5UUl9JU1JDRl9QRVJDUFUJMHgwMgkvKiBwZXIgQ1BVIGludGVycnVwdCAqLw0KKyNk
ZWZpbmUgSU5UUl9JU1JDRl9CT1VORAkJMHgwNAkvKiBib3VuZCB0byBhIENQVSAqLw0KKw0KKy8q
IEludGVycnVwdCBzb3VyY2UgZGVmaW5pdGlvbi4gKi8NCitzdHJ1Y3QgaW50cl9pcnFzcmMgew0K
KwlkZXZpY2VfdAkJaXNyY19kZXY7CS8qIHdoZXJlIGlzcmMgaXMgbWFwcGVkICovDQorCWludHB0
cl90CQlpc3JjX3hyZWY7CS8qIGRldmljZSByZWZlcmVuY2Uga2V5ICovDQorCXVpbnRwdHJfdAkJ
aXNyY19kYXRhOwkvKiBkZXZpY2UgZGF0YSBmb3IgaXNyYyAqLw0KKwl1X2ludAkJCWlzcmNfaXJx
OwkvKiB1bmlxdWUgaWRlbnRpZmljYXRvciAqLw0KKwllbnVtIGludHJfaXNyY190eXBlCWlzcmNf
dHlwZTsJLyogaG93IGlzIGlzcmMgZGVjcmliZWQgKi8NCisJdV9pbnQJCQlpc3JjX2ZsYWdzOw0K
KwljaGFyCQkJaXNyY19uYW1lW0lOVFJfSVNSQ19OQU1FTEVOXTsNCisJdWludDE2X3QJCWlzcmNf
bnNwY190eXBlOw0KKwl1aW50MTZfdAkJaXNyY19uc3BjX251bTsNCisJZW51bSBpbnRyX3RyaWdn
ZXIJaXNyY190cmlnOw0KKwllbnVtIGludHJfcG9sYXJpdHkJaXNyY19wb2w7DQorCWNwdXNldF90
CQlpc3JjX2NwdTsJLyogb24gd2hpY2ggQ1BVcyBpcyBlbmFibGVkICovDQorCXVfaW50CQkJaXNy
Y19pbmRleDsNCisJdV9sb25nICoJCWlzcmNfY291bnQ7DQorCXVfaW50CQkJaXNyY19oYW5kbGVy
czsNCisJc3RydWN0IGludHJfZXZlbnQgKglpc3JjX2V2ZW50Ow0KKwlpbnRyX2lycV9maWx0ZXJf
dCAqCWlzcmNfZmlsdGVyOw0KKwlpbnRyX2lwaV9maWx0ZXJfdCAqCWlzcmNfaXBpZmlsdGVyOw0K
Kwl2b2lkICoJCQlpc3JjX2FyZzsNCisjaWZkZWYgRkRUDQorCXVfaW50CQkJaXNyY19uY2VsbHM7
DQorCXBjZWxsX3QJCQlpc3JjX2NlbGxzW107CS8qIGxlYXZlIGl0IGxhc3QgKi8NCisjZW5kaWYN
Cit9Ow0KKw0KK3ZvaWQgaW50cl9pcnFfc2V0X25hbWUoc3RydWN0IGludHJfaXJxc3JjICppc3Jj
LCBjb25zdCBjaGFyICpmbXQsIC4uLikNCisgICAgX19wcmludGZsaWtlKDIsIDMpOw0KKw0KK3Zv
aWQgaW50cl9pcnFfZGlzcGF0Y2goc3RydWN0IGludHJfaXJxc3JjICppc3JjLCBzdHJ1Y3QgdHJh
cGZyYW1lICp0Zik7DQorDQorI2RlZmluZSBJTlRSX0lSUV9OU1BDX05PTkUJMA0KKyNkZWZpbmUg
SU5UUl9JUlFfTlNQQ19QTEFJTgkxDQorI2RlZmluZSBJTlRSX0lSUV9OU1BDX0lSUQkyDQorI2Rl
ZmluZSBJTlRSX0lSUV9OU1BDX0lQSQkzDQorI2RlZmluZSBJTlRSX0lSUV9OU1BDX1NXSQk0DQor
DQordV9pbnQgaW50cl9uYW1lc3BhY2VfbWFwX2lycShkZXZpY2VfdCBkZXYsIHVpbnQxNl90IHR5
cGUsIHVpbnQxNl90IG51bSk7DQorI2lmZGVmIEZEVA0KK3VfaW50IGludHJfZmR0X21hcF9pcnEo
cGhhbmRsZV90LCBwY2VsbF90ICosIHVfaW50KTsNCisjZW5kaWYNCisNCitpbnQgaW50cl9waWNf
cmVnaXN0ZXIoZGV2aWNlX3QgZGV2LCBpbnRwdHJfdCB4cmVmKTsNCitpbnQgaW50cl9waWNfdW5y
ZWdpc3RlcihkZXZpY2VfdCBkZXYsIGludHB0cl90IHhyZWYpOw0KK2ludCBpbnRyX3BpY19jbGFp
bV9yb290KGRldmljZV90IGRldiwgaW50cHRyX3QgeHJlZiwgaW50cl9pcnFfZmlsdGVyX3QgKmZp
bHRlciwNCisgICAgdm9pZCAqYXJnLCB1X2ludCBpcGljb3VudCk7DQorDQoraW50IGludHJfaXJx
X2FkZF9oYW5kbGVyKGRldmljZV90IGRldiwgZHJpdmVyX2ZpbHRlcl90LCBkcml2ZXJfaW50cl90
LCB2b2lkICosDQorICAgIHVfaW50LCBpbnQsIHZvaWQgKiopOw0KK2ludCBpbnRyX2lycV9yZW1v
dmVfaGFuZGxlcihkZXZpY2VfdCBkZXYsIHVfaW50LCB2b2lkICopOw0KK2ludCBpbnRyX2lycV9j
b25maWcodV9pbnQsIGVudW0gaW50cl90cmlnZ2VyLCBlbnVtIGludHJfcG9sYXJpdHkpOw0KK2lu
dCBpbnRyX2lycV9kZXNjcmliZSh1X2ludCwgdm9pZCAqLCBjb25zdCBjaGFyICopOw0KKw0KK3Vf
aW50IGludHJfaXJxX25leHRfY3B1KHVfaW50IGN1cnJlbnRfY3B1LCBjcHVzZXRfdCAqY3B1bWFz
ayk7DQorDQorI2lmZGVmIFNNUA0KK2ludCBpbnRyX2lycV9iaW5kKHVfaW50LCBpbnQpOw0KKw0K
K3ZvaWQgaW50cl9pcGlfZGlzcGF0Y2goc3RydWN0IGludHJfaXJxc3JjICppc3JjLCBzdHJ1Y3Qg
dHJhcGZyYW1lICp0Zik7DQorDQorI2RlZmluZSBBSVNIRl9OT0FMTE9DCTB4MDAwMQ0KKw0KK2lu
dCBpbnRyX2lwaV9zZXRfaGFuZGxlcih1X2ludCBpcGksIGNvbnN0IGNoYXIgKm5hbWUsIGludHJf
aXBpX2ZpbHRlcl90ICpmaWx0ZXIsDQorICAgIHZvaWQgKmFyZywgdV9pbnQgZmxhZ3MpOw0KKw0K
K3ZvaWQgaW50cl9waWNfaW5pdF9zZWNvbmRhcnkodm9pZCk7DQorI2VuZGlmDQorDQorLyogTUlQ
UyBjb21wYXRpYmlsaXR5IGZvciBsZWdhY3kgbWlwcyBjb2RlICovDQordm9pZCBjcHVfaW5pdF9p
bnRlcnJ1cHRzKHZvaWQpOw0KK3ZvaWQgY3B1X2VzdGFibGlzaF9oYXJkaW50cihjb25zdCBjaGFy
ICosIGRyaXZlcl9maWx0ZXJfdCAqLCBkcml2ZXJfaW50cl90ICosDQorICAgIHZvaWQgKiwgaW50
LCBpbnQsIHZvaWQgKiopOw0KK3ZvaWQgY3B1X2VzdGFibGlzaF9zb2Z0aW50cihjb25zdCBjaGFy
ICosIGRyaXZlcl9maWx0ZXJfdCAqLCB2b2lkICgqKSh2b2lkKiksDQorICAgIHZvaWQgKiwgaW50
LCBpbnQsIHZvaWQgKiopOw0KKy8qIE1JUFMgaW50ZXJydXB0IEMgZW50cnkgcG9pbnQgKi8NCit2
b2lkIGNwdV9pbnRyKHN0cnVjdCB0cmFwZnJhbWUgKik7DQorDQorDQorI2VuZGlmCS8qIF9NQUNI
SU5FX0lOVFJfSCAqLw0KZGlmZiAtLWdpdCBhL3N5cy9jb25mL29wdGlvbnMubWlwcw0gYi9zeXMv
Y29uZi9vcHRpb25zLm1pcHMKLS0tIGEvc3lzL2NvbmYvb3B0aW9ucy5taXBzDQorKysgYi9zeXMv
Y29uZi9vcHRpb25zLm1pcHMKQEAgLTEzNiwzICsxMzYsNyBAQAogIyBPcHRpb25zIHRoYXQgYWZm
ZWN0IHRoZSBwbWFwLg0KICMNCiBQVl9TVEFUUwkJb3B0X3BtYXAuaA0KKyMNCisjIE9wdGlvbnMg
dG8gdXNlIEFSTV9JTlRSTkcgY29kZQ0KKyMNCitNSVBTX0lOVFJORwkJb3B0X2dsb2JhbC5oDQoK


--b1_2605dca0d18e66e19079744da586f2d6--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?differential-rev-PHID-DREV-muscnzpiloxhx7x5i5tj-req>