Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Aug 2010 10:30:33 +0800
From:      "MAI JIN" <Jin.Mai@alcatel-sbell.com.cn>
To:        <freebsd-performance@freebsd.org>, <freebsd-net@freebsd.org>
Subject:   HELP. FreeBSD 8.1 polling issue
Message-ID:  <1DB91DF937A4544C81E636468B91C21C0728E6FF@CNSHGSMBS03.ad4.ad.alcatel.com>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

------_=_NextPart_001_01CB44C6.A8EA2172
Content-Type: text/plain;
	charset="utf-8"
Content-Transfer-Encoding: base64

SGksDQoNCkkgZ290IGEgZnJlZUJTRCA4LjEgcG9sbGluZyBpc3N1ZSBvbiBteSBQQy4gSXQgaXMg
YSBkdWFsLWNvcmUgSW50ZWwgUGVudGl1bSB4ODYgUEMgKDIuOEdIeiBlYWNoIGNvcmUpLiBUaGUg
RXRoZXJuZXQgaW50ZXJmYWNlIGlzIEJyb2FkY29tIE5ldFh0cmVtZSA1N3h4IEdpZ2FiaXQgRXRo
ZXJuZXQgaW50ZXJmYWNlLg0KSSBzZXQgdGhlIGZvbGxvd2luZyBvcHRpb25zIChlbmFibGUgcG9s
bGluZyBhbmQgemVyby1idWZmZXIgY29weSkgYW5kIHJlYnVpbHQgdGhlIGtlcm5lbDoNCg0KQ29k
ZToNCiMgVG8gbWFrZSBhbiBTTVAga2VybmVsLCB0aGUgbmV4dCB0d28gbGluZXMgYXJlIG5lZWRl
ZA0Kb3B0aW9ucyAgICAgICAgIFNNUCAgICAgICAgICAgICAgICAgICAgICMgU3ltbWV0cmljIE11
bHRpUHJvY2Vzc29yIEtlcm5lbA0KZGV2aWNlICAgICAgICAgIGFwaWMgICAgICAgICAgICAgICAg
ICAgICMgSS9PIEFQSUMNCg0Kb3B0aW9ucyBERVZJQ0VfUE9MTElORyAjIE9wZW4gUG9sbGluZw0K
b3B0aW9ucyBIWj0xMDAwDQpvcHRpb25zIFpFUk9fQ09QWV9TT0NLRVRTDQpUaGUgZm9sbG93aW5n
IHdlcmUgYXBwZW5kZWQgdG8gdGhlIC9ldGMvc3lzY3RsLmNvbmYNCg0KQ29kZToNCmtlcm4ucG9s
bGluZy5lbmFibGU9MQ0KIyBpbmNyZWFzZSBCUEYgYnVmZmVyIHRvIDEwTQ0KbmV0LmJwZi5idWZz
aXplPTEwNDg1NzYwDQpuZXQuYnBmLm1heGJ1ZnNpemU9MTA0ODU3NjANCmtlcm4ucG9sbGluZy5p
ZGxlX3BvbGw9MQ0Ka2Vybi5wb2xsaW5nLmJ1cnN0X21heD0xMDAwDQpBZnRlciBpbnN0YWxsZWQg
YW5kIHJlYm9vdGVkIHRoZSBzeXN0ZW0sIGtlcm4ucG9sbGluZy5lbmFibGUgd2FzIG5vdCBmb3Vu
ZCBpbiBNSUIgc28gSSBoYWQgdG8gaWdub3JlIHRoaXMgZXJyb3IuIExvb2tzIGxpa2Uga2Vybi5w
b2xsaW5nLmVuYWJsZSBpcyByZW1vdmVkIGZyb20gRnJlZUJTRCB2OC4xPw0KRXZlcnl0aGluZyBs
b29rZWQgZ29vZCBzbyBidWlsZCBteSBhcHBsaWNhdGlvbiB0byByZWNlaXZlZCBkYXRhIGZyb20g
YW5vdGhlciBIUCBzZXJ2ZXIuIEkgd3JvdGUgdGhlIGFwcGxpY2F0aW9uIHVzaW5nIGxpYnBjYXAt
MS4xLjEgd2l0aCBCRlAgemVyby1jb3B5IHR1cm5lZCBvbiAoSSBmb3VuZCB0aGUgI2RlZmluZSBI
QVZFX1pFUk9DT1BZX0JQRiAxIGluIGNvbmZpZy5oKS4gQXR0YWNoZWQgcGxlYXNlIGZpbmQgdGhl
IHNvdXJjZSBjb2RlIG9mIG15IGFwcGxpY2F0aW9uLg0KDQpCZWZvcmUgcnVubmluZyB0aGUgYXBw
bGljYXRpb24sIEkgc2V0IHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVyczoNCg0KQ29kZToNCmlmY29u
ZmlnIGJnZTAgcG9sbGluZyAgICAgIyBUaGlzIHdpbGwgdHVybiBvbiB0aGUgcG9sbGluZyBvZiB0
aGUgQnJvYWRjb20gZHJpdmVyLg0KQ29kZToNCnN5c2N0bCAtdyBuZXQuYnBmLmJ1ZnNpemU9MTA0
ODU3NjAgDQpzeXNjdGwgLXcgbmV0LmJwZi5tYXhidWZzaXplPTEwNDg1NzYwDQpzeXNjdGwgLXcg
a2Vybi5wb2xsaW5nLmlkbGVfcG9sbD0xDQpzeXNjdGwgLXcga2Vybi5wb2xsaW5nLmJ1cnN0X21h
eD0xMDAwDQpzeXNjdGwgLXcga2Vybi5wb2xsaW5nLmVhY2hfYnVyc3Q9MTI4DQpzeXNjdGwgLXcg
bmV0LmluZXQuaXAuaW50cl9xdWV1ZV9tYXhsZW49MjU2DQpUaGVuIEkgcmFuIHRoZSBhcHBsaWNh
dGlvbiB0byByZWNlaXZlIGRhdGEgZnJvbSB0aGUgSFAgc2VydmVyLiBJIHJhbiBtdWx0aXBsZSBp
cGVyZiBvbiB0aGUgSFAgc2VydmVyIHRvIHNlbmQgYXJvdW5kIDEzM01iaXRzL3MgVURQIGxvYWQg
dG8gdGhlIFBDIHVuZGVyIHRlc3QuIFRoZSBVRFAgcGF5bG9hZCBzaXplIHdhcyA0NyBieXRlcy4g
VGhlIGVudGlyZSBJUCBwYWNrZXQgc2l6ZSBpcyA3NiBieXRlcy4NCg0KRmlyc3Qgb2YgYWxsLCB0
aGUgcmVjZWl2aW5nIGFwcGxpY2F0aW9uIHdvcmtlZCB3ZWxsIGFuZCByZWNlaXZlZCBhcm91bmQg
MjA1SyBwYWNrZXRzL3NlY29uZCB3aXRob3V0IHBhY2tldCBsb3NpbmcgKEkgY2hlY2tlZCB0aGUg
cmVjZWl2aW5nIHN0YXR1cyB1c2luZyBwY2FwX3N0YXRzKS4gSG93ZXZlciwgYWZ0ZXIgMiBtaW51
dGVzLCB0aGUgYXBwbGljYXRpb24gY2FuIG5vdCByZWNlaXZlZCBkYXRhIGFueSBtb3JlLiBUaGUg
cGFja2V0cy9zZWNvbmQgaXMgMC4gSSByYW4gdGhlIHBpbmcgZnJvbSB0aGUgUEMgdW5kZXIgdGVz
dCBhbmQgZm91bmQgdGhhdCB0aGUgcGluZyByZXBvcnRpbmcgdGltZW91dCBhbmQgZGVzdGluYXRp
b24gdW5yZWFjaGFibGUgKHRoZSBwaW5nIGZyb20gSFAgdG8gdGhlIFBDIGFsc28gZmFpbGVkKS4g
TG9va2VkIGxpa2UgdGhlIGxpbmsgYmV0d2VlbiB0aGUgSFAgc2VydmVyIGFuZCBQQyB3YXMgYnJv
a2VuIHNvIHRoZSBhcHBsaWNhdGlvbiBjb3VsZCByZWNlaXZlIGRhdGEuIE5vIHBhY2tldCB3YXMg
ZHJvcHBlZC4gVGhlbiBJIHJlc3RhcnQgdGhlIGJnZTAgaW50ZXJmYWNlIHVzaW5nOiBpZmNvbmZp
ZyBiZ2UwIGRvd24gJiYgaWZjb25maWcgYmdlMCB1cA0KDQpBbmQgdGhlbiBJIHJlLXJhbiB0aGUg
YXBwbGljYXRpb24gYW5kIGl0IGNvbnRpbnVlZCByZWNlaXZpbmcgZGF0YS4gQnV0IGFmdGVyIDEg
b3IgMiBtaW51dGVzLCB0aGUgbGluayBicm9rZSBhZ2Fpbi4gSSB0aGluayBpdCB3YXMgbXkgYXBw
bGljYXRpb24gdGhhdCBjYXVzZWQgdGhlIGJnZTAgaW50ZXJmYWNlIGRvd24uIEkgc3RhcnRlZCB0
aGUgdGNwZHVtcCBhbmQgaXQgd29ya2VkIHdlbGwgd2l0aG91dCBicmVha2luZyB0aGUgbGluay4g
DQoNCkkgdHJpZWQgdG8gaW5jcmVhc2UgdGhlIGtlcm4ucG9sbGluZy5lYWNoX2J1cnN0IGZyb20g
MTI4IHRvIDUwMCBidXQgdGhlIGFwcGxpY2F0aW9uIHdvdWxkIGNhdXNlIHRoZSBiZ2UwIGRvd24g
d2l0aGluIDEgbWludXRlLiBObyBwYWNrZXQgd2FzIGRyb3BwZWQgYmVmb3JlIHRoZSBsaW5rIHdh
cyBkb3duLg0KDQpJIGNoZWNrZWQgdGhlIENQVSB1c2FnZSBvZiB0aGUgUEMuIFRoZSBzeXMgdXNl
ZCBpcyBhcm91bmQgOTAlIChtaWdodCBiZSBjYXVzZWQgYnkga2Vybi5wb2xsaW5nLmlkbGVfcG9s
bD0xKSwgdXNlciBsYW5kIGlzIDEzJS4gDQpJIGRvbuKAmXQgdW5kZXJzdGFuZCB3aHkgdGhlIGFw
cGxpY2F0aW9uIHdvdWxkIGJyZWFrIHRoZSBiZ2UwLg0KDQpJIHRyaWVkIGNoYW5naW5nIHRoZSBw
YXJhbWV0ZXJzOg0Kb3B0aW9ucyBIWj0yMDAwDQoNCnN5c2N0bCAtdyBuZXQuYnBmLmJ1ZnNpemU9
MjA0ODU3NjAgDQpzeXNjdGwgLXcgbmV0LmJwZi5tYXhidWZzaXplPTIwNDg1NzYwDQpzeXNjdGwg
LXcga2Vybi5wb2xsaW5nLmlkbGVfcG9sbD0xDQpzeXNjdGwgLXcga2Vybi5wb2xsaW5nLmJ1cnN0
X21heD0xMDAwMA0Kc3lzY3RsIC13IGtlcm4ucG9sbGluZy5lYWNoX2J1cnN0PTUwMDANCg0KVGhl
IHBlcmZvcm1hbmNlIHdhcyBiZXR0ZXI6IEkgZ290IDMwN0sgcGFja2V0L3NlY29uZCAodGhlIEhQ
IHNlcnZlciBzZW5kZWQgYXJvdW5kIDI1ME1iaXRzL3MsIG15IFBDIGdvdCAyMDBNYml0cy9zKS4g
QnV0IGFmdGVyIDIgbWludXRlcywgdGhlIGJnZTAgd2FzIGRvd24gYWdhaW4uIA0KDQpDb3VsZCBh
bnlib2R5IGhhdmUgYSBsb29rIGF0IHRoaXMgaXNzdWU/IEhvdyBjYW4gSSBvcHRpbWl6ZSB0aGUg
cGVyZm9ybWFuY2Ugb2YgdGhlIHBvbGxpbmc/DQoNClRoYW5rcywNCkppbiANCg0KIDw8Y2FwLmNw
cD4+IA0KDQpCZXN0IHJlZ2FyZHMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K54qv5by6
5rGJ6ICF77yM6Jm96L+c5b+F6K+b44CCDQrpuqbov5sgTWFpIEppbg0KQWxjYXRlbCBTaGFuZ2hh
aSBCZWxsIChOYW5qaW5nKSBDby4gTHRkLg0KQWxjYXRlbC1OZXQ6IDI3MzUtNTAxMSANClRlbDog
KCs4NiktMjUtODQ3MyAxMjQwLTUwMTENCkFkZHI6IDExRiwgWWFuZ3RzZSBSaXZlciBUZWNoIFBh
cmsuIA0KICAgICAgICAgICBCdWlsZGluZyBOby40MCBvZiBOYW5jaGFuZyBSb2FkLCANCiAgICAg
ICAgICAgR3Vsb3UgRGlzdHJpY3QsIE5hbmppbmcsIENoaW5hDQpaaXA6IDIxMDAzNw0KamluLm1h
aUBBbGNhdGVsLXNiZWxsLmNvbS5jbg0KQVNCL01vQUQvUkRSL0JTUiBBUEwNCiANCg0K

