Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Mar 2012 21:26:04 -0500
From:      Patrick Kelsey <kelsey@ieee.org>
To:        freebsd-mips@freebsd.org
Subject:   [PATCH] MikroTik RB450G support
Message-ID:  <CAD44qMV=PEv3DFU7z1S=UhOYO3YMi7zqg7rsjn1zByTpN7ZxgA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--bcaec5016739ff212904baee5863
Content-Type: text/plain; charset=ISO-8859-1

Since I seem to be spending a lot of quality time with a MikroTik
RB450G lately, I thought it would be nice if someone could add support
for it to the tree :)  Should any able and sympathetic souls be
reading this list, a ready .diff file covering what I have been using
is attached.  This diff is mainly the work of Luiz Otavio O Souza,
massaged a bit for the current state of -HEAD.  Note that the
RB450.hints file assumes the presence of the mmcspi driver in the
tree.

-Patrick

--bcaec5016739ff212904baee5863
Content-Type: application/octet-stream; name="rb450_support.diff"
Content-Disposition: attachment; filename="rb450_support.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gzngkzaw0

SW5kZXg6IHN5cy9taXBzL2NvbmYvUkI0WFgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvY29uZi9S
QjRYWAkocmV2aXNpb24gMCkKKysrIHN5cy9taXBzL2NvbmYvUkI0WFgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTMyIEBACisjCisjICRGcmVlQlNEJAorIworCitpZGVudAkJUkI0WFgKK21ha2Vv
cHRpb25zCVRBUkdFVF9CSUdfRU5ESUFOCittYWtlb3B0aW9ucwlLRVJOTE9BREFERFI9MHg4MDA1
MDAwMAorb3B0aW9ucwkJSFo9MTAwMAorb3B0aW9ucwkJSFdQTUNfSE9PS1MKKworaGludHMJCSJS
QjQ1MC5oaW50cyIKKworaW5jbHVkZQkJIi4uL2F0aGVyb3Mvc3RkLmFyNzF4eCIKKworI21ha2Vv
cHRpb25zCURFQlVHPS1nCQkjQnVpbGQga2VybmVsIHdpdGggZ2RiKDEpIGRlYnVnIHN5bWJvbHMK
K21ha2VvcHRpb25zCU1PRFVMRVNfT1ZFUlJJREU9IiIKKworI29wdGlvbnMJCUREQgorI29wdGlv
bnMJCUtEQgorCitvcHRpb25zCQlTQ0hFRF80QlNECQkjNEJTRCBzY2hlZHVsZXIKK29wdGlvbnMJ
CUlORVQJCQkjSW50ZXJORVR3b3JraW5nCitvcHRpb25zCQlORlNDTAkJCSNOZXR3b3JrIEZpbGVz
eXN0ZW0gQ2xpZW50CitvcHRpb25zCQlORlNDTElFTlQJCSNOZXR3b3JrIEZpbGVzeXN0ZW0gQ2xp
ZW50CitvcHRpb25zCQlORlNfUk9PVAkJI05GUyB1c2FibGUgYXMgLywgcmVxdWlyZXMgTkZTQ0xJ
RU5UCitvcHRpb25zCQlQU0VVRE9GUwkJI1BzZXVkby1maWxlc3lzdGVtIGZyYW1ld29yaworb3B0
aW9ucwkJX0tQT1NJWF9QUklPUklUWV9TQ0hFRFVMSU5HICNQb3NpeCBQMTAwM18xQiByZWFsLXRp
bWUgZXh0ZW5zaW9ucworCisjIG9wdGlvbnMJCU5GU19MRUdBQ1lSUEMKKyMgRGVidWdnaW5nIGZv
ciB1c2UgaW4gLWN1cnJlbnQKKyMgb3B0aW9ucwkJSU5WQVJJQU5UUworIyBvcHRpb25zCQlJTlZB
UklBTlRfU1VQUE9SVAorIyBvcHRpb25zCQlXSVRORVNTCisjIG9wdGlvbnMJCVdJVE5FU1NfU0tJ
UFNQSU4KKyMgb3B0aW9ucwkJREVCVUdfUkVEWk9ORQorIyBvcHRpb25zCQlERUJVR19NRU1HVUFS
RAorb3B0aW9ucyAgICAgICAgIEZGUyAgICAgICAgICAgICAgICAgICAgICNCZXJrZWxleSBGYXN0
IEZpbGVzeXN0ZW0KK29wdGlvbnMgICAgICAgICBTT0ZUVVBEQVRFUyAgICAgICAgICAgICAjRW5h
YmxlIEZGUyBzb2Z0IHVwZGF0ZXMgc3VwcG9ydAorb3B0aW9ucyAgICAgICAgIFVGU19BQ0wgICAg
ICAgICAgICAgICAgICNTdXBwb3J0IGZvciBhY2Nlc3MgY29udHJvbCBsaXN0cworb3B0aW9ucyAg
ICAgICAgIFVGU19ESVJIQVNIICAgICAgICAgICAgICNJbXByb3ZlIHBlcmZvcm1hbmNlIG9uIGJp
ZyBkaXJlY3RvcmllcworCitvcHRpb25zCQlNU0RPU0ZTCisKK29wdGlvbnMJCUJPT1RQCitvcHRp
b25zCQlCT09UUF9ORlNST09UCitvcHRpb25zCQlCT09UUF9ORlNWMworb3B0aW9ucwkJQk9PVFBf
V0lSRURfVE89YXJnZTEKK29wdGlvbnMJCUJPT1RQX0NPTVBBVAorb3B0aW9ucwkJUk9PVERFVk5B
TUU9XCJuZnM6ZnJlZWJzZDgyZGV2NjQ6L25mc3Jvb3QvcmI0eHhcIgorCitkZXZpY2UJCXBjaQor
ZGV2aWNlCQlhcjcxeHhfcGNpCisKKyMgODAyLjExIGZyYW1ld29yaworIyBvcHRpb25zCQlJRUVF
ODAyMTFfREVCVUcKKyMgb3B0aW9ucwkJSUVFRTgwMjExX0FMUQorIyBvcHRpb25zCQlJRUVFODAy
MTFfU1VQUE9SVF9NRVNICisjIFRoaXMgb3B0aW9uIGlzIGN1cnJlbnRseSBicm9rZW4gZm9yIGlm
X2F0aF90eC4KKyMgb3B0aW9ucwkJSUVFRTgwMjExX1NVUFBPUlRfVERNQQorIyBvcHRpb25zCQlJ
RUVFODAyMTFfQU1QRFVfQUdFCisjIGRldmljZQkJd2xhbiAgICAgICAgICAgICMgODAyLjExIHN1
cHBvcnQKKyMgZGV2aWNlCQl3bGFuX3dlcCAgICAgICAgIyA4MDIuMTEgV0VQIHN1cHBvcnQKKyMg
ZGV2aWNlCQl3bGFuX2NjbXAgICAgICAgIyA4MDIuMTEgQ0NNUCBzdXBwb3J0CisjIGRldmljZQkJ
d2xhbl90a2lwICAgICAgICMgODAyLjExIFRLSVAgc3VwcG9ydAorIyBkZXZpY2UJCXdsYW5feGF1
dGgJIyA4MDIuMTEgaG9zdGFwIHN1cHBvcnQKKworIyBBdGhlcm9zIHdpcmVsZXNzIE5JQ3MKKyMg
ZGV2aWNlCQlhdGggICAgICAgICAgICAgIyBBdGhlcm9zIGludGVyZmFjZSBzdXBwb3J0CisjIGRl
dmljZQkJYXRoX3BjaQkJIyBBdGhlcm9zIFBDSS9DYXJkYnVzIGJ1cworIyBvcHRpb25zIAlBVEhf
REVCVUcKKyMgb3B0aW9ucwkJQVRIX0RJQUdBUEkKKyMgb3B0aW9ucwkJQVRIX0VOQUJMRV8xMU4K
KyMgb3B0aW9ucwkJQUhfREVCVUcKKyMgb3B0aW9ucwkJQUhfREVCVUdfQUxRCisjIG9wdGlvbnMJ
CUFMUQorIyBkZXZpY2UJCWF0aF9oYWwKKyMgb3B0aW9uCQlBSF9TVVBQT1JUX0FSNTQxNgorIyBk
ZXZpY2UJCWF0aF9yYXRlX3NhbXBsZQorIyBvcHRpb24JCUFIX1JYQ0ZHX1NETUFNV180QllURVMK
KyMgb3B0aW9uCQlBSF9BUjU0MTZfSU5URVJSVVBUX01JVElHQVRJT04KKyMgVGhlcmUncyBubyBE
RlMgcmFkYXIgZGV0ZWN0aW9uIHN1cHBvcnQgeWV0IHNvIHRoaXMgd29uJ3QgYWN0dWFsbHkKKyMg
ZGV0ZWN0IHJhZGFycy4gIEl0IGhvd2V2ZXIgZG9lcyBlbmFibGUgdGhlIHJlc3Qgb2YgdGhlIGNo
YW5uZWwgY2hhbmdlCisjIG1hY2hpbmVyeSBzbyBERlMgY2FuIGJlIGRlYnVnZ2VkLgorIyBvcHRp
b24JCUFUSF9FTkFCTEVfREZTCisKK2RldmljZQkJbWlpCitkZXZpY2UJCWFyZ2UKKworIyBkZXZp
Y2UJCXVzYgorIyBvcHRpb25zCQlVU0JfRUhDSV9CSUdfRU5ESUFOX0RFU0MgICAgICAgICMgaGFu
ZGxlIGJpZy1lbmRpYW4gYnl0ZSBvcmRlcgorIyBvcHRpb25zCQlVU0JfREVCVUcKKyMgZGV2aWNl
CQllaGNpCisKKyMgZGV2aWNlCQlzY2J1cworIyBkZXZpY2UJCXVtYXNzCisjIGRldmljZQkJZGEK
KworZGV2aWNlCQlzcGlidXMKK2RldmljZQkJYXI3MXh4X3NwaQorZGV2aWNlICAgICAgICAgIG1t
YworZGV2aWNlICAgICAgICAgIG1tY3NkCitkZXZpY2UgICAgICAgICAgbW1jc3BpCitkZXZpY2UJ
CWFyNzF4eF93ZG9nCisKK2RldmljZQkJdWFydAorCitkZXZpY2UJCWxvb3AKK2RldmljZQkJZXRo
ZXIKK2RldmljZQkJbWQKK2RldmljZQkJYnBmCitkZXZpY2UJCXJhbmRvbQorZGV2aWNlCQlpZl9i
cmlkZ2UKKyMgZGV2aWNlCQlnaWYJCSMgaXBbNDZdIGluIGlwWzQ2XSB0dW5uZWxpbmcgcHJvdG9j
b2wKKyMgZGV2aWNlCQlncmUJCSMgZ2VuZXJpYyBlbmNhcHN1bGF0aW9uIC0gb25seSBmb3IgSVB2
NCBpbiBJUHY0IHRob3VnaCBhdG0KKworIyBvcHRpb25zCQlBUkdFX0RFQlVHCSMgRW5hYmxlIGlm
X2FyZ2UgZGVidWdnaW5nIGZvciBub3cKKworZGV2aWNlCQlncGlvCitkZXZpY2UJCWdwaW9sZWQK
KworI29wdGlvbnMJCVJCX0dQSU9fUElOUworI29wdGlvbnMJCUZJWF9SQl9NQUNfQUREUkVTUwor
CitvcHRpb25zCQlEVU1NWU5FVAorb3B0aW9ucwkJTElCQUxJQVMKK29wdGlvbnMJCUlQRElWRVJU
CitvcHRpb25zCQlJUFNURUFMVEgKK29wdGlvbnMJCUlQRklSRVdBTEwKK29wdGlvbnMJCUlQRklS
RVdBTExfTkFUCitvcHRpb25zCQlJUEZJUkVXQUxMX0ZPUldBUkQKK29wdGlvbnMJCUlQRklSRVdB
TExfVkVSQk9TRQorb3B0aW9ucwkJSVBGSVJFV0FMTF9ERUZBVUxUX1RPX0FDQ0VQVApJbmRleDog
c3lzL21pcHMvY29uZi9SQjQ1MC5oaW50cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbWlwcy9jb25mL1JC
NDUwLmhpbnRzCShyZXZpc2lvbiAwKQorKysgc3lzL21pcHMvY29uZi9SQjQ1MC5oaW50cwkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw3MCBAQAorIworIyAkRnJlZUJTRCQKKyMKK2hpbnQuYXBiLjAu
YXQ9Im5leHVzMCIKK2hpbnQuYXBiLjAuaXJxPTQKKworIyB1YXJ0MAoraGludC51YXJ0LjAuYXQ9
ImFwYjAiCisjIHNlZSBhdGhlcm9zL3VhcnRfY3B1X2FyNzF4eC5jIHdoeSArMworaGludC51YXJ0
LjAubWFkZHI9MHgxODAyMDAwMworaGludC51YXJ0LjAubXNpemU9MHgxOAoraGludC51YXJ0LjAu
aXJxPTMKKworI29oY2kKKyNoaW50Lm9oY2kuMC5hdD0iYXBiMCIKKyNoaW50Lm9oY2kuMC5tYWRk
cj0weDFjMDAwMDAwCisjaGludC5vaGNpLjAubXNpemU9MHgwMTAwMDAwMAorI2hpbnQub2hjaS4w
LmlycT02CisKKyNlaGNpCisjaGludC5laGNpLjAuYXQ9Im5leHVzMCIKKyNoaW50LmVoY2kuMC5t
YWRkcj0weDFiMDAwMDAwCisjaGludC5laGNpLjAubXNpemU9MHgwMTAwMDAwMAorI2hpbnQuZWhj
aS4wLmlycT0xCisKKyMgcGNpCisjaGludC5wY2liLjAuYXQ9Im5leHVzMCIKKyNoaW50LnBjaWIu
MC5pcnE9MAorCitoaW50LmFyZ2UuMC5hdD0ibmV4dXMwIgoraGludC5hcmdlLjAubWFkZHI9MHgx
OTAwMDAwMAoraGludC5hcmdlLjAubXNpemU9MHgxMDAwCitoaW50LmFyZ2UuMC5pcnE9MgorIyBQ
SFkwLCBQSFkxLCBQSFkyLCBQSFkzCitoaW50LmFyZ2UuMC5waHltYXNrPTB4MGYKKworaGludC5h
cmdlLjEuYXQ9Im5leHVzMCIKK2hpbnQuYXJnZS4xLm1hZGRyPTB4MUEwMDAwMDAKK2hpbnQuYXJn
ZS4xLm1zaXplPTB4MTAwMAoraGludC5hcmdlLjEuaXJxPTMKKyMgUEhZNAoraGludC5hcmdlLjEu
cGh5bWFzaz0weDEwCisKKyMgU1BJIGNvbnRyb2xsZXIKK2hpbnQuc3BpLjAuYXQ9Im5leHVzMCIK
K2hpbnQuc3BpLjAubWFkZHI9MHgxZjAwMDAwMAoraGludC5zcGkuMC5tc2l6ZT0weDEwCisKKyMg
U1BJIG1pY3JvU0Qgc2xvdAoraGludC5tbWNzcGkuMC5hdD0ic3BpYnVzMCIKK2hpbnQubW1jc3Bp
LjAuY3M9MgorCisjIFdhdGNoZG9nCitoaW50LmFyNzF4eF93ZG9nLjAuYXQ9Im5leHVzMCIKKwor
IyBHUElPCitoaW50LmdwaW8uMC5hdD0iYXBiMCIKK2hpbnQuZ3Bpby4wLm1hZGRyPTB4MTgwNDAw
MDAKK2hpbnQuZ3Bpby4wLm1zaXplPTB4MTAwMAoraGludC5ncGlvLjAuaXJxPTIKKworIyBVc2Vy
IGxlZAoraGludC5ncGlvbGVkLjAuYXQ9ImdwaW9idXMwIgoraGludC5ncGlvbGVkLjAubmFtZT0i
dXNlciIKKyMgcGluIDQKK2hpbnQuZ3Bpb2xlZC4wLnBpbnM9MHgwMDEwCisKKyMgaHdwbWMgZGV2
aWNlCitoaW50LmFyNzF4eF9wbWMuMC5hdD0iYXBiMCIKK2hpbnQuYXI3MXh4X3BtYy4wLmlycT01
CkluZGV4OiBzeXMvbWlwcy9hdGhlcm9zL2FyNzF4eF9tYWNoZGVwLmMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
c3lzL21pcHMvYXRoZXJvcy9hcjcxeHhfbWFjaGRlcC5jCShyZXZpc2lvbiAyMzE4OTQpCisrKyBz
eXMvbWlwcy9hdGhlcm9zL2FyNzF4eF9tYWNoZGVwLmMJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYg
KzY0LDcgQEAKIC8qIDRLQiBzdGF0aWMgZGF0YSBhcmVhZCB0byBrZWVwIGEgY29weSBvZiB0aGUg
Ym9vdGxvYWQgZW52IHVudGlsCiAgICB0aGUgZHluYW1pYyBrZW52IGlzIHNldHVwICovCiBjaGFy
IGJvb3QxX2Vudls0MDk2XTsKK2NoYXIgYm9hcmRfbW9kZWxbNjRdOwogCiAvKgogICogV2UgZ2V0
IGEgc3RyaW5nIGluIGZyb20gUmVkYm9vdCB3aXRoIHRoZSBhbGwgdGhlIGFyZ3VtZW50cyB0b2dl
dGhlciwKQEAgLTE2OCw3ICsxNjksNyBAQAogICAgIF9fcmVnaXN0ZXJfdCBhMiBfX3VudXNlZCwg
X19yZWdpc3Rlcl90IGEzIF9fdW51c2VkKQogewogCXVpbnQ2NF90IHBsYXRmb3JtX2NvdW50ZXJf
ZnJlcTsKLQlpbnQgYXJnYyA9IDAsIGk7CisJaW50IGFyZ2MgPSAwLCBpLCBib2FyZF9tZW0sIGNv
dW50ID0gMDsKIAljaGFyICoqYXJndiA9IE5VTEwsICoqZW52cCA9IE5VTEw7CiAJdm1fb2Zmc2V0
X3Qga2VybmVuZDsKIApAQCAtMTk3LDYgKzE5OCwyNyBAQAogCQl9CiAJfQogCisJLyogUGFyc2Ug
Y21kIGFyZ3VtZW50cyAqLworCWlmIChNSVBTX0lTX1ZBTElEX1BUUihhcmd2KSkgeworCQlmb3Ig
KGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7CisJCQlpZiAoc3RybmNtcChhcmd2W2ldLCAia21hYz0i
LCA1KSA9PSAwKSB7CisJCQkJY291bnQgPSBzc2NhbmYoYXJndltpXSArIDUsICIleDoleDoleDol
eDoleDoleCIsCisJCQkJICAgICZhcjcxMV9iYXNlX21hY1swXSwgJmFyNzExX2Jhc2VfbWFjWzFd
LAorCQkJCSAgICAmYXI3MTFfYmFzZV9tYWNbMl0sICZhcjcxMV9iYXNlX21hY1szXSwKKwkJCQkg
ICAgJmFyNzExX2Jhc2VfbWFjWzRdLCAmYXI3MTFfYmFzZV9tYWNbNV0pOworCQkJCWlmIChjb3Vu
dCA8IDYpCisJCQkJCW1lbXNldChhcjcxMV9iYXNlX21hYywgMCwKKwkJCQkJICAgIHNpemVvZihh
cjcxMV9iYXNlX21hYykpOworCQkJfSBlbHNlIGlmIChzdHJuY21wKGFyZ3ZbaV0sICJtZW09Iiwg
NCkgPT0gMCkgeworCQkJCWlmIChzc2NhbmYoYXJndltpXSArIDQsICIlZE0iLCAmYm9hcmRfbWVt
KSA9PSAxKQorCQkJCQlyZWFsbWVtID0gYnRvYyhib2FyZF9tZW0gKiAxMDI0ICogMTAyNCk7CisJ
CQl9IGVsc2UgaWYgKHN0cm5jbXAoYXJndltpXSwgImJvYXJkPSIsIDYpID09IDApIHsKKwkJCQlz
dHJsY3B5KGJvYXJkX21vZGVsLCBhcmd2W2ldICsgNiwKKwkJCQkgICAgIHNpemVvZihib2FyZF9t
b2RlbCkpOworCQkJfQorCQl9CisJfQorCiAJLyoKIAkgKiBKdXN0IHdpbGQgZ3Vlc3MuIFJlZEJv
b3QgbGV0IHVzIGRvd24gYW5kIGRpZG4ndCByZXBvcnRlZCAKIAkgKiBtZW1vcnkgc2l6ZQpJbmRl
eDogc3lzL21pcHMvYXRoZXJvcy9pZl9hcmdlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvYXRo
ZXJvcy9pZl9hcmdlLmMJKHJldmlzaW9uIDIzMTg5NCkKKysrIHN5cy9taXBzL2F0aGVyb3MvaWZf
YXJnZS5jCSh3b3JraW5nIGNvcHkpCkBAIC0xODAsNiArMTgwLDggQEAKICAqLwogZXh0ZXJuIHVp
bnQzMl90IGFyNzExX2Jhc2VfbWFjW0VUSEVSX0FERFJfTEVOXTsKIAorZXh0ZXJuIGNoYXIgYm9h
cmRfbW9kZWxbNjRdOworCiBzdGF0aWMgc3RydWN0IG10eCBtaWlidXNfbXR4OwogCiBNVFhfU1lT
SU5JVChtaWlidXNfbXR4LCAmbWlpYnVzX210eCwgImFyZ2UgbWlpIGxvY2siLCBNVFhfREVGKTsK
QEAgLTM5NSw4ICszOTcsMTUgQEAKIAkJZWFkZHJbNV0gPSAocm5kID4+IDgpICYgMHhmZjsKIAl9
CiAKLQlpZiAoc2MtPmFyZ2VfbWFjX3VuaXQgIT0gMCkKLQkJZWFkZHJbNV0gKz0gIHNjLT5hcmdl
X21hY191bml0OworCWlmIChzdHJuY21wKGJvYXJkX21vZGVsLCAiNDUwIiwgMykgPT0gMCB8fAor
CSAgICBzdHJuY21wKGJvYXJkX21vZGVsLCAiNDMzIiwgMykgPT0gMCB8fAorCSAgICBzdHJuY21w
KGJvYXJkX21vZGVsLCAiNDkzIiwgMykgPT0gMCkgeworCQlpZiAoc2MtPmFyZ2VfbWFjX3VuaXQg
PT0gMCkKKwkJCWVhZGRyWzVdICs9IDE7CisJfSBlbHNlIHsKKwkJaWYgKHNjLT5hcmdlX21hY191
bml0ICE9IDApCisJCQllYWRkcls1XSArPSBzYy0+YXJnZV9tYWNfdW5pdDsKKwl9CiAKIAlpZiAo
YXJnZV9kbWFfYWxsb2Moc2MpICE9IDApIHsKIAkJZXJyb3IgPSBFTlhJTzsKSW5kZXg6IHN5cy9t
aXBzL2F0aGVyb3MvYXI3MXh4X2NoaXAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbWlwcy9hdGhlcm9z
L2FyNzF4eF9jaGlwLmMgIChyZXZpc2lvbiAyMzI3MjUpCisrKyBzeXMvbWlwcy9hdGhlcm9zL2Fy
NzF4eF9jaGlwLmMgICh3b3JraW5nIGNvcHkpCkBAIC0xMzYsMjEgKzEzNiwzNSBAQAogICAgICAg
IHJldHVybiAoKHJlZyAmIG1hc2spID09IG1hc2spOwogfQogCitzdGF0aWMgX19pbmxpbmUgdm9p
ZAorYXI3MXh4X2NoaXBfc2V0X21paV9zcGVlZCh1aW50MzJfdCByZWcsIHVpbnQzMl90IGN0cmwp
Cit7CisgICAgICAgdWludDMyX3QgdmFsOworCisgICAgICAgdmFsID0gQVRIX1JFQURfUkVHKHJl
Zyk7CisgICAgICAgdmFsICY9IH4oTUlJX0NUUkxfU1BFRURfTUFTSyA8PCBNSUlfQ1RSTF9TUEVF
RF9TSElGVCk7CisgICAgICAgdmFsIHw9IChjdHJsICYgTUlJX0NUUkxfU1BFRURfTUFTSykgPDwg
TUlJX0NUUkxfU1BFRURfU0hJRlQ7CisgICAgICAgQVRIX1dSSVRFX1JFRyhyZWcsIHZhbCk7Cit9
CisKIC8qIFNwZWVkIGlzIGVpdGhlciAxMCwgMTAwIG9yIDEwMDAgKi8KIHN0YXRpYyB2b2lkCiBh
cjcxeHhfY2hpcF9zZXRfcGxsX2dlKGludCB1bml0LCBpbnQgc3BlZWQpCiB7Ci0gICAgICAgdWlu
dDMyX3QgcGxsOworICAgICAgIHVpbnQzMl90IGN0cmwsIHBsbDsKIAogICAgICAgIHN3aXRjaCAo
c3BlZWQpIHsKICAgICAgICBjYXNlIDEwOgogICAgICAgICAgICAgICAgcGxsID0gUExMX0VUSF9J
TlRfQ0xLXzEwOworICAgICAgICAgICAgICAgY3RybCA9IE1JSV9DVFJMX1NQRUVEXzEwOwogICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAxMDA6CiAgICAgICAgICAgICAgICBwbGwg
PSBQTExfRVRIX0lOVF9DTEtfMTAwOworICAgICAgICAgICAgICAgY3RybCA9IE1JSV9DVFJMX1NQ
RUVEXzEwMDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMTAwMDoKICAgICAg
ICAgICAgICAgIHBsbCA9IFBMTF9FVEhfSU5UX0NMS18xMDAwOworICAgICAgICAgICAgICAgY3Ry
bCA9IE1JSV9DVFJMX1NQRUVEXzEwMDA7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgICAgcHJpbnRmKCIlcyVkOiBpbnZhbGlkIHNwZWVkICVkXG4i
LApAQCAtMTYyLDExICsxNzYsMTMgQEAKICAgICAgICAgICAgICAgIGFyNzF4eF93cml0ZV9wbGwo
QVI3MVhYX1BMTF9TRUNfQ09ORklHLAogICAgICAgICAgICAgICAgICAgIEFSNzFYWF9QTExfRVRI
X0lOVDBfQ0xLLCBwbGwsCiAgICAgICAgICAgICAgICAgICAgQVI3MVhYX1BMTF9FVEgwX1NISUZU
KTsKKyAgICAgICAgICAgICAgIGFyNzF4eF9jaGlwX3NldF9taWlfc3BlZWQoQVI3MVhYX01JSTBf
Q1RSTCwgY3RybCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDE6CiAgICAg
ICAgICAgICAgICBhcjcxeHhfd3JpdGVfcGxsKEFSNzFYWF9QTExfU0VDX0NPTkZJRywKICAgICAg
ICAgICAgICAgICAgICBBUjcxWFhfUExMX0VUSF9JTlQxX0NMSywgcGxsLAogICAgICAgICAgICAg
ICAgICAgIEFSNzFYWF9QTExfRVRIMV9TSElGVCk7CisgICAgICAgICAgICAgICBhcjcxeHhfY2hp
cF9zZXRfbWlpX3NwZWVkKEFSNzFYWF9NSUkxX0NUUkwsIGN0cmwpOwogICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHByaW50ZigiJXM6IGludmFs
aWQgUExMIHNldCBmb3IgYXJnZSB1bml0OiAlZFxuIiwKSW5kZXg6IHN5cy9taXBzL2F0aGVyb3Mv
YXI3MXh4cmVnLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL21pcHMvYXRoZXJvcy9hcjcxeHhyZWcuaAko
cmV2aXNpb24gMjMxODk0KQorKysgc3lzL21pcHMvYXRoZXJvcy9hcjcxeHhyZWcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcwLDYgKzI3MCwxMyBAQAogLyoKICAqIEdpZ0UgYWRhcHRlcnMgcmVnaW9u
CiAgKi8KKyNkZWZpbmUgQVI3MVhYX01JSTBfQ1RSTAkweDE4MDcwMDAwCisjZGVmaW5lIEFSNzFY
WF9NSUkxX0NUUkwJMHgxODA3MDAwNAorI2RlZmluZQkJTUlJX0NUUkxfU1BFRURfU0hJRlQJNAor
I2RlZmluZQkJTUlJX0NUUkxfU1BFRURfTUFTSwkzCisjZGVmaW5lCQlNSUlfQ1RSTF9TUEVFRF8x
MAkwCisjZGVmaW5lCQlNSUlfQ1RSTF9TUEVFRF8xMDAJMQorI2RlZmluZQkJTUlJX0NUUkxfU1BF
RURfMTAwMAkyCiAjZGVmaW5lIEFSNzFYWF9NQUMwX0JBU0UJMHgxOTAwMDAwMAogI2RlZmluZSBB
UjcxWFhfTUFDMV9CQVNFCTB4MUEwMDAwMDAKIC8qCg==
--bcaec5016739ff212904baee5863--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAD44qMV=PEv3DFU7z1S=UhOYO3YMi7zqg7rsjn1zByTpN7ZxgA>