Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Nov 2007 16:54:03 -0700
From:      "Jack Vogel" <jfvogel@gmail.com>
To:        "FreeBSD Stable List" <freebsd-stable@freebsd.org>,  "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Test changes to em
Message-ID:  <2a41acea0711011654j56037949m381de3f9a243562d@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
------=_Part_14646_10493375.1193961243659
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

This is a substantial change to the EM driver that I would
appreciate some testing and feedback on.

You just replace the two files in your STABLE tree. Its big
enough that this seemed easier than a patch.

Whats in this:

A change Mike Silbersack came up with, it makes the
watchdog period twice as long, but then in the middle
of it fires off a clean.  Thats a small change.

Secondly, I took the locking mechanism I used in ixgbe
and added it here. It uses two locks: core and tx instead
of one.

Third, added the EEPROM dumper into the driver, if you
do `sysctl dev.em.X.debug=2' it will dump 32 words
worth of the prom, this will allow an easy way to tell if
you need a patch to an 82573 for instance.

Next, I found a serious bug for Zoar (82575) users, it
had to do with how and when I decide to try and use
MSI/X, the fact that no one has squawked about this
must mean all users are running 7 :) cuz on STABLE
right now the driver load will FAIL if you enable MSI/X
on the system.  What I did was to create a new function
for setting up msi and msix, its much cleaner and fixes
this problem.

In any case, I have done some pounding on this but
wider testing would be good, let me know what you
find.

I hope to get this all resolved and into the tree for 6.3.

Jack

------=_Part_14646_10493375.1193961243659
Content-Type: application/octet-stream; name=if_em.h
Content-Transfer-Encoding: base64
X-Attachment-Id: f_f8hxjwuf
Content-Disposition: attachment; filename=if_em.h

LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCgpDb3B5cmlnaHQgKGMpIDIwMDEtMjAwNywgSW50ZWwgQ29ycG9y
YXRpb24KQWxsIHJpZ2h0cyByZXNlcnZlZC4KClJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAptb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoK
CiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsCiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgoKIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgoKIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIEludGVsIENvcnBvcmF0aW9uIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogICAgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KClRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElT
IgpBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCklNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCkFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRQpMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCkNPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GClNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwpJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgpDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQpBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQpQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKi8KLyokRnJlZUJTRCQqLwoKI2lmbmRlZiBfRU1fSF9ERUZJTkVEXwoj
ZGVmaW5lIF9FTV9IX0RFRklORURfCgovKiBUdW5hYmxlcyAqLwoKLyoKICogRU1fVFhEOiBNYXhp
bXVtIG51bWJlciBvZiBUcmFuc21pdCBEZXNjcmlwdG9ycwogKiBWYWxpZCBSYW5nZTogODAtMjU2
IGZvciA4MjU0MiBhbmQgODI1NDMtYmFzZWQgYWRhcHRlcnMKICogICAgICAgICAgICAgIDgwLTQw
OTYgZm9yIG90aGVycwogKiBEZWZhdWx0IFZhbHVlOiAyNTYKICogICBUaGlzIHZhbHVlIGlzIHRo
ZSBudW1iZXIgb2YgdHJhbnNtaXQgZGVzY3JpcHRvcnMgYWxsb2NhdGVkIGJ5IHRoZSBkcml2ZXIu
CiAqICAgSW5jcmVhc2luZyB0aGlzIHZhbHVlIGFsbG93cyB0aGUgZHJpdmVyIHRvIHF1ZXVlIG1v
cmUgdHJhbnNtaXRzLiBFYWNoCiAqICAgZGVzY3JpcHRvciBpcyAxNiBieXRlcy4KICogICBTaW5j
ZSBURExFTiBzaG91bGQgYmUgbXVsdGlwbGUgb2YgMTI4Ynl0ZXMsIHRoZSBudW1iZXIgb2YgdHJh
bnNtaXQKICogICBkZXNzY3JpcHRvcnMgc2hvdWxkIG1lZXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b24uCiAqICAgICAgKG51bV90eF9kZXNjICogc2l6ZW9mKHN0cnVjdCBlMTAwMF90eF9kZXNjKSkg
JSAxMjggPT0gMAogKi8KI2RlZmluZSBFTV9NSU5fVFhECQk4MAojZGVmaW5lIEVNX01BWF9UWERf
ODI1NDMJMjU2CiNkZWZpbmUgRU1fTUFYX1RYRAkJNDA5NgojZGVmaW5lIEVNX0RFRkFVTFRfVFhE
CQlFTV9NQVhfVFhEXzgyNTQzCgovKgogKiBFTV9SWEQgLSBNYXhpbXVtIG51bWJlciBvZiByZWNl
aXZlIERlc2NyaXB0b3JzCiAqIFZhbGlkIFJhbmdlOiA4MC0yNTYgZm9yIDgyNTQyIGFuZCA4MjU0
My1iYXNlZCBhZGFwdGVycwogKiAgICAgICAgICAgICAgODAtNDA5NiBmb3Igb3RoZXJzCiAqIERl
ZmF1bHQgVmFsdWU6IDI1NgogKiAgIFRoaXMgdmFsdWUgaXMgdGhlIG51bWJlciBvZiByZWNlaXZl
IGRlc2NyaXB0b3JzIGFsbG9jYXRlZCBieSB0aGUgZHJpdmVyLgogKiAgIEluY3JlYXNpbmcgdGhp
cyB2YWx1ZSBhbGxvd3MgdGhlIGRyaXZlciB0byBidWZmZXIgbW9yZSBpbmNvbWluZyBwYWNrZXRz
LgogKiAgIEVhY2ggZGVzY3JpcHRvciBpcyAxNiBieXRlcy4gIEEgcmVjZWl2ZSBidWZmZXIgaXMg
YWxzbyBhbGxvY2F0ZWQgZm9yIGVhY2gKICogICBkZXNjcmlwdG9yLiBUaGUgbWF4aW11bSBNVFUg
c2l6ZSBpcyAxNjExMC4KICogICBTaW5jZSBURExFTiBzaG91bGQgYmUgbXVsdGlwbGUgb2YgMTI4
Ynl0ZXMsIHRoZSBudW1iZXIgb2YgdHJhbnNtaXQKICogICBkZXNzY3JpcHRvcnMgc2hvdWxkIG1l
ZXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb24uCiAqICAgICAgKG51bV90eF9kZXNjICogc2l6ZW9m
KHN0cnVjdCBlMTAwMF90eF9kZXNjKSkgJSAxMjggPT0gMAogKi8KI2RlZmluZSBFTV9NSU5fUlhE
CQk4MAojZGVmaW5lIEVNX01BWF9SWERfODI1NDMJMjU2CiNkZWZpbmUgRU1fTUFYX1JYRAkJNDA5
NgojZGVmaW5lIEVNX0RFRkFVTFRfUlhECUVNX01BWF9SWERfODI1NDMKCi8qCiAqIEVNX1RJRFYg
LSBUcmFuc21pdCBJbnRlcnJ1cHQgRGVsYXkgVmFsdWUKICogVmFsaWQgUmFuZ2U6IDAtNjU1MzUg
KDA9b2ZmKQogKiBEZWZhdWx0IFZhbHVlOiA2NAogKiAgIFRoaXMgdmFsdWUgZGVsYXlzIHRoZSBn
ZW5lcmF0aW9uIG9mIHRyYW5zbWl0IGludGVycnVwdHMgaW4gdW5pdHMgb2YKICogICAxLjAyNCBt
aWNyb3NlY29uZHMuIFRyYW5zbWl0IGludGVycnVwdCByZWR1Y3Rpb24gY2FuIGltcHJvdmUgQ1BV
CiAqICAgZWZmaWNpZW5jeSBpZiBwcm9wZXJseSB0dW5lZCBmb3Igc3BlY2lmaWMgbmV0d29yayB0
cmFmZmljLiBJZiB0aGUKICogICBzeXN0ZW0gaXMgcmVwb3J0aW5nIGRyb3BwZWQgdHJhbnNtaXRz
LCB0aGlzIHZhbHVlIG1heSBiZSBzZXQgdG9vIGhpZ2gKICogICBjYXVzaW5nIHRoZSBkcml2ZXIg
dG8gcnVuIG91dCBvZiBhdmFpbGFibGUgdHJhbnNtaXQgZGVzY3JpcHRvcnMuCiAqLwojZGVmaW5l
IEVNX1RJRFYgICAgICAgICAgICAgICAgICAgICAgICAgNjQKCi8qCiAqIEVNX1RBRFYgLSBUcmFu
c21pdCBBYnNvbHV0ZSBJbnRlcnJ1cHQgRGVsYXkgVmFsdWUKICogKE5vdCB2YWxpZCBmb3IgODI1
NDIvODI1NDMvODI1NDQpCiAqIFZhbGlkIFJhbmdlOiAwLTY1NTM1ICgwPW9mZikKICogRGVmYXVs
dCBWYWx1ZTogNjQKICogICBUaGlzIHZhbHVlLCBpbiB1bml0cyBvZiAxLjAyNCBtaWNyb3NlY29u
ZHMsIGxpbWl0cyB0aGUgZGVsYXkgaW4gd2hpY2ggYQogKiAgIHRyYW5zbWl0IGludGVycnVwdCBp
cyBnZW5lcmF0ZWQuIFVzZWZ1bCBvbmx5IGlmIEVNX1RJRFYgaXMgbm9uLXplcm8sCiAqICAgdGhp
cyB2YWx1ZSBlbnN1cmVzIHRoYXQgYW4gaW50ZXJydXB0IGlzIGdlbmVyYXRlZCBhZnRlciB0aGUg
aW5pdGlhbAogKiAgIHBhY2tldCBpcyBzZW50IG9uIHRoZSB3aXJlIHdpdGhpbiB0aGUgc2V0IGFt
b3VudCBvZiB0aW1lLiAgUHJvcGVyIHR1bmluZywKICogICBhbG9uZyB3aXRoIEVNX1RJRFYsIG1h
eSBpbXByb3ZlIHRyYWZmaWMgdGhyb3VnaHB1dCBpbiBzcGVjaWZpYwogKiAgIG5ldHdvcmsgY29u
ZGl0aW9ucy4KICovCiNkZWZpbmUgRU1fVEFEViAgICAgICAgICAgICAgICAgICAgICAgICA2NAoK
LyoKICogRU1fUkRUUiAtIFJlY2VpdmUgSW50ZXJydXB0IERlbGF5IFRpbWVyIChQYWNrZXQgVGlt
ZXIpCiAqIFZhbGlkIFJhbmdlOiAwLTY1NTM1ICgwPW9mZikKICogRGVmYXVsdCBWYWx1ZTogMAog
KiAgIFRoaXMgdmFsdWUgZGVsYXlzIHRoZSBnZW5lcmF0aW9uIG9mIHJlY2VpdmUgaW50ZXJydXB0
cyBpbiB1bml0cyBvZiAxLjAyNAogKiAgIG1pY3Jvc2Vjb25kcy4gIFJlY2VpdmUgaW50ZXJydXB0
IHJlZHVjdGlvbiBjYW4gaW1wcm92ZSBDUFUgZWZmaWNpZW5jeSBpZgogKiAgIHByb3Blcmx5IHR1
bmVkIGZvciBzcGVjaWZpYyBuZXR3b3JrIHRyYWZmaWMuIEluY3JlYXNpbmcgdGhpcyB2YWx1ZSBh
ZGRzCiAqICAgZXh0cmEgbGF0ZW5jeSB0byBmcmFtZSByZWNlcHRpb24gYW5kIGNhbiBlbmQgdXAg
ZGVjcmVhc2luZyB0aGUgdGhyb3VnaHB1dAogKiAgIG9mIFRDUCB0cmFmZmljLiBJZiB0aGUgc3lz
dGVtIGlzIHJlcG9ydGluZyBkcm9wcGVkIHJlY2VpdmVzLCB0aGlzIHZhbHVlCiAqICAgbWF5IGJl
IHNldCB0b28gaGlnaCwgY2F1c2luZyB0aGUgZHJpdmVyIHRvIHJ1biBvdXQgb2YgYXZhaWxhYmxl
IHJlY2VpdmUKICogICBkZXNjcmlwdG9ycy4KICoKICogICBDQVVUSU9OOiBXaGVuIHNldHRpbmcg
RU1fUkRUUiB0byBhIHZhbHVlIG90aGVyIHRoYW4gMCwgYWRhcHRlcnMKICogICAgICAgICAgICBt
YXkgaGFuZyAoc3RvcCB0cmFuc21pdHRpbmcpIHVuZGVyIGNlcnRhaW4gbmV0d29yayBjb25kaXRp
b25zLgogKiAgICAgICAgICAgIElmIHRoaXMgb2NjdXJzIGEgV0FUQ0hET0cgbWVzc2FnZSBpcyBs
b2dnZWQgaW4gdGhlIHN5c3RlbQogKiAgICAgICAgICAgIGV2ZW50IGxvZy4gSW4gYWRkaXRpb24s
IHRoZSBjb250cm9sbGVyIGlzIGF1dG9tYXRpY2FsbHkgcmVzZXQsCiAqICAgICAgICAgICAgcmVz
dG9yaW5nIHRoZSBuZXR3b3JrIGNvbm5lY3Rpb24uIFRvIGVsaW1pbmF0ZSB0aGUgcG90ZW50aWFs
CiAqICAgICAgICAgICAgZm9yIHRoZSBoYW5nIGVuc3VyZSB0aGF0IEVNX1JEVFIgaXMgc2V0IHRv
IDAuCiAqLwojZGVmaW5lIEVNX1JEVFIgICAgICAgICAgICAgICAgICAgICAgICAgMAoKLyoKICog
UmVjZWl2ZSBJbnRlcnJ1cHQgQWJzb2x1dGUgRGVsYXkgVGltZXIgKE5vdCB2YWxpZCBmb3IgODI1
NDIvODI1NDMvODI1NDQpCiAqIFZhbGlkIFJhbmdlOiAwLTY1NTM1ICgwPW9mZikKICogRGVmYXVs
dCBWYWx1ZTogNjQKICogICBUaGlzIHZhbHVlLCBpbiB1bml0cyBvZiAxLjAyNCBtaWNyb3NlY29u
ZHMsIGxpbWl0cyB0aGUgZGVsYXkgaW4gd2hpY2ggYQogKiAgIHJlY2VpdmUgaW50ZXJydXB0IGlz
IGdlbmVyYXRlZC4gVXNlZnVsIG9ubHkgaWYgRU1fUkRUUiBpcyBub24temVybywKICogICB0aGlz
IHZhbHVlIGVuc3VyZXMgdGhhdCBhbiBpbnRlcnJ1cHQgaXMgZ2VuZXJhdGVkIGFmdGVyIHRoZSBp
bml0aWFsCiAqICAgcGFja2V0IGlzIHJlY2VpdmVkIHdpdGhpbiB0aGUgc2V0IGFtb3VudCBvZiB0
aW1lLiAgUHJvcGVyIHR1bmluZywKICogICBhbG9uZyB3aXRoIEVNX1JEVFIsIG1heSBpbXByb3Zl
IHRyYWZmaWMgdGhyb3VnaHB1dCBpbiBzcGVjaWZpYyBuZXR3b3JrCiAqICAgY29uZGl0aW9ucy4K
ICovCiNkZWZpbmUgRU1fUkFEViAgICAgICAgICAgICAgICAgICAgICAgICA2NAoKLyoKICogVGhp
cyBwYXJhbWV0ZXIgY29udHJvbHMgdGhlIGR1cmF0aW9uIG9mIHRyYW5zbWl0IHdhdGNoZG9nIHRp
bWVyLgogKi8KI2RlZmluZSBFTV9UWF9USU1FT1VUICAgICAgICAgICAgICAgICAgIDEwICAgIC8q
IHNldCB0byAxMCBzZWNvbmRzICovCgovKgogKiBUaGlzIHBhcmFtZXRlciBjb250cm9scyB3aGVu
IHRoZSBkcml2ZXIgY2FsbHMgdGhlIHJvdXRpbmUgdG8gcmVjbGFpbQogKiB0cmFuc21pdCBkZXNj
cmlwdG9ycy4KICovCiNkZWZpbmUgRU1fVFhfQ0xFQU5VUF9USFJFU0hPTEQJKGFkYXB0ZXItPm51
bV90eF9kZXNjIC8gOCkKI2RlZmluZSBFTV9UWF9PUF9USFJFU0hPTEQJKGFkYXB0ZXItPm51bV90
eF9kZXNjIC8gMzIpCgovKgogKiBUaGlzIHBhcmFtZXRlciBjb250cm9scyB3aGV0aGVyIG9yIG5v
dCBhdXRvbmVnb3RhdGlvbiBpcyBlbmFibGVkLgogKiAgICAgICAgICAgICAgMCAtIERpc2FibGUg
YXV0b25lZ290aWF0aW9uCiAqICAgICAgICAgICAgICAxIC0gRW5hYmxlICBhdXRvbmVnb3RpYXRp
b24KICovCiNkZWZpbmUgRE9fQVVUT19ORUcgICAgICAgICAgICAgICAgICAgICAxCgovKgogKiBU
aGlzIHBhcmFtZXRlciBjb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBkcml2ZXIgd2lsbCB3YWl0
IGZvcgogKiBhdXRvbmVnb3RpYXRpb24gdG8gY29tcGxldGUuCiAqICAgICAgICAgICAgICAxIC0g
V2FpdCBmb3IgYXV0b25lZ290aWF0aW9uIHRvIGNvbXBsZXRlCiAqICAgICAgICAgICAgICAwIC0g
RG9uJ3Qgd2FpdCBmb3IgYXV0b25lZ290aWF0aW9uIHRvIGNvbXBsZXRlCiAqLwojZGVmaW5lIFdB
SVRfRk9SX0FVVE9fTkVHX0RFRkFVTFQgICAgICAgMAoKLyogVHVuYWJsZXMgLS0gRW5kICovCgoj
ZGVmaW5lIEFVVE9ORUdfQURWX0RFRkFVTFQJKEFEVkVSVElTRV8xMF9IQUxGIHwgQURWRVJUSVNF
XzEwX0ZVTEwgfCBcCgkJCQlBRFZFUlRJU0VfMTAwX0hBTEYgfCBBRFZFUlRJU0VfMTAwX0ZVTEwg
fCBcCgkJCQlBRFZFUlRJU0VfMTAwMF9GVUxMKQoKI2RlZmluZSBBVVRPX0FMTF9NT0RFUwkJMAoK
LyogUEhZIG1hc3Rlci9zbGF2ZSBzZXR0aW5nICovCiNkZWZpbmUgRU1fTUFTVEVSX1NMQVZFCQll
MTAwMF9tc19od19kZWZhdWx0CgovKgogKiBNaWNlbGxhbmVvdXMgY29uc3RhbnRzCiAqLwojZGVm
aW5lIEVNX1ZFTkRPUl9JRCAgICAgICAgICAgICAgICAgICAgMHg4MDg2CiNkZWZpbmUgRU1fRkxB
U0ggICAgICAgICAgICAgICAgICAgICAgICAweDAwMTQgCgojZGVmaW5lIEVNX0pVTUJPX1BCQSAg
ICAgICAgICAgICAgICAgICAgMHgwMDAwMDAyOAojZGVmaW5lIEVNX0RFRkFVTFRfUEJBICAgICAg
ICAgICAgICAgICAgMHgwMDAwMDAzMAojZGVmaW5lIEVNX1NNQVJUU1BFRURfRE9XTlNISUZUICAg
ICAgICAgMwojZGVmaW5lIEVNX1NNQVJUU1BFRURfTUFYICAgICAgICAgICAgICAgMTUKI2RlZmlu
ZSBFTV9NQVhfSU5UUgkJCTEwCgojZGVmaW5lIE1BWF9OVU1fTVVMVElDQVNUX0FERFJFU1NFUyAg
ICAgMTI4CiNkZWZpbmUgUENJX0FOWV9JRCAgICAgICAgICAgICAgICAgICAgICAofjBVKQojZGVm
aW5lIEVUSEVSX0FMSUdOICAgICAgICAgICAgICAgICAgICAgMgojZGVmaW5lIEVNX1RYX0JVRkZF
Ul9TSVpFCQkoKHVpbnQzMl90KSAxNTE0KQojZGVmaW5lIEVNX0ZDX1BBVVNFX1RJTUUJCTB4MDY4
MAojZGVmaW5lIEVNX0VFUFJPTV9BUE1FCQkJMHg0MDA7CgovKiBDb2RlIGNvbXBhdGlsYmlsaXR5
IGJldHdlZW4gNiBhbmQgNyAqLwojaWZuZGVmIEVUSEVSX0JQRl9NVEFQCiNkZWZpbmUgRVRIRVJf
QlBGX01UQVAJCQlCUEZfTVRBUAojZW5kaWYKCi8qCiAqIFREQkEvUkRCQSBzaG91bGQgYmUgYWxp
Z25lZCBvbiAxNiBieXRlIGJvdW5kYXJ5LiBCdXQgVERMRU4vUkRMRU4gc2hvdWxkIGJlCiAqIG11
bHRpcGxlIG9mIDEyOCBieXRlcy4gU28gd2UgYWxpZ24gVERCQS9SREJBIG9uIDEyOCBieXRlIGJv
dW5kYXJ5LiBUaGlzIHdpbGwKICogYWxzbyBvcHRpbWl6ZSBjYWNoZSBsaW5lIHNpemUgZWZmZWN0
LiBIL1cgc3VwcG9ydHMgdXAgdG8gY2FjaGUgbGluZSBzaXplIDEyOC4KICovCiNkZWZpbmUgRU1f
REJBX0FMSUdOCQkJMTI4CgojZGVmaW5lIFNQRUVEX01PREVfQklUICgxPDwyMSkJCS8qIE9uIFBD
SS1FIE1BQ3Mgb25seSAqLwoKLyogUENJIENvbmZpZyBkZWZpbmVzICovCiNkZWZpbmUgRU1fQkFS
X1RZUEUodikJCSgodikgJiBFTV9CQVJfVFlQRV9NQVNLKQojZGVmaW5lIEVNX0JBUl9UWVBFX01B
U0sJMHgwMDAwMDAwMQojZGVmaW5lIEVNX0JBUl9UWVBFX01NRU0JMHgwMDAwMDAwMAojZGVmaW5l
IEVNX0JBUl9UWVBFX0lPCQkweDAwMDAwMDAxCiNkZWZpbmUgRU1fQkFSX1RZUEVfRkxBU0gJMHgw
MDE0IAojZGVmaW5lIEVNX0JBUl9NRU1fVFlQRSh2KQkoKHYpICYgRU1fQkFSX01FTV9UWVBFX01B
U0spCiNkZWZpbmUgRU1fQkFSX01FTV9UWVBFX01BU0sJMHgwMDAwMDAwNgojZGVmaW5lIEVNX0JB
Ul9NRU1fVFlQRV8zMkJJVAkweDAwMDAwMDAwCiNkZWZpbmUgRU1fQkFSX01FTV9UWVBFXzY0QklU
CTB4MDAwMDAwMDQKI2RlZmluZSBFTV9NU0lYX0JBUgkJMwkvKiBPbiA4MjU3NSAqLwoKLyogRGVm
aW5lcyBmb3IgcHJpbnRpbmcgZGVidWcgaW5mb3JtYXRpb24gKi8KI2RlZmluZSBERUJVR19JTklU
ICAwCiNkZWZpbmUgREVCVUdfSU9DVEwgMAojZGVmaW5lIERFQlVHX0hXICAgIDAKCiNkZWZpbmUg
SU5JVF9ERUJVR09VVChTKSAgICAgICAgICAgIGlmIChERUJVR19JTklUKSAgcHJpbnRmKFMgIlxu
IikKI2RlZmluZSBJTklUX0RFQlVHT1VUMShTLCBBKSAgICAgICAgaWYgKERFQlVHX0lOSVQpICBw
cmludGYoUyAiXG4iLCBBKQojZGVmaW5lIElOSVRfREVCVUdPVVQyKFMsIEEsIEIpICAgICBpZiAo
REVCVUdfSU5JVCkgIHByaW50ZihTICJcbiIsIEEsIEIpCiNkZWZpbmUgSU9DVExfREVCVUdPVVQo
UykgICAgICAgICAgIGlmIChERUJVR19JT0NUTCkgcHJpbnRmKFMgIlxuIikKI2RlZmluZSBJT0NU
TF9ERUJVR09VVDEoUywgQSkgICAgICAgaWYgKERFQlVHX0lPQ1RMKSBwcmludGYoUyAiXG4iLCBB
KQojZGVmaW5lIElPQ1RMX0RFQlVHT1VUMihTLCBBLCBCKSAgICBpZiAoREVCVUdfSU9DVEwpIHBy
aW50ZihTICJcbiIsIEEsIEIpCiNkZWZpbmUgSFdfREVCVUdPVVQoUykgICAgICAgICAgICAgIGlm
IChERUJVR19IVykgcHJpbnRmKFMgIlxuIikKI2RlZmluZSBIV19ERUJVR09VVDEoUywgQSkgICAg
ICAgICAgaWYgKERFQlVHX0hXKSBwcmludGYoUyAiXG4iLCBBKQojZGVmaW5lIEhXX0RFQlVHT1VU
MihTLCBBLCBCKSAgICAgICBpZiAoREVCVUdfSFcpIHByaW50ZihTICJcbiIsIEEsIEIpCgojZGVm
aW5lIEVNX01BWF9TQ0FUVEVSCQk2NAojZGVmaW5lIEVNX1RTT19TSVpFCQk2NTUzNQkvKiBtYXhz
aXplIG9mIGEgZG1hIHRyYW5zZmVyICovCiNkZWZpbmUgRU1fVFNPX1NFR19TSVpFCQk0MDk2CS8q
IE1heCBkbWEgc2VnbWVudCBzaXplICovCiNkZWZpbmUgRVRIX1pMRU4JCTYwCiNkZWZpbmUgRVRI
X0FERFJfTEVOCQk2CiNkZWZpbmUgQ1NVTV9PRkZMT0FECQk3CS8qIE9mZmxvYWQgYml0cyBpbiBt
YnVmIGZsYWcgKi8KCnN0cnVjdCBhZGFwdGVyOwoKc3RydWN0IGVtX2ludF9kZWxheV9pbmZvIHsK
CXN0cnVjdCBhZGFwdGVyICphZGFwdGVyOwkvKiBCYWNrLXBvaW50ZXIgdG8gdGhlIGFkYXB0ZXIg
c3RydWN0ICovCglpbnQgb2Zmc2V0OwkJCS8qIFJlZ2lzdGVyIG9mZnNldCB0byByZWFkL3dyaXRl
ICovCglpbnQgdmFsdWU7CQkJLyogQ3VycmVudCB2YWx1ZSBpbiB1c2VjcyAqLwp9OwoKLyoKICog
QnVzIGRtYSBhbGxvY2F0aW9uIHN0cnVjdHVyZSB1c2VkIGJ5CiAqIGUxMDAwX2RtYV9tYWxsb2Mg
YW5kIGUxMDAwX2RtYV9mcmVlLgogKi8Kc3RydWN0IGVtX2RtYV9hbGxvYyB7CiAgICAgICAgYnVz
X2FkZHJfdCAgICAgICAgICAgICAgZG1hX3BhZGRyOwogICAgICAgIGNhZGRyX3QgICAgICAgICAg
ICAgICAgIGRtYV92YWRkcjsKICAgICAgICBidXNfZG1hX3RhZ190ICAgICAgICAgICBkbWFfdGFn
OwogICAgICAgIGJ1c19kbWFtYXBfdCAgICAgICAgICAgIGRtYV9tYXA7CiAgICAgICAgYnVzX2Rt
YV9zZWdtZW50X3QgICAgICAgZG1hX3NlZzsKICAgICAgICBpbnQgICAgICAgICAgICAgICAgICAg
ICBkbWFfbnNlZzsKfTsKCi8qIE91ciBhZGFwdGVyIHN0cnVjdHVyZSAqLwpzdHJ1Y3QgYWRhcHRl
ciB7CglzdHJ1Y3QgaWZuZXQJKmlmcDsKCXN0cnVjdCBlMTAwMF9odwlodzsKCgkvKiBGcmVlQlNE
IG9wZXJhdGluZy1zeXN0ZW0tc3BlY2lmaWMgc3RydWN0dXJlcy4gKi8KCXN0cnVjdCBlMTAwMF9v
c2RlcCBvc2RlcDsKCXN0cnVjdCBkZXZpY2UJKmRldjsKCXN0cnVjdCByZXNvdXJjZSAqcmVzX21l
bW9yeTsKCXN0cnVjdCByZXNvdXJjZSAqZmxhc2hfbWVtOwoJc3RydWN0IHJlc291cmNlICptc2l4
X21lbTsKCXN0cnVjdCByZXNvdXJjZQkqcmVzX2lvcG9ydDsKCXN0cnVjdCByZXNvdXJjZQkqcmVz
X2ludGVycnVwdDsKCXZvaWQJCSppbnRfaGFuZGxlcl90YWc7CglzdHJ1Y3QgaWZtZWRpYQltZWRp
YTsKCXN0cnVjdCBjYWxsb3V0CXRpbWVyOwoJc3RydWN0IGNhbGxvdXQJdHhfZmlmb190aW1lcjsK
CWludAkJd2F0Y2hkb2dfdGltZXI7CglpbnQJCWlvX3JpZDsKCWludAkJbXNpOwoJaW50CQlpZl9m
bGFnczsKCWludAkJbWF4X2ZyYW1lX3NpemU7CglpbnQJCW1pbl9mcmFtZV9zaXplOwoJc3RydWN0
IG10eAljb3JlX210eDsKCXN0cnVjdCBtdHgJdHhfbXR4OwoJaW50CQllbV9pbnNlcnRfdmxhbl9o
ZWFkZXI7CglzdHJ1Y3QgdGFzayAgICAgbGlua190YXNrOwoJc3RydWN0IHRhc2sgICAgIHJ4dHhf
dGFzazsKCXN0cnVjdCB0YXNrcXVldWUgKnRxOyAgICAgICAgICAgLyogcHJpdmF0ZSB0YXNrIHF1
ZXVlICovCgkvKiBNYW5hZ2VtZW50IGFuZCBXT0wgZmVhdHVyZXMgKi8KCWludAkJd29sOwoJaW50
CQloYXNfbWFuYWdlOwoKCS8qIEluZm8gYWJvdXQgdGhlIGJvYXJkIGl0c2VsZiAqLwoJdWludDhf
dAkJbGlua19hY3RpdmU7Cgl1aW50MTZfdAlsaW5rX3NwZWVkOwoJdWludDE2X3QJbGlua19kdXBs
ZXg7Cgl1aW50MzJfdAlzbWFydHNwZWVkOwoJc3RydWN0IGVtX2ludF9kZWxheV9pbmZvIHR4X2lu
dF9kZWxheTsKCXN0cnVjdCBlbV9pbnRfZGVsYXlfaW5mbyB0eF9hYnNfaW50X2RlbGF5OwoJc3Ry
dWN0IGVtX2ludF9kZWxheV9pbmZvIHJ4X2ludF9kZWxheTsKCXN0cnVjdCBlbV9pbnRfZGVsYXlf
aW5mbyByeF9hYnNfaW50X2RlbGF5OwoKCS8qCgkgKiBUcmFuc21pdCBkZWZpbml0aW9ucwoJICoK
CSAqIFdlIGhhdmUgYW4gYXJyYXkgb2YgbnVtX3R4X2Rlc2MgZGVzY3JpcHRvcnMgKGhhbmRsZWQK
CSAqIGJ5IHRoZSBjb250cm9sbGVyKSBwYWlyZWQgd2l0aCBhbiBhcnJheSBvZiB0eF9idWZmZXJz
CgkgKiAoYXQgdHhfYnVmZmVyX2FyZWEpLgoJICogVGhlIGluZGV4IG9mIHRoZSBuZXh0IGF2YWls
YWJsZSBkZXNjcmlwdG9yIGlzIG5leHRfYXZhaWxfdHhfZGVzYy4KCSAqIFRoZSBudW1iZXIgb2Yg
cmVtYWluaW5nIHR4X2Rlc2MgaXMgbnVtX3R4X2Rlc2NfYXZhaWwuCgkgKi8KCXN0cnVjdCBlbV9k
bWFfYWxsb2MJdHhkbWE7CQkvKiBidXNfZG1hIGdsdWUgZm9yIHR4IGRlc2MgKi8KCXN0cnVjdCBl
MTAwMF90eF9kZXNjCSp0eF9kZXNjX2Jhc2U7Cgl1aW50MzJfdAkJbmV4dF9hdmFpbF90eF9kZXNj
OwoJdWludDMyX3QJCW5leHRfdHhfdG9fY2xlYW47Cgl2b2xhdGlsZSB1aW50MTZfdAludW1fdHhf
ZGVzY19hdmFpbDsKICAgICAgICB1aW50MTZfdAkJbnVtX3R4X2Rlc2M7CiAgICAgICAgdWludDMy
X3QJCXR4ZF9jbWQ7CglzdHJ1Y3QgZW1fYnVmZmVyCSp0eF9idWZmZXJfYXJlYTsKCWJ1c19kbWFf
dGFnX3QJCXR4dGFnOwkJLyogZG1hIHRhZyBmb3IgdHggKi8KCXVpbnQzMl90CSAgIAl0eF90c287
CQkvKiBsYXN0IHR4IHdhcyB0c28gKi8KCgkvKgoJICogVHJhbnNtaXQgZnVuY3Rpb24gcG9pbnRl
cjoKCSAqICAgICAgbGVnYWN5IG9yIGFkdmFuY2VkICg4MjU3NSBhbmQgbGF0ZXIpCgkgKi8KCWlu
dCAoKmVtX3htaXQpIChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgc3RydWN0IG1idWYgKiptX2hl
YWRwKTsKCgkvKiAKCSAqIFJlY2VpdmUgZGVmaW5pdGlvbnMKCSAqCgkgKiB3ZSBoYXZlIGFuIGFy
cmF5IG9mIG51bV9yeF9kZXNjIHJ4X2Rlc2MgKGhhbmRsZWQgYnkgdGhlCgkgKiBjb250cm9sbGVy
KSwgYW5kIHBhaXJlZCB3aXRoIGFuIGFycmF5IG9mIHJ4X2J1ZmZlcnMKCSAqIChhdCByeF9idWZm
ZXJfYXJlYSkuCgkgKiBUaGUgbmV4dCBwYWlyIHRvIGNoZWNrIG9uIHJlY2VpdmUgaXMgYXQgb2Zm
c2V0IG5leHRfcnhfZGVzY190b19jaGVjawoJICovCglzdHJ1Y3QgZW1fZG1hX2FsbG9jCXJ4ZG1h
OwkJLyogYnVzX2RtYSBnbHVlIGZvciByeCBkZXNjICovCglzdHJ1Y3QgZTEwMDBfcnhfZGVzYwkq
cnhfZGVzY19iYXNlOwoJdWludDMyX3QJCW5leHRfcnhfZGVzY190b19jaGVjazsKCXVpbnQzMl90
CQlyeF9idWZmZXJfbGVuOwoJdWludDE2X3QJCW51bV9yeF9kZXNjOwoJaW50CQkJcnhfcHJvY2Vz
c19saW1pdDsKCXN0cnVjdCBlbV9idWZmZXIJKnJ4X2J1ZmZlcl9hcmVhOwoJYnVzX2RtYV90YWdf
dAkJcnh0YWc7CglidXNfZG1hbWFwX3QJCXJ4X3NwYXJlbWFwOwoKCS8qCgkgKiBGaXJzdC9sYXN0
IG1idWYgcG9pbnRlcnMsIGZvcgoJICogY29sbGVjdGluZyBtdWx0aXNlZ21lbnQgUlggcGFja2V0
cy4KCSAqLwoJc3RydWN0IG1idWYJICAgICAgICpmbXA7CglzdHJ1Y3QgbWJ1ZgkgICAgICAgKmxt
cDsKCgkvKiBNaXNjIHN0YXRzIG1haW50YWluZWQgYnkgdGhlIGRyaXZlciAqLwoJdW5zaWduZWQg
bG9uZwlkcm9wcGVkX3BrdHM7Cgl1bnNpZ25lZCBsb25nCW1idWZfYWxsb2NfZmFpbGVkOwoJdW5z
aWduZWQgbG9uZwltYnVmX2NsdXN0ZXJfZmFpbGVkOwoJdW5zaWduZWQgbG9uZwlub190eF9kZXNj
X2F2YWlsMTsKCXVuc2lnbmVkIGxvbmcJbm9fdHhfZGVzY19hdmFpbDI7Cgl1bnNpZ25lZCBsb25n
CW5vX3R4X21hcF9hdmFpbDsKICAgICAgICB1bnNpZ25lZCBsb25nCW5vX3R4X2RtYV9zZXR1cDsK
CXVuc2lnbmVkIGxvbmcJd2F0Y2hkb2dfZXZlbnRzOwoJdW5zaWduZWQgbG9uZwlyeF9vdmVycnVu
czsKCgkvKiBVc2VkIGluIGZvciA4MjU0NyAxME1iIEhhbGYgd29ya2Fyb3VuZCAqLwoJI2RlZmlu
ZSBFTV9QQkFfQllURVNfU0hJRlQJMHhBCgkjZGVmaW5lIEVNX1RYX0hFQURfQUREUl9TSElGVAk3
CgkjZGVmaW5lIEVNX1BCQV9UWF9NQVNLCQkweEZGRkYwMDAwCgkjZGVmaW5lIEVNX0ZJRk9fSERS
CQkweDEwCgoJI2RlZmluZSBFTV84MjU0N19QS1RfVEhSRVNICTB4M2UwCgoJdWludDMyX3QJdHhf
Zmlmb19zaXplOwoJdWludDMyX3QJdHhfZmlmb19oZWFkOwoJdWludDMyX3QJdHhfZmlmb19oZWFk
X2FkZHI7Cgl1aW50NjRfdAl0eF9maWZvX3Jlc2V0X2NudDsKCXVpbnQ2NF90CXR4X2ZpZm9fd3Jr
X2NudDsKCXVpbnQzMl90CXR4X2hlYWRfYWRkcjsKCiAgICAgICAgLyogRm9yIDgyNTQ0IFBDSVgg
V29ya2Fyb3VuZCAqLwoJYm9vbGVhbl90ICAgICAgIHBjaXhfODI1NDQ7Cglib29sZWFuX3QgICAg
ICAgaW5fZGV0YWNoOwoKCXN0cnVjdCBlMTAwMF9od19zdGF0cyBzdGF0czsKfTsKCi8qICoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgogKiB2ZW5kb3JfaW5mb19hcnJheQogKgogKiBUaGlzIGFycmF5IGNv
bnRhaW5zIHRoZSBsaXN0IG9mIFN1YnZlbmRvci9TdWJkZXZpY2UgSURzIG9uIHdoaWNoIHRoZSBk
cml2ZXIKICogc2hvdWxkIGxvYWQuCiAqCiAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KdHlwZWRl
ZiBzdHJ1Y3QgX2VtX3ZlbmRvcl9pbmZvX3QgewoJdW5zaWduZWQgaW50IHZlbmRvcl9pZDsKCXVu
c2lnbmVkIGludCBkZXZpY2VfaWQ7Cgl1bnNpZ25lZCBpbnQgc3VidmVuZG9yX2lkOwoJdW5zaWdu
ZWQgaW50IHN1YmRldmljZV9pZDsKCXVuc2lnbmVkIGludCBpbmRleDsKfSBlbV92ZW5kb3JfaW5m
b190OwoKCnN0cnVjdCBlbV9idWZmZXIgewoJaW50CQluZXh0X2VvcDsgIC8qIEluZGV4IG9mIHRo
ZSBkZXNjIHRvIHdhdGNoICovCiAgICAgICAgc3RydWN0IG1idWYgICAgKm1faGVhZDsKICAgICAg
ICBidXNfZG1hbWFwX3QgICAgbWFwOyAgICAgICAgIC8qIGJ1c19kbWEgbWFwIGZvciBwYWNrZXQg
Ki8KfTsKCi8qIEZvciA4MjU0NCBQQ0lYICBXb3JrYXJvdW5kICovCnR5cGVkZWYgc3RydWN0IF9B
RERSRVNTX0xFTkdUSF9QQUlSCnsKCXVpbnQ2NF90ICAgYWRkcmVzczsKCXVpbnQzMl90ICAgbGVu
Z3RoOwp9IEFERFJFU1NfTEVOR1RIX1BBSVIsICpQQUREUkVTU19MRU5HVEhfUEFJUjsKCnR5cGVk
ZWYgc3RydWN0IF9ERVNDUklQVE9SX1BBSVIKewoJQUREUkVTU19MRU5HVEhfUEFJUiBkZXNjcmlw
dG9yWzRdOwoJdWludDMyX3QgICBlbGVtZW50czsKfSBERVNDX0FSUkFZLCAqUERFU0NfQVJSQVk7
CgojZGVmaW5lCUVNX0NPUkVfTE9DS19JTklUKF9zYywgX25hbWUpIFwKCW10eF9pbml0KCYoX3Nj
KS0+Y29yZV9tdHgsIF9uYW1lLCBNVFhfTkVUV09SS19MT0NLLCBNVFhfREVGKQojZGVmaW5lCUVN
X1RYX0xPQ0tfSU5JVChfc2MsIF9uYW1lKSBcCgltdHhfaW5pdCgmKF9zYyktPnR4X210eCwgX25h
bWUsIE1UWF9ORVRXT1JLX0xPQ0ssIE1UWF9ERUYpCiNkZWZpbmUJRU1fQ09SRV9MT0NLX0RFU1RS
T1koX3NjKQltdHhfZGVzdHJveSgmKF9zYyktPmNvcmVfbXR4KQojZGVmaW5lCUVNX1RYX0xPQ0tf
REVTVFJPWShfc2MpCQltdHhfZGVzdHJveSgmKF9zYyktPnR4X210eCkKI2RlZmluZQlFTV9DT1JF
X0xPQ0soX3NjKQkJbXR4X2xvY2soJihfc2MpLT5jb3JlX210eCkKI2RlZmluZQlFTV9UWF9MT0NL
KF9zYykJCQltdHhfbG9jaygmKF9zYyktPnR4X210eCkKI2RlZmluZQlFTV9DT1JFX1VOTE9DSyhf
c2MpCQltdHhfdW5sb2NrKCYoX3NjKS0+Y29yZV9tdHgpCiNkZWZpbmUJRU1fVFhfVU5MT0NLKF9z
YykJCW10eF91bmxvY2soJihfc2MpLT50eF9tdHgpCiNkZWZpbmUJRU1fQ09SRV9MT0NLX0FTU0VS
VChfc2MpCW10eF9hc3NlcnQoJihfc2MpLT5jb3JlX210eCwgTUFfT1dORUQpCiNkZWZpbmUJRU1f
VFhfTE9DS19BU1NFUlQoX3NjKQkJbXR4X2Fzc2VydCgmKF9zYyktPnR4X210eCwgTUFfT1dORUQp
CgojZW5kaWYgLyogX0VNX0hfREVGSU5FRF8gKi8K
------=_Part_14646_10493375.1193961243659--



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