------_=_NextPart_001_01CB44C6.A8EA2172
Content-Type: application/octet-stream;
	name="cap.cpp"
Content-Transfer-Encoding: base64
Content-Description: cap.cpp
Content-Disposition: attachment;
	filename="cap.cpp"

I2luY2x1ZGUgPC9yb290L3BjYXAvaW5jbHVkZS9wY2FwLmg+DQogI2luY2x1ZGUgPHVuaXN0ZC5o
Pg0KI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHNpZ25hbC5oPg0KI2luY2x1ZGUg
PHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RkbGliLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5j
bHVkZSA8bGltaXRzLmg+DQojaWZuZGVmIFdJTjMyDQojaW5jbHVkZSA8c3lzL3dhaXQuaD4NCiNp
bmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KI2VuZGlmIC8qIFdJ
TjMyICovDQovLyNpbmNsdWRlIDxuZXQvaWYuaD4NCiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+DQoj
aW5jbHVkZSA8bmV0aW5ldC9pbi5oPg0KI2luY2x1ZGUgPGFycGEvaW5ldC5oPg0KI2luY2x1ZGUg
PG5ldC9ldGhlcm5ldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4NCiNpbmNsdWRl
IDxuZXRpbmV0L2lwLmg+DQojaW5jbHVkZSA8bmV0aW5ldC91ZHAuaD4NCg0KdHlwZWRlZiBpbnQg
U1RBVFVTOw0KdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHVjaGFyX3Q7DQoNCiNkZWZpbmUgQUxBUk1f
U0xFRVAgICAgICAgICAgICAgNQ0KDQojZGVmaW5lIElQX1JFQ1ZfTUFYX1ZMQU4gICAgICAgIDQw
OTYNCiNkZWZpbmUgSVBfUkVDVl9USU1FT1VUIDANCiNkZWZpbmUgSVBfUkVBU1NFTUJMRV9USU1F
T1VUIDYwDQojZGVmaW5lIElQX1JFQ1ZfQlVGX1NJWkUgICAgNDA5Ng0KI2RlZmluZSBNQVhfRklM
VEVSX1NJWkUgNTEyDQojZGVmaW5lIElQX1JFQ1ZfTUFYX1BBQ0tFVF9TSVpFICAgICAgICAgNjU1
MzYNCg0KI2RlZmluZSBFUlJPUiAtMQ0KI2RlZmluZSBPSyAwDQoNCg0KI2RlZmluZSBFUlJPUl9N
QUpPUl9DTEFTUyBwcmludGYNCiNkZWZpbmUgVFJBQ0VfV0FSTklOR19DTEFTUyBwcmludGYNCg0K
I2RlZmluZSBJUF9SRUNWX1RJTUVfVEhPVVNBTkQgICAxMDAwDQojZGVmaW5lIElQX1JFQ1ZfVElN
RV9NSUxMSU9OICAgICgxMDAwMDAwKQ0KDQojaWZuZGVmIEVUSEVSVFlQRV9WTEFODQojZGVmaW5l
IEVUSEVSVFlQRV9WTEFOICAgICAgICAgIDB4ODEwMCAgLyogSUVFRSA4MDIuMVEgVkxBTiB0YWdn
aW5nICovDQojZW5kaWYNCg0KI2RlZmluZSBNQVhfQUFMMlBBVEhfTlVNICAgICAgNTEyDQojZGVm
aW5lIEFBTDJQQVRIX1NUQVJUX1BPUlQgICA4MTkyDQoNCnBjYXBfdCAqbV9wZCA9IE5VTEw7DQpp
bnQgbV9kYXRhbGluayA9IERMVF9FTjEwTUI7DQppbnQgbV9zbmFwbGVuID0gSVBfUkVDVl9CVUZf
U0laRTsNCg0KdW5zaWduZWQgbG9uZyBtX3BrdENvdW50ID0gMDsNCnVuc2lnbmVkIGxvbmcgbV9w
a3RMZW4gPSAwOw0KDQppbl9hZGRyX3QgbV9pcCA9IDA7DQoNCnZvaWQgbXlfc2lnYWxhcm0oaW50
IHNpZykgOw0KDQp0eXBlZGVmIHN0cnVjdCBwY2FwX3N0YXQgbXlzdGF0OyANCiANCm15c3RhdCBh
Y3R1YWxTdGF0OyAvKiBhbGxvY2F0ZSBtZW1vcnkgZm9yIG15c3RhdCBvbiBzdGFjayAtIHlvdSBj
YW4gYWxzbyBkbyBpdCBvbiB0aGUgaGVhcCBieSBtYWxsb2MtaW5nICovIA0KbXlzdGF0ICpteXN0
YXRwID0gJmFjdHVhbFN0YXQ7IC8qIHVzZSBhbGxvY2F0ZWQgbWVtb3J5ICovIA0KIA0KDQpTVEFU
VVMgcHJvY2Vzc0lwUGFja2V0KGNvbnN0IHN0cnVjdCBwY2FwX3BrdGhkciAqaCwgc2l6ZV90IGxl
biwgY29uc3QgdWNoYXJfdCAqcGt0KQ0Kew0KICAgIHN0YXRpYyB1Y2hhcl90IG5ld19wa3RbSVBf
UkVDVl9NQVhfUEFDS0VUX1NJWkVdOw0KICAgIHVuc2lnbmVkIG5ld19sZW4gPSBzaXplb2YobmV3
X3BrdCk7DQogICAgaW50IGlzX2ZyYWdtZW50ID0gMDsNCiAgICBjb25zdCBzdHJ1Y3QgaXAgKmlw
Ow0KICAgIHVuc2lnbmVkIHggPSAwOw0KICAgIHVuc2lnbmVkIHByb3RvID0gMDsNCiAgICBzdHJ1
Y3QgaW5fYWRkciBpcF9kc3Q7DQogICAgc3RydWN0IGluX2FkZHIgaXBfc3JjOw0KICAgIGNvbnN0
IHVjaGFyX3QgKm9yaWdfcGt0ID0gcGt0Ow0KICAgIHNpemVfdCBvcmlnX2xlbiA9IGxlbjsNCiAg
ICB1bnNpZ25lZCBmcmFnX2hkcl9vZmZzZXQgPSAwOw0KDQogICAgaWYgKGxlbiA8IHNpemVvZihz
dHJ1Y3QgaXApKQ0KICAgICAgICByZXR1cm4gRVJST1I7DQoNCiAgICBpcCA9IChjb25zdCBzdHJ1
Y3QgaXAgKikgcGt0Ow0KICAgIGlmIChpcC0+aXBfdiAhPSBJUFZFUlNJT04pDQogICAgICAgIHJl
dHVybiBFUlJPUjsNCg0KICAgIHByb3RvID0gaXAtPmlwX3A7DQoNCiAgICBtZW1jcHkoJmlwX2Rz
dCwgJmlwLT5pcF9kc3QsIHNpemVvZihzdHJ1Y3QgaW5fYWRkcikpOw0KICAgIG1lbWNweSgmaXBf
c3JjLCAmaXAtPmlwX3NyYywgc2l6ZW9mKHN0cnVjdCBpbl9hZGRyKSk7DQogDQogICAgbV9wa3RD
b3VudCsrOw0KICAgIG1fcGt0TGVuICs9IGxlbjsNCg0KICAgIHggPSBpcC0+aXBfaGwgPDwgMjsN
CiAgICBpZiAobGVuIDw9IHgpDQogICAgICAgIHJldHVybiBFUlJPUjsNCg0KICAgIHBrdCArPSB4
Ow0KICAgIGxlbiAtPSB4Ow0KDQogICAgeCA9IG50b2hzKGlwLT5pcF9vZmYpOw0KICAgIGlzX2Zy
YWdtZW50ID0gKHggJiBJUF9PRkZNQVNLKSAhPSAwIHx8ICh4ICYgSVBfTUYpICE9IDA7DQoNCiAg
ICAgICAgaWYgKGlzX2ZyYWdtZW50KSANCiAgICAgICAgew0KICAgICAgICB9DQogICAgZWxzZQ0K
ICAgIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gT0s7DQogICAgfQ0KICAgIHJldHVybiBFUlJP
UjsNCn0NCg0KDQpTVEFUVVMgY2xlYW51cCgpDQp7DQogICAgaWYgKG1fcGQpDQogICAgICAgICAg
ICBwY2FwX2JyZWFrbG9vcChtX3BkKTsNCiAgICAgICAgLyoNCiAgICAgICAgICogV2UgZG9uJ3Qg
aGF2ZSAicGNhcF9icmVha2xvb3AoKSI7IHRoaXMgaXNuJ3Qgc2FmZSwgYnV0DQogICAgICAgICAq
IGl0J3MgdGhlIGJlc3Qgd2UgY2FuIGRvLiAgUHJpbnQgdGhlIHN1bW1hcnkgaWYgd2UncmUNCiAg
ICAgICAgICogbm90IHJlYWRpbmcgZnJvbSBhIHNhdmVmaWxlIC0gaS5lLiwgaWYgd2UncmUgZG9p
bmcgYQ0KICAgICAgICAgKiBsaXZlIGNhcHR1cmUgLSBhbmQgZXhpdC4NCiAgICAgICAgICovDQog
ICAgICAgIHBjYXBfY2xvc2UobV9wZCk7DQogICAgcmV0dXJuIE9LOw0KfQ0KDQoNCg0KU1RBVFVT
IHJlY2VpdmVEYXRhKGNvbnN0IHN0cnVjdCBwY2FwX3BrdGhkciAqaCwgY29uc3QgdWNoYXJfdCAq
YnVmKQ0Kew0KICAgICAgICBzaXplX3QgbGVuID0gaC0+Y2FwbGVuOw0KICAgIHVuc2lnbmVkIGV0
eXBlPTAgLCB2bGFuOw0KICAgIGNvbnN0IHVjaGFyX3QgKnBrdCA9IGJ1ZjsNCg0KICAgIHN3aXRj
aCAobV9kYXRhbGluaykNCiAgICB7DQogICAgICAgIGNhc2UgRExUX0VOMTBNQjoNCiAgICAgICAg
ew0KICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBldGhlcl9oZWFkZXIgKmV0aGVyOw0KDQog
ICAgICAgICAgICAgICAgaWYgKGxlbiA8IEVUSEVSX0hEUl9MRU4pDQogICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gRVJST1I7DQogICAgICAgICAgICAgICAgZXRoZXIgPSAoY29uc3Qgc3Ry
dWN0IGV0aGVyX2hlYWRlciAqKSBwa3Q7DQogICAgICAgICAgICAgICAgZXR5cGUgPSBudG9ocyhl
dGhlci0+ZXRoZXJfdHlwZSk7DQogICAgICAgICAgICAgICAgcGt0ICs9IEVUSEVSX0hEUl9MRU47
DQogICAgICAgICAgICAgICAgbGVuIC09IEVUSEVSX0hEUl9MRU47DQogICAgICAgICAgICAgICAg
aWYgKGV0eXBlID09IEVUSEVSVFlQRV9WTEFOKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBp
ZiAobGVuIDwgNCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVSUk9S
Ow0KICAgICAgICAgICAgICAgICAgICAgICAgdmxhbiA9IG50b2hzKCooY29uc3QgdWludDE2X3Qg
KikgcGt0KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBrdCArPSAyOw0KICAgICAgICAgICAg
ICAgICAgICAgICAgbGVuIC09IDI7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodmxhbiA8
IDEgfHwgdmxhbiA+IElQX1JFQ1ZfTUFYX1ZMQU4pDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBFUlJPUjsNCiAgICAgICAgICAgICAgICAgICAgICAgIGV0eXBlID0gbnRv
aHMoKihjb25zdCB1aW50MTZfdCAqKSBwa3QpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcGt0
ICs9IDI7DQogICAgICAgICAgICAgICAgICAgICAgICBsZW4gLT0gMjsNCiAgICAgICAgICAgICAg
IH0NCiAgICAgICAgIA0KLyoNCiAgICBtX3BrdENvdW50Kys7DQogICAgbV9wa3RMZW4gKz0gbGVu
Ow0KKi8NCiAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCg0KICAgICAgICBjYXNlIERMVF9SQVc6
DQogICAgICAgIHsNCiAgICAgICAgICAgICBldHlwZSA9IEVUSEVSVFlQRV9JUDsNCiAgICAgICAg
ICAgICBicmVhazsNCiAgICAgICAgfQ0KDQogICAgICAgIGNhc2UgRExUX05VTEw6IHsNCiAgICAg
ICAgICAgICAgICB1bnNpZ25lZCB4Ow0KDQogICAgICAgICAgICAgICAgaWYgKGxlbiA8IHNpemVv
ZihpbnQzMl90KSkNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFUlJPUjsNCiAgICAg
ICAgICAgICAgICB4ID0gKihjb25zdCB1aW50MzJfdCAqKXBrdDsNCiAgICAgICAgICAgICAgICBp
ZiAoeCA9PSBQRl9JTkVUKQ0KICAgICAgICAgICAgICAgICAgICAgICAgZXR5cGUgPSBFVEhFUlRZ
UEVfSVA7DQovKg0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKHggPT0gUEZfSU5FVDYpDQogICAg
ICAgICAgICAgICAgICAgICAgICBldHlwZSA9IEVUSEVSVFlQRV9JUFY2Ow0KKi8NCiAgICAgICAg
ICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRVJST1I7DQogICAg
ICAgICAgICAgICAgcGt0ICs9IHNpemVvZihpbnQzMl90KTsNCiAgICAgICAgICAgICAgICBsZW4g
LT0gc2l6ZW9mKGludDMyX3QpOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAg
fQ0KICAgICAgICANCiAgICAgICAgLy9Ob3QgZXRoZXJuZXQgZnJhbWUNCiAgICAgICAgZGVmYXVs
dDoNCiAgICAgICAgICByZXR1cm4gT0s7DQogICAgfQ0KICAgICANCiAgICBpZiAoZXR5cGUgIT0g
RVRIRVJUWVBFX0lQIHx8IGxlbiA8PSBzaXplb2Yoc3RydWN0IGlwKSkgLy93ZSByZWNlaXZlIElQ
djQgcGFja3J0IG9ubHkNCiAgICB7DQogICAgICAgIHJldHVybiBFUlJPUjsNCiAgICB9DQogICAg
cmV0dXJuIHByb2Nlc3NJcFBhY2tldChoLCBsZW4sIHBrdCk7DQp9DQoNCnZvaWQgcGFja2V0SGFu
ZGxlcih1Y2hhcl90ICp1c2VyLCBjb25zdCBzdHJ1Y3QgcGNhcF9wa3RoZHIgKmgsIGNvbnN0IHVj
aGFyX3QgKnNwKQ0Kew0KICAgcmVjZWl2ZURhdGEoaCwgc3ApOw0KfQ0KDQoNCg0Kdm9pZCBwcmlu
dE1zZ0luSGV4KGNvbnN0IHVjaGFyX3QgKmJ1ZiwgaW50IGxlbikNCnsNCiNkZWZpbmUgTlRMX01B
WF9NU0dfRFVNUF9MSU5FIDUwDQoNCiAgICAgICAgY2hhciAgICBsb2dbODE5Ml0gPSB7MH07DQog
ICAgICAgIGNoYXIgICAgICpwdHIgPSBsb2c7DQogICAgICAgIGludCAgICAgaTsNCg0KICAgICAg
ICBwdHIgKz0gc3ByaW50ZihwdHIsICJbJTRkXSAiLDApOw0KICAgICAgICBmb3IgKGkgPSAwOyBp
IDwgbGVuOyBpKyspDQogICAgICAgIHsNCiAgICAgICAgICAgICAgICBwdHIgKz0gc3ByaW50Zihw
dHIsICIlMDJYICIsIGJ1ZltpXSk7DQogICAgICAgICAgICAgICAgaWYgKCAoaSsxKSAlIE5UTF9N
QVhfTVNHX0RVTVBfTElORSA9PSAwICkgIC8qIEZlZWRMaW5lICovDQogICAgICAgICAgICAgICAg
ew0KICAgICAgICAgICAgICAgICAgICAgICAgLy9wdHIgKz0gc3ByaW50ZihwdHIsICJcbiIpOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgcHRyID0gbG9nOw0KICAgICAgICAgICAgICAgICAgICAg
ICAgcHJpbnRmKCIlc1xuIiwgbG9nKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHB0ciArPSBz
cHJpbnRmKHB0ciwgIlslNGRdICIsaSsxKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgIH0N
CiAgICAgICAgaWYoIGkgJSBOVExfTUFYX01TR19EVU1QX0xJTkUgIT0gMCApICAgLyogUHJpbnQg
UmVtYWluZyBCeXRlcyAqLw0KICAgICAgICB7DQogICAgICAgICAgICAgICAgLy9wdHIgKz0gc3By
aW50ZihwdHIsICJcbiIpOw0KICAgICAgICAgICAgICAgIHB0ciA9IGxvZzsNCiAgICAgICAgfQ0K
ICAgICAgICBwcmludGYoIiVzXG4iLCBsb2cpOw0KICAgICAgICByZXR1cm47DQp9DQoNCg0KU1RB
VFVTIHN0YXJ0KCkNCnsNCiAgICAgICAgcmVnaXN0ZXIgaW50IGNudCwgaTsNCiAgICAgICAgdWlu
dDMyX3QgbG9jYWxuZXQsIG5ldG1hc2s7DQogICAgICAgIHJlZ2lzdGVyIGNoYXIgKmNtZGJ1ZiA9
ICJ1ZHAgYW5kIGRzdCBob3N0IDE5Mi4xNjguNi4xMTEgYW5kIGRzdCBwb3J0cmFuZ2UgODE5Mi04
NTAwIiwgKmRldmljZTsNCiAgICAgICAgLy9yZWdpc3RlciBjaGFyICpjbWRidWYgPSAidWRwIGFu
ZCBkc3QgaG9zdCAxOTIuMTY4LjYuMTExIGFuZCBkc3QgcG9ydHJhbmdlIDgxOTItODUwMCIsICpk
ZXZpY2U7DQogICAgICAgIGludCB0eXBlOw0KICAgICAgICBzdHJ1Y3QgYnBmX3Byb2dyYW0gZmNv
ZGU7DQovLyAgICAgICAgc2lnaGFuZGxlcl90IG9sZGhhbmRsZXI7DQogICAgICAgIGNoYXIgZWJ1
ZltQQ0FQX0VSUkJVRl9TSVpFXTsNCiAgICAgICAgaW50IHN0YXR1czsNCg0KICAgICAgICBjbnQg
PSAtMTsgLy9sb29wIGZvciBldmVyDQogICAgICAgIGRldmljZSA9ICJiZ2UwIjsNCiAgICANCiAg
ICAgICAgaWYgKGRldmljZVswXSA9PSAnXDAnKSB7DQogICAgICAgICAgICAgICAgZGV2aWNlID0g
cGNhcF9sb29rdXBkZXYoZWJ1Zik7DQogICAgICAgICAgICAgICAgaWYgKGRldmljZSA9PSBOVUxM
KQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgRVJST1JfTUFKT1JfQ0xB
U1MoIkVSUk9SOiBObyBuZXR3b3JrIGludGVyZmFjZSB0byByZWNlaXZlIElQIHBhY2tldHMuICVz
IiwgZWJ1Zik7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBFUlJPUjsNCiAgICAgICAgICAg
ICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBpZiAobV9wZCkNCiAgICAgICAgICAgcGNhcF9j
bG9zZShtX3BkKTsNCiAgICAgICAgDQoNCiAgICAgICAgICAgICplYnVmID0gJ1wwJzsNCg0KICAg
ICAgICAgICAgcHJpbnRmKCJPcGVuZ2luZyBjYXB0dXJlIG9uICVzXG4iLCBkZXZpY2UpOw0KDQog
ICAgICAgICAgICBtX3BkID0gcGNhcF9vcGVuX2xpdmUoZGV2aWNlLCBJUF9SRUNWX0JVRl9TSVpF
LCAwLCBJUF9SRUNWX1RJTUVPVVQsIGVidWYpOw0KICAgICAgICAgICAgaWYgKG1fcGQgPT0gTlVM
TCl7DQogICAgICAgICAgICAgICAgRVJST1JfTUFKT1JfQ0xBU1MoIkVSUk9SOiBjYW5ub3Qgb3Bl
biAlcyB0byByZWFkIElQIHBhY2tldHMuICVzIiwgZGV2aWNlLCBlYnVmKTsNCiAgICAgICAgICAg
ICAgICByZXR1cm4gRVJST1I7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIGlmICgq
ZWJ1Zil7DQogICAgICAgICAgICAgICAgVFJBQ0VfV0FSTklOR19DTEFTUygiJXMiLCBlYnVmKTsN
CiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLyoNCiAgICAgICAgICAgICAqIExldCB1c2Vy
IG93biBwcm9jZXNzIGFmdGVyIHNvY2tldCBoYXMgYmVlbiBvcGVuZWQuDQogICAgICAgICAgICAg
Ki8NCg0KICAgICAgICAgbV9kYXRhbGluayA9IHBjYXBfZGF0YWxpbmsobV9wZCk7DQogICAgICAg
ICBpZiAobV9kYXRhbGluayAhPSBETFRfRU4xME1CICYmIG1fZGF0YWxpbmsgIT0gRExUX1JBVyl7
DQogICAgICAgICAgICAgICAgICAgIEVSUk9SX01BSk9SX0NMQVNTKCJEYXRhbGluayAlcyBpcyBu
b3Qgb25lIG9mIHRoZSBETFRzIHN1cHBvcnRlZCBieSB0aGlzIGRldmljZSAlcy4gT25seSBETFRf
RU4xME1CIGFuZCBETFRfUkFXIHN1cHBvcnRlZCBjdXJyZW50bHkuXG4iLA0KICAgICAgICAgICAg
ICAgICAgICAgICAgICBwY2FwX2RhdGFsaW5rX3ZhbF90b19uYW1lKG1fZGF0YWxpbmspLCBkZXZp
Y2UpOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gRVJST1I7DQogICAgICAgICB9DQoNCiAg
ICAgICAgaSA9IHBjYXBfc25hcHNob3QobV9wZCk7DQogICAgICAgIGlmIChtX3NuYXBsZW4gPCBp
KSB7DQogICAgICAgICAgICAgICAgVFJBQ0VfV0FSTklOR19DTEFTUygic25hcGxlbiByYWlzZWQg
ZnJvbSAlZCB0byAlZCIsIG1fc25hcGxlbiwgaSk7DQogICAgICAgICAgICAgICAgbV9zbmFwbGVu
ID0gaTsNCiAgICAgICAgfQ0KICAgICAgICBpZiAocGNhcF9sb29rdXBuZXQoZGV2aWNlLCAmbG9j
YWxuZXQsICZuZXRtYXNrLCBlYnVmKSA8IDApIHsNCiAgICAgICAgICAgICAgICBsb2NhbG5ldCA9
IDA7DQogICAgICAgICAgICAgICAgbmV0bWFzayA9IDA7DQogICAgICAgICAgICAgICAgVFJBQ0Vf
V0FSTklOR19DTEFTUygiJXMiLCBlYnVmKTsNCiAgICAgICAgfQ0KICAgIA0KLyoNCiAgICAgICAg
aWYgKHBjYXBfY29tcGlsZShtX3BkLCAmZmNvZGUsIGNtZGJ1ZiwgMCwgbmV0bWFzaykgPCAwKXsN
CiAgICAgICAgICAgIEVSUk9SX01BSk9SX0NMQVNTKCIlcyIsIHBjYXBfZ2V0ZXJyKG1fcGQpKTsN
CiAgICAgICAgICAgIHJldHVybiBFUlJPUjsNCiAgICAgICAgfQ0KDQogDQogICAgICAgIGlmIChw
Y2FwX3NldGZpbHRlcihtX3BkLCAmZmNvZGUpIDwgMCl7DQogICAgICAgICAgICBFUlJPUl9NQUpP
Ul9DTEFTUygiJXMiLCBwY2FwX2dldGVycihtX3BkKSk7DQogICAgICAgICAgICByZXR1cm4gRVJS
T1I7DQogICAgICAgICAgICB9DQoqLw0KDQogICAgICAgIHR5cGUgPSBwY2FwX2RhdGFsaW5rKG1f
cGQpOw0KDQogICAgDQogICAgICAgIHN0YXR1cyA9IHBjYXBfbG9vcChtX3BkLCBjbnQsIHBhY2tl
dEhhbmRsZXIsIDApOw0KICAgICAgICBpZiAoc3RhdHVzID09IC0xKSB7DQogICAgICAgICAgICAv
Kg0KICAgICAgICAgICAgICogRXJyb3IuICBSZXBvcnQgaXQuDQogICAgICAgICAgICAgKi8NCiAg
ICAgICAgIEVSUk9SX01BSk9SX0NMQVNTKCAiJXM6IHBjYXBfbG9vcCBleGl0OiAlc1xuIiwNCiAg
ICAgICAgICAgICAgICBkZXZpY2UsIHBjYXBfZ2V0ZXJyKG1fcGQpKTsNCiAgICAgICAgfQ0KICAg
ICAgICBwY2FwX2Nsb3NlKG1fcGQpOw0KICAgICAgICByZXR1cm4gKHN0YXR1cyA9PSAtMSA/IEVS
Uk9SIDogT0spOw0KfQ0KDQoNCnZvaWQgbXlfc2lnYWxhcm0oaW50IHNpZykgew0KDQoNCiAgcHJp
bnRmKCJQYWNrZXRzL1M6ICVkLCAgQml0cy9TOiAlZCAoJWYgTWJpdHMvUylcbiIsICBtX3BrdENv
dW50L0FMQVJNX1NMRUVQLCBtX3BrdExlbio4L0FMQVJNX1NMRUVQLCAoKGZsb2F0KShtX3BrdExl
bio4KSkvKEFMQVJNX1NMRUVQKjEwMjQqMTAyNCkpOw0KDQogIG1fcGt0Q291bnQ9MDsNCiAgbV9w
a3RMZW49MDsNCg0KLyogUHV0IHRoZSBpbnRlcmZhY2UgaW4gc3RhdGlzdGljcyBtb2RlICovDQpp
ZihwY2FwX3N0YXRzKG1fcGQsIG15c3RhdHApIDwgMCkNCnsNCiAgICBmcHJpbnRmKHN0ZGVyciwi
XG5FcnJvciBwY2FwX3N0YXRzLlxuIik7DQp9DQplbHNlDQp7DQogICAgcHJpbnRmKCJOdW0gb2Yg
cmVjdjogJWQsIE51bSBvZiBkcm9wOiAlZFxuIiwgbXlzdGF0cC0+cHNfcmVjdiwgbXlzdGF0cC0+
cHNfZHJvcCk7DQp9DQogIGFsYXJtKEFMQVJNX1NMRUVQKTsNCiAgc2lnbmFsKFNJR0FMUk0sIG15
X3NpZ2FsYXJtKTsNCn0NCg0KaW50IG1haW4oKQ0Kew0KICAgIHNpZ25hbChTSUdBTFJNLCBteV9z
aWdhbGFybSk7DQogICAgYWxhcm0oQUxBUk1fU0xFRVApOw0KICAgIHJldHVybiBzdGFydCgpOw0K
fQ==

------_=_NextPart_001_01CB44C6.A8EA2172--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1DB91DF937A4544C81E636468B91C21C0728E6FF